Protocols/OSCAR/Foodgroups/FEEDBAG: Difference between revisions

From NINA Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 6: Line 6:
|status={{Protocols/OSCAR/Foodgroups/FEEDBAG/Status}}
|status={{Protocols/OSCAR/Foodgroups/FEEDBAG/Status}}
|version={{Protocols/OSCAR/Foodgroups/FEEDBAG/Version}} }}
|version={{Protocols/OSCAR/Foodgroups/FEEDBAG/Version}} }}
Notes (TLVs from another):
<!--
Type Length Location Value
0x006a 0 bytes TLV chains for buddies (type 0x0000) Signifies that the buddy was added automatically by the server. This happens when you have the "Recent Buddies" group enabled.
0x0066 0 bytes TLV chains for an ICQ contacts (type 0x0000) Signifies that you are awaiting authorization for this buddy. The client is in charge of putting this TLV here, but you will not receiving status updates for the contact until they authorize you, regardless if this is here or not. Meaning, this is only here to tell your client that you are waiting for authorization for the person.
0x00c8 x bytes (must be even) TLV chains for groups (type 0x0001) If group is the master group, this contains the group ID#s of all groups in the list. If the group is a normal group, this contains the buddy ID#s of all buddies in the group. Each ID# is 2 bytes. If there are no groups in the list (if in the master group), or no buddies in the group (if in a normal group), then this TLV is not present.
0x00c9 4 bytes TLV chains for visibility settings (type 0x0005) Unknown (contained 0x0000 006f when others could not see idle time, contained 0x0000 046f when others could see idle time)
0x00ca 1 byte TLV chains for the permit/deny setting (type 0x0004) This is the byte that tells the AIM servers your privacy setting. If 1, then allow all users to see you. If 2, then block all users from seeing you. If 3, then allow only the users in the permit list. If 4, then block only the users in the deny list. If 5, then allow only users on your buddy list.
0x00cb 4 bytes TLV chains for the permit/deny setting (type 0x0004) This is a bit mask which tells the AIM servers which class of users you want to be visible to. If 0xffffffff, then all users can see you. If 0x00000004, then AIM users can not see you. See the AIM_FLAG_BLEH #defines in libfaim's aim.h for available user classes.
--
0x00cc 4 bytes TLV chains for the permit/deny setting (type 0x0004)    Bitmask of flags containing "Allow others to see..." options. The default is 0x0000 0000. The flags are the following, logically ORed together:
                                      - 0x0000 0002 - "Do not allow others to see that I am using a wireless device."
                                      - 0x0000 0400 - "Allow others to see my idle time."
                                      - 0x0040 0000 - "Allow others to see that I am typing a response."
--
0x00cd 4 bytes TLV chains for ICQ settings? (type 0x0009) Contained "2672,0,2,1" and "3097,0,0,0"
0x00d5 12 bytes TLV chains for buddy icon info (type 0x0014) Contains the MD5 checksum of the buddy icon you are using. It is preceeded by a 2 byte length of the checksum (or maybe 1 byte of flags or something and then a 1 byte checksum length), which is always 16 bytes.
0x0131 x bytes TLV chains for ICQ contacts (type 0x0000) This stores the name that the contact should show up as in the contact list. It should initially be set to the contact's nick name, and can be changed to anything by the client.
0x013a x bytes TLV chains for ICQ contacts (type 0x0000) Locally assigned SMS number
0x013c x bytes TLV chains for buddies (type 0x0000) This stores the "buddy comment" field. The max length winaim lets you use is 0x0054. I'm not sure if that is a true limit or not.
--
0x013d 2 bytes TLV chains for buddies (type 0x0000) Alerts
- First byte:
- 0x01 - Pop up window notification
- 0x02 - Play sound (sound file specified in 0x013e TLV)
- Second byte:
- 0x01 - When contact comes online
- 0x02 - When contact becomes unidle
- 0x04 - When contact returns from away
--
0x013e x bytes TLV chains for buddies (type 0x0000) Alert sound to play
-->


{{Protocols/OSCAR/Foodgroups/FEEDBAG/Description}}


== Items ==
Feedbag store items are highly complex and have been separated into their own page.


{{Protocols/OSCAR/Foodgroups/FEEDBAG/Description}}
[[Protocols/OSCAR/Foodgroups/FEEDBAG/Items|See More]]
 
[[Protocols/OSCAR/Foodgroups/FEEDBAG/Items]]


== FEEDBAG SNACs ==
{{Protocols/OSCAR/Foodgroups/FEEDBAG/SNACs}}
{{Protocols/OSCAR/Foodgroups/FEEDBAG/SNACs}}



Revision as of 04:10, 23 March 2020

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 Name Service Status Version
0x0013 FEEDBAG BOS Active 4.0

A Feedbag is the stored Buddy List and server based preferences for an AIM user. The client has direct access to manipulate the Feedbag in any way it sees fit, including corrupting it. The server has some checks in place to prevent destruction, but a client developer must be careful not to corrupt things.

Items

Feedbag store items are highly complex and have been separated into their own page.

See More

FEEDBAG SNACs

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.