Protocols/OSCAR/SNAC/FEEDBAG RIGHTS REPLY

From NINA Wiki
Jump to navigation Jump to search
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, 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


Server replies with this SNAC to SNAC(13,02) - client SSI service parameters request.

 00 13   word   SNAC family
 00 03   word   SNAC subtype
 xx xx   word   SNAC flags
 xx xx xx xx   dword   SNAC request-id
 00 04   word   TLV.Type(0x04) - max items num
 xx xx   word   TLV.Length
 xx xx   word   [00] max num of contacts
 xx xx   word   [01] max num of groups
 xx xx   word   [02] max visible contacts
 xx xx   word   [03] max invisible contacts
 00 01   word   [04] max vis/invis bitmasks
 00 01   word   [05] max presense info fields
 00 32   word   [06] limit for item type 06
 00 00   word   [07] limit for item type 07
 00 00   word   [08] limit for item type 08
 00 03   word   [09] limit for item type 09
 00 00   word   [0a] limit for item type 0a
 00 00   word   [0b] limit for item type 0b
 00 00   word   [0c] limit for item type 0c
 00 80   word   [0d] limit for item type 0d
 xx xx   word   [0e] max ignore list entries
 00 14   word   [0f] limit for item type 0f
 00 C8   word   [10] limit for item 10
 00 01   word   [11] limit for item 11
 00 00   word   [12] limit for item 12
 00 01   word   [13] limit for item 13
 00 00   word   [14] limit for item 14
 00 02   word   TLV.Type(0x02) - unknown
 00 02   word   TLV.Length
 00 FE   word   Unknown value
 00 03   word   TLV.Type(0x03) - unknown
 00 02   word   TLV.Length
 01 FC   word   unknown value


 00 05   word   TLV.Type(0x05) - unknown
 00 02   word   TLV.Length
 00 00   word   unknown value
 00 06   word   TLV.Type(0x06) - unknown
 00 02   word   TLV.Length
 00 61   word   unknown value
 00 07   word   TLV.Type(0x07) - unknown
 00 02   word   TLV.Length
 00 0A   word   unknown value


Example SNAC dump with flap header:


  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......


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.