KingAnt.net This space left blank intentionally. 
Oscar Protocol Documentation | Random Pidgin Files

Oscar Protocol Specification: Family 0x0013, Subtype 0x0006

This SNAC is sent by the server after you send a request list packet (family 0x0013, subtype 0x0005). It contains the buddy list saved on the server, as well as some other data which is stored with the buddy list. This packet is made up of many different "items". An item could be a group, a buddy, a permit list, a deny list, the permit/deny setting, or other information. The AIM servers send you the list in numerical order by groups ID numbers and then by buddy ID numbers.

Another important thing to note is that if the list is long, it will be split into multiple 0x0006 SNACs. The timestamp will be 0 on all but the last list. Lists that don't contain the timestamp will have 0x0001 in the SNAC flags. I'm still unsure about this paragraph.

Thanks to Matthew Sachs for a lot of good insight into this.

Source: Server

LengthDescription
2 bytesFamily (0x0013)
2 bytesSubtype (0x0006)
2 bytesFlags
4 bytesSnac Request ID
1 byteVersion number of the SSI protocol (always 0x00, as of the time of this writing)
2 bytesNumber of items in this chunk of SSI
A series of items
4 bytesTimestamp of when the list was last changed.


Example:
Names have been changed to strings of a certain letter to protect the innocent, colors have been added to make it easier to comprehend. Strings are in bold so they stand out more. Length values are in red. A blue # sign has been placed between each "item."
0000  00 20 78 03 89 c2 00 02  4b ac 13 70 08 00 45 00   . x.... K.p..E.     | The striked through text is
0010  01 d3 31 52 40 00 2b 06  af 26 40 0c 1c 8a 41 a5   .1R@.+. &@...A     | ethernet IP, and TCP information.
0020  cf 71 14 46 81 54 54 e1  8e ee d6 5b 70 92 50 18   q.F.TT .[p.P.     | So basically, ignore it.
0030  40 00 29 31 00 00 2a 02  dd 0a 01 a5 00 13 00 06   @.)1..*. ......     | Family and subtype are in violet.
0040  00 00 00 00 00 0d 00 00  14#00 00 00 00 00 00 00   ........ ........     | Number of items is in green.
0050  01 00 0a 00 c8 00 06 00  03 00 05 08 a5#00 00 00   ....... .......
0060  00 00 02 00 04 00 0d 00  ca 00 01 03 00 cb 00 04   ........ ......
0070  ff ff ff ff#00 0d 73 70  61 6d 6d 65 72 0a 6c 75   ..sp ammer.lu     | spammer and luser are on the deny list
0080  73 65 72 00 00 12 cd 00  03 00 00#00 00 00 00 73   ser.... .......s
0090  ee 00 05 00 08 00 c9 00  04 00 00 04 00#00 04 4e   ...... .......N
00a0  43 53 55 00 03 00 00 00  01 00 0e 00 c8 00 0a 00   CSU..... .......
00b0  19 00 1a 00 1b 00 0f 5d  67#00 0b 61 61 61 61 61   .......] g..aaaaa
00c0  61 61 61 61 61 61 00 03  00 0f 00 00 00 00#00 05   aaaaaa.. ........
00d0  62 62 62 62 62 00 03 00  19 00 00 00 00#00 0f 63   bbbbb... .......c
00e0  63 63 63 63 63 63 63 63  63 63 63 63 63 63 00 03   cccccccc cccccc..
00f0  00 1a 00 00 00 00#00 06  64 64 64 64 64 64 00 03   ........ dddddd..     | Look at "dddddd" as an example buddy.  The ID#
0100  00 1b 00 00 00 00#00 0a  65 65 65 65 65 65 65 65   ........ eeeeeeee     | of the group that it is in is 0x0003.  The buddy
0110  65 65 00 03 5d 67 00 00  00 00#00 09 45 6c 73 65   ee..]g.. ....Else     | ID# is 0x001b.  The flags are 0x0000, which
0120  77 68 65 72 65 00 05 00  00 00 01 00 0c 00 c8 00   where... .......     | means that this item is a buddy.
0130  08 00 1a 00 1b 00 1c 00  14#00 0a 66 66 66 66 66   ........ ...fffff
0140  66 66 66 66 66 00 05 00  14 00 00 00 00#00 06 67   fffff... .......g
0150  67 67 67 67 67 00 05 00  1a 00 00 00 00#00 08 68   ggggg... .......h
0160  68 68 68 68 68 68 68 00  05 00 1b 00 00 00 00#00   hhhhhhh. ........
0170  08 69 69 69 69 69 69 69  69 00 05 00 1c 00 00 00   .iiiiiii i.......
0180  00#00 02 4d 65 08 a5 00  00 00 01 00 0c 00 c8 00   ...Me.. .......     | Look at "Me" as an example group.  The group ID#
0190  08 55 17 55 18 55 19 55  1a#00 07 4c 42 20 44 61   .U.U.U.U ...LB Da     | is 0x08a5, see how it follows the group name, as
01a0  73 68 08 a5 55 17 00 00  00 00#00 07 4c 42 20 44   sh.U... ....LB D     | well as each buddy name.  Notice how buddies do not
01b0  61 73 69 08 a5 55 18 00  00 00 00#00 07 4c 42 20   asi.U.. .....LB      | have additional data, while the additional data for
01c0  44 61 73 4c 08 a5 55 19  00 00 00 00#00 07 4c 42   DasL.U. ......LB     | the group contains the buddy ID#s of all buddies in
01d0  20 44 61 73 6e 08 a5 55  1a 00 00 00 00#3b b7 4b    Dasn.U .....;K     | the group.
01e0  7d                                                 }                     | Last 4 bytes are the timestamp.

All material Copyright © 2000-2014, All Rights Reserved
Linux is a registered trademark of Linus Torvalds.
AIM is a registered trademark of America Online, Inc.
ICQ is a registered trademark of ICQ Inc.
All other trademarks are property of their respective owners.