Issues
Add support for XEP-0174: Serverless Messaging
Description
Environment
None
Attachments
2
is blocked by
Details
Assignee
UnassignedUnassignedReporter
wrootwrootLabels
Ignite Forum URL
Components
Fix versions
Affects versions
Priority
Minor
Details
Details
Assignee
Unassigned
UnassignedReporter
wroot
wrootLabels
Ignite Forum URL
Components
Fix versions
Affects versions
Priority
Created February 2, 2009 at 3:21 AM
Updated October 28, 2020 at 1:28 PM
Activity
Show:
Florian SchmausSeptember 27, 2014 at 3:43 PM
Github PR for XEP-0174: https://github.com/Flowdalic/Smack/pull/9
Needs some more work
Florian SchmausJanuary 28, 2013 at 9:25 AM
Link-local support needs Entity Caps. So https://igniterealtime.atlassian.net/browse/SMACK-262#icft=SMACK-262 is blocked by SMACK-361.
Florian SchmausJanuary 28, 2013 at 9:17 AM
Please do not post queries about the current state of an issue as comment to the issue. The correct place would be the forum. The latest version of the patch fails to apply to the current trunk. Someone needs to step up and polish the patch. Feel free to clone my smack git repository and improve the patch based on the upstream branch. I am willing to review it. Join ##smack @ freenode if you need help.
Guilhem LettronJanuary 28, 2013 at 9:02 AM
Any new update?
Damon RandJanuary 25, 2012 at 10:41 AM
Any plans to roll this into the mainline codebase?
This patch implements XEP-0174 (Link-local messaging) and is ment to be completely backward compatible but still reuse existing code.
The patch is fore the SVN repository smack/trunk downloaded 25th of November 2008. It has been casually tested against other identical implementations, as well as Gajim and Pidgin.
It does some refactoring of the core library:
XMPPConnection - XMPPConnection is divided into two parts, AbstractConnection, doing more or less nothing more than connecting and handles packet listeners and connection listeners, and XMPPConnection, doing what is specific to a c2s (client-to-server) XMPPConnection. This is done because I wanted to reuse parsing, packet readers, and other things. XMPPConnection extends AbstractConnection.
PacketReader - This part is refactored in a similiar way: AbstractPacketReader and PacketReader. AbstractPacketReader has the basic functionality and PacketReader implements the parsing. PacketReader extends AbstractPacketReader.
New parts implemented:
XMPPLLConnection - Link-local connection. A user never directly uses the XMPPLLConnection and it automatically disconnects when inactive. XMPPLLConnection extends AbstractConnection.
LLPacketReader - Packet reader for Link-local connections. LLPacketReader extends AbstractPacketReader.
LLService and LLPresenceDiscoverer - Implements the Link-local service, providing implementation unspecific functionality such as binding ports and keeping track of active connections. There is a real implementation using a patched (https://sourceforge.net/tracker2/?func=detail&aid=2349331&group_id=93852&atid=60 5793) verison of JmDNS. LLService also implements the same functionality as ChatManager, using LLChat classes. It automatically uses existing connections or creates new when messages are sent.
LLPresence - represent the Link-local presence, which is represented as mDNS/DNS-SD services using the text field for providing information.
LLServiceDiscoveryManager - ServiceDiscoveryManager is changed to use AbstractConnection (trivial change) which makes it possible to use this implementation of service discovery also for link-local connections. LLServiceDiscoveryManager implements a wrapper for ServiceDiscoveryManager (as Link-local connections are temporary, one has to do things a bit different).
There is a sample client there too: TestMDNS.java.
Limitations:
TXT fields are requested for every known link-local presence. Only when receiving information found in the TXT fields will the client be known the user. This may create unneccessary network traffic.
Messages from remote clients not discovered by the mDNS/DNS-SD daemon is not bunded with a LLChat
Interface might need some beautification.
Any comments and tips would be appreciated.
Jonas