Protocols/OSCAR/SNAC/ADMIN INFO REPLY: Difference between revisions

From NINA Wiki
Jump to navigation Jump to search
No edit summary
 
Line 21: Line 21:


@NOTE: May contain one of these TLVs (need to clarify, make context and conditions more obvious): [[Protocols/OSCAR/Foodgroups/ADMIN#Info_TLVs]]
@NOTE: May contain one of these TLVs (need to clarify, make context and conditions more obvious): [[Protocols/OSCAR/Foodgroups/ADMIN#Info_TLVs]]
=== From Aleksandr Shutko: SNAC(07,03) ADMIN__INFO_REPLY ===
<table width=640 cellSpacing=0 cellPadding=0 border=0>
<tr>
<td>
<br>
This is the client account info (screen-name formating, email info, etc) requested
via [[Protocols/OSCAR/SNAC_07_02|SNAC(07,02)]]. It also may contain error
code / error url instead if request failed.<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=630 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=169>&nbsp;00 07</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=55%>SNAC family</td>
</tr>
<tr>
<td>&nbsp;00 03</td>
<td>&nbsp;</td>
<td>word</td>
<td>&nbsp;</td>
<td>SNAC subtype</td>
</tr>
<tr>
<td>&nbsp;00 00</td>
<td>&nbsp;</td>
<td>word</td>
<td>&nbsp;</td>
<td>SNAC flags</td>
</tr>
<tr>
<td>&nbsp;xx xx xx xx</td>
<td>&nbsp;</td>
<td>dword</td>
<td>&nbsp;</td>
<td>SNAC request-id</td>
</tr>
</table>
</td></tr>
<tr><td bgcolor=#E9E9E9>
  <table width=630 cellSpacing=2 cellPadding=0 align=center border=0>
  <tr><td>
<table width=630 bgcolor=darkblue cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 border=0>
<tr><td bgcolor=#C9C9E9>&nbsp;
Following structure may be repeated more then once
</td></tr>
<tr><td bgcolor=#E9E9E9>
  <table width=100% cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=170>&nbsp;xx xx</td>
  <td width=5>&nbsp;</td>
  <td>word</td>
  <td width=5>&nbsp;</td>
  <td width=55%>permissions flags <span>
  (1 - r/o, 2 - r/o, 3 - r/w)</span></td>
  </tr>
  <tr>
  <td>&nbsp;xx xx</td>
  <td>&nbsp;</td>
  <td>word</td>
  <td>&nbsp;</td>
  <td>number of following TLVs</td>
  </tr>
  </table>
<!-- TLV 0x01 -->
<table width=630 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=600 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=600 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=25%>&nbsp;00 01</td>
  <td width=5>&nbsp;</td>
  <td width=17%>word</td>
  <td width=5>&nbsp;</td>
  <td width=60%>TLV.Type(0x01) - user screenname</td>
  </tr>
  <tr>
  <td>&nbsp;xx xx</td>
  <td width=5>&nbsp;</td>
  <td>word</td>
  <td width=5>&nbsp;</td>
  <td>TLV.Length</td>
  </tr>
  </table>
  </td></tr>
  <tr><td bgcolor=#f9f9f9>
  <table width=600 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=25%>&nbsp;xx ..</td>
  <td width=5>&nbsp;</td>
  <td width=17%>string</td>
  <td width=5>&nbsp;</td>
  <td width=60%>user formated screenname</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 0x11 -->
<table width=630 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=600 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=600 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=25%>&nbsp;00 11</td>
  <td width=5>&nbsp;</td>
  <td width=17%>word</td>
  <td width=5>&nbsp;</td>
  <td width=60%>TLV.Type(0x11) - user email</td>
  </tr>
  <tr>
  <td>&nbsp;xx xx</td>
  <td width=5>&nbsp;</td>
  <td>word</td>
  <td width=5>&nbsp;</td>
  <td>TLV.Length</td>
  </tr>
  </table>
  </td></tr>
  <tr><td bgcolor=#f9f9f9>
  <table width=600 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=25%>&nbsp;xx ..</td>
  <td width=5>&nbsp;</td>
  <td width=17%>string</td>
  <td width=5>&nbsp;</td>
  <td width=60%>user email string</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 0x13 -->
<table width=630 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=600 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=600 cellSpacing=0 cellPadding=0 align=center border=0 >
  <tr>
  <td width=25%>&nbsp;00 13</td>
  <td width=5>&nbsp;</td>
  <td width=17%>word</td>
  <td width=5>&nbsp;</td>
  <td width=60%>TLV.Type(0x13) - registration status</td>
  </tr>
  <tr>
  <td>&nbsp;xx xx</td>
  <td width=5>&nbsp;</td>
  <td>word</td>
  <td width=5>&nbsp;</td>
  <td>TLV.Length</td>
  </tr>
  </table>
  </td></tr>
  <tr><td bgcolor=#f9f9f9>
  <table width=600 cellSpacing=0 cellPadding=0 align=center border=0 >
  <tr>
  <td width=25%>&nbsp;xx xx</td>
  <td width=5>&nbsp;</td>
  <td width=17%>word</td>
  <td width=5>&nbsp;</td>
  <td width=60%>registration status <span >(1 - no disclosure,
    2 - limit disclosure, 3 - full disclosure (?))</span></td>
  </tr>
  </table>
  </td></tr>
  </table>
</td></tr></table>
</td><td width=5> </td></tr>
<tr><td height=5 colspan=3> </td></tr>
</table>
<hr>
<!-- TLV 0x08 -->
<table width=630 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=600 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=600 cellSpacing=0 cellPadding=0 align=center border=0 >
  <tr>
  <td width=25%>&nbsp;00 08</td>
  <td width=5>&nbsp;</td>
  <td width=17%>word</td>
  <td width=5>&nbsp;</td>
  <td width=60%>TLV.Type(0x08) - error subcode</td>
  </tr>
  <tr>
  <td width=25%>&nbsp;xx xx</td>
  <td width=5>&nbsp;</td>
  <td width=17%>word</td>
  <td width=5>&nbsp;</td>
  <td width=60%>TLV.Length</td>
  </tr>
  </table>
  </td></tr>
  <tr><td  bgcolor=#f9f9f9 >
  <table width=600 cellSpacing=0 cellPadding=0 align=center border=0 >
  <tr>
  <td width=25%>&nbsp;xx xx</td>
  <td width=5>&nbsp;</td>
  <td width=17%>word</td>
  <td width=5>&nbsp;</td>
  <td width=60%>error subcode (see below)</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 0x04 -->
<table width=630 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=600 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=600 cellSpacing=0 cellPadding=0 align=center border=0 >
  <tr>
  <td width=25%>&nbsp;00 04</td>
  <td width=5>&nbsp;</td>
  <td width=17%>word</td>
  <td width=5>&nbsp;</td>
  <td width=60%>TLV.Type(0x04) - error description url</td>
  </tr>
  <tr>
  <td width=25%>&nbsp;xx xx</td>
  <td width=5>&nbsp;</td>
  <td width=17%>word</td>
  <td width=5>&nbsp;</td>
  <td width=60%>TLV.Length</td>
  </tr>
  </table>
  </td></tr>
  <tr><td bgcolor=#f9f9f9>
  <table width=600 cellSpacing=0 cellPadding=0 align=center border=0 >
  <tr>
  <td width=25%>&nbsp;xx ..</td>
  <td width=5>&nbsp;</td>
  <td width=17%>string</td>
  <td width=5>&nbsp;</td>
  <td width=60%>Error description url string</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>
</td></tr></table>
</td></tr></table>
</td></tr></table>
<br>Here is known administrative error codes list:<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=#E5E5E5>
<table width=100% cellSpacing=1 cellPadding=1 border=0 >
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0001</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;validate nickame</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0002</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;validate password</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0003</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;validate e-mail</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0004</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;service temporarily unavailable</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0005</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;field change temporarily unavailable</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0006</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;invalid nickname</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0007</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;invalid password</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0008</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;invalid e-mail</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0009</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;invalid registration preference</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x000A</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;invalid old password</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x000B</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;invalid nickname length</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x000C</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;invalid password length</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x000D</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;invalid e-mail length</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x000E</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;invalid old password length</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x000F</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;need old password</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0010</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;read only field</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0011</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;write only field</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0012</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;unsupported type</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0013</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;all other errors</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0014</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;bad snac</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0015</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;invalid account</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0016</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;deleted account</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0017</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;expired account</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0018</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;no database access</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0019</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;invalid database fields</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x001A</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;bad database status</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x001B</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;migration cancel</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x001C</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;internal error</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x001D</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;pending request</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x001E</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;not dt status</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x001F</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;outstanding confirm</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0020</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;no e-mail address</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0021</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;over limit</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0022</b></td>
<td bgcolor=#f9f9f9 valign=top >&nbsp;&nbsp;e-mail host fail</td>
</tr>
<tr>
<td bgcolor=#f9f9f9 width=70 valign=top>&nbsp;&nbsp;<b>0x0023</b></td>
<td bgcolor=#f9f9f9 valign=top>&nbsp;&nbsp;dns fail</td>
</tr>
</table>
</td></tr>
</table>
</td></tr></table>
<br>
<br>Example SNAC dumps 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 3D 1E 00 28 00 07 00 03 00 00 00 02 00 02  *.=..(..........
  00 03 00 01 00 11 00 16 41 56 53 68 75 74 6B 6F  ........AVShutko
  40 6D 61 69 6C 2E 6B 68 73 74 75 2E 72 75        @mail.khstu.ru
</pre></font>
</td></tr></table>
</td></tr></table>


=== ADMIN SNACs ===
=== ADMIN SNACs ===
{{Protocols/OSCAR/Foodgroups/ADMIN/SNACs/Simple}}
{{Protocols/OSCAR/Foodgroups/ADMIN/SNACs/Simple}}


[[Category:With_Contrib]]
[[Category:Stub]]
[[Category:Stub]]
[[Category:AOL]]
[[Category:AOL]]

Latest revision as of 04:44, 13 February 2021

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)
ID Origin Name Foodgroup Service Status Version
0x0007, 0x0003 Host ADMIN__INFO_REPLY Unspecified ADMIN Active 1.9

Reply to ADMIN__INFO_QUERY, may contain either account information or an error code and/or URL on failure.

SNAC Header

Foodgroup uint16 (word) 00 07
Subgroup uint16 (word) 00 03
Flags uint16 (word) 00 00
Request ID uint32 (dword) 00 00 00 00

SNAC Data

Unconfirmed: This SNAC contains no data

@NOTE: May contain one of these TLVs (need to clarify, make context and conditions more obvious): Protocols/OSCAR/Foodgroups/ADMIN#Info_TLVs

From Aleksandr Shutko: SNAC(07,03) ADMIN__INFO_REPLY


This is the client account info (screen-name formating, email info, etc) requested via SNAC(07,02). It also may contain error code / error url instead if request failed.

 00 07   word   SNAC family
 00 03   word   SNAC subtype
 00 00   word   SNAC flags
 xx xx xx xx   dword   SNAC request-id
 

Following structure may be repeated more then once

 xx xx   word   permissions flags (1 - r/o, 2 - r/o, 3 - r/w)
 xx xx   word   number of following TLVs
 00 01   word   TLV.Type(0x01) - user screenname
 xx xx   word   TLV.Length
 xx ..   string   user formated screenname
 00 11   word   TLV.Type(0x11) - user email
 xx xx   word   TLV.Length
 xx ..   string   user email string
 00 13   word   TLV.Type(0x13) - registration status
 xx xx   word   TLV.Length
 xx xx   word   registration status (1 - no disclosure, 2 - limit disclosure, 3 - full disclosure (?))

 00 08   word   TLV.Type(0x08) - error subcode
 xx xx   word   TLV.Length
 xx xx   word   error subcode (see below)
 00 04   word   TLV.Type(0x04) - error description url
 xx xx   word   TLV.Length
 xx ..   string   Error description url string


Here is known administrative error codes list:

  0x0001   validate nickame
  0x0002   validate password
  0x0003   validate e-mail
  0x0004   service temporarily unavailable
  0x0005   field change temporarily unavailable
  0x0006   invalid nickname
  0x0007   invalid password
  0x0008   invalid e-mail
  0x0009   invalid registration preference
  0x000A   invalid old password
  0x000B   invalid nickname length
  0x000C   invalid password length
  0x000D   invalid e-mail length
  0x000E   invalid old password length
  0x000F   need old password
  0x0010   read only field
  0x0011   write only field
  0x0012   unsupported type
  0x0013   all other errors
  0x0014   bad snac
  0x0015   invalid account
  0x0016   deleted account
  0x0017   expired account
  0x0018   no database access
  0x0019   invalid database fields
  0x001A   bad database status
  0x001B   migration cancel
  0x001C   internal error
  0x001D   pending request
  0x001E   not dt status
  0x001F   outstanding confirm
  0x0020   no e-mail address
  0x0021   over limit
  0x0022   e-mail host fail
  0x0023   dns fail



Example SNAC dumps with flap header:


  2A 02 3D 1E 00 28 00 07 00 03 00 00 00 02 00 02  *.=..(..........
  00 03 00 01 00 11 00 16 41 56 53 68 75 74 6B 6F  ........AVShutko
  40 6D 61 69 6C 2E 6B 68 73 74 75 2E 72 75        @mail.khstu.ru



ADMIN SNACs

SNAC List
Subgroup Origin Name
0x0001 Any ADMIN__ERR
This is the error SNAC for the ADMIN foodgroup.
0x0002 Client ADMIN__INFO_QUERY
Request account information. Host should reply with ADMIN__INFO_REPLY.
0x0003 Host ADMIN__INFO_REPLY
Reply to ADMIN__INFO_QUERY, may contain either account information or an error code and/or URL on failure.
0x0004 Client ADMIN__INFO_CHANGE_REQUEST
Change information request. Information may include screenname format, password, email address, and so on. Host will reply with ADMIN__INFO_CHANGE_REPLY.
0x0005 Host ADMIN__INFO_CHANGE_REPLY
This is the response for ADMIN__INFO_CHANGE_REQUEST and may either confirm changes or contain an error code and/or URL.
0x0006 Client ADMIN__ACCT_CONFIRM_REQUEST
Request to confirm account via email.
0x0007 Host ADMIN__ACCT_CONFIRM_REPLY
Response to ADMIN__ACCT_CONFIRM_REQUEST, may contain status change, pending email confirmation notice, or error message.
0x0008 Client ADMIN__ACCT_DELETE_REQUEST
Account delete request. Host will reply with ADMIN__ACCT_DELETE_REPLY.
0x0009 Host ADMIN__ACCT_DELETE_REPLY
The account delete reply will either contain confirmation or an error code and/or URL.