Protocols/OSCAR/SNAC/FEEDBAG RIGHTS REPLY: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
(One intermediate revision by the same user not shown) | |||
Line 109: | Line 109: | ||
Normally AIM lets you have 200 buddies, 61 groups, 200 permits, 200 denies, 1 type 0x0004, and 1 type 0x0005. Normally ICQ lets you have 600 buddies, 51 groups, 128 permits, 128 denies, 1 type 0x0004, and 1 type 0x0005. | Normally AIM lets you have 200 buddies, 61 groups, 200 permits, 200 denies, 1 type 0x0004, and 1 type 0x0005. Normally ICQ lets you have 600 buddies, 51 groups, 128 permits, 128 denies, 1 type 0x0004, and 1 type 0x0005. | ||
=== From Aleksandr Shutko: SNAC(13,03) limitations for SSI service SNAC(13,03) FEEDBAG__RIGHTS_REPLY === | |||
<table width=640 cellSpacing=0 cellPadding=0 border=0> | |||
<tr> | |||
<td> | |||
<br> | |||
Server replies with this SNAC to [[Protocols/OSCAR/SNAC_13_02|SNAC(13,02)]] - client | |||
SSI service parameters request. | |||
<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=23%> 00 13</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=58%>SNAC family</td> | |||
</tr> | |||
<tr> | |||
<td> 00 03</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 0x04 --> | |||
<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%> 00 04</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>TLV.Type(0x04) - max items num</td> | |||
</tr> | |||
<tr> | |||
<td> xx xx</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </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%> xx xx</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>[00] max num of contacts</td> | |||
</tr> | |||
<tr> | |||
<td width=20%> xx xx</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>[01] max num of groups</td> | |||
</tr> | |||
<tr> | |||
<td width=20%> xx xx</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>[02] max visible contacts</td> | |||
</tr> | |||
<tr> | |||
<td width=20%> xx xx</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>[03] max invisible contacts</td> | |||
</tr> | |||
<tr> | |||
<td width=20%> 00 01</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>[04] max vis/invis bitmasks</td> | |||
</tr> | |||
<tr> | |||
<td width=20%> 00 01</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>[05] max presense info fields</td> | |||
</tr> | |||
<tr> | |||
<td width=20%> 00 32</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>[06] limit for item type 06</td> | |||
</tr> | |||
<tr> | |||
<td width=20%> 00 00</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>[07] limit for item type 07</td> | |||
</tr> | |||
<tr> | |||
<td width=20%> 00 00</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>[08] limit for item type 08</td> | |||
</tr> | |||
<tr> | |||
<td width=20%> 00 03</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>[09] limit for item type 09</td> | |||
</tr> | |||
<tr> | |||
<td width=20%> 00 00</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>[0a] limit for item type 0a</td> | |||
</tr> | |||
<tr> | |||
<td width=20%> 00 00</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>[0b] limit for item type 0b</td> | |||
</tr> | |||
<tr> | |||
<td width=20%> 00 00</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>[0c] limit for item type 0c</td> | |||
</tr> | |||
<tr> | |||
<td width=20%> 00 80</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>[0d] limit for item type 0d</td> | |||
</tr> | |||
<tr> | |||
<td width=20%> xx xx</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>[0e] max ignore list entries</td> | |||
</tr> | |||
<tr> | |||
<td width=20%> 00 14</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>[0f] limit for item type 0f</td> | |||
</tr> | |||
<tr> | |||
<td width=20%> 00 C8</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>[10] limit for item 10</td> | |||
</tr> | |||
<tr> | |||
<td width=20%> 00 01</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>[11] limit for item 11</td> | |||
</tr> | |||
<tr> | |||
<td width=20%> 00 00</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>[12] limit for item 12</td> | |||
</tr> | |||
<tr> | |||
<td width=20%> 00 01</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>[13] limit for item 13</td> | |||
</tr> | |||
<tr> | |||
<td width=20%> 00 00</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>[14] limit for item 14</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 0x02 --> | |||
<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%> 00 02</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>TLV.Type(0x02) - unknown</td> | |||
</tr> | |||
<tr> | |||
<td> 00 02</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </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%> 00 FE</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>Unknown value</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 0x03 --> | |||
<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%> 00 03</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>TLV.Type(0x03) - unknown</td> | |||
</tr> | |||
<tr> | |||
<td> 00 02</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </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%> 01 FC</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>unknown value</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=20%> 00 05</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>TLV.Type(0x05) - unknown</td> | |||
</tr> | |||
<tr> | |||
<td> 00 02</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </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%> 00 00</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>unknown value</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 0x06 --> | |||
<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%> 00 06</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>TLV.Type(0x06) - unknown</td> | |||
</tr> | |||
<tr> | |||
<td> 00 02</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </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%> 00 61</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>unknown value</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 0x07 --> | |||
<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%> 00 07</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>TLV.Type(0x07) - unknown</td> | |||
</tr> | |||
<tr> | |||
<td> 00 02</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </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%> 00 0A</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>unknown value</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 38 C4 00 56 00 13 00 03 00 00 00 00 00 02 *.8..V.......... | |||
00 04 00 2A 02 58 00 33 00 80 00 80 00 01 00 01 ...*.X.3........ | |||
00 32 00 00 00 00 00 03 00 00 00 00 00 00 00 80 .2.............. | |||
00 80 00 14 00 C8 00 01 00 00 00 01 00 00 00 02 ................ | |||
00 02 00 FE 00 03 00 02 01 FC 00 05 00 02 00 00 ................ | |||
00 06 00 02 00 61 00 07 00 02 00 0A .....a...... | |||
</pre></font> | |||
</td></tr></table> | |||
</td></tr></table> | |||
[[Category:With_Contrib]] | |||
== FEEDBAG SNACs == | == FEEDBAG SNACs == | ||
Line 119: | Line 617: | ||
[[Category:Protocols/OSCAR/SNACs]] | [[Category:Protocols/OSCAR/SNACs]] | ||
[[Category:Work_In_Progress]] | [[Category:Work_In_Progress]] | ||
[[Category:Not_Currently_Documented]] |
Latest revision as of 05:15, 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 |
---|---|---|---|---|---|---|
0x0013, 0x0003 | Host | FEEDBAG__RIGHTS_REPLY | Unspecified | BOS | Active | 4.0 |
This is the response to the FEEDBAG__RIGHTS_QUERY SNAC.
SNAC Header
Foodgroup | uint16 (word) | 00 13 |
Subgroup | uint16 (word) | 00 03 |
Flags | uint16 (word) | 00 00 |
Request ID | uint32 (dword) | 00 00 00 00 |
SNAC Data
Name | Type | Notes |
---|---|---|
tlvs | Rest of SNAC array of TLV | [Class: FEEDBAG__RIGHTS_REPLY_TAGS] TLVs with rights information |
TLV Class: FEEDBAG__RIGHTS_REPLY_TAGS
This class provides information from the server about the Feedbag foodgroup.
Name | Tag | Type | Notes |
---|---|---|---|
FEEDBAG__RIGHTS_MAX_CLASS_ATTRS | 0x02 | NCD | NOT CURRENTLY DOCUMENTED |
FEEDBAG__RIGHTS_MAX_ITEM_ATTRS | 0x03 | uint16 (word) | Maximum size of all the attributes on a single item |
FEEDBAG__RIGHTS_MAX_ITEMS_BY_CLASS | 0x04 | Array of uint16 (word) | Maximum number of items per class |
FEEDBAG__RIGHTS_MAX_CLIENT_ITEMS | 0x05 | uint16 (word) | Total number of items with classId > 1024 |
FEEDBAG__RIGHTS_MAX_ITEM_NAME_LEN | 0x06 | uint16 (word) | Maximum length of name in Item that the database supports |
FEEDBAG__RIGHTS_MAX_RECENT_BUDDIES | 0x07 | uint16 (word) | How many RECENT_BUDDIES are allowed |
FEEDBAG__RIGHTS_INTERACTION_BUDDIES | 0x08 | uint16 (word) | Top N interactions are buddies |
FEEDBAG__RIGHTS_INTERACTION_HALF_LIFE | 0x09 | uint32 (dword) | Half life in 2^(-age/half_life) in seconds |
FEEDBAG__RIGHTS_INTERACTION_MAX_SCORE | 0x0A | uint32 (dword) | Upper limit in interaction score |
FEEDBAG__RIGHTS_MAX_UNKNOWN_0B | 0x0B | NCD | NOT CURRENTLY DOCUMENTED |
FEEDBAG__RIGHTS_MAX_BUDDIES_PER_GROUP | 0x0C | uint16 (word) | How many BUDDIES are allowed per group |
FEEDBAG__RIGHTS_MAX_MEGA_BOTS | 0x0D | uint16 (word) | How many BOT BUDDIES are allowed |
FEEDBAG__RIGHTS_MAX_SMART_GROUPS | 0x0E | uint16 (word) | How many smart groups are allowed |
XXX: Max length of a screen name seems to be x0020 (might just be client-side) XXX: Max length of a group seems to be x0030 (might just be client-side)
Normally AIM lets you have 200 buddies, 61 groups, 200 permits, 200 denies, 1 type 0x0004, and 1 type 0x0005. Normally ICQ lets you have 600 buddies, 51 groups, 128 permits, 128 denies, 1 type 0x0004, and 1 type 0x0005.
From Aleksandr Shutko: SNAC(13,03) limitations for SSI service SNAC(13,03) FEEDBAG__RIGHTS_REPLY
|
Example SNAC dump with flap header:
|
FEEDBAG SNACs
|