Protocols/OSCAR/Foodgroups/OSERVICE/Datatypes/USERINFO: Difference between revisions
No edit summary |
|||
Line 5: | Line 5: | ||
== Usages == | == Usages == | ||
=== TLV Class: OSERVICE__USER_INFO_TAGS === | |||
These tags contain information about users and their server state. | |||
{| class="wikitable" | |||
! Name | |||
! Tag | |||
! Type | |||
! Notes | |||
|- | |||
| OSERVICE__USER_INFO_USER_FLAGS | |||
| 0x01 | |||
| uint16 (word) | |||
| ''[Class:[Protocols/OSCAR/Foodgroups/OSERVICE/Datatypes/USERINFO#Class:_OSERVICE_USER_FLAGS OSERVICE__USER_FLAGS]]'' Flags that represent the user's state | |||
|- | |||
| OSERVICE__USER_INFO_CREATE_TOD | |||
| 0x02 | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_SIGNON_TOD | |||
| 0x03 | |||
| t70 | |||
| Signon time | |||
|- | |||
| OSERVICE__USER_INFO_IDLE_TIME | |||
| 0x04 | |||
| uint16 (word) | |||
| Idle time in minutes | |||
|- | |||
| OSERVICE__USER_INFO_MEMBER_SINCE | |||
| 0x05 | |||
| t70 | |||
| Approximation of NINA membership | |||
|- | |||
| OSERVICE__USER_INFO_STATUS | |||
| 0x06 | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_CLIENTTYPE | |||
| 0x08 | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_REALIPADDRESS | |||
| 0x0A | |||
| uint32 (dword) | |||
| Network byte order IPv4 address | |||
|- | |||
| OSERVICE__USER_INFO_REALIPV6ADDRESS | |||
| 0x6A | |||
| string | |||
| String of IPv6 address | |||
|- | |||
| OSERVICE__USER_INFO_ICQINFO | |||
| 0x0C | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_OSCAR_CAPS | |||
| 0x0D | |||
| | |||
Array of [Protocols/OSCAR/UUIDs UUID] | |||
| Client capabilities - if not present use the previous values received; if present but empty, clear previous values | |||
|- | |||
| OSERVICE__USER_INFO_AOL_CAPS | |||
| 0x0E | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_OSCAR_OT | |||
| 0x0F | |||
| uint32 (dword) | |||
| Online time in seconds | |||
|- | |||
| OSERVICE__USER_INFO_AOL_OT | |||
| 0x10 | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_ICQ_BROAD_BLOB | |||
| 0x11 | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_ICQ_BROAD_TYPE | |||
| 0x12 | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_INSTANCES | |||
| 0x13 | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_MY_INSTANCE_NUM | |||
| 0x14 | |||
| uint8 (byte) | |||
| Set in first user info. Identifies the instance number of this client | |||
|- | |||
| OSERVICE__USER_INFO_MY_PARENTAL_CONTROLS | |||
| 0x15 | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_MY_ZIP | |||
| 0x16 | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_MY_BOT_INFO | |||
| 0x17 | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_ALIAS | |||
| 0x18 | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_SHORT_OSCAR_CAPS | |||
| 0x19 | |||
| Array of uint16 (word) | |||
| Short form of capabilities | |||
|- | |||
| OSERVICE__USER_INFO_SHORT_AOL_CAPS | |||
| 0x1A | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_ENCRYPTION_CERT_MD5 | |||
| 0x1B | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_BART_INFO | |||
| 0x1D | |||
| | |||
Array of [Protocols/OSCAR/Foodgroups/BART#Datatype:_BART_ID BART__ID] | |||
| Expressions | |||
|- | |||
| OSERVICE__USER_INFO_MY_SUBSCRIPTIONS | |||
| 0x1E | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_USER_FLAGS2 | |||
| 0x1F | |||
| Array of uint8 (byte) | |||
| ''[Class:[Protocols/OSCAR/Foodgroups/OSERVICE/Datatypes/USERINFO#Class:_OSERVICE_USER_FLAGS OSERVICE__USER_FLAGS]]'' Upper bytes of user flags, can be any size. userFlags = USER_FLAG | (USER_FLAGS2 << 16) | |||
|- | |||
| OSERVICE__USER_INFO_UNKNOWN_22 | |||
| 0x22 | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_BUDDY_FEED_TIME | |||
| 0x23 | |||
| t70 | |||
| Last Buddy Feed update time | |||
|- | |||
| OSERVICE__USER_INFO_SIG_TIME | |||
| 0x26 | |||
| t70 | |||
| Time that the profile was set | |||
|- | |||
| OSERVICE__USER_INFO_AWAY_TIME | |||
| 0x27 | |||
| t70 | |||
| Time that away was set | |||
|- | |||
| OSERVICE__USER_INFO_PRIMARY_INSTANCE | |||
| 0x28 | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_UNKNOWN_29_TIME | |||
| 0x29 | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_GEO_COUNTRY | |||
| 0x2A | |||
| string | |||
| Two character country code. Sent from host to client if country is known | |||
|- | |||
| OSERVICE__USER_INFO_BUDDY_UPDATE_INDC_URL | |||
| 0x2B | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_UNKNOWN_2C | |||
| 0x2C | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_UNKNOWN_2D | |||
| 0x2D | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|- | |||
| OSERVICE__USER_INFO_UNKNOWN_2F | |||
| 0x2F | |||
| ? | |||
| NOT CURRENTLY DOCUMENTED | |||
|} | |||
=== Class: OSERVICE__USER_FLAGS === | === Class: OSERVICE__USER_FLAGS === |
Revision as of 07:45, 22 March 2020
OSCAR Protocol |
Introduction • Terms • Clients |
Basic |
Datatypes • FLAP • SNAC • TLV |
UUIDs • Errors • Tool IDs |
Host Interaction |
Rate Limits • Migration • Messages |
Other Services |
ADMIN • ADVERT • ALERT |
BART • BOS • BUCP • CHAT |
CHAT_NAV |
Tutorials |
Sign On • BART • Rendezvous |
ICBM • Locate • Buddies |
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) |
Due to the common nature and detailed information for the USERINFO datatype, it was separated here. It largely is in use within the OSERVICE foodgroup.
Usages
TLV Class: OSERVICE__USER_INFO_TAGS
These tags contain information about users and their server state.
Name | Tag | Type | Notes |
---|---|---|---|
OSERVICE__USER_INFO_USER_FLAGS | 0x01 | uint16 (word) | [Class:[Protocols/OSCAR/Foodgroups/OSERVICE/Datatypes/USERINFO#Class:_OSERVICE_USER_FLAGS OSERVICE__USER_FLAGS]] Flags that represent the user's state |
OSERVICE__USER_INFO_CREATE_TOD | 0x02 | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_SIGNON_TOD | 0x03 | t70 | Signon time |
OSERVICE__USER_INFO_IDLE_TIME | 0x04 | uint16 (word) | Idle time in minutes |
OSERVICE__USER_INFO_MEMBER_SINCE | 0x05 | t70 | Approximation of NINA membership |
OSERVICE__USER_INFO_STATUS | 0x06 | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_CLIENTTYPE | 0x08 | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_REALIPADDRESS | 0x0A | uint32 (dword) | Network byte order IPv4 address |
OSERVICE__USER_INFO_REALIPV6ADDRESS | 0x6A | string | String of IPv6 address |
OSERVICE__USER_INFO_ICQINFO | 0x0C | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_OSCAR_CAPS | 0x0D |
Array of [Protocols/OSCAR/UUIDs UUID] |
Client capabilities - if not present use the previous values received; if present but empty, clear previous values |
OSERVICE__USER_INFO_AOL_CAPS | 0x0E | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_OSCAR_OT | 0x0F | uint32 (dword) | Online time in seconds |
OSERVICE__USER_INFO_AOL_OT | 0x10 | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_ICQ_BROAD_BLOB | 0x11 | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_ICQ_BROAD_TYPE | 0x12 | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_INSTANCES | 0x13 | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_MY_INSTANCE_NUM | 0x14 | uint8 (byte) | Set in first user info. Identifies the instance number of this client |
OSERVICE__USER_INFO_MY_PARENTAL_CONTROLS | 0x15 | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_MY_ZIP | 0x16 | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_MY_BOT_INFO | 0x17 | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_ALIAS | 0x18 | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_SHORT_OSCAR_CAPS | 0x19 | Array of uint16 (word) | Short form of capabilities |
OSERVICE__USER_INFO_SHORT_AOL_CAPS | 0x1A | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_ENCRYPTION_CERT_MD5 | 0x1B | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_BART_INFO | 0x1D |
Array of [Protocols/OSCAR/Foodgroups/BART#Datatype:_BART_ID BART__ID] |
Expressions |
OSERVICE__USER_INFO_MY_SUBSCRIPTIONS | 0x1E | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_USER_FLAGS2 | 0x1F | Array of uint8 (byte) | (USER_FLAGS2 << 16) |
OSERVICE__USER_INFO_UNKNOWN_22 | 0x22 | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_BUDDY_FEED_TIME | 0x23 | t70 | Last Buddy Feed update time |
OSERVICE__USER_INFO_SIG_TIME | 0x26 | t70 | Time that the profile was set |
OSERVICE__USER_INFO_AWAY_TIME | 0x27 | t70 | Time that away was set |
OSERVICE__USER_INFO_PRIMARY_INSTANCE | 0x28 | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_UNKNOWN_29_TIME | 0x29 | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_GEO_COUNTRY | 0x2A | string | Two character country code. Sent from host to client if country is known |
OSERVICE__USER_INFO_BUDDY_UPDATE_INDC_URL | 0x2B | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_UNKNOWN_2C | 0x2C | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_UNKNOWN_2D | 0x2D | ? | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_INFO_UNKNOWN_2F | 0x2F | ? | NOT CURRENTLY DOCUMENTED |
Class: OSERVICE__USER_FLAGS
Bits specifying a user's characteristics; For compatibility reasons the lower 2 bytes of USER_FLAGS are sent in the USER_FLAGS tag, while the upper bytes are sent in the USER_FLAGS2 tag.
To form the full user flags the client needs to combine USER_FLAGS and USER_FLAGS2 shifted to the left 2 bytes. USER_FLAGS is always a uint16 (word), which USER_FLAGS2 can be any size. Another way to express the math: userFlags = USER_FLAG | (USER_FLAGS2 << 0x10)
Name | Value | Notes |
---|---|---|
OSERVICE__USER_FLAG_DAMNED_TRANSIENT | 0x0001 | Unconfirmed account |
OSERVICE__USER_FLAG_ADMINISTRATOR | 0x0002 | NINA Administrator |
OSERVICE__USER_FLAG_AOL | 0x0004 | User is on an AOL client |
OSERVICE__USER_FLAG_OSCAR_PAY | 0x0008 | NINA commercial account |
OSERVICE__USER_FLAG_OSCAR_FREE | 0x0010 | NINA free account, typically AIM |
OSERVICE__USER_FLAG_UNAVAILABLE | 0x0020 | User is away |
OSERVICE__USER_FLAG_ICQ | 0x0040 | ICQ user; AIM bit will also be set |
OSERVICE__USER_FLAG_WIRELESS | 0x0080 | On a mobile device |
OSERVICE__USER_FLAG_INTERNAL | 0x0100 | Account for internal use |
OSERVICE__USER_FLAG_FISH | 0x0200 | Using IM Forwarding |
OSERVICE__USER_FLAG_BOT | 0x0400 | Bot user |
OSERVICE__USER_FLAG_BEAST | 0x0800 | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_FLAG_ONE_WAY_WIRELESS | 0x1000 | One way wireless device |
OSERVICE__USER_FLAG_OFFICIAL | 0x2000 | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_FLAG_BUDDY_MATCH_DIRECT | 0x10000 | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_FLAG_BUDDY_MATCH_INDIRECT | 0x20000 | NOT CURRENTLY DOCUMENTED |
OSERVICE__USER_FLAG_NO_KNOCK_KNOCK | 0x00040000 | Do not display the "not on your Buddy List" knock-knock as the server took care of it or the sender is trusted |
FORWARD_MOBILE | 0x00080000 | If no active instances forward to mobile |