Protocols/OSCAR/SNAC/BUDDY RIGHTS QUERY: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(3 intermediate revisions by the same user not shown) | |||
Line 18: | Line 18: | ||
== SNAC Data == | == SNAC Data == | ||
This SNAC is usually sent before the OSERVICE__CLIENT_ONLINE SNAC. | |||
{| class="wikitable" | |||
! Name | |||
! Type | |||
! Notes | |||
|- | |||
| tlvs | |||
| Rest of SNAC array of [[Protocols/OSCAR/TLV|TLV]] | |||
| ''[Class: [[Protocols/OSCAR/SNAC/BUDDY_RIGHTS_QUERY#TLV_Class:_BUDDY_RIGHTS_QUERY_TAGS|BUDDY__RIGHTS_QUERY_TAGS]]]'' Qualifying parameters for query | |||
|} | |||
Query the BUDDY foodgroup rights: | |||
{| class="wikitable" | |||
! Field | |||
! Size | |||
! Value | |||
|- | |||
| u08 | |||
| flapHeader.startMarker | |||
| '*' | |||
|- | |||
| u08 | |||
| flapHeader.frameType | |||
| 0x02 ([[Protocols/OSCAR/FLAP#Class:_FLAP_FRAME|FLAP__FRAME_TYPE_DATA]]) | |||
|- | |||
| u16 | |||
| flapHeader.sequenceNumber | |||
| XX | |||
|- | |||
| u16 | |||
| flapHeader.payloadLength | |||
| YY | |||
|- | |||
| u16 | |||
| snacHeader.foodgroup | |||
| 0x03 ([[Protocols/OSCAR/Foodgroups/BUDDY|BUDDY]]) | |||
|- | |||
| u16 | |||
| snacHeader.type | |||
| 0x02 ([[Protocols/OSCAR/SNAC/BUDDY__RIGHTS_QUERY|BUDDY__RIGHTS_QUERY]]) | |||
|- | |||
| u16 | |||
| snacHeader.flags | |||
| 0 | |||
|- | |||
| u32 | |||
| snacHeader.requestId | |||
| ZZ | |||
|- | |||
| u16 | |||
| tlvs[0].tag | |||
| 0x05 ([[Protocols/OSCAR/SNAC/BUDDY_RIGHTS_QUERY#TLV_Class:_BUDDY_RIGHTS_QUERY_TAGS|BUDDY__RIGHTS_QUERY_TAGS_FLAGS]]) | |||
|- | |||
| u16 | |||
| tlvs[0].len | |||
| 2 | |||
|- | |||
| u16 | |||
| tlvs[0].value | |||
| [[Protocols/OSCAR/SNAC/BUDDY_RIGHTS_QUERY#Class:_BUDDY_RIGHTS_QUERY_FLAGS|0x0F]] | |||
|} | |||
=== TLV Class: BUDDY__RIGHTS_QUERY_TAGS === | === TLV Class: BUDDY__RIGHTS_QUERY_TAGS === | ||
These are tags the client uses to inform the server of options for the BUDDY foodgroup. | |||
{| class="wikitable" | |||
! Name | |||
! Tag | |||
! Type | |||
! Notes | |||
|- | |||
| FLAGS | |||
| 0x05 | |||
| uint16 (word) | |||
| ''[Class:[[Protocols/OSCAR/SNAC/BUDDY_RIGHTS_QUERY#Class:_BUDDY_RIGHTS_QUERY_FLAGS|BUDDY__RIGHTS_QUERY_FLAGS]]]'' Flags that govern feature support | |||
|} | |||
=== Class: BUDDY__RIGHTS_QUERY_FLAGS === | |||
These are the flags the client uses to inform the server what kinds of features it supports. | |||
{| class="wikitable" | |||
! Name | |||
! Value | |||
! Notes | |||
|- | |||
| BUDDY__RIGHTS_FLAGS_BART_SUPPORTED | |||
| 0x0001 | |||
| Want to receive BART items | |||
|- | |||
| BUDDY__RIGHTS_FLAGS_INITIAL_DEPARTS | |||
| 0x0002 | |||
| Want to receive ARRIVE/DEPART for all users on a Buddy List, even those offline | |||
|- | |||
| BUDDY__RIGHTS_FLAGS_OFFLINE_BART_SUPPORTED | |||
| 0x0004 | |||
| Want to receive BART items for offline buddies, excluding location | |||
|- | |||
| BUDDY__RIGHTS_FLAGS_REJECT_PENDING_BUDDIES | |||
| 0x0008 | |||
| If set and INITIAL_DEPARTS is set, use REJECT on pending buddies instead of DEPART | |||
|} | |||
=== From Aleksandr Shutko: SNAC(03,02) request baddylist service parameters SNAC(03,02) BUDDY__RIGHTS_QUERY === | |||
<table width=640 cellSpacing=0 cellPadding=0 border=0> | |||
<tr> | |||
<td> | |||
<br> | |||
Client use this SNAC to request buddylist service parameters and limitations. | |||
Server should reply via [[Protocols/OSCAR/SNAC_03_03|SNAC(03,03)]]. | |||
<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 03</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 9B 00 0A 00 03 00 02 00 00 00 00 00 02 *."............. | |||
</pre></font> | |||
</td></tr></table> | |||
</td></tr></table> | |||
== BUDDY SNACs == | == BUDDY SNACs == | ||
{{Protocols/OSCAR/Foodgroups/BUDDY/SNACs/Simple}} | {{Protocols/OSCAR/Foodgroups/BUDDY/SNACs/Simple}} | ||
[[Category:With_Contrib]] | |||
[[Category:Stub]] | [[Category:Stub]] | ||
[[Category:AOL]] | [[Category:AOL]] |
Latest revision as of 04:35, 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 |
---|---|---|---|---|---|---|
0x0003, 0x0002 | Client | BUDDY__RIGHTS_QUERY | Unspecified | BOS | Active | 1.10 |
This SNAC is optionally sent by the client to discover the client's and user's rights.
SNAC Header
Foodgroup | uint16 (word) | 00 03 |
Subgroup | uint16 (word) | 00 02 |
Flags | uint16 (word) | 00 00 |
Request ID | uint32 (dword) | 00 00 00 00 |
SNAC Data
This SNAC is usually sent before the OSERVICE__CLIENT_ONLINE SNAC.
Name | Type | Notes |
---|---|---|
tlvs | Rest of SNAC array of TLV | [Class: BUDDY__RIGHTS_QUERY_TAGS] Qualifying parameters for query |
Query the BUDDY foodgroup rights:
Field | Size | Value |
---|---|---|
u08 | flapHeader.startMarker | '*' |
u08 | flapHeader.frameType | 0x02 (FLAP__FRAME_TYPE_DATA) |
u16 | flapHeader.sequenceNumber | XX |
u16 | flapHeader.payloadLength | YY |
u16 | snacHeader.foodgroup | 0x03 (BUDDY) |
u16 | snacHeader.type | 0x02 (BUDDY__RIGHTS_QUERY) |
u16 | snacHeader.flags | 0 |
u32 | snacHeader.requestId | ZZ |
u16 | tlvs[0].tag | 0x05 (BUDDY__RIGHTS_QUERY_TAGS_FLAGS) |
u16 | tlvs[0].len | 2 |
u16 | tlvs[0].value | 0x0F |
TLV Class: BUDDY__RIGHTS_QUERY_TAGS
These are tags the client uses to inform the server of options for the BUDDY foodgroup.
Name | Tag | Type | Notes |
---|---|---|---|
FLAGS | 0x05 | uint16 (word) | [Class:BUDDY__RIGHTS_QUERY_FLAGS] Flags that govern feature support |
Class: BUDDY__RIGHTS_QUERY_FLAGS
These are the flags the client uses to inform the server what kinds of features it supports.
Name | Value | Notes |
---|---|---|
BUDDY__RIGHTS_FLAGS_BART_SUPPORTED | 0x0001 | Want to receive BART items |
BUDDY__RIGHTS_FLAGS_INITIAL_DEPARTS | 0x0002 | Want to receive ARRIVE/DEPART for all users on a Buddy List, even those offline |
BUDDY__RIGHTS_FLAGS_OFFLINE_BART_SUPPORTED | 0x0004 | Want to receive BART items for offline buddies, excluding location |
BUDDY__RIGHTS_FLAGS_REJECT_PENDING_BUDDIES | 0x0008 | If set and INITIAL_DEPARTS is set, use REJECT on pending buddies instead of DEPART |
From Aleksandr Shutko: SNAC(03,02) request baddylist service parameters SNAC(03,02) BUDDY__RIGHTS_QUERY
|
Example SNAC dump with flap header:
|
BUDDY SNACs
|