I can’'t seem to figure out how the user authorization process works.
I have written my own client, and am testing it for interoperability with GAIM. In GAIM, when you add a buddy, it sends out an authorization request. Is this proprietary to GAIM or is there a standard that governs this?
In my client, I am printing out all packets that come in, none of which have anything to do with authorization. This leads me to believe each client must handle this itslef.
Any information and/or suggestions would be helpful.
-Ken
When you say authorization request do you mean “subscribe” packet?
I think I may in fact mean subscription, now that you mention it!
The reason why I’'m not receiving any notification when a user requests to add me to their buddy list, is that I have the subscription type of my Roster set to:
SUBSCRIPTION_ACCEPT_ALL
This indicates that the Roster should get updated automatically when a user adds me to their Roster…is that correct?
-Ken
Post your packet trace and it might be easier to identify whats going on.
I understand how the subscription works now. To simulate functionality similar to GAIM, I simply change my Roster subscription mode to
SUBSCRIPTION_MANUAL
I had a pakcet listener that was listening for packets of type Message. Adding another check for packets of type Presence, and then filtering on Presence.Type.SUBSCRIBE informs me when another user is requesting to add me to their Roster. I know have a hook to handle these requests.
What helped me solve this was your correlation of authorization to subscription.
-Ken