Protocols/OSCAR/SNAC/BUDDY RIGHTS REPLY: Difference between revisions

From NINA Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
Line 58: Line 58:
| Number of temporary buddies
| Number of temporary buddies
|}
|}
=== From Aleksandr Shutko: SNAC(03,03) buddylist service parameters SNAC(03,03) BUDDY__RIGHTS_REPLY ===
<table width=640 cellSpacing=0 cellPadding=0 border=0>
<tr>
<td>
<br>
Server replies with this SNAC to [[Protocols/OSCAR/SNAC_03_02|SNAC(03,02)]] - client
service parameters request.
<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 width=169>&nbsp;00 03</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=60%>SNAC family</td>
</tr>
<tr>
<td>&nbsp;00 03</td>
<td>&nbsp;</td>
<td>word</td>
<td>&nbsp;</td>
<td>SNAC subtype</td>
</tr>
<tr>
<td>&nbsp;xx xx</td>
<td>&nbsp;</td>
<td>word</td>
<td>&nbsp;</td>
<td>SNAC flags</td>
</tr>
<tr>
<td>&nbsp;xx xx xx xx</td>
<td>&nbsp;</td>
<td>dword</td>
<td>&nbsp;</td>
<td>SNAC request-id</td>
</tr>
</table>
</td></tr>
<tr><td bgcolor=#E9E9E9>
<!-- TLV 0x01 -->
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0>  <tr><td  bgcolor=#f9f9f9 >
  <table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=147>&nbsp;00 01</td>
  <td width=5>&nbsp;</td>
  <td>word</td>
  <td width=5>&nbsp;</td>
  <td width=60%>TLV.Type(0x01) - max buddylist size</td>
  </tr>
  <tr>
  <td>&nbsp;xx xx</td>
  <td>&nbsp;</td>
  <td>word</td>
  <td>&nbsp;</td>
  <td>TLV.Length</td>
  </tr>
  </table>
  </td></tr>
  <tr><td bgcolor=#f9f9f9>
  <table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=147>&nbsp;xx xx</td>
  <td width=5>&nbsp;</td>
  <td>word</td>
  <td width=5>&nbsp;</td>
  <td width=60%>Max number of contact list entries</td>
  </tr>
  </table>
  </td></tr>
  </table>
</td></tr></table>
</td><td width=5> </td>
</tr>
<tr><td height=5 colspan=3> </td></tr>
</table>
<!-- TLV 0x02 -->
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0>  <tr><td  bgcolor=#f9f9f9 >
  <table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=147>&nbsp;00 02</td>
  <td width=5>&nbsp;</td>
  <td>word</td>
  <td width=5>&nbsp;</td>
  <td width=60%>TLV.Type(0x02) - max num of watchers</td>
  </tr>
  <tr>
  <td>&nbsp;xx xx</td>
  <td>&nbsp;</td>
  <td>word</td>
  <td>&nbsp;</td>
  <td>TLV.Length</td>
  </tr>
  </table>
  </td></tr>
  <tr><td bgcolor=#f9f9f9>
  <table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=147>&nbsp;xx xx</td>
  <td width=5>&nbsp;</td>
  <td>word</td>
  <td width=5>&nbsp;</td>
  <td width=60%>Max number of watcher list entries</td>
  </tr>
  </table>
  </td></tr>
  </table>
</td></tr></table>
</td><td width=5> </td>
</tr>
<tr><td height=5 colspan=3> </td></tr>
</table>
<!-- TLV 0x03 -->
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0>  <tr><td  bgcolor=#f9f9f9 >
  <table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=147>&nbsp;00 03</td>
  <td width=5>&nbsp;</td>
  <td>word</td>
  <td width=5>&nbsp;</td>
  <td width=60%>TLV.Type(0x03) - max online notifications ?</td>
  </tr>
  <tr>
  <td>&nbsp;xx xx</td>
  <td>&nbsp;</td>
  <td>word</td>
  <td>&nbsp;</td>
  <td>TLV.Length</td>
  </tr>
  </table>
  </td></tr>
  <tr><td bgcolor=#f9f9f9>
  <table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=147>&nbsp;00 0A</td>
  <td width=5>&nbsp;</td>
  <td>word</td>
  <td width=5>&nbsp;</td>
  <td width=60%>Max online notifications ?</td>
  </tr>
  </table>
  </td></tr>
  </table>
