Difference between revisions of "Protocols/OSCAR/SNAC/FEEDBAG RIGHTS QUERY"

From NINA Wiki
Jump to navigation Jump to search
 
(2 intermediate revisions by the same user not shown)
Line 9: Line 9:
  
 
{{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 ==
 
== SNAC Header ==
Line 18: Line 20:
  
 
== SNAC Data ==
 
== SNAC Data ==
Unconfirmed: This SNAC contains no 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 ===
 
=== TLV Class: FEEDBAG__RIGHTS_QUERY_TAGS ===
X
+
 
 +
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 ===
 
=== Class: FEEDBAG__RIGHTS_QUERY_FLAGS ===
X
+
 
 +
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>&nbsp;00 13</td>
 +
<td width=5>&nbsp;</td>
 +
<td>word</td>
 +
<td width=5>&nbsp;</td>
 +
<td width=55%>SNAC family</td>
 +
</tr>
 +
<tr>
 +
<td>&nbsp;00 02</td>
 +
<td width=5>&nbsp;</td>
 +
<td>word</td>
 +
<td width=5>&nbsp;</td>
 +
<td width=55%>SNAC subtype</td>
 +
</tr>
 +
<tr>
 +
<td>&nbsp;00 00</td>
 +
<td width=5>&nbsp;</td>
 +
<td>word</td>
 +
<td width=5>&nbsp;</td>
 +
<td width=55%>SNAC flags</td>
 +
</tr>
 +
<tr>
 +
<td>&nbsp;xx xx xx xx</td>
 +
<td width=5>&nbsp;</td>
 +
<td>dword</td>
 +
<td width=5>&nbsp;</td>
 +
<td width=55%>SNAC request-id</td>
 +
</tr>
 +
</table>
 +
 
 +
</td></tr>
 +
<tr><td  bgcolor=#E9E9E9 >
 +
&nbsp;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 ==
 
== FEEDBAG SNACs ==

Latest revision as of 05:15, 13 February 2021

OSCAR Protocol
IntroductionTermsClients
Basic
DatatypesFLAPSNACTLV
UUIDsErrorsTool IDs
Host Interaction
Rate LimitsMigrationMessages
Other Services
ADMINADVERTALERT
BARTBOSBUCPCHAT
CHAT_NAV
Tutorials
Sign OnBARTRendezvous
ICBMLocateBuddies
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


Use this to request server-stored information (SSI) service limitations. Server should reply via SNAC(13,03), that contain limitations for server-stored information items. See also snac list for SSI service here.

 00 13   word   SNAC family
 00 02   word   SNAC subtype
 00 00   word   SNAC flags
 xx xx xx xx   dword   SNAC request-id

 empty (no snac data)


Example SNAC dump with flap header:


  2A 02 22 96 00 0A 00 13  00 02 00 00 00 00 00 02 *.".............


FEEDBAG SNACs

SNAC List
Subgroup Origin Name
0x0001 Any FEEDBAG__ERR
This is the error SNAC for the FEEDBAG foodgroup.
0x0002 Client FEEDBAG__RIGHTS_QUERY
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.
0x0003 Host FEEDBAG__RIGHTS_REPLY
This is the response to the FEEDBAG__RIGHTS_QUERY SNAC.
0x0004 Client FEEDBAG__QUERY
This SNAC is sent to query the Feedbag data stored on the host.
0x0005 Client FEEDBAG__QUERY_IF_MODIFIED
Similar to FEEDBAG__QUERY except contains a Unix epoch to check against in order to only send if modified.
0x0006 Host FEEDBAG__REPLY
This is the reply to FEEDBAG_QUERY.
0x0007 Client FEEDBAG__USE
Directs the host to use the specified stored Feedbag information.
0x0008 Any FEEDBAG__INSERT_ITEM
When this SNAC is sent to the host, the client is requesting that one or more new items are added to the Feedbag.
0x0009 Any FEEDBAG__UPDATE_ITEM
When this SNAC is sent to the host, the client is requesting to update one or more items.
0x000A Any FEEDBAG__DELETE_ITEM
When this SNAC is sent to the host, the client is requesting that one or more items be deleted from the Feedbag.
0x000B NCD FEEDBAG__INSERT_CLASS
This is not currently documented.
0x000C NCD FEEDBAG__UPDATE_CLASS
This is not currently documented.
0x000D NCD FEEDBAG__DELETE_CLASS
This is not currently documented.
0x000E Host FEEDBAG__STATUS
These are the results of one of the insert/update/delete item SNACs from above.
0x000F Host FEEDBAG__REPLY_NOT_MODIFIED
Response to client if Feedbag data is unmodified.
0x0010 NCD FEEDBAG__DELETE_USER
This is not currently documented.
0x0011 NCD FEEDBAG__START_CLUSTER
The cluster SNACs bracket a set of transactions that should be handled by clients as a group to avoid "flashing" the user's screen.
0x0012 NCD FEEDBAG__END_CLUSTER
This SNAC ends the data burst started with START_CLUSTER. See FEEDBAG__START_CLUSTER.
0x0013 Client FEEDBAG__AUTHORIZE_BUDDY
Grant authorization to another user.
0x0014 Client FEEDBAG__PRE_AUTHORIZE_BUDDY
Pre-authorize another user.
0x0015 Host FEEDBAG__PRE_AUTHORIZED_BUDDY
Host notification to a user that they have been pre-authorized.
0x0016 Client FEEDBAG__REMOVE_ME
Delete current user from another user's Buddy List.
0x0017 Client FEEDBAG__REMOVE_ME2
This is not currently documented.
0x0018 Client FEEDBAG__REQUEST_AUTHORIZE_TO_HOST
Send authorization request.
0x0019 Host FEEDBAG__REQUEST_AUTHORIZE_TO_CLIENT
Host notice of authorization request from another user.
0x001A Client FEEDBAG__RESPOND_AUTHORIZE_TO_HOST
Send authorization response to FEEDBAG__REQUEST_AUTHORIZE_TO_CLIENT.
0x001B Host FEEDBAG__RESPOND_AUTHORIZE_TO_CLIENT
Host notice of grant or denial of authorization.
0x001C Host FEEDBAG__BUDDY_ADDED
Host notice that another user has added current user to their Buddy List.
0x001D NCD FEEDBAG__REQUEST_AUTHORIZE_TO_BADOG
This is not currently documented.
0x001E NCD FEEDBAG__RESPOND_AUTHORIZE_TO_BADOG
This is not currently documented.
0x001F NCD FEEDBAG__BUDDY_ADDED_TO_BADOG
This is not currently documented.
0x0021 Any FEEDBAG__TEST_SNAC
This is not currently documented.
0x0022 NCD FEEDBAG__FORWARD_MSG
This is not currently documented.
0x0023 NCD FEEDBAG__IS_AUTH_REQUIRED_QUERY
This is not currently documented.
0x0024 NCD FEEDBAG__IS_AUTH_REQUIRED_REPLY
This is not currently documented.
0x0025 NCD FEEDBAG__RECENT_BUDDY_UPDATE
This is not currently documented.