Protocols/OSCAR/SNAC/FEEDBAG RIGHTS QUERY: Difference between revisions
(Created page with "{{Protocols/OSCAR}} {{Protocols/OSCAR/SNAC/Stats |origin={{Protocols/OSCAR/SNAC/FEEDBAG__RIGHTS_QUERY/Origin}} |name=FEEDBAG__RIGHTS_QUERY |id=0x0013, 0x0002 |service={{Protoc...") |
No edit summary |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 10: | Line 10: | ||
{{Protocols/OSCAR/SNAC/FEEDBAG__RIGHTS_QUERY/Description}} | {{Protocols/OSCAR/SNAC/FEEDBAG__RIGHTS_QUERY/Description}} | ||
This should be called before the [[Protocols/OSCAR/SNAC/FEEDBAG__QUERY|FEEDBAG__QUERY]] SNAC and before the [[Protocols/OSCAR/SNAC/OSERVICE_CLIENT_ONLINE|OSERVICE__CLIENT_ONLINE]]. This is useful to figure out how many items are allowed for each class type. | |||
== SNAC Header == | |||
{{Protocols/OSCAR/SNAC/Header | {{Protocols/OSCAR/SNAC/Header | ||
|foodgroup=00 13 | |foodgroup=00 13 | ||
| Line 17: | Line 19: | ||
|reqid=00 00 00 00}} | |reqid=00 00 00 00}} | ||
=== SNAC | == SNAC Data == | ||
{| class="wikitable" | |||
! Name | |||
! Type | |||
! Notes | |||
|- | |||
| tlvs | |||
| Rest of SNAC array of [[Protocols/OSCAR/TLV|TLV]] | |||
| ''[Class: [[Protocols/OSCAR/SNAC/FEEDBAG_RIGHTS_QUERY#TLV_Class:_FEEDBAG_RIGHTS_QUERY_TAGS|FEEDBAG__RIGHTS_QUERY_TAGS]]]'' Qualifying parameters | |||
|} | |||
Query the FEEDBAG foodgroup rights: | |||
{| class="wikitable" | |||
! Field | |||
! Size | |||
! Value | |||
|- | |||
| u08 | |||
| flapHeader.startMarker | |||
| '*' | |||
|- | |||
| u08 | |||
| flapHeader.frameType | |||
| 2 ([Protocols/OSCAR/FLAP#Class:_FLAP_FRAME FLAP__FRAME_TYPE_DATA]) | |||
|- | |||
| u16 | |||
| flapHeader.sequenceNumber | |||
| XX | |||
|- | |||
| u16 | |||
| flapHeader.payloadLength | |||
| YY | |||
|- | |||
| u16 | |||
| snacHeader.foodgroup | |||
| 19 ([Protocols/OSCAR/Foodgroups/FEEDBAG FEEDBAG]) | |||
|- | |||
| u16 | |||
| snacHeader.type | |||
| 2 ([Protocols/OSCAR/SNAC/FEEDBAG_RIGHTS_QUERY FEEDBAG__RIGHTS_QUERY]) | |||
|- | |||
| u16 | |||
| snacHeader.flags | |||
| 0 | |||
|- | |||
| u32 | |||
| snacHeader.requestId | |||
| ZZ | |||
|- | |||
| u16 | |||
| tlvs[0].tag | |||
| 11 ([Protocols/OSCAR/SNAC/FEEDBAG_RIGHTS_QUERY#TLV_Class:_FEEDBAG_RIGHTS_QUERY_TAGS FEEDBAG__RIGHTS_QUERY_TAGS_FLAGS]) | |||
|- | |||
| u16 | |||
| tlvs[0].len | |||
| 2 | |||
|- | |||
| u16 | |||
| tlvs[0].value | |||
| [Protocols/OSCAR/SNAC/FEEDBAG_RIGHTS_QUERY#Class:_FEEDBAG_RIGHTS_QUERY_FLAGS 0x7f] | |||
|} | |||
=== TLV Class: FEEDBAG__RIGHTS_QUERY_TAGS === | |||
These are the types used in the Feedbag rights query. | |||
{| class="wikitable" | |||
! Name | |||
! Tag | |||
! Type | |||
! Notes | |||
|- | |||
| FEEDBAG__RIGHTS_QUERY_TLV_TAGS_FLAGS | |||
| 0x0B | |||
| uint16 (word) | |||
| ''[Class: [[Protocols/OSCAR/SNAC/FEEDBAG_RIGHTS_QUERY#Class:_FEEDBAG_RIGHTS_QUERY_FLAGS|FEEDBAG__RIGHTS_QUERY_FLAGS]]]'' Flags that govern feature support | |||
|} | |||
=== Class: FEEDBAG__RIGHTS_QUERY_FLAGS === | |||
These are the flags used in FEEDBAG__RIGHTS_QUERY to determine how Feedbag is treated. | |||
{| class="wikitable" | |||
! Name | |||
! Value | |||
! Notes | |||
|- | |||
| FEEDBAG__RIGHTS_QUERY_TAGS_FLAGS_INTERACTION_SUPPORTED | |||
| 0x0001 | |||
| Client supports interactions | |||
|- | |||
| FEEDBAG__RIGHTS_QUERY_TAGS_FLAGS_AUTHORIZATION_SUPPORTED | |||
| 0x0002 | |||
| Client supports Buddy authorization | |||
|- | |||
| FEEDBAG__RIGHTS_QUERY_TAGS_FLAGS_DOMAIN_SN_SUPPORTED | |||
| 0x0004 | |||
| Client supports a@b.com | |||
|- | |||
| FEEDBAG__RIGHTS_QUERY_TAGS_FLAGS_ICQ_NUM_SUPPORTED | |||
| 0x0008 | |||
| Client supports 1234567890 | |||
|- | |||
| FEEDBAG__RIGHTS_QUERY_TAGS_FLAGS_SMS_NUM_SUPPORTED | |||
| 0x0010 | |||
| Client supports +17035551212 | |||
|- | |||
| FEEDBAG__RIGHTS_QUERY_TAGS_FLAGS_ALIAS_ATTR_SUPPORTED | |||
| 0x0020 | |||
| Client supports alias attribute | |||
|- | |||
| FEEDBAG__RIGHTS_QUERY_TAGS_FLAGS_SMARTGRP_SUPPORTED | |||
| 0x0040 | |||
| Client supports smart groups | |||
|} | |||
=== From Aleksandr Shutko: SNAC(13,02) request service limitations SNAC(13,02) FEEDBAG__RIGHTS_QUERY === | |||
<table width=640 cellSpacing=0 cellPadding=0 border=0> | |||
<tr> | |||
<td> | |||
<br> | |||
Use this to request server-stored information (SSI) service limitations. Server should reply via | |||
[[Protocols/OSCAR/SNAC_13_03|SNAC(13,03)]], that contain limitations for server-stored | |||
information items. See also snac list for SSI service [[Protocols/OSCAR/Foodgroups/FEEDBAG|here]]. | |||
<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> 00 13</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=55%>SNAC family</td> | |||
</tr> | |||
<tr> | |||
<td> 00 02</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=55%>SNAC subtype</td> | |||
</tr> | |||
<tr> | |||
<td> 00 00</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=55%>SNAC flags</td> | |||
</tr> | |||
<tr> | |||
<td> xx xx xx xx</td> | |||
<td width=5> </td> | |||
<td>dword</td> | |||
<td width=5> </td> | |||
<td width=55%>SNAC request-id</td> | |||
</tr> | |||
</table> | |||
</td></tr> | |||
<tr><td bgcolor=#E9E9E9 > | |||
empty (no snac data) | |||
</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 96 00 0A 00 13 00 02 00 00 00 00 00 02 *."............. | |||
</pre></font> | |||
</td></tr></table> | |||
</td></tr></table> | |||
[[Category:With_Contrib]] | |||
== FEEDBAG SNACs == | |||
{{Protocols/OSCAR/Foodgroups/FEEDBAG/SNACs/Simple}} | {{Protocols/OSCAR/Foodgroups/FEEDBAG/SNACs/Simple}} | ||
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, 0x0002 | Client | FEEDBAG__RIGHTS_QUERY | Unspecified | BOS | Active | 4.0 |
This SNAC issues a query to the host for the client's Feedbag rights and to let the system know what kind of Feedbag support it wants.
This should be called before the FEEDBAG__QUERY SNAC and before the OSERVICE__CLIENT_ONLINE. This is useful to figure out how many items are allowed for each class type.
SNAC Header
| Foodgroup | uint16 (word) | 00 13 |
| Subgroup | uint16 (word) | 00 02 |
| 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_QUERY_TAGS] Qualifying parameters |
Query the FEEDBAG foodgroup rights:
| Field | Size | Value |
|---|---|---|
| u08 | flapHeader.startMarker | '*' |
| u08 | flapHeader.frameType | 2 ([Protocols/OSCAR/FLAP#Class:_FLAP_FRAME FLAP__FRAME_TYPE_DATA]) |
| u16 | flapHeader.sequenceNumber | XX |
| u16 | flapHeader.payloadLength | YY |
| u16 | snacHeader.foodgroup | 19 ([Protocols/OSCAR/Foodgroups/FEEDBAG FEEDBAG]) |
| u16 | snacHeader.type | 2 ([Protocols/OSCAR/SNAC/FEEDBAG_RIGHTS_QUERY FEEDBAG__RIGHTS_QUERY]) |
| u16 | snacHeader.flags | 0 |
| u32 | snacHeader.requestId | ZZ |
| u16 | tlvs[0].tag | 11 ([Protocols/OSCAR/SNAC/FEEDBAG_RIGHTS_QUERY#TLV_Class:_FEEDBAG_RIGHTS_QUERY_TAGS FEEDBAG__RIGHTS_QUERY_TAGS_FLAGS]) |
| u16 | tlvs[0].len | 2 |
| u16 | tlvs[0].value | [Protocols/OSCAR/SNAC/FEEDBAG_RIGHTS_QUERY#Class:_FEEDBAG_RIGHTS_QUERY_FLAGS 0x7f] |
TLV Class: FEEDBAG__RIGHTS_QUERY_TAGS
These are the types used in the Feedbag rights query.
| Name | Tag | Type | Notes |
|---|---|---|---|
| FEEDBAG__RIGHTS_QUERY_TLV_TAGS_FLAGS | 0x0B | uint16 (word) | [Class: FEEDBAG__RIGHTS_QUERY_FLAGS] Flags that govern feature support |
Class: FEEDBAG__RIGHTS_QUERY_FLAGS
These are the flags used in FEEDBAG__RIGHTS_QUERY to determine how Feedbag is treated.
| Name | Value | Notes |
|---|---|---|
| FEEDBAG__RIGHTS_QUERY_TAGS_FLAGS_INTERACTION_SUPPORTED | 0x0001 | Client supports interactions |
| FEEDBAG__RIGHTS_QUERY_TAGS_FLAGS_AUTHORIZATION_SUPPORTED | 0x0002 | Client supports Buddy authorization |
| FEEDBAG__RIGHTS_QUERY_TAGS_FLAGS_DOMAIN_SN_SUPPORTED | 0x0004 | Client supports a@b.com |
| FEEDBAG__RIGHTS_QUERY_TAGS_FLAGS_ICQ_NUM_SUPPORTED | 0x0008 | Client supports 1234567890 |
| FEEDBAG__RIGHTS_QUERY_TAGS_FLAGS_SMS_NUM_SUPPORTED | 0x0010 | Client supports +17035551212 |
| FEEDBAG__RIGHTS_QUERY_TAGS_FLAGS_ALIAS_ATTR_SUPPORTED | 0x0020 | Client supports alias attribute |
| FEEDBAG__RIGHTS_QUERY_TAGS_FLAGS_SMARTGRP_SUPPORTED | 0x0040 | Client supports smart groups |
From Aleksandr Shutko: SNAC(13,02) request service limitations SNAC(13,02) FEEDBAG__RIGHTS_QUERY
|
|
Example SNAC dump with flap header:
|
FEEDBAG SNACs
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||