Files
unofficial-oscar-spec/cli_ident.html
T
2023-01-27 05:16:57 -08:00

664 lines
16 KiB
HTML

<html>
<head>
<title>CLI_IDENT: client authorization request (channel 0x01)</title>
<style type="text/css">
body {background-color: white; font-size: 13px;}
td {font-size: 16px;}
.corr {color:red;}
</style>
</head>
<body bgcolor=white>
<table width=640 bgcolor=darkblue cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 border=0><tr><td bgcolor=#4040FF >
<table width=100% cellSpacing=0 cellPadding=0 border=0>
<tr>
<td><b><font color="white">CLI_IDENT&nbsp;</font></b></td>
<td width=70% align=right><b><font color="white">&nbsp;</font></b></td>
</tr>
</table>
</td></tr>
</table>
</td></tr></table>
<table width=640 cellSpacing=0 cellPadding=0 border=0>
<tr>
<td>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;
Client use this packet in FLAP channel 0x01 based authorization
<a href="login.html" target="_top">sequence</a>. So client should send it
on FLAP channel 0x01. Server should reply via <a href="srv_cookie.html">
srv_cookie</a> packet, containing BOS address/cookie or via
<a href="auth_failed.html">auth_failed</a> packet, containing error code.
<br><br>
&nbsp;&nbsp;&nbsp;&nbsp;
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 (<font size=2 color=blue>
0xF3, 0x26, 0x81, 0xC4, 0x39, 0x86, 0xDB, 0x92,
0x71, 0xA3, 0xB9, 0xE6, 0x53, 0x7A, 0x95, 0x7C
</font>)
<br><br>
<table width=640 bgcolor=darkblue cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 border=0><tr><td bgcolor=#E9E9E9 >
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20></td>
<td width=130>&nbsp;00 00 00 01</td>
<td>dword</td>
<td width=58% >protocol version number</td>
</tr>
</table>
</td></tr>
<tr><td bgcolor=#E9E9E9 >
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0><tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;00 01</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Type(0x01) - screen name (uin)</td>
</tr>
<tr>
<td>&nbsp;xx xx</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Length</td>
</tr>
</table>
</td></tr>
<tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;xx ..</td>
<td width=5>&nbsp;</td>
<td>string</td>
<td width=5>&nbsp;</td>
<td width=60%>Screen name (uin)</td>
</tr>
</table>
</td></tr>
</table>
</td></tr></table>
</td><td width=5> </td>
</tr>
<tr><td height=5 colspan=3> </td></tr>
</table>
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0><tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;00 02</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Type(0x02) - roasted password</td>
</tr>
<tr>
<td>&nbsp;xx xx</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Length</td>
</tr>
</table>
</td></tr>
<tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;xx ..</td>
<td width=5>&nbsp;</td>
<td>array</td>
<td width=5>&nbsp;</td>
<td width=60%>roasted password array</td>
</tr>
</table>
</td></tr>
</table>
</td></tr></table>
</td><td width=5> </td>
</tr>
<tr><td height=5 colspan=3> </td></tr>
</table>
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0><tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;00 03</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Type(0x03) - client id string</td>
</tr>
<tr>
<td>&nbsp;xx xx</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Length</td>
</tr>
</table>
</td></tr>
<tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;xx ..</td>
<td width=5>&nbsp;</td>
<td>string</td>
<td width=5>&nbsp;</td>
<td width=60%>Client id string (name, version)</td>
</tr>
</table>
</td></tr>
</table>
</td></tr></table>
</td><td width=5> </td>
</tr>
<tr><td height=5 colspan=3> </td></tr>
</table>
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0><tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;00 16</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Type(0x16) - client id</td>
</tr>
<tr>
<td>&nbsp;00 02</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Length</td>
</tr>
</table>
</td></tr>
<tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;xx xx</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>Client id number</td>
</tr>
</table>
</td></tr>
</table>
</td></tr></table>
</td><td width=5> </td>
</tr>
<tr><td height=5 colspan=3> </td></tr>
</table>
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0><tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;00 17</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Type(0x17) - client major version</td>
</tr>
<tr>
<td>&nbsp;00 02</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Length</td>
</tr>
</table>
</td></tr>
<tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;xx xx</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>Client major version</td>
</tr>
</table>
</td></tr>
</table>
</td></tr></table>
</td><td width=5> </td>
</tr>
<tr><td height=5 colspan=3> </td></tr>
</table>
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0><tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;00 18</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Type(0x18) - client minor version</td>
</tr>
<tr>
<td>&nbsp;00 02</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Length</td>
</tr>
</table>
</td></tr>
<tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;xx xx</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>Client minor version</td>
</tr>
</table>
</td></tr>
</table>
</td></tr></table>
</td><td width=5> </td>
</tr>
<tr><td height=5 colspan=3> </td></tr>
</table>
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0><tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;00 19</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Type(0x19) - client lesser version</td>
</tr>
<tr>
<td>&nbsp;00 02</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Length</td>
</tr>
</table>
</td></tr>
<tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;xx xx</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>Client lesser version</td>
</tr>
</table>
</td></tr>
</table>
</td></tr></table>
</td><td width=5> </td>
</tr>
<tr><td height=5 colspan=3> </td></tr>
</table>
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0><tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;00 1A</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Type(0x1A) - client build number</td>
</tr>
<tr>
<td>&nbsp;00 02</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Length</td>
</tr>
</table>
</td></tr>
<tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;xx xx</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>Client build number</td>
</tr>
</table>
</td></tr>
</table>
</td></tr></table>
</td><td width=5> </td>
</tr>
<tr><td height=5 colspan=3> </td></tr>
</table>
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0><tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;00 14</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Type(0x14) - distribution number</td>
</tr>
<tr>
<td>&nbsp;00 04</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Length</td>
</tr>
</table>
</td></tr>
<tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;xx xx xx xx</td>
<td width=5>&nbsp;</td>
<td>dword</td>
<td width=5>&nbsp;</td>
<td width=60%>Distribution number</td>
</tr>
</table>
</td></tr>
</table>
</td></tr></table>
</td><td width=5> </td>
</tr>
<tr><td height=5 colspan=3> </td></tr>
</table>
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0><tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;00 0F</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Type(0x0F) - client language (2 symbols)</td>
</tr>
<tr>
<td>&nbsp;xx xx</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Length</td>
</tr>
</table>
</td></tr>
<tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;xx ..</td>
<td width=5>&nbsp;</td>
<td>string</td>
<td width=5>&nbsp;</td>
<td width=60%>Client language</td>
</tr>
</table>
</td></tr>
</table>
</td></tr></table>
</td><td width=5> </td>
</tr>
<tr><td height=5 colspan=3> </td></tr>
</table>
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0><tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;00 0E</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Type(0x0E) - client country (2 symbols)</td>
</tr>
<tr>
<td>&nbsp;xx xx</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>TLV.Length</td>
</tr>
</table>
</td></tr>
<tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=20%>&nbsp;xx ..</td>
<td width=5>&nbsp;</td>
<td>string</td>
<td width=5>&nbsp;</td>
<td width=60%>Client country</td>
</tr>
</table>
</td></tr>
</table>
</td></tr></table>
</td><td width=5> </td>
</tr>
<tr><td height=5 colspan=3> </td></tr>
</table>
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0>
<tr><td bgcolor=#f9f9f9 >
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0 >
<tr><td>&nbsp;May contain other tlv from the <a href="tlv_tags.html">following
list</a></td></tr>
</table>
</td></tr>
</table>
</td></tr></table>
</td><td width=5> </td>
</tr>
<tr><td height=5 colspan=3> </td></tr>
</table>
</td></tr></table>
</td></tr></table>
</td></tr></table>
<br>Example SNAC dump with flap header (uin="777777", pass="password"):
<table width=640 bgcolor=darkblue cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 border=0><tr>
<td bgcolor=#E9E9E9>
<font size=3><pre style="font-size: 13px">
2A 01 13 5A 00 83 00 00 00 01 00 01 00 06 37 37 *..Z..........77
37 37 37 37 00 02 00 08 83 47 F2 B7 4E E9 A9 F6 7777.....G..N...
00 03 00 33 49 43 51 20 49 6E 63 2E 20 2D 20 50 ...3ICQ Inc. - P
72 6F 64 75 63 74 20 6F 66 20 49 43 51 20 28 54 roduct of ICQ (T
4D 29 2E 32 30 30 30 62 2E 34 2E 36 35 2E 31 2E M).2000b.4.65.1.
33 32 38 31 2E 38 35 00 16 00 02 01 0A 00 17 00 3281.85.........
02 00 04 00 18 00 02 00 41 00 19 00 02 00 01 00 ........A.......
1A 00 02 0C D1 00 14 00 04 00 00 00 55 00 0F 00 ............U...
02 65 6E 00 0E 00 02 75 73 .en....us
</pre></font>
</td></tr></table>
</td></tr></table>
<br>
<table width=640 bgcolor=darkgray cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 border=0><tr><td bgcolor=#E9E9E9 ><table width=100% cellSpacing=0 cellPadding=0 border=0>
<tr><td align=center valign=middle><b><font color=black size=2>&nbsp;
<a href="index.html" target="_top">Main</a> |
<a href="basic.html" target="_top">Basic</a> |
<a href="login.html" target="_top">Login</a> |
<a href="families.html" target="_top">Snaclist</a> |
<a href="sequences.html" target="_top">Sequences</a> |
<a href="lists.html" target="_top">Misc</a> |
<a href="changes.html" target="_top">Changes</a> |
<a href="credits.html" target="_top">Credits</a> |
<a href="terms.html" target="_top">Terms</a>
&nbsp;</font></b></td></tr></table>
</td></tr></table>
</td></tr></table>
<!--#include virtual="_bottom.htxt" -->
</body>
</html>