Protocols/OSCAR/SNAC/LOCATE SET INFO: Difference between revisions
No edit summary |
|||
Line 90: | Line 90: | ||
| 0x09, 0x46, 0x13, 0x43, 0x4c, 0x7f, 0x11, 0xd1, 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00 | | 0x09, 0x46, 0x13, 0x43, 0x4c, 0x7f, 0x11, 0xd1, 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00 | ||
|} | |} | ||
=== From Aleksandr Shutko: SNAC(02,04) LOCATE__SET_INFO === | |||
<table width=640 cellSpacing=0 cellPadding=0 border=0> | |||
<tr> | |||
<td> | |||
<br> | |||
Client use this snac to set its location information (like client profile string, | |||
client directory profile string, client capabilities). Capability - 16 byte array, | |||
also known as CLSID string. Current ICQ versions update only caps info - TLV(0x05). | |||
<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=169> 00 02</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>SNAC family</td> | |||
</tr> | |||
<tr> | |||
<td> 00 04</td> | |||
<td> </td> | |||
<td>word</td> | |||
<td> </td> | |||
<td>SNAC subtype</td> | |||
</tr> | |||
<tr> | |||
<td> xx xx</td> | |||
<td> </td> | |||
<td>word</td> | |||
<td> </td> | |||
<td>SNAC flags</td> | |||
</tr> | |||
<tr> | |||
<td> xx xx xx xx</td> | |||
<td> </td> | |||
<td>dword</td> | |||
<td> </td> | |||
<td>SNAC request-id</td> | |||
</tr> | |||
</table> | |||
</td></tr> | |||
<tr><td bgcolor=#E9E9E9> | |||
<!-- TLV 0x01 --> | |||
<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=147> 00 01</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>TLV.Type(0x01) - mime type</td> | |||
</tr> | |||
<tr> | |||
<td> xx xx</td> | |||
<td> </td> | |||
<td>word</td> | |||
<td> </td> | |||
<td>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=147> xx ..... xx</td> | |||
<td width=5> </td> | |||
<td>string</td> | |||
<td width=5> </td> | |||
<td width=60%>mime type name</td> | |||
</tr> | |||
</table> | |||
</td></tr> | |||
</table> | |||
</td></tr></table> | |||
</td><td width=5> </td> | |||
</tr> | |||
<tr><td height=5 colspan=3> </td></tr> | |||
</table> | |||
<!-- TLV 0x05 --> | |||
<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=147> 00 05</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>TLV.Type(0x05) - CLSID values</td> | |||
</tr> | |||
<tr> | |||
<td> xx xx</td> | |||
<td> </td> | |||
<td>word</td> | |||
<td> </td> | |||
<td>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=147> xx ..... xx</td> | |||
<td width=5> </td> | |||
<td>array</td> | |||
<td width=5> </td> | |||
<td width=60%>Client [[Protocols/OSCAR/UUIDs|capabilities]] list</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: | |||
<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 02 22 A0 00 4E 00 02 00 04 00 00 00 00 00 04 *."..N.......... | |||
00 05 00 40 09 46 13 49 4C 7F 11 D1 82 22 44 45 ...@.F.IL...."DE | |||
53 54 00 00 97 B1 27 51 24 3C 43 34 AD 22 D6 AB ST.....Q$.C4.... | |||
F7 3F 14 92 2E 7A 64 75 FA DF 4D C8 88 6F EA 35 .?...zdu..M..o.5 | |||
95 FD B6 DF 09 46 13 44 4C 7F 11 D1 82 22 44 45 .....F.DL...."DE | |||
53 54 00 00 ST.. | |||
</pre></font> | |||
</td></tr></table> | |||
</td></tr></table> | |||
=== LOCATE SNACs === | === LOCATE SNACs === | ||
{{Protocols/OSCAR/Foodgroups/LOCATE/SNACs/Simple}} | {{Protocols/OSCAR/Foodgroups/LOCATE/SNACs/Simple}} | ||
[[Category:With_Contrib]] | |||
[[Category:Stub]] | [[Category:Stub]] | ||
[[Category:AOL]] | [[Category:AOL]] |
Latest revision as of 04:26, 13 February 2021
OSCAR Protocol |
Introduction • Terms • Clients |
Basic |
Datatypes • FLAP • SNAC • TLV |
UUIDs • Errors • Tool IDs |
Host Interaction |
Rate Limits • Migration • Messages |
Other Services |
ADMIN • ADVERT • ALERT |
BART • BOS • BUCP • CHAT |
CHAT_NAV |
Tutorials |
Sign On • BART • Rendezvous |
ICBM • Locate • Buddies |
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 |
---|---|---|---|---|---|---|
0x0002, 0x0004 | Client | LOCATE__SET_INFO | Unspecified | BOS | Active | 1.19 |
The client may set SIG, UNAVAILABLE, and CAPABILITIES type and data tags with this SNAC.
SNAC Header
Foodgroup | uint16 (word) | 00 02 |
Subgroup | uint16 (word) | 00 04 |
Flags | uint16 (word) | 00 00 |
Request ID | uint32 (dword) | 00 00 00 00 |
SNAC Data
A tag with no data clears the SIG, UNAVAILABLE message, or CAPABILITIES.
Name | Type | Notes |
---|---|---|
infoData | TLV | [Class: LOCATE__TAGS] Information to set or replace - empty tags will cause that data to be cleared; tags not present will cause no change |
Set user information [Source: Client]
This sends up the intial profile and capability set. It's also used while online to set yourself away and back. Capabilities are represented by blocks of data, 16 bytes long.
The final portion of this packet is the capability set; it's technically a TLV, but it's easier in code to refer to it otherwise, since the value of the TLV differs based on capabilites.
Container | Data | TLV Type |
RAW | SNAC Header | |
TLV | TLV containing string: text/x-aolrtf; charset="us-ascii" | 0x0001 |
TLV | Profile string | 0x0002 |
TLV | TLV containing string: text/x-aolrtf; charset="us-ascii" | 0x0003 |
TLV | Away message. TLV value is NULL (and len is 0) if you're not away. | 0x0004 |
TLV | Capability block | 0x0005 |
The following table illustrates the capability sets; you could easily send up this entire thing and forget about it, but if you want to be specific, send only those that your client supports. This way, other clients will be notified of your capabilites, and be stopped/warned when sending you requests that you're not capable of dealing with. Hence the word "capability".. :)
Container | Data |
Buddy icon | 0x09, 0x46, 0x13, 0x46, 0x4c, 0x7f, 0x11, 0xd1, 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00 |
Voice | 0x09, 0x46, 0x13, 0x41, 0x4c, 0x7f, 0x11, 0xd1, 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00 |
IM image | 0x09, 0x46, 0x13, 0x45, 0x4c, 0x7f, 0x11, 0xd1, 0x82, 0x22, 0x44, 0x45, 0x53, 0x54,0x00, 0x00 |
Chat | 0x74, 0x8f, 0x24, 0x20, 0x62, 0x87, 0x11, 0xd1, 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00 |
Get file | 0x09, 0x46, 0x13, 0x48, 0x4c, 0x7f, 0x11, 0xd1, 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00 |
Send file | 0x09, 0x46, 0x13, 0x43, 0x4c, 0x7f, 0x11, 0xd1, 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00 |
From Aleksandr Shutko: SNAC(02,04) LOCATE__SET_INFO
|
Example SNAC dump with flap header:
|
LOCATE SNACs
|