Protocols/OSCAR/Foodgroups/ICQ/Search Sequence

From NINA Wiki
Revision as of 10:39, 14 February 2021 by AD (talk | contribs) (Created page with "{{Protocols/OSCAR}} === From Aleksandr Shutko: ICQ Search sequences in OSCAR protocol === <table width=640 bgcolor=darkblue cellSpacing=0 cellPadding=0 border=0><tr><td> <ta...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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)


From Aleksandr Shutko: ICQ Search sequences in OSCAR protocol

 OSCAR sequences   



  ICQ search sequences description
 

     ICQ clients use family 0x15 for search. This family was added by AOL programmers for compatibility with old ICQ server database engine. There is many search types: uin search, details (nick, firstname, lastname, email) search, whitepages search. Currently there is two search formats supported: old-style plain format and new tlv-based format. Both plain and tlv formats support wildcards in search fields, but plain version has separate requests for this future.

     After request were sent server should reply via SNAC(15,03)/07DA/01A4, ..... , SNAC(15,03)/07DA/01A4, SNAC(15,03)/07DA/01AE sequence. It also can send only SNAC(15,03)/07DA/01AE packet when one user found. When search return no users server sends empty SNAC(15,03)/07DA/01AE with result flag != 0x0A


 Typical search sequence
  >>   SNAC(15,02)/07D0/05xx   Client sends search request
  <<   SNAC(15,03)/07DA/01A4   Server sends found user #1 info
  <<   ...   ...
  <<   SNAC(15,03)/07DA/01A4   Server sends found user #N-1 info
  <<   SNAC(15,03)/07DA/01AE   Server sends last user #N found info





  ICQ search plain requests
 

     These requests named "plain" because they contain plain search strings and numbers. This information is not structured and these fields placed in strict defined order. If string is empty or number=0 it is doesn't used in search.


 Search requests (plain)
  SNAC(15,02)/07D0/051F   Search by uin plain request
  SNAC(15,02)/07D0/0515   Search by details plain request
  SNAC(15,02)/07D0/053D   Search by details plain wildcard request
  SNAC(15,02)/07D0/0529   Search by email plain request
  SNAC(15,02)/07D0/0547   Search by email plain wildcard request
  SNAC(15,02)/07D0/0533   Whitepages search plain request
  SNAC(15,02)/07D0/0551   Whitepages search plain wildcard request




  ICQ search tlv-based requests
 

     These requests information placed in TLV chains. So it is structured. Client should put only needed fields to these requests. This set doesn't contain search by details request because it was replaced by white pages search.


 Search requests (tlv-based)
  SNAC(15,02)/07D0/0569   Search by uin tlv-based request
  SNAC(15,02)/07D0/0573   Search by email tlv-based request
  SNAC(15,02)/07D0/055F   Whitepages search tlv-based request