Protocols/OSCAR/Foodgroups/FEEDBAG/Auth Sequence

From NINA Wiki
Jump to navigation Jump to search
OSCAR Protocol
UUIDsErrorsTool IDs
Host Interaction
Rate LimitsMigrationMessages
Other Services
Sign OnBARTRendezvous
OSERVICE (0x0001)
LOCATE (0x0002)
BUDDY (0x0003)
ICBM (0x0004)
ADVERT (0x0005)
INVITE (0x0006)
ADMIN (0x0007)
POPUP (0x0008)
PD (0x0009)
STATS (0x000B)
CHAT_NAV (0x000D)
CHAT (0x000E)
ODIR (0x000F)
BART (0x0010)
FEEDBAG (0x0013)
ICQ (0x0015)
BUCP (0x0017)
ALERT (0x0018)
PLUGIN (0x0022)
UNNAMED_FG_24 (0x0024)
MDIR (0x0025)
ARS (0x044A)

From Aleksandr Shutko: ICQ SSI authorization sequence

 OSCAR sequences   

  ICQ SSI authorization sequence description

     There is "authorization" term in ICQ service. Every ICQ user can set its authorization flag to protect himself against undesirable talks. If user has enabled its authorization flag another user can't add it to contact list without permission (and theoretically can't get its presence notices). ICQ clones use BLM service to get presence for users they can't add to SSI. Here is the sequence to get permission from user to add it to contact list:

 Correct SSI auth sequence (user #1 adds user #2)
  >>   SNAC(13,11)   User #1 starts SSI transaction
  >>   SNAC(13,08)   User #1 sends SSI add user #2 request
  >>   SNAC(13,12)   User #1 ends SSI transaction
  <<   SNAC(13,0E)   Server reply with error 0x0E (auth required for user #2)
  >>   SNAC(13,14)   User #1 sends SSI future auth to user #2 (optional)
  >>   SNAC(13,18)   User #1 sends SSI authorization request to user #2
  >>   SNAC(13,11)   User #1 starts SSI transaction
  >>   SNAC(13,08)   User #1 sends add user request with TLV(0x66)
  >>   SNAC(13,12)   User #1 ends SSI transaction
  <<   SNAC(13,0E)   Server reply: operation finished succesfully
  Some time later... (after user #2 send authorization reply to user #1)
  <<   SNAC(13,1B)   Server sends SSI auth reply received from user #2
  <<   SNAC(13,11)   Server starts transaction to edit user ssi local copy
  <<   SNAC(13,09)   Server remove TLV(0x66) from contact awaiting auth
  <<   SNAC(13,12)   Server ends transaction
  Now client should move user #2 to contact list
  <<   SNAC(03,0B)   Presense notification for user #2 (if user #2 online)