Protocols/OSCAR/SNAC/BUCP REGISTER RESPONSE

From NINA Wiki
Revision as of 06:21, 13 February 2021 by AD (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
OSCAR Protocol
IntroductionTermsClients
Basic
DatatypesFLAPSNACTLV
UUIDsErrorsTool IDs
Host Interaction
Rate LimitsMigrationMessages
Other Services
ADMINADVERTALERT
BARTBOSBUCPCHAT
CHAT_NAV
Tutorials
Sign OnBARTRendezvous
ICBMLocateBuddies
Foodgroups
OSERVICE (0x0001)
LOCATE (0x0002)
BUDDY (0x0003)
ICBM (0x0004)
ADVERT (0x0005)
INVITE (0x0006)
ADMIN (0x0007)
POPUP (0x0008)
PD (0x0009)
USER_LOOKUP (0x000A)
STATS (0x000B)
TRANSLATE (0x000C)
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)
ID Origin Name Foodgroup Service Status Version
0x0017, 0x0005 Host BUCP__REGISTER_RESPONSE Unspecified BUCP Active 1.15

Host response to BUCP__REGISTER_REQUEST. May contain confirmation of registration or an error code and/or URL.

SNAC Header

Foodgroup uint16 (word) 00 17
Subgroup uint16 (word) 00 05
Flags uint16 (word) 00 00
Request ID uint32 (dword) 00 00 00 00

SNAC Data

Unconfirmed: This SNAC contains no data

An empty channel 4 FLAP is also sent by the auth server directly after this SNAC (empty FLAPs are a signal to close the connection).

Length Description
2 bytes Family (0x0017)
2 bytes Subtype (0x0005)
2 bytes Flags
4 bytes Snac Request ID
2 bytes 0x0001
2 bytes Length L of the following
L bytes DATA

DATA

The ICQ registration info. All chunks are in, uh, network byte order, I guess. (The number "5" is sent as "x05 00")

Length Description
2 bytes 0x0300
4 bytes 0x0000 0000
2 bytes 0x2d00
2 bytes 0x0300
2 bytes 0x0000
2 bytes 0xff58
2 bytes 0xd03d
2 bytes 0xa7ba
2 bytes 0x0000
2 bytes 0x0004
2 bytes 0xec38 0000 - The same random cookie from the request
4 bytes 0x0000 0000
4 bytes 0x0000 0000
4 bytes 0x0000 0000
4 bytes 0x0000 0000
4 bytes 0x2dc5 2b09 - Your brand spankin' new ICQ number (remember, this is network byte order, so in real hexidecimal this is actually 0x092b c52d, which is 153,863,469 in decimal)
2 bytes 0xec38 0000 - The same random cookie from the request
2 bytes 0x0000

From Aleksandr Shutko: SNAC(17,05) registration reply (new uin) SNAC(17,05) BUCP__REGISTER_RESPONSE


This is the server reply for SNAC(17,04). It contain new uin. This snac mean that registration finished succesfully. Server also can reply with SNAC(17,01) if it can't create new user account.

 00 17   word   SNAC family
 00 05   word   SNAC subtype
 00 00   word   SNAC flags
 xx xx xx xx   dword   SNAC request-id
 00 01   word   TLV.Type(0x01) - all values in LE format
 00 32   word   TLV.Length
 30 00   word   TLV.Length-2 (LE)
 00 00 00 00   dword   just zeros
 2d 00   word   subcmd (new uin response)
 03 00   word   sequence from SNAC(17,04)
 xx xx xx xx   dword   client tcp port
 xx xx xx xx   dword   client ip address
 00 00 00 04   dword   unknown value
 xx xx xx xx   dword   registration cookie from SNAC(17,04)
 00 00 00 00   dword   just zeros
 00 00 00 00   dword   just zeros
 00 00 00 00   dword   just zeros
 00 00 00 00   dword   just zeros
 xx xx xx xx   dword   new uin (LE)
 xx xx xx xx   dword   registration cookie from SNAC(17,04)


Example SNAC dump with flap header:


  2A 02 8C 68 00 40 00 17  00 05 00 00 00 00 00 00  *..h.@.. ........
  00 01 00 32 30 00 00 00  00 00 2D 00 03 00 9F 04  ...20... ..-.....
  00 00 0A 0A 0A 08 00 00  00 04 96 7C 00 00 00 00  ........ ...|....
  00 00 00 00 00 00 00 00  00 00 00 00 00 00 90 96  ........ ........
  98 00 96 7C 00 00


BUCP SNACs

SNAC List
Subgroup Origin Name
0x0001 Any BUCP__ERR
This is the error SNAC for the BUCP foodgroup.
0x0002 Client BUCP__LOGIN_REQUEST
Client login request.
0x0003 Host BUCP__LOGIN_RESPONSE
Host login response, will contain reconnect information with login cookie or an error code and/or URL.
0x0004 Client BUCP__REGISTER_REQUEST
Client registration for legacy ICQ clients.
0x0005 Host BUCP__REGISTER_RESPONSE
Host response to BUCP__REGISTER_REQUEST. May contain confirmation of registration or an error code and/or URL.
0x0006 Client BUCP__CHALLENGE_REQUEST
Request challenge for login request.
0x0007 Host BUCP__CHALLENGE_RESPONSE
Response to BUCP__CHALLENGE_REQUEST with challenge.
0x0008 Client BUCP__ASASN_REQUEST
AOL Suggest A Screenname Request, suggests screennames based on other parameters.
0x0009 Host BUCP__ASASN_RESPONSE
Response to BUCP__ASASN_REQUEST with a list of suggestions
0x000A Host BUCP__SECURID_REQUEST
Host SecurID request for client to continue logging in.
0x000B Client BUCP__SECURID_RESPONSE
Client response to BUCP__SECURID_RESPONSE with SecurID code.
0x000C Client BUCP__REGISTRATION_IMAGE_REQUEST
Request registration image, or CAPTCHA
0x000D Host BUCP__REGISTRATION_IMAGE_REPLY
Response to BUCP__REGISTRATION_IMAGE_REQUEST containing image information