ID
|
Origin
|
Name
|
Foodgroup
|
Service
|
Status
|
Version
|
0x0017, 0x0002
|
Client
|
BUCP__LOGIN_REQUEST
|
Unspecified
|
BUCP
|
Active
|
1.15
|
Client login request.
Foodgroup
|
uint16 (word)
|
00 17
|
Subgroup
|
uint16 (word)
|
00 02
|
Flags
|
uint16 (word)
|
00 00
|
Request ID
|
uint32 (dword)
|
00 00 00 00
|
SNAC Data
Unconfirmed: This SNAC contains no data
From Aleksandr Shutko: SNAC(17,02) BUCP__LOGIN_REQUEST
Client use this snac to login to server
(md5 login sequence). Server should reply via
SNAC(17,03), containing BOS address/cookie or
errorcode. Password hash creating:
You'll need password, authkey from SNAC(17,07) and RFC 1321 md5 routines:
<font color=red>#define AUTH_SALT_MD5 "AOL Instant Messenger (SM)"</font>
<font color=gray>/* calculate md5-hash to send to server */</font>
md5_init(&state);
md5_append(&state, (const md5_byte_t *)authkey, strlen(authkey));
md5_append(&state, (const md5_byte_t *)passwd, strlen(passwd));
md5_append(&state, (const md5_byte_t *)AUTH_SALT_MD5, strlen(AUTH_SALT_MD5));
md5_finish(&state, (md5_byte_t *)auth_hash);
<font color=gray>/* Now we ready send to server auth_hash array (16 bytes long) */</font>
00 17 |
|
word |
|
SNAC family |
00 02 |
|
word |
|
SNAC subtype |
00 00 |
|
word |
|
SNAC flags |
xx xx xx xx |
|
dword |
|
SNAC request-id |
|
|
|
00 01 |
|
word |
|
TLV.Type(0x01) - screen name |
xx xx |
|
word |
|
TLV.Length |
|
|
|
| |
|
|
|
00 03 |
|
word |
|
TLV.Type(0x03) - client id string |
xx xx |
|
word |
|
TLV.Length |
|
xx .. |
|
string |
|
Client id string (name, version) |
|
|
| |
|
|
|
00 25 |
|
word |
|
TLV.Type(0x25) - password md5 hash |
00 10 |
|
word |
|
TLV.Length |
|
xx xx xx xx
xx xx xx xx
xx xx xx xx
xx xx xx xx
|
|
array |
|
password md5 hash |
|
|
| |
|
|
|
00 16 |
|
word |
|
TLV.Type(0x16) - client id |
00 02 |
|
word |
|
TLV.Length |
|
xx xx |
|
word |
|
Client id number |
|
|
| |
|
|
|
00 17 |
|
word |
|
TLV.Type(0x17) - client major version |
00 02 |
|
word |
|
TLV.Length |
|
xx xx |
|
word |
|
Client major version |
|
|
| |
|
|
|
00 18 |
|
word |
|
TLV.Type(0x18) - client minor version |
00 02 |
|
word |
|
TLV.Length |
|
xx xx |
|
word |
|
Client minor version |
|
|
| |
|
|
|
00 19 |
|
word |
|
TLV.Type(0x19) - client lesser version |
00 02 |
|
word |
|
TLV.Length |
|
xx xx |
|
word |
|
Client lesser version |
|
|
| |
|
|
|
00 1A |
|
word |
|
TLV.Type(0x1A) - client build number |
00 02 |
|
word |
|
TLV.Length |
|
xx xx |
|
word |
|
Client build number |
|
|
| |
|
|
|
00 14 |
|
word |
|
TLV.Type(0x14) - distribution number |
00 04 |
|
word |
|
TLV.Length |
|
xx xx xx xx |
|
dword |
|
Distribution number |
|
|
| |
|
|
|
00 0F |
|
word |
|
TLV.Type(0x0F) - client language (2 symbols) |
xx xx |
|
word |
|
TLV.Length |
|
xx .. |
|
string |
|
Client language |
|
|
| |
|
|
|
00 0E |
|
word |
|
TLV.Type(0x0E) - client country (2 symbols) |
xx xx |
|
word |
|
TLV.Length |
|
xx .. |
|
string |
|
Client country |
|
|
| |
|
|
|
00 0F |
|
word |
|
TLV.Type(0x4A) - SSI use flag |
00 01 |
|
word |
|
TLV.Length |
|
xx |
|
char |
|
SSI flag: 1 - SSI only, 0 - family 0x03 |
|
|
| |
|
|
|
|
Example SNAC dump with flap header:
2A 02 50 0F 00 95 00 17 00 02 00 00 00 00 00 00 *.P.............
00 01 00 07 36 32 31 38 38 39 35 00 25 00 10 77 ....6218895.%..w
D2 88 A0 1B 2E 22 D0 8A 75 A6 34 DD 7C 7C A9 00 ....."..u.4.....
4C 00 00 00 03 00 2D 41 4F 4C 20 49 6E 73 74 61 L.....-AOL Insta
6E 74 20 4D 65 73 73 65 6E 67 65 72 2C 20 76 65 nt Messenger, ve
72 73 69 6F 6E 20 35 2E 31 2E 33 30 33 36 2F 57 rsion 5.1.3036/W
49 4E 33 32 00 16 00 02 01 09 00 17 00 02 00 05 IN32............
00 18 00 02 00 01 00 19 00 02 00 00 00 1A 00 02 ................
0B DC 00 14 00 04 00 00 00 D2 00 0F 00 02 65 6E ..............en
00 0E 00 02 75 73 00 4A 00 01 01 ....us.J...
|
|
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
|
|