Protocols/OSCAR/SNAC/ICQ DB QUERY/REQ INFORMATION/XML REQ DATA

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
0x0015, 0x0002 Client ICQ__DB_QUERY ICQ BOS Active 1.2


From Aleksandr Shutko: SNAC(15,02)/07D0/0898 CLI_REQ_XML_INFO


Official clients use this to retrieve various information from server (like ads URL). Server should respond with SNAC(15,03)/07DA/08A2.

 00 15   word   SNAC family
 00 02   word   SNAC subtype
 00 00   word   SNAC flags
 xx xx xx xx   dword   SNAC request-id
 00 01   word   TLV.Type(1) - encapsulated META_DATA
 xx xx   word   TLV.Length
 xx xx   word (LE)   data chunk size (TLV.Length-2)
 xx xx xx xx   dword (LE)   request owner uin
 D0 07   word (LE)   data type: META_DATA_REQ
 02 00   word (LE)   request sequence number
 98 08   word (LE)   data subtype: META_REQ_XML_INFO
 xx xx   word (LE)   xml request string length
 xx .. xx 00   asciiz   xml request string


Example SNAC dump with flap header:


  2A 02 22 A6 00 32 00 15 00 02 00 00 00 03 00 02 *."..2..........
  00 01 00 24 22 00 8F E4 5E 00 D0 07 04 00 98 08 ...$"...^.......
  16 00 3C 6B 65 79 3E 42 61 6E 6E 65 72 73 55 52 ..<key>BannersUR
  4C 3C 2F 6B 65 79 3E 00                         L</key>.


Request/response examples:

  


<key>BannersURL</key>
<value>http://205.188.250.25/cb/%d/datafiles/banners.cb?%s</value>

<key>DataFilesURL</key>
<value>http://205.188.250.25/cb/%d/datafiles/%s.cb</value>

<key>PartnersURL</key>
<value>http://205.188.250.25/cb/%d/datafiles/%s.cb</value>

<key>ReadersURL</key>
<value>http://205.188.250.25/cb/%d/datafiles/%s.cb</value>

<key>CLBannersURL</key>
not found (0x14)

<key>DomainsURL</key>
not found (0x14)

<key>LicenseKeysURL</key>
not found (0x14)

<key>ShowMOTDOnFirstTime</key>
<value>2</value>

<key>SMSLongSigTail</key>
not found (0x14)

<key>ReportToICQ</key>
client send this only with my server (iserverd) wtf ?

%d replaced with version number (icq2002a ver 5.34 - 534)
%s replaced with random number (%s examples: 01971 05835)

note: icq2000a/b ignores server replies. icq2001/2002 use this to update its data files from specified in reply http server and after that it says (popup dialog): "datafiles and ldap lists updated from server".