I don’'t see support for component authentication in this patch? It would also be great if you could provide some design decision info with your changes.
I’'ve been thinking about adding component support for some time now, so this patch is well=timed!
Right, I forgot to include authentication support in this patch.
For implement component support we need to:
support jabber:component:accept namespace for PacketReader and PacketWriter. I think, we can setup namespace for connection, and other classes will use this namespace for send to XMPP server.
change ServiceDiscoveryManager for support IdentityCategory.
make packets more correctly. for example - setup right “From” parameter.
Also, XMPPConnection now require only host name(and port) for connection to server. For connection as component we need to setup additional parameter for connection:
localServiceName - name for component service name, for example, jud.jivesoftware.com
What is the next step for patch ? Should I prepare new version of patch based on latest build of smack with auth support ?
you are absolutely right. If you will publish your jabber server under GPL(or other open source license), then using one API for internal and external component is right idea.
I’'m not sure, what it should be separate project from smack. I think, most of smack code(and jabber server code) should use one library for parsing packets, create packets, etc.