| Client use this packet in FLAP channel 0x01 based authorization 
sequence. So client should send it 
on FLAP channel 0x01. Server should reply via 
srv_cookie packet, containing BOS address/cookie or via 
auth_failed packet, containing error code.
 
 Passwords are roasted when sent to the host.  This is done so they 
aren't sent in "clear text" over the wire, although they are still 
trivial to decode.  Roasting is performed by first xoring each byte 
in the password with the equivalent modulo byte in the roasting 
array (
0xF3, 0x26, 0x81, 0xC4, 0x39, 0x86, 0xDB, 0x92, 
0x71, 0xA3, 0xB9, 0xE6, 0x53, 0x7A, 0x95, 0x7C
)
 
 
 | | 
|  | 00 00 00 01 | dword | protocol version number |  |  | 
|  |  |  | | | 
| 00 01 |  | word |  | TLV.Type(0x01) - screen name (uin) |  
| xx xx |  | word |  | TLV.Length |  |  | 
| xx .. |  | string |  | Screen name (uin) |  | 
 | 
 |  |  |  |  
|  |  |  | | | 
| 00 02 |  | word |  | TLV.Type(0x02) - roasted password |  
| xx xx |  | word |  | TLV.Length |  |  | 
| xx .. |  | array |  | roasted password array |  | 
 | 
 |  |  |  |  
|  |  |  | | | 
| 00 03 |  | word |  | TLV.Type(0x03) - client id string |  
| xx xx |  | word |  | TLV.Length |  |  | 
| xx .. |  | string |  | Client id string (name, version) |  | 
 | 
 |  |  |  |  
|  |  |  | | | 
| 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 |  | 
 | 
 |  |  |  |  | 
 | 
 |