Protocols/OSCAR/SNAC/ICBM EVIL REQUEST: Difference between revisions
(Created page with "{{Protocols/OSCAR}} {{Protocols/OSCAR/SNAC/Stats |origin={{Protocols/OSCAR/SNAC/ICBM__EVIL_REQUEST/Origin}} |name=ICBM__EVIL_REQUEST |id=0x0004, 0x0008 |service={{Protocols/OS...") |
No edit summary |
||
(3 intermediate revisions by the same user not shown) | |||
Line 10: | Line 10: | ||
{{Protocols/OSCAR/SNAC/ICBM__EVIL_REQUEST/Description}} | {{Protocols/OSCAR/SNAC/ICBM__EVIL_REQUEST/Description}} | ||
== SNAC Header == | |||
{{Protocols/OSCAR/SNAC/Header | {{Protocols/OSCAR/SNAC/Header | ||
|foodgroup=00 04 | |foodgroup=00 04 | ||
Line 17: | Line 17: | ||
|reqid=00 00 00 00}} | |reqid=00 00 00 00}} | ||
== SNAC Data == | |||
If the request is marked as anonymous, less EVILing may be done. The result of the evil request is returned in an EVIL_REPLY (or an error). One may only EVIL another user if that user has "recently" sent the EVILing user a CHANNEL_MSG and the other user started the conversation. To implement this rule, the server keeps a short list of users who have recently sent messages to a given user. If the user to be EVILed has rolled off this list, or was never on it, the EVIL request is denied via ERROR__CODE_REQUEST_DENIED. | |||
=== ICBM SNACs | {| class="wikitable" | ||
! Name | |||
! Type | |||
! Notes | |||
|- | |||
| evilFlags | |||
| uint16 (word) | |||
| ''[Class: [[Protocols/OSCAR/SNAC/ICBM_EVIL_REQUEST#Class:_ICBM_EVIL_REQUEST_FLAGS|ICBM__EVIL_REQUEST_FLAGS]]]'' What kind of EVIL to perform | |||
|- | |||
| evil username | |||
| string08 | |||
| Who to try to EVIL | |||
|} | |||
=== Class: ICBM__EVIL_REQUEST_FLAGS === | |||
These are the flags that control how EVIL should work. | |||
{| class="wikitable" | |||
! Name | |||
! Value | |||
! Notes | |||
|- | |||
| ICBM__EVIL_REQUEST_FLAG_ANONYMOUS | |||
| 0x0001 | |||
| Do not reveal my username to the evilee. | |||
|} | |||
=== From Aleksandr Shutko: SNAC(04,08) client send warning command SNAC(04,08) ICBM__EVIL_REQUEST === | |||
<table width=640 cellSpacing=0 cellPadding=0 border=0> | |||
<tr> | |||
<td> | |||
<br> | |||
Use this to send warning to client that bother you. Currently this works only | |||
for AIM. You can send warning as anonymous or as yourself. Server should ack | |||
this command via [[Protocols/OSCAR/SNAC_04_09|SNAC(04,09)]]. See also | |||
[[Protocols/OSCAR/SNAC_04_01|SNAC(04,01)]] and | |||
[[Protocols/OSCAR/SNAC_04_05|SNAC(04,05)]] for more information.<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 04</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=55%>SNAC family</td> | |||
</tr> | |||
<tr> | |||
<td> 00 08</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> | |||
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0> | |||
<tr> | |||
<td width=169> xx xx</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=55%>"send as" flag: 1-anonymous, 0-non-anonymous</td> | |||
</tr> | |||
<tr> | |||
<td> xx</td> | |||
<td> </td> | |||
<td>byte</td> | |||
<td> </td> | |||
<td>screenname string length</td> | |||
</tr> | |||
<tr> | |||
<td> xx ..</td> | |||
<td> </td> | |||
<td>string</td> | |||
<td> </td> | |||
<td>screenname string</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 7D 6E 00 1B 00 04 00 08 00 00 00 1B 00 08 *.}n............ | |||
00 00 0E 73 77 65 65 74 67 69 72 6C 33 38 34 36 ...sweetgirl3846 | |||
32 2 | |||
</pre></font> | |||
</td></tr></table> | |||
</td></tr></table> | |||
=== From Aleksandr Shutko: Send user warning sequence === | |||
<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=100% cellSpacing=0 cellPadding=0 bgcolor="#4040FF" border=0> | |||
<tr> | |||
<td><b><font size=2 color="white"> <a name="evil_request"></a> Send user warning sequence</font></b></td> | |||
</tr> | |||
</table> | |||
</td></tr> | |||
<tr><td bgcolor=#E9E9E9> | |||
<table width=100% cellSpacing=0 cellPadding=0 border=0> | |||
<tr><td colspan=3 height=5></td></tr> | |||
<tr><td width=5> </td> | |||
<td> | |||
| |||
This sequence used to send warning to AIM user that bother you. User that have | |||
too high warning level disconnects from server and can't connect for some time. | |||
You can send normal and anonymous warning. Normal warning increase user warning | |||
level by 15%, anonymous warning increase warn level by 3%.<br><br> | |||
<table width=100% cellSpacing=0 cellPadding=0 align=center border=0> | |||
<tr><td width=20></td> | |||
<td> | |||
<table width=580 bgcolor=darkblue cellSpacing=0 cellPadding=0 border=0><tr><td> | |||
<table width=100% cellSpacing=2 cellPadding=0 border=0><tr><td bgcolor=#7070D0><b><font size=2 color=white> Send warning sequence</font></b></td></tr> | |||
<tr><td bgcolor=#E5E5E5> | |||
<table width=580 cellSpacing=1 cellPadding=1 border=0> | |||
<tr> | |||
<td bgcolor=#f9f9f9 width=35 valign=top> <b>>></b></td> | |||
<td bgcolor=#f9f9f9 width=200 valign=top> <b>[[Protocols/OSCAR/SNAC_04_08|SNAC(04,08)]]</b></td> | |||
<td bgcolor=#f9f9f9 valign=top> Client sends warning to user</td> | |||
</tr> | |||
<tr> | |||
<td bgcolor=#f9f9f9 valign=top> <b><<</b></td> | |||
<td bgcolor=#f9f9f9 valign=top> <b>[[Protocols/OSCAR/SNAC_04_09|SNAC(04,09)]]</b></td> | |||
<td bgcolor=#f9f9f9 valign=top> Server ack (new user warn level & warn level diff)</td> | |||
</tr> | |||
</table> | |||
</td></tr></table> | |||
</td></tr></table> | |||
</td></tr></table> | |||
<br> | |||
</td><td width=15> | |||
</td></tr></table> | |||
</td></tr></table> | |||
</td></tr></table> | |||
== ICBM SNACs == | |||
{{Protocols/OSCAR/Foodgroups/ICBM/SNACs/Simple}} | {{Protocols/OSCAR/Foodgroups/ICBM/SNACs/Simple}} | ||
[[Category:With_Contrib]] | |||
[[Category:Stub]] | [[Category:Stub]] | ||
[[Category:AOL]] | [[Category:AOL]] |
Latest revision as of 12:05, 14 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 |
---|---|---|---|---|---|---|
0x0004, 0x0008 | Client | ICBM__EVIL_REQUEST | Unspecified | BOS | Active | 1.25 |
This requests that the specified user is sent an EVIL notification.
SNAC Header
Foodgroup | uint16 (word) | 00 04 |
Subgroup | uint16 (word) | 00 08 |
Flags | uint16 (word) | 00 00 |
Request ID | uint32 (dword) | 00 00 00 00 |
SNAC Data
If the request is marked as anonymous, less EVILing may be done. The result of the evil request is returned in an EVIL_REPLY (or an error). One may only EVIL another user if that user has "recently" sent the EVILing user a CHANNEL_MSG and the other user started the conversation. To implement this rule, the server keeps a short list of users who have recently sent messages to a given user. If the user to be EVILed has rolled off this list, or was never on it, the EVIL request is denied via ERROR__CODE_REQUEST_DENIED.
Name | Type | Notes |
---|---|---|
evilFlags | uint16 (word) | [Class: ICBM__EVIL_REQUEST_FLAGS] What kind of EVIL to perform |
evil username | string08 | Who to try to EVIL |
Class: ICBM__EVIL_REQUEST_FLAGS
These are the flags that control how EVIL should work.
Name | Value | Notes |
---|---|---|
ICBM__EVIL_REQUEST_FLAG_ANONYMOUS | 0x0001 | Do not reveal my username to the evilee. |
From Aleksandr Shutko: SNAC(04,08) client send warning command SNAC(04,08) ICBM__EVIL_REQUEST
|
Example SNAC dump with flap header:
|
From Aleksandr Shutko: Send user warning sequence
|
ICBM SNACs
|