From: Matthew S. <mat...@ze...> - 2003-09-28 22:04:16
|
I'm the lead developer of Net::OSCAR, a perl implementation of the OSCAR protocol. One of the design goals of Net::OSCAR is to allow the development of stateless clients; that is, clients which maintain no local user state. In order to fulfill this goal, I'm storing some extra information in the buddylist. I'm documenting this so that at other implementations doesn't accidentally clobber it, or implement its own conflicting extensions. Of course, other developers are certainly welcome to implement my extensions. Net::OSCAR stores the following data in the SSI (buddylist) type 4 (visibility) TLV chain: 0x100: text of the user's profile 0x101: checksum of the user's buddy icon 0x102: timestamp of the user's buddy icon We've been storing the profile for a long time now, but I'm only just now adding buddy icon support, so if anyone has any technical objections to that bit of it, now's a good time to voice them. Thanks. |
From: Matthew S. <mat...@ze...> - 2003-09-28 22:18:33
|
On Sun, Sep 28, 2003 at 06:00:44PM -0400, Matthew Sachs wrote: > Net::OSCAR stores the following data in the SSI (buddylist) type 4 > (visibility) TLV chain: > 0x100: text of the user's profile > 0x101: checksum of the user's buddy icon > 0x102: timestamp of the user's buddy icon And the length of the user's buddy icon in 0x103. |
From: Mark D. <ma...@ki...> - 2003-09-28 23:01:44
|
Matthew, Isn't the checksum of the user's buddy icon stored in TLV 0x00d5 of SSI type 0x0014? I'm guessing you're using family 0x0010 to store the icon on the server? I would think you could just request the icon from the server and get the length of the user's buddy icon (and the icon itself) that way. I'm not sure about the timestamp. It seems to me that, if you need it for anything (do you? I don't remember) then it would be stored either in SSI type 0x0014 or along with the icon. Please correct me if I'm wrong... Thanks, Mark On Sun, 28 Sep 2003 18:15:19 -0400, Matthew Sachs wrote > On Sun, Sep 28, 2003 at 06:00:44PM -0400, Matthew Sachs wrote: > > Net::OSCAR stores the following data in the SSI (buddylist) type 4 > > (visibility) TLV chain: > > 0x100: text of the user's profile > > 0x101: checksum of the user's buddy icon > > 0x102: timestamp of the user's buddy icon > > And the length of the user's buddy icon in 0x103. -- O O Mark Doliner \ | ma...@ki... \ | www.kingant.net "There needs to be a better word for weird." |
From: Matthew S. <mat...@ze...> - 2003-09-28 23:41:54
|
On Sun, Sep 28, 2003 at 06:00:16PM -0500, Mark Doliner wrote: > Matthew, > Isn't the checksum of the user's buddy icon stored in TLV 0x00d5 of SSI type > 0x0014? I'm guessing you're using family 0x0010 to store the icon on the > server? I would think you could just request the icon from the server and get > the length of the user's buddy icon (and the icon itself) that way. There seems to be two different checksums used for buddy icons, and I'm a bit confused as to which is used where. There's the MD5 checksum, which is what's stored in the 0x14/0xD5, and then there's the "aimutil_iconsum" checksum, which is what goes in the 0x8 TLV of IMs. I could request the icon from the server at every signon, sure, but that's a lot of overhead. > I'm not sure about the timestamp. It seems to me that, if you need it for > anything (do you? I don't remember) then it would be stored either in SSI type > 0x0014 or along with the icon. It goes in the 0x8 TLV of IMs. |