ID
Origin
Name
Foodgroup
Service
Status
Version
0x0002, 0x0006
Host
LOCATE__USER_INFO_REPLY
Unspecified
BOS
Active
1.19
This is the usual response to a LOCATE__USER_INFO_QUERY2 SNAC.
Foodgroup
uint16 (word)
00 02
Subgroup
uint16 (word)
00 06
Flags
uint16 (word)
00 00
Request ID
uint32 (dword)
00 00 00 00
SNAC Data
Note that if you've requested 0x0003 instead of 0x0001 in the initial request packet, you'll get 0x0003 and 0x0004 as the return TLVs (and the users away message instead of their profile).
Container Data TLV Type
RAW FLAP Header (channel 0x02)
SNAC SNAC Header
LV Screen Name (no type)
RAW User info block *
TLV (optional) Profile Encoding 0x0001
TLV (optional) Profile 0x0002
From Aleksandr Shutko: SNAC(02,06) requested user location info SNAC(02,06) LOCATE__USER_INFO_REPLY
Server reply via this SNAC to client SNAC(02,05)
request. This snac consists of two parts. The first part constant. The second
part depends on type of the client request and may contain the client profile,
client capabilities or client away message. See also
additional information about online userinfo block.
Request type table:
0x0001
general info (reply contain TLV(1), TLV(2))
0x0002
online info (reply contain only fixed part)
0x0003
away message (reply contain TLV(3), TLV(4))
0x0004
client capabilities (reply contain TLV(5))
Here is the packet format:
00 02
word
SNAC family
00 06
word
SNAC subtype
00 00
word
SNAC flags
xx xx xx xx
dword
SNAC request-id
xx
char
uin string length
xx ..
string
uin string
xx xx
word
warning level
00 07
word
Number of TLV in fixed part (user online info)
00 01
word
TLV.Type(0x01) - user class
xx xx
word
TLV.Length
00 06
word
TLV.Type(0x06) - user status
xx xx
word
TLV.Length
00 0C
word
TLV.Type(0x0C) - dc info (optional)
00 25
word
TLV.Length
xx xx xx xx
dword
DC internal ip address
xx xx xx xx
dword
DC tcp port
xx
byte
DC type
xx xx
word
DC protocol version
xx xx xx xx
dword
DC auth cookie
xx xx xx xx
dword
Web front port
00 00 00 03
dword
Client futures
xx xx xx xx
dword
last info update time
xx xx xx xx
dword
last ext info update time (i.e. icqphone status)
xx xx xx xx
dword
last ext status update time (i.e. phonebook)
xx xx
word
unknown
00 0A
word
TLV.Type(0x0A) - external ip address
xx xx
word
TLV.Length
xx xx xx xx
dword
External client ip address
00 0F
word
TLV.Type(0x0F) - client idle time
xx xx
word
TLV.Length
xx xx xx xx
dword
Client idle time
00 03
word
TLV.Type(0x03) - signon time
xx xx
word
TLV.Length
xx xx xx xx
dword
Time when client gone online
00 05
word
TLV.Type(0x05) - member since
xx xx
word
TLV.Length
xx xx xx xx
dword
Time when this account was registered
00 01
word
TLV.Type(0x01) - encoding type
xx xx
word
TLV.Length
xx xx
word
encoding type strlen
xx ..
string
encoding type string
00 02
word
TLV.Type(0x02) - client profile string
xx xx
word
TLV.Length
xx xx
word
client profile strlen
xx ..
string
client profile string
00 03
word
TLV.Type(0x03) - away msg encoding string
xx xx
word
TLV.Length
xx xx
word
encoding type strlen
xx ..
string
encoding type string
00 04
word
TLV.Type(0x04) - away msg string
xx xx
word
TLV.Length
xx xx
word
away message strlen
xx ..
string
away message string
00 05
word
TLV.Type(0x05) - user capabilities
xx xx
word
TLV.Length
Example SNAC dumps with flap header:
No dump yet :( Do you have one ?
LOCATE SNACs
SNAC List
Expand
Subgroup
Origin
Name
0x0001
Any
LOCATE__ERR
This is the error SNAC for the LOCATE foodgroup.
0x0002
Client
LOCATE__RIGHTS_QUERY
This query is sent to the server by the client to discover what some of its rights are with respect to the PD SNAC group.
0x0003
Host
LOCATE__RIGHTS_REPLY
This is the response to the LOCATE__RIGHTS_QUERY SNAC.
0x0004
Client
LOCATE__SET_INFO
The client may set SIG, UNAVAILABLE, and CAPABILITIES type and data tags with this SNAC.
0x0005
Client
LOCATE__USER_INFO_QUERY
Request user information for profiles, capabilities, away message, and certificates.
0x0006
Host
LOCATE__USER_INFO_REPLY
This is the usual response to a LOCATE__USER_INFO_QUERY2 SNAC.
0x0007
Client
LOCATE__WATCHER_SUB_REQUEST
Watcher sub request.
0x0008
Host
LOCATE__WATCHER_NOTIFICATION
Watcher sub notification.
0x0009
Client
LOCATE__SET_DIR_INFO
Set directory info. Host will reply LOCATE__SET_DIR_REPLY.
0x000A
Host
LOCATE__SET_DIR_REPLY
Reply to LOCATE__SET_DIR_INFO.
0x000B
Client
LOCATE__GET_DIR_INFO
Get directory information for user. Host should reply with LOCATE__GET_DIR_REPLY.
0x000C
Host
LOCATE__GET_DIR_REPLY
Host reply to LOCATE__GET_DIR_INFO.
0x000D
NCD
LOCATE__GROUP_CAPABILITY_QUERY
This is not currently documented. Want to contribute ?
0x000E
NCD
LOCATE__GROUP_CAPABILITY_REPLY
This is not currently documented. Want to contribute ?
0x000F
Client
LOCATE__SET_KEYWORD_INFO
Set profile keywords and interests. Host should reply with LOCATE__SET_KEYWORD_REPLY.
0x0010
Host
LOCATE__SET_KEYWORD_REPLY
This is the host reply to LOCATE__SET_KEYWORD_REPLY.
0x0011
Client
LOCATE__GET_KEYWORD_INFO
Set profile keywords and interests. Host should reply with LOCATE__SET_KEYWORD_REPLY.
0x0012
Host
LOCATE__GET_KEYWORD_REPLY
This is the host reply to LOCATE__SET_KEYWORD_REPLY.
0x0013
Client
LOCATE__FIND_LIST_BY_EMAIL
This is a query sent to the server that looks up a list of users by their email address and returns one NickwInfo for each email account queried.
0x0014
Host
LOCATE__FIND_LIST_REPLY
This SNAC provides the results of the LOCATE__FIND_LIST_BY_EMAIL.
0x0015
Client
LOCATE__USER_INFO_QUERY2
This SNAC is sent by the client to perform the basic locate query on a user.