Protocols/OSCAR/SNAC/OSERVICE SERVICE RESPONSE: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(8 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
{{Protocols/OSCAR/SNAC/Stats | {{Protocols/OSCAR/SNAC/Stats | ||
|origin={{Protocols/OSCAR/SNAC/OSERVICE__SERVICE_RESPONSE/Origin}} | |origin={{Protocols/OSCAR/SNAC/OSERVICE__SERVICE_RESPONSE/Origin}} | ||
|id=0x0001, 0x0005 | |||
|name=OSERVICE__SERVICE_RESPONSE | |name=OSERVICE__SERVICE_RESPONSE | ||
| | |foodgroup=OSERVICE | ||
|service= | |service=[[Protocols/OSCAR/Services/BOS|BOS]] | ||
|status={{Protocols/OSCAR/Foodgroups/OSERVICE/Status}} | |status={{Protocols/OSCAR/Foodgroups/OSERVICE/Status}} | ||
|version={{Protocols/OSCAR/Foodgroups/OSERVICE/Version}} }} | |version={{Protocols/OSCAR/Foodgroups/OSERVICE/Version}} }} | ||
Line 18: | Line 19: | ||
=== SNAC Data === | === SNAC Data === | ||
{| class="wikitable" | |||
! Name | |||
! Type | |||
! Notes | |||
|- | |||
| connectInfo | |||
| Rest of SNAC array of [[Protocols/OSCAR/TLV|TLV]] | |||
| ''[Class: [[Protocols/OSCAR/SNAC/OSERVICE_SERVICE_RESPONSE#TLV_Class:_OSERVICE_SERVICE_RESPONSE_TAGS|OSERVICE__SERVICE_RESPONSE_TAGS]]]'' How to connect to the new server | |||
|} | |||
=== Class: OSERVICE__SERVICE_RESPONSE_SSL_STATE === | === Class: OSERVICE__SERVICE_RESPONSE_SSL_STATE === | ||
Line 41: | Line 50: | ||
| SSL is being used and SSL resume is supported if desired | | SSL is being used and SSL resume is supported if desired | ||
|} | |} | ||
=== TLV Class: OSERVICE__SERVICE_RESPONSE_TAGS === | |||
<pre> | |||
Container Data TLV Type | |||
RAW SNAC Header | |||
TLV Service Type (word) 0x000d | |||
TLV Service Host (string) 0x000f | |||
TLV Auth Cookie? (l: 0x0100) 0x0006 | |||
</pre> | |||
This class provided information about where the client should connect for the service. | |||
{| class="wikitable" | |||
! Name | |||
! Tag | |||
! Type | |||
! Notes | |||
|- | |||
| OSERVICE__TLV_TAGS_RECONNECT_HERE | |||
| 0x05 | |||
| string | |||
| IP address followed by optional colon and port, 10.0.0.1:5190 | |||
|- | |||
| OSERVICE__TLV_TAGS_LOGIN_COOKIE | |||
| 0x06 | |||
| string | |||
| Binary opaque data | |||
|- | |||
| OSERVICE__TLV_TAGS_GROUP_ID | |||
| 0x0D | |||
| uint16 (word) | |||
| Foodgroup for which this response is for | |||
|- | |||
| OSERVICE__TLV_TAGS_SSL_CERTNAME | |||
| 0x8D | |||
| string | |||
| Certname to use for SSL validation | |||
|- | |||
| OSERVICE__TLV_TAGS_SSL_STATE | |||
| 0x8E | |||
| uint8 (byte) | |||
| ''[Class:[[Protocols/OSCAR/SNAC/OSERVICE_SERVICE_RESPONSE#Class:_OSERVICE_SERVICE_RESPONSE_SSL_STATE|OSERVICE__SERVICE_RESPONSE_SSL_STATE]]]'' SSL state | |||
|} | |||
=== From Aleksandr Shutko: SNAC(01,05) service redirect === | |||
<table width=640 bgcolor=darkblue cellSpacing=0 cellPadding=0 border=0><tr><td> | |||
<table width=100% cellSpacing=2 cellPadding=0 border=0><tr><td bgcolor=#4040FF> | |||
<table width=100% cellSpacing=0 cellPadding=0 border=0> | |||
<tr> | |||
<td><b><font color="white">SNAC(01,05) </font></b></td> | |||
<td width=70% align=right><b><font color="white">OSERVICE__SERVICE_RESPONSE </font></b></td> | |||
</tr> | |||
</table> | |||
</td></tr> | |||
</table> | |||
</td></tr></table> | |||
<table width=640 cellSpacing=0 cellPadding=0 border=0> | |||
<tr> | |||
<td> | |||
<br> | |||
Server replies with this SNAC to [[Protocols/OSCAR/SNAC_01_04|SNAC(01,04)]] - client | |||
service request. After receiving this snac client should connect to specified | |||
server to use requested service. | |||
<br><br> | |||
<table width=640 bgcolor=darkblue cellSpacing=0 cellPadding=0 border=0><tr><td> | |||
<table width=100% cellSpacing=2 cellPadding=0 border=0><tr><td bgcolor=#E9E9E9 > | |||
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0> | |||
<tr> | |||
<td width=169> 00 01</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>SNAC family</td> | |||
</tr> | |||
<tr> | |||
<td> 00 05</td> | |||
<td> </td> | |||
<td>word</td> | |||
<td> </td> | |||
<td>SNAC subtype</td> | |||
</tr> | |||
<tr> | |||
<td> 00 00</td> | |||
<td> </td> | |||
<td>word</td> | |||
<td> </td> | |||
<td>SNAC flags</td> | |||
</tr> | |||
<tr> | |||
<td> xx xx xx xx</td> | |||
<td> </td> | |||
<td>dword</td> | |||
<td> </td> | |||
<td>SNAC request-id</td> | |||
</tr> | |||
</table> | |||
</td></tr> | |||
<tr><td bgcolor=#E9E9E9> | |||
<!-- TLV 0x0D --> | |||
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0> | |||
<tr><td height=8 colspan=3></td></tr> | |||
<tr><td width=20> </td> | |||
<td> | |||
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td> | |||
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0> <tr><td bgcolor=#f9f9f9 > | |||
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0> | |||
<tr> | |||
<td width=147> 00 0D</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>TLV.Type(0x0D) - service (family) id</td> | |||
</tr> | |||
<tr> | |||
<td> xx xx</td> | |||
<td> </td> | |||
<td>word</td> | |||
<td> </td> | |||
<td>TLV.Length</td> | |||
</tr> | |||
</table> | |||
</td></tr> | |||
<tr><td bgcolor=#f9f9f9> | |||
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0> | |||
<tr> | |||
<td width=147> xx xx</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>Service (family) id</td> | |||
</tr> | |||
</table> | |||
</td></tr> | |||
</table> | |||
</td></tr></table> | |||
</td><td width=5> </td> | |||
</tr> | |||
<tr><td height=5 colspan=3> </td></tr> | |||
</table> | |||
<!-- TLV 0x05 --> | |||
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0> | |||
<tr><td height=8 colspan=3></td></tr> | |||
<tr><td width=20> </td> | |||
<td> | |||
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td> | |||
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0> <tr><td bgcolor=#f9f9f9 > | |||
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0> | |||
<tr> | |||
<td width=147> 00 05</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>TLV.Type(0x05) - server address</td> | |||
</tr> | |||
<tr> | |||
<td> xx xx</td> | |||
<td> </td> | |||
<td>word</td> | |||
<td> </td> | |||
<td>TLV.Length</td> | |||
</tr> | |||
</table> | |||
</td></tr> | |||
<tr><td bgcolor=#f9f9f9> | |||
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0> | |||
<tr> | |||
<td width=147> xx ..</td> | |||
<td width=5> </td> | |||
<td>string</td> | |||
<td width=5> </td> | |||
<td width=60%>Server address and (optional) port</td> | |||
</tr> | |||
</table> | |||
</td></tr> | |||
</table> | |||
</td></tr></table> | |||
</td><td width=5> </td> | |||
</tr> | |||
<tr><td height=5 colspan=3> </td></tr> | |||
</table> | |||
<!-- TLV 0x06 --> | |||
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0> | |||
<tr><td height=8 colspan=3></td></tr> | |||
<tr><td width=20> </td> | |||
<td> | |||
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td> | |||
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0> <tr><td bgcolor=#f9f9f9 > | |||
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0> | |||
<tr> | |||
<td width=147> 00 06</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=60%>TLV.Type(0x06) - authorization cookie</td> | |||
</tr> | |||
<tr> | |||
<td> xx xx</td> | |||
<td> </td> | |||
<td>word</td> | |||
<td> </td> | |||
<td>TLV.Length</td> | |||
</tr> | |||
</table> | |||
</td></tr> | |||
<tr><td bgcolor=#f9f9f9> | |||
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0> | |||
<tr> | |||
<td width=147> xx ..</td> | |||
<td width=5> </td> | |||
<td>string</td> | |||
<td width=5> </td> | |||
<td width=60%>Authorization cookie</td> | |||
</tr> | |||
</table> | |||
</td></tr> | |||
</table> | |||
</td></tr></table> | |||
</td><td width=5> </td> | |||
</tr> | |||
<tr><td height=5 colspan=3> </td></tr> | |||
</table> | |||
<!-- TLV 0x?? --> | |||
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0> | |||
<tr><td height=8 colspan=3></td></tr> | |||
<tr><td width=20> </td> | |||
<td> | |||
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td> | |||
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0> | |||
<tr><td bgcolor=#f9f9f9 > | |||
<table width=610 cellSpacing=0 cellPadding=0 align=center border=0> | |||
<tr><td> May contain other tlv from the [[Protocols/OSCAR/TLV#Common_TLVs|following list]]</td></tr> | |||
</table> | |||
</td></tr> | |||
</table> | |||
</td></tr></table> | |||
</td><td width=5> </td> | |||
</tr> | |||
<tr><td height=5 colspan=3> </td></tr> | |||
</table> | |||
</td></tr></table> | |||
</td></tr></table> | |||
</td></tr></table> | |||
<br>Example SNAC dump with flap header: | |||
<table width=640 bgcolor=darkblue cellSpacing=0 cellPadding=0 border=0><tr><td> | |||
<table width=100% cellSpacing=2 cellPadding=0 border=0><tr> | |||
<td bgcolor=#E9E9E9> | |||
<font size=3><pre style="font-size: 13px"> | |||
2A 02 E5 66 00 36 00 01 00 05 00 00 8E CD B1 97 *..f.:.......... | |||
00 0D 00 02 00 0D 00 05 00 0F 31 30 2E 31 30 2E ..........10.10. | |||
31 30 2E 38 3A 35 31 39 30 00 06 00 0F 31 32 33 10.8:5190....123 | |||
34 35 36 37 38 39 41 42 43 44 45 46 456789ABCDEF | |||
</pre></font> | |||
</td></tr></table> | |||
</td></tr></table> | |||
[[Category:With_Contrib]] | |||
=== OSERVICE SNACs === | === OSERVICE SNACs === |
Latest revision as of 06:24, 13 February 2021
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) |
ID | Origin | Name | Foodgroup | Service | Status | Version |
---|---|---|---|---|---|---|
0x0001, 0x0005 | Host | OSERVICE__SERVICE_RESPONSE | OSERVICE | BOS | Active | 4.0 |
This SNAC contains information about connecting to the new server. It is the response from the server to a service request.
SNAC Header
Foodgroup | uint16 (word) | 00 01 |
Subgroup | uint16 (word) | 00 05 |
Flags | uint16 (word) | 00 00 |
Request ID | uint32 (dword) | 00 00 00 00 |
SNAC Data
Name | Type | Notes |
---|---|---|
connectInfo | Rest of SNAC array of TLV | [Class: OSERVICE__SERVICE_RESPONSE_TAGS] How to connect to the new server |
Class: OSERVICE__SERVICE_RESPONSE_SSL_STATE
This describes what type of SSL connection the client and backend have.
Name | Value | Notes |
---|---|---|
OSERVICE__SERVICE_RESPONSE_SSL_STATE_NOT_USED | 0x00 | SSL is not supported or not requested for this connection |
OSERVICE__SERVICE_RESPONSE_SSL_STATE_USE | 0x01 | SSL is being used |
OSERVICE__SERVICE_RESPONSE_SSL_STATE_RESUME | 0x02 | SSL is being used and SSL resume is supported if desired |
TLV Class: OSERVICE__SERVICE_RESPONSE_TAGS
Container Data TLV Type RAW SNAC Header TLV Service Type (word) 0x000d TLV Service Host (string) 0x000f TLV Auth Cookie? (l: 0x0100) 0x0006
This class provided information about where the client should connect for the service.
Name | Tag | Type | Notes |
---|---|---|---|
OSERVICE__TLV_TAGS_RECONNECT_HERE | 0x05 | string | IP address followed by optional colon and port, 10.0.0.1:5190 |
OSERVICE__TLV_TAGS_LOGIN_COOKIE | 0x06 | string | Binary opaque data |
OSERVICE__TLV_TAGS_GROUP_ID | 0x0D | uint16 (word) | Foodgroup for which this response is for |
OSERVICE__TLV_TAGS_SSL_CERTNAME | 0x8D | string | Certname to use for SSL validation |
OSERVICE__TLV_TAGS_SSL_STATE | 0x8E | uint8 (byte) | [Class:OSERVICE__SERVICE_RESPONSE_SSL_STATE] SSL state |
From Aleksandr Shutko: SNAC(01,05) service redirect
|
|
Example SNAC dump with flap header:
|
OSERVICE SNACs
|