</td></tr></table>
</td><td width=5> </td>
</tr>
<tr><td height=5 colspan=3> </td></tr>
</table>
</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 3E 04 00 1C 00 03  00 03 00 00 00 00 00 02 *.>.............
  00 02 00 02 02 EE 00 01  00 02 02 58 00 03 00 02 ...........X....
  02 00                                            ..
</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]]

Latest revision as of 04:35, 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
0x0003, 0x0003 Host BUDDY__RIGHTS_REPLY Unspecified BOS Active 1.10

This is the response the host sends to a BUDDY__RIGHTS_QUERY SNAC.

SNAC Header

Foodgroup uint16 (word) 00 03
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: BUDDY__RIGHTS_REPLY_TAGS] TLVs with rights information

TLV Class: BUDDY__RIGHTS_REPLY_TAGS

This class contains information from the server about the BUDDY foodgroup.

Name Tag Type Notes
BUDDY__TLV_TAGS_PARM_MAX_BUDDIES 0x01 uint16 (word) Number of usernames the user can have on their Buddy List
BUDDY__TLV_TAGS_PARM_MAX_WATCHERS 0x02 uint16 (word) Number of online users who can simultaneously watch this user
BUDDY__TLV_TAGS_PARM_MAX_ICQ_BROAD 0x03 uint16 (word) NOT CURRENTLY DOCUMENTED
BUDDY__TLV_TAGS_PARM_MAX_TEMP_BUDDIES 0x04 uint16 (word) Number of temporary buddies

From Aleksandr Shutko: SNAC(03,03) buddylist service parameters SNAC(03,03) BUDDY__RIGHTS_REPLY


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

 00 03   word   SNAC family
 00 03   word   SNAC subtype
 xx xx   word   SNAC flags
 xx xx xx xx   dword   SNAC request-id
 00 01   word   TLV.Type(0x01) - max buddylist size
 xx xx   word   TLV.Length
 xx xx   word   Max number of contact list entries
 00 02   word   TLV.Type(0x02) - max num of watchers
 xx xx   word   TLV.Length
 xx xx   word   Max number of watcher list entries
 00 03   word   TLV.Type(0x03) - max online notifications ?
 xx xx   word   TLV.Length
 00 0A   word   Max online notifications ?


Example SNAC dump with flap header:


  2A 02 3E 04 00 1C 00 03  00 03 00 00 00 00 00 02 *.>.............
  00 02 00 02 02 EE 00 01  00 02 02 58 00 03 00 02 ...........X....
  02 00                                            ..



BUDDY SNACs

SNAC List
Subgroup Origin Name
0x0001 Any BUDDY__ERR
This is the error SNAC for the BUDDY foodgroup.
0x0002 Client BUDDY__RIGHTS_QUERY
This SNAC is optionally sent by the client to discover the client's and user's rights.
0x0003 Host BUDDY__RIGHTS_REPLY
This is the response the host sends to a BUDDY__RIGHTS_QUERY SNAC.
0x0004 Client BUDDY__ADD_BUDDIES
Add buddy or buddies to Buddy List.
0x0005 Client BUDDY__DEL_BUDDIES
Remove buddy or buddies from Buddy List.
0x0006 Client BUDDY__WATCHER_LIST_QUERY
Query for other users who have current user listed.
0x0007 Host BUDDY__WATCHER_LIST_RESPONSE
Response to BUDDY__WATCHER_LIST_QUERY.
0x0008 Client BUDDY__WATCHER_SUB_REQUEST
Watcher sub request.
0x0009 Host BUDDY__WATCHER_NOTIFICATION
Watcher sub notification.
0x000A Host BUDDY__REJECT_NOTIFICATION
This is sent in the event that one or more of the users specified in the user's Buddy List are overloaded with watchers.
0x000B Host BUDDY__ARRIVED
This notification, potentially batched, indicates that one or more users on the client's Buddy List has signed on or updated their information.
0x000C Host BUDDY__DEPARTED
This potentially batched notification indicates that one or more users on the client's Buddy List has signed off.
0x000F Client BUDDY__ADD_TEMP_BUDDIES
This SNAC adds one or more users to the client's temporary Buddy List.
0x0010 Client BUDDY__DEL_TEMP_BUDDIES
This SNAC deletes one or more users from the client's temporary Buddy List.