Ok, I’'ve done some testing with the Exodus client and have narrowed down the problem:
Exchanging roster in Mxi client in Alpha5
3/17/03 9:19 AM <iq xmlns=“jabber:client” type=’‘set’’ id=’‘id_10040’’>
3/17/03 9:19 AM
3/17/03 9:19 AM
Exchanging roster in Exodus in Alpha5
3/17/03 12:14 PM
3/17/03 12:14 PM
3/17/03 12:14 PM
3/17/03 12:14 PM
3/17/03 12:14 PM
3/17/03 12:14 PM
3/17/03 12:14 PM <presence xmlns=“jabber:client” type=’‘subscribed’’ id=’‘id_10036’’ to=’‘ananner@clymene/Exodus’’>
3/17/03 12:14 PM
3/17/03 12:14 PM
3/17/03 12:14 PM
3/17/03 12:14 PM Available
3/17/03 12:14 PM <presence xmlns=“jabber:client” type=’‘subscribe’’ id=’‘id_10038’’ to=’‘ananner@clymene’’>
3/17/03 12:14 PM
3/17/03 12:14 PM
3/17/03 12:14 PM
3/17/03 12:14 PM
3/17/03 12:14 PM
3/17/03 12:14 PM Available
3/17/03 12:14 PM
3/17/03 12:14 PM available
Exchanging roster in Mxi client in Alpha4
3/17/03 12:27 PM <iq xmlns=“jabber:client” type=’‘set’’ id=’‘id_10106’’>
3/17/03 12:27 PM
3/17/03 12:27 PM
3/17/03 12:27 PM <presence xmlns=“jabber:client” type=’‘subscribe’’ id=’‘id_10108’’ to=’‘cbartlett@clymene’’>
3/17/03 12:27 PM
3/17/03 12:27 PM
3/17/03 12:27 PM <presence xmlns=“jabber:client” type=’‘subscribed’’ id=’‘id_10101’’ to=’‘ananner@clymene/Home’’>
3/17/03 12:27 PM
3/17/03 12:27 PM
3/17/03 12:27 PM
3/17/03 12:27 PM
3/17/03 12:27 PM <presence xmlns=“jabber:client” type=’‘subscribe’’ id=’‘id_10103’’ to=’‘ananner@clymene’’>
3/17/03 12:27 PM
3/17/03 12:27 PM
3/17/03 12:27 PM <presence xmlns=“jabber:client” type=’‘subscribed’’ id=’‘id_10115’’ to=’‘cbartlett@clymene/Home’’>
3/17/03 12:27 PM
3/17/03 12:27 PM
3/17/03 12:27 PM
3/17/03 12:27 PM
3/17/03 12:27 PM
As you can see, the difference is that the Alpha5 server no longer returns the inital roster with the added item and its subscription status set to “none”. This messes up my client, but does not mess up the Exodus client.
Another issued I have noticed exists since Alpha4. That is, registering the very first user (the user which receives a USER_ID of 0 in the DB) results in authentication problems for this user. The next user I register (USER_ID=1) is able to authenticate normally. If I manually change the first user’'s USER_ID to 2 from 0 in the database, and restart the server to clear the cache, I am able to authenticate the first user.
As for my MD5-digest authentication problems in Beta1, here is a trace of the XML messages (the plaintext is ‘‘password’’):
Authentication in Beta1
3/17/03 11:59 AM <iq xmlns=“jabber:client” type=’‘get’’ id=’‘id_10028’’>cbartlett
3/17/03 11:59 AM cbartlett
3/17/03 11:59 AM <iq xmlns=“jabber:client” type=’‘set’’ id=’‘id_10030’’>cbartlettBD7EDDB1782AE2DDB5 8EAE6A0DD9F4B87AC89C21Home
3/17/03 11:59 AM Unauthorized
The code freeze for the demo is supposed to be today, but don’'t worry about it because I have decided I will use the Alpha4 server for the demo, since I have tested that server for a long time and it seems pretty robust.