qh(8u5?g#O`takB(^bu9&4h4Xr
zULRV@MaF8(APrI^P5p5VEco?m^(hG>;e_ep8CvB|Ku*Z-5)e}*_MxXsxj&U<*)ddJv+1!ocYvbkd_aAZ1&Tx{*`VO2z3h{i<6Im*inLiT7d1+
z#g!9L71~kr
z+8uDr_bqMV!Z{$N8cri<#Mntk$8#qRLOU{h=PqKt%q`f74a`lPr$E^(Q3E<#<-CP@
zT-U^cN#m!}{qRLnb;2QTcDasz;6aic$(SCQZjhu!HzGq9i(D95`>$F47-7Y3nSvHh
z5Abi4&Z|=BT{`9iG;+V3)8(>|IUAn2e+eNs0VgUgIEJ#&u*CGRu5#nPY#t==OxM^
zt(K%5?2(h@stESL93V&opSKNKRSZ}^44#`6Ft*ob5*KNl4#~oo1{rCG_aOfPGZdUr
z;u|v@Uf~z9rWPd-WnaPR&Ned93QqDGSxp{!H`CvXnD!HOw2^PLK*y~pBit-KQJAf`
z!fUwdWpo~KIH_f1IkZK#520D7*tt6kRx!p&FowrFrl?sj6Ijw0k?WubZdx63O0T1)
z3R}_%pp(O1vIs1^#}X{55gnVDDmEL98107iS+}*gy%aj>fxQI$r6bDj1l%Odrg%c9
z==>`;GrTsLJ)XTL7sDspNy9rMA}yaWzO0q?2OM4
zR?Y|$&hDdDge6TPy+%lS)GJ$c;=TI2x`o~lgtBMW`N4~w-Q~Q|A-)7D%|4Lkn`CdE
z4!JXp(8Vv#UtZ^2%|bpr&&vD=5jv>^uS3VZ61Y(Yf2Sju`c-*_Hm^l^p^Y_bF4gS5
z%ps!q=|0!%5C1+}2{I3@5hDzt<@dWE3esMRRjQ1jKZ^+cT>+QNGgCy+$3$QetfS&z
zIN|fxCtENxThdIgc{H7)aa%%yHnzK#*-ZEbw=9VBG{n5l;F`>;{D|+a;M~({TTMmq
zWkK*KTMDRLddvtwMG3ZNSum4dHCg{1JFzUHy+FmXm?GHF&9bcfFm(r7!N^F=udIc)
zf>lsk^=ek8S(g5uy4PhcL`^6=TH~&iBR1)f1l^;*(tG!2dzC32)!M_(#5L+!*<e8OGJt^gqntqCxZlQN@H|SoGjm>{
z3WF@;MZ4S)XkN-XqtG~^NL^H8O?Ly%ejXpMYMwc_?)`~6r>#6^NL}O-ICJychpw*4
zQtpN&f-j?T2P-xoHu|1~;+vx)^Up>qHY()8A@VihlGCTpCx8&{UZ|S>-o)3*}rOCd7pg~NjA=8
z9WM#^HtQb$)-8=Zqg;3h-x+^0Tt$y=^n&1g&3DG!kpbP;45+l(Y=}b4!`vtRtf}e`Wv?C8k;K)U6JJ~L-}LfcO`J#LTvEWl
zBZlpMuU~xx{i=?{!oXBYIHfdW@#6|a!uuf5GQBMpibbnXkfONJ6^=q;vbQut-4CVs
z;zOf3TQC%Z_i4p&d3Ikeh240vK$D}WClus-zPCL0=lchEAUfWY5mIcnOyZN%=L96>
zOdk3u0nJ8>(J0kQo7d39eDx~*0fk#e`$G8!^WRm*41c$kTkO-3BWG!l=3Cr-@gMK|
zrN1|0^+eI0)>sYn1mS7(e`CKg7^WxrDloQiZQSHfaJ)Z$gNQ>T!54k^xLAA;5=|YF
z$*lDExU%wnUy(OnK77E^Nf&Oq+lF@(>}A=6*@o`Vvo|V}-s@fGr>!`4!iAlN
zW=t=8_3{O`xGPin;E8ZW-Y`0ykDZU$Y15*iHoI(jH)YSZ{S9wvF2!-tRF&G}g+MbB
zm&Bwfl2Ef3bV<}onVR0X&k3huSTeW{bT~?!b^LgJDbEC&*;nz2^AXE
zNRh))aTSGEZ{VNvNMD^)`&jY?=4Qw;IaS9|s4^3}B7POzsPJFmCUOW4eC8MjFo}mMau+H(-y@uzz_k=4nsB3HbcW=tYLd*zRUyCGfICY8
zw*I?dPEqKhEm3KVt^K(f?S9%SOwD;tl7f?4(#l^BjGnDia2xbN5A%H)0lGq
zdbb`_6zRevrwFJe(
z*A>G*{0veIq^8kFl6Mou8U+V28R?^FmxvM!Dh6{Dnx3Et9U5OZL4
z{^R@zccqN@C6`@3>TMP-@>0->HC7pCqqzn+L?tt=K3DK8k}tBq2O0S=S}0dkYjI@1jq}^T)zCtDJ@D9E@4_CuCX_77
zfXH)sfXAgc_HU^!1C)NuK)pd9sY36|*fO^JUA+|Ynb{A|xbCF6su+ngdDXTRT<@F4
zHrg)Z0VyH59xwJ`V{ot;0L
zmmY||r8|fR^kG~M@x2sJ@IRJv^mktRsQf4jxU9@Ryf52MT0DK!bnJuNs0JY(gab_H
z6`^u326vsI1MR9;5!T;mwtFE%y75<$a8q3h@Ny0BhJ7r{f+1Bo+OP~<;j>@l%U*w0
z%80b~b%HnP#+6HAn|dd@3yjo=*)$dQ`uaJnUB`qZM031Lf+O>A<$&|VWkPrTa|TPi
z3jY*j!tvn7I5#%JNIZY)dtYb
zOh$$+MnNo?N9SA`+4M(*!U(b4q!Cl+?3l8jZ$UVRtJ2rbl44J5QRq;l+I!-i-n(>4
zK1vt#2x}`+nrDPD-6ph*S1Xcv;gz`}k;ZbtcUFel2&)?|sO@O)>;j(O@6z3)=-Amf
zH4CpFn~1cncD!{f7v8v55a~F}e2crMy-C0IrAz+u!Z%rX>n*(qyhqCJG5{*PjY1%T
zNcztXQ(Rz&B8O){(C!NAD!faWVEf(muvk_#HL9JHj^`2h;+AeF8n$d!6%ZPYoRw8yE&Ij>-HAko98?6p@AcDlSZ$
z*MJ`P7VK1F7xQQ)aRa^nyaj?a1J*$!C2ne4pFY{u->=KWS%=WcduVW
z-M6dR*?OLMZoUe=>3%14iH(~9Lj2CthxgAeRE`vc*UU302+z4fcUs$}g7b{X`COxx
zcyum*>R!`_FNj$
z1?sZ}&uogjR<{-KzW@0Ne@<>#zYq#+pKI$l;qU5e?A~qcIq~o1XeXoOCX*HzP-zA_mbZ`fwcDlIbj$=aEI0}-K?MWy1y|by
z*HGT9uL^G5bZoBjY*Tmca0sCZckZbOCAIk-IClQYhaKko9p!f(w+Wr%w4R*^T|9Rp
zAb!0f>AL3VDwpf}YuI(i;ddX<^&rOI=-J?_*!Il91us`@grjtKpuBzi()LcgyGOgb
z&$GKU=6HzFsSi6AuZ8rw02o`FGRD}3kx;Va-$U-rQ4n;ehDg4
z(LL<}b*oMdD^dE4PR$AlMw(Wg{$6I(F5Q;__^0t!eNwT{UR{RY290&Z-k9~7a)z1d
zG@5%g4#zeQ=Wx_as=Ezv_Yd*!H9i
z1^OOW5i2xtOh{!+|9i>ujEpIb0D2>U-3Tx|_#=KqcdieCnL9l~co0R(Y;|Nf|IJ9Q
zz=({LjkZ*-)sSSMRK7ruyK0Yzj;!C<(6XoODsL-XHooXY+iXd}^lDW5Kc*JK+wo4U}
z@)WO0mAv%NR$<4Xj1*MTmcG)cM*3QmB77
z0@06#(a7w9h|Ey|;G4{!iowo^$*w>dYg9kocvAAv3<5NOtY)O|wr?2rW~A1CcxDFJ
zk~v}TA6{-64)Y)O_aBy-0)&-m1e=G=-;CJL0($?M&BIFmjPm}&J+nYg|L>D8URJW+
z6&*8s-^1QXm*Ea?<4pe+;DraS$)<=+LsX}iQO82}I#&Y~i`%3d#-;z(Pj8a8MSG1g
zhDD=S%2i{h2FTz@MB=iHgqlTUV4?XPtd0E)Y9-nf4D7Q`BT%R{fQop`;9G03#Z}6iLRiKkIcfzSuX#w%`BSFIajz#qoZ6
zUR7mxZ1kiDfA-}AUO3xB$ueWq#A+n4&B$ul?3!^tJ_TSxuv51~Z?MKk&73{PpkN_lXH
zidCfI^{TuOp5*3>I%?wA?f!(2T=dvm#dMDt)R{zQ!Ek8^BV-?Vw1>7K7nX`B$vrH4S
z%pDNlF$fW={41%7!P(RX|3nP!FqZ^u!AXKAu`}_9Vov!&SpQt{+(cRVa^#Cj9g2eS
zp61Re_O5tiPc2o5{=5VW4uQW|VWw(Fy<}H=M#=B_(t*VjPVV&nH%jjzt7l58@3pg;
zm+Hur)zu(y8hK?$!|yGTvs#H64+$CJ`)Z#3OH&|~PCS)h>WR;BY#D0&gQDx6om)YVoui-sk0oHlYK=}V$C%QI{0}>yF2Uq
z-hC5(e>&K^*Jt={CP_tGxoaBKGe*iMU|Ft^qr^jS+O+)mA0BdOBKSl7=~lYD&C6hqSrEX8(~
z(8%Z7foreO+-+*T+v;{ScpJPUlwcsNx;1FD#gsM9EIGyEvV=q@IMJXt-?vIIzx8>e
zpW~liG}<;7>i{>mexJlPPZrD!ZIjPuTf2XkC~A%PU{~+fkgQXO9N!QBNuTl`PV`Y?
zqPc36{XDg9?cfeKSiU=L7li%2cj8R>5KW}KO
zldEeih(J1ZHOV!#SVgt(bam91@$rB1pYL0~?z5np{3Sa`XEEUrIC!!&Yvo+Ts7#Zr
zGJ$tOjpzpZQgOL$I*n|z49v<66ehXB3jMiz1}-XpCX7tkT};0PZn)j)g)pgeHT?m8
zZ}k2)*{Y#%eF0h@u|C#3dOBsK9HaG+MMq4T1nN#ncAe}qT#b%=?qO;Ep(p*
zgv&|%BjBptoSm_nMJE}~qBS8W8kN*AcnmL>&Yq1r)7(C-lErm=Jnbj9KBA-u2ql9L
zZdos*pR3GS*72rLk;gwLChf7KxF1?eJX>!^o$vIV)|elR&`tiV&6P=waW}V-Hbgx_
zzbK-!WQ+x$)FL!Fo{zz-t`tt@qAY0HZBOjmTn#Sn&`<7zk1t~`9&Osh>o1-cj$d4k
zja6+o6)war&j9+SV-A+2*qc$opuuWT@p|`^iQYA
z6l6$DHI+q({}edk>J5mSc8Iwczy;BXJ{N@77m&5(hl{lk+4zSOcteZL|smi
z|7yhf{YDY)B=KECO9RI&*jXXgiSGVye6CX+o82nRX>-!)I>-Lg1wp>x`81sY^LN#s
znyN~+Cit~+>=-{j4&lYa&QjP3Q#GwMqMhw*<2mVXkjx$X+;3WfufZ7hO#xTeGfuin
zsp5+^b|S97JI|D-T+}gc6CQ8GkPK|;A4o;;Si$$k8idy7MEm5){!$O{V1jF>`%6iK
zdyd5$#IPGYQ+tChQp03Yw62>dwtJQkH`T8;_Qgcz@HpR}f5j0V>@;kAemae*N2~Tc
zrvB8h_H_@|aGxPRx9fHD{eB(kdasar{nU5sUhL|tpK9{u2IBi95}g!vbf5b3F~|2|
z%H*-C3y%xq+04`>h~YkQ>YVx$KGc*ZFZq$O>uM$uQ=cIE8`M7Tle?&|iQ2uB#l_uO
zlWS6PLPD*x_}Nvm%(KQ9hw$n<>u5JShU=EiX@#zYIQ@CgZ6{~VX9;>!V+!y-^0_w?4kE!BEcz(3^)yD=2Pwbmg
z@715z%o=DVQl4eLSerwUY_(+iyc9d1eDuCXtwrN~gT0)bzeZgkUlU=BFuWFJ`*bS2
z*2Df~Z9gcb<2@t!9?|7OBpiGty8q(+@Cm+(L46BGw0sN3W;VN|>Cp}SbdD%aSp#na{dhi>DWB8GW!`LwaiS~&w)~$fEbm!2+CA>CD?RZmCt<(9IIKFK%k?9@3E&(y8TYn3!*TQ~LSZeR
z4-!+qIG*b~*8S;s5Q}HE=3_jZbCfE#IeTgxp0D{`mu3CTZL{1`y0CHf>}s~&9eqb`
z^U|WfJ?xAB^ZeyeZGYO3JKN^<>3gD4v*X42EC0jg4$N}U=AXcHYSd!A?ZrRAmx2A6
zxoX?T?2ebG`qLv0A)X{=2ZiZ1JLe2Tn62zL6
zF`~q{6!G#qg+`L%6&BXD9OakTh{p?a!ou;h^P--LOB-bmOJZW;`pdYguRS)aja0^~OszFGOn;iU
zW%#`GGK=bJaV-m>!SuwdyvM1;`)Yx(BF
zAyl{iV+S}ud)5TlhdW5M<;AVm!?&bOB4Z#0@WlW4|
literal 0
HcmV?d00001
diff --git a/pictures/sysop.gif b/pictures/sysop.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9fcaaf2522dbd432fa4d7cbb4eadf667b1ed511e
GIT binary patch
literal 10240
zcmeHLRaX=MqeK*GMM01dgKj~(k=$kJZt3ps?uMn8ZkF!u*aen`rBND|5JVdHe&78U
z_nbQq^EMAN=gh;5EI@`|!1(YPDdr8ve}P7$F$AVCzAs?_4=}!uVyGTqsBUuFj-H<{
z)zm-^4weoMHqq!C2-x@hVDo%)34L=@T3Y(Q(*LLbPvHM{0-x_*Jj1{s#$f%gjsJE6
z0|$-4fI}r$Uoa4gL(HrXt1ldiB%%RA=Bo@QT5A-GoOZ_F33@;^8-E~l|KhbcZ1x2_&uBSrt^YL?
zMckA-(eA9$Z`^ZCXy;M?6Q2IfRJ5wS>0r7*lEDqsd9_z-&Qq+}N$!H050;+DQ|P)z
z%(VyddJ(K$ZUxHL)q3QT@vCo#*s~Z-bqh!q5Mo{teEPut_Xt_{XEH(D=Wl)hIvR~W
zSmp9AevOfXHMQ8j{0F3A%Su2;)xbj54<_uvX=c2C~CaFDRvn=VrW#=;<=9b
z+dll0ElkH_EBw7hg=PTS`)12SOoQxG6m|OTXRpu(>|ZK7I*VVzIP&;5ZM7;hF?=}(
z84VpXtq*q+#m`FgBBeqOQ={gSwRfY%$ty^_`x|b>!F-B$C281$yqj_AnAm%%+^wX$
znP%ygM3EoA0Dfcx8sTOtOjG=O=|uGX;0*Sqjy>-rl}d(OFZOrF;lM2G!$Q;VmL=Jr
zUorkHk{R49(LCF@+l^Q8*Rjsr9XTj9FkE8Hw~0!(sq(jKy`xW+>+P^m{?&udVDKw!
ztgtNeFnMQdWTbmfr=Ih+YO!*dR4AuNwyLVybDfS7St9?etGJne+!_KIz#{$Cvi%IY
zQy{!=e$u{6J-Q6-c=L|kTpcemPnE!7R6|<@L3z@dl?FZUbwq?abh_bE8rG%~l4*B$
zh-x$R8q@cm4-xsk_&r>ou)3-dihx43y-PhwUUcfRe${!CVdo-EQogP>)B{L&Hc#ag
zc1dJF+WpC5E@yR}_}It$XS!#D^=d`{MbHe(IE}lSgAkrJ!@o+i{asMkvj4lNCRWoD
zfhR>2g!~c6=CN#+Xz#INm0#nrYFBsav1Z)I#<%W@RNz~~v#YuB$CE-I9Bu_+v)}#<
zBXhX@6~$0{yB)`nce9zqhxFV5YdPHQWm?vHV$IONLTKBUwAS|=#;|pJKEPME^gH^aWB28PmJ$D-
zDa%CSt6?F*%^*G18-I*BdB>-_dege6`)|&HUUxrJKla^R#wPxIs)J7d`$yH`$p3i#
z{KxICrRXEMvfKSmJ|@R@-_Z(3&;{|2r&n?k2s)?W_h7l_xY**DGEM=+kRRAAa)Sc~
zUqcz~U@x&PdoPk5{hkvTW8-TNQWUX=^H;<0TrG#Fxz54_2);<5J>&!_?te#xJTD>&
zmy@CuO!froo4m@o9cJEFiqQt)ysLpp&q;H}lCPVPjb(Olgg6JA&=ylLS&n|Y=ka
zq@+&Le&mD06@64~`iIQu=~j5!-lQZ4fGC+Ocg8TJ7}B8nC9I|Z7%&e6E{-e4bb(Kd
zue`OHWy<~<379n5E(7;~_Nnao1WX10WX-Vdv!?+RhMpSD5OHO^ZE(csr>5+mFV=Zz
z(h=Y%XwD(1T)Ed;fTr;)N8|&cq)Q6B!vq
zc_;*DoQ|CRqhEJysZYzS66i9YcM`X`g+sv~>eB4O%~~L_xU3u?qRw8ks^p;wEPBRf
zQ%bMO6l9W3@2lIK$$kou*~(BRyT2+JBR+a=^nM}qt$Rf$WdXjV*FsrjrgB>E@A)e8J~%Rl0=8ZX@v~ot
zmvg~wtF1+E2j5=<#OVl>@W>{*$zL@H(o7l~`ebT%JOAulO^fs-8?^LeWDwn)$C
zK!nF-1F_aJdb6_@A#N3EeAZ)A^<9;Qw)jf92I@Pji}9O(s*OaB&*Fb0JExlU+SZOV
z8Hkt6tNzxDvCQOSy3g!E-2$_ojLP2%_TMdj`}V|pDnq8{+RuLTI=rTxTa9n+c&Zj`
zoN?yG(d045Zq?(|`Vqu|;ui|xUOFSKL@Ll@_boZpnI5rC&Ynpuj
zv1yd7QY_4Nbq4;gz(57DV3w$y!igqmAEE1Uk+n(g%%;Ax*Dx^1eoeB8@z0%r0pOf7
zcY82feOoQ0cy@T9yZ^S@TfYa}(I`VW6_=fErhIBUeM>o3`aCbFEn#6S!f#$ttb@v$
z(X=XOBlG)f_p#}5_c!+os3+;>me+BIHtA0%UL3lsOzn;@sD)8=D4{h0*1taNOPmp>
zEWiU)9g$KS;&MOtC)=$jd`oBB<3>Q`t&!63L+k~kyKwMz@A0leZya`8Cn0_ydqC^W
z-$~V4kY%7(-~QEgqD^HGcmDEFs$ql_g10u2*{XAz%3n&WN8Q_To!2=4fUrOHDXrTy
zr(>!|lJx|rvm2TK?!N5?;j8o%&|rSJswkK215EI%`oH%@{3+^%=Dm
z3EA4LzcQMu)C!Ou^*b2RpB@RQe&-M6QVZW>#g6iax*OMHc^hFnI3Vq|Jbf}H12C<`
ztC3!<xCQY{BxNCj1@s-0mQ{WcGZ
zYVm!+71(|dx_l9U@!hnK%M^SMw2W`Nfho?6({I9!1Luh!j
zrZ;=LD;OI1i(vbCjvzVT511;tzg%&BG8YewXL;
zE-qw0Uh%p4E=R^ys0E_=?OdZQa6KcMuylS}MybOr?Uth;?@89nqs^8b(&VB+<@Q{1
z;uaOr{9fYnw`R$=mOtOA7QYYh#xa8)29MvwydsHp8Z&~?OQ^w2YrJ9&uc9Q$Vr1H^
zyfmVEEMg`qjDFF@9X2^GN}J_d2`(;6cFM)|qy~o5>&3i`@5+pR)Rd~$wzp=CN@mc2
z!Qz{Fy^iSBJ+&iI{94`~&Lp>Pp|S~h5$6%na&F-s`Reu_*1i~ONn&zP;3FEa8qA5dJf&YYt+d<#LK@JXneqW{P;LdDWsEdt
zO4n#l#J{nBqW3G^&j4j6t+ZzlwHZlcC7XGtEor7JVM#vM$$&M1@1ip3%|u$f%#iKo
zDJv?%S!o!p%J(o!vy4ow!-TA(7*E`6Lq45HuPiu;J9s6&Bs%+FMS|c_lGppp+tRrF
zBNGv_9ImX`N}V+3BZH3pbeE%SMX*Z~E<|hrk|_YWg2fg`r5R?03t#6jL+^7paT79N+1&gYqBj{c&8UXWAmT$0p@jG4r@~fR4m$a3)c=4~%v)fK#J%XVE!
z1$w4A3xsl56xz4NEmhhjc&8U0c~S|Mv(yVTLkuhLeWyLZtyA
zv-wBLS+6J!3zHe1aO17t_pPFtF~TnYf0oe4{~rHFEf5&w#vr-J8Vt&^e>Q{Iez
zS$+X8pM^OQNtIr}6Jt~JL#y(d$el;XUHIXe1OlFYbVc!H8CaE0liHp*I+;l8%Hx$X
z&xp{M*_9aBxl4>CXVKv}g2`dmrcFR-#e6O^o>#qgX)FAD+9Gt&3ffOmeTxgF)A2K6
zs#3tJ(z{9HyM`h<^V;rRQoYL?58ak1T#Z+a5jGNoK13$8X&@i4)qRQUF?7kr*HLOa5j+5H1i``ZFgF{&@K!rz>uP@9
zx}Nr2;~k6>&5C*QoHyRdwYv5<%kpnAY_ggx;+PBQIvX-1tF{D;KSJxX(b>f+?U{nQ
z(cBbOzm|(RG@E#1`JX>jWR0fd#8!APmvaj_NKVL*3VMdYa=775wpn#-Q1JJMW@K^s
z7j@+D%
zY`r=qREGp+rvq~*I;K;+s8idfQxerFhS?=42*nvMYDUqt>M4JMI()+|`HV`bVsh%5
z;2E|NrWHyUr$}j%@u14;`id$nVM+SdRh)UyHsPH&E0pwe)NT=7rA$`ku}E3z2S~QW
zDOin_A|Y!@lPL|gPWgiq6C~7Rb?1JB>PGoWF(G>_nPSPU%KG(sNutYSk4n8_8~Dm{
zuX7-*I=MEL{UDES^2XYM_L80Z*lFK98&to2c?pGnV>Y0_7+Bx2l2Z7x$9}ZVk14r2
zrsmLp-|$v=K$K*tQ)*D3rR)9pkcfU?wmd+(+d;~2*lnVt1~pU;9j?nB
zRu&clf$9{6yVO9caWh_+KR5hnoHAvfXaHL;MHb*V>I3
zalyU#iqgJ5H*2F`PNYcUKBFkcC|MFlP_e?{V;lH7JZS5oaf>#d@k(x>Ul?dq)y~%P
zzE=|kQ?u<+L*+lNj(P9(=EfMLWLFqR7Bxn)E9p{G@0m+WhY0m2bm(vI;G#
zn#yn{PxQMVDoZlrQr%f=ArzHK0Q&}?G3@3^Fy9Q2VAw(*fh`CK^!wann_q1^LgGJ6
zx-tCOVEE(d2%SNv0YNn-f)6eOrfebTGQ&n&Yj&=QMZL%2Tp
zmrlgWgQ7e>*m5$L#;1oUcPQ!oq(k+1End;^gGypee~>~U##7QFMOukHgr*y*4_F<}
zh*s7pQ>&`*%|Q$-!-*c?>8Jb&He+Y&uu6i7v5M8FljH`-_y~C)?M?YAXw50MLdT{`
z{3uY!vOx;4e8RZyVmJ2orf-qZa|G>|3Zcu}5=Q)*oE!sIViFAaSFTjrFMqYP>9Mb9
z79LgAS<_*fpg!qejuG#Q-^7AeXzNU`bdI2NtMzPZ;0A;CU0c_=b(o@kGJea|omJvp
zGvzj0gE(X3_r>~5KStM+h)_MakeNK6;(fp7gj6KG8?sOj37y!6Lbm}gb{bII4e~o}
zEIV$oJDs*WZ4*1xH9Olcb_Gv&I^}nb*>>?_HaI7cksz-kzfG*FUl;9lZ%nX|w$N5#Ig+_fn8Qrmpkvfi6k1HfWmB?JF0K>sZDGc7S19GibYdLVYoZFi~T
zcb)uCwGK}85vN>iXWDURfxBn=1m~^2RIBWb0Uwt3Hx)?_;*0)HJMN#({cJ^ZR-22_ZwTYj8-rK0)H}yH^>yeYZ#miTtUPiYyT{rg$w^#Q!e`~33
z3=3jjBmEOIe*W7IvR%mTyJLN`XWZT$)NZLMa<6W1uaG-t%zu%RcWPod%ORh1@UZHd
zXumsgyS6$YDmYF2V1SoDn#PfSLvX~Mk2qg#gSgM-ojZF1RFKDF1O|9(s4Jo292J{US4uRjp;-mN9991z}{oLf`pXGC&5
z4dp;}djH+y5TP*%Xtig4N`&FQV>er#F~-1pO{Z9*J-aO(N6x{VIWxN>oAg;afmUa3
z7XW6`h)|y?DC!SEo4p0&eiK*7;j=!b!XdVt&K7pZyAt?TAyWciVvZ_UI8v)nDP`Yn
zpF7s5)@doTyW`rQs^fM2M*?&!Uv88PugzW6G?i*|-kU1LcSad>d;e{8130rT=UWX_
zon~p)>$H5sN1Cq_Ihewd>C`s#RxbBa4W0tn;xvDo3>LomBPG0gXtqF!2~&
zV6L?!eBp>bXbL4f7$sbF)t<685c3z-w^rOqHJ-NEe6+ETHcQ+T29j2o9LJO@p%EJg
zKX&1qq=}*;>>ek0W7%XMJv&@)FJ!+v_I>s9hl6@TJYxU#4y-K?a#Y>yep42`e<^$@
zhK2faUN~L#4ajgxt9H;s&NE&>ZMpp7l5l>@HN)IpDDBpJuWZS-sYbd3k59q7Wi-mfb)0Q`m32Po*
z0_{80zin|)`>6;07(1`c@rF(x&UK!Xb@z5W1I=xNRtCX#3_0fSFV*Ps^@Rs3>9v*e
zh8BFC#l*04)n;Y+YF!K+%M?#XSgM8QURmcY|3%`)8+agr42Ft*q2~=8SlOQcybp^r
z0(_34ZU1~unvem$XI+8+ZWGeT0#Ie+ulxP3rnSWUuaTa8{9u5J0s^hLc;gP&0n^J&ugYaGQw1g`+aQoS-OM4rH0
zPRO3zSwf`w^@~tODR5Y|%p246*J(JP)1r?<-TtI`5|ovs#@Bef`+_`Oekoo0Ciyex
zqY~wGs`Lw8T4C$sNh-pOvMwHLPfMxdrR(DM;V9=AS7C+K1ztJMzlxF!-@gPNFBit0
z&N@_dQGKd=U(RryOsl$(JFwkSe%#JtnR=pD*Xvb$ZI^7~Yx@DLC^^1>#o$OWZ{~-o
z#i4)vGQrk%JU;~@HtdgW)6w{+v6bN_sc3C&}KC@WLE_zpD
zQ%Wcf&3pqYoC~u|L+KsrBEl
z+T?s3B+{&0+$HP*sG0)fP44uI9l~vESGL202GUsUa#w_a)Q$D43$>p=d&?1$zb&5K
z7}tI?q30%(k_`pcvEH?I&Z;&vkI*`LlT)r~j38C7St
z)mb8z{axU?jn;}8@Ih0S*Kt26H_7@aXU~&ZAsyy2nR%oW#QOm`+5}>%b(_4I>jh*K@A5;a2FAljaKfEjn56uqE>g
z%ThmcEZ&ZB@PJE(QTZO*N5q8bKgzTrDi*HtJM$l+O%hR13x3aWnEj?4g~Kf**cOe8#Xj@fXHJyCC)CxDj?9)pcA-+PE=jSph>eg7h>w8mUa|X;yVpDT
zXUhmqah?I6vgONH#SeR&3mUvhg*3mh^5rp9^H3Tk&pI>vYPJ+12vDt!?A^!yzwK#q
zceJRvSGa)dG=vHeL)jcD3hUp@LO0c+;r63rB~EYoVr|vs_0~m-TEhiyj4d4W221Ij
zYXIIREQxxX8RpGTe+tp`HqWgG=H}jL92VA#M59pnQ(@?Z;If{8VBU-d
zy0nIRdebv`^sH{x3FU|eQ3|c0xCb!bPoYWyxb)BbT8Zw(*mqKDnWgHuq@;wUq(Q^COi@B4Qp?7Yp`lVq^AdnzQJ_8-|9ZXbq!izZ)Z?*~
zl76$iS*40PmvS7Nim-IjfA*HXv?fV%=0sm?$cVN+51Hu~yC&Xw>rZ;!(t2|P2HSn*
zwiLRLX+|$(4!#c7*~*+`3x`tlj;V|ucJ=`s+I23+(oB3HYb=23
zla`re7zoC~B(3HKtFIbLNQFg*!O*4ku!SKxqFGo{ksSCBEOT3qn;1}_3*)qtOKtv~
z0!c{|7NtH;H0`dn^nuT~NQaiRW?j`}H^aAmYOzS_EW2q`Z8<{bA-^eLFR$RoO~X2u
z+@HZE)wXT)-7-unfU+x=R`p7T|NjmklVI%&l`!UltiMO0W|=s~_-;_`@)wnqF(CP}#O3Sd4I
zG+_71n)bs4q%oZ~9icA-s3ooJ^1#nWs>gdjZIzL9n7gV?Pw0aVboHM@*|Dc#9E;
z1>x~(iSkdh$W_F6m;!olRv`6b{
zqO1N$e#2)RoGg4dDAO>hc*^>%93mtqK)DG9oi?X4Z(bkWx*Gp7Fs%|Y
zJzLC>O%Ayaqq5jlN_i&VbE4GS-P+#V4+|k!Zw7Ti6bHE{X{092p%S=$J&kul`>IpV
zT9lBxjYJ9*D<#!9;h;5e@7s5?Z$5O8K4re!>wW)jh%9`T!XSg3u#d_;lUSsV+CZ}G
zP2w&{@c>^{a2Q_staH-_U!1rn==+obn2okn@i77P2%$w**#o+=)FwbwSo3lv%`Krq5p%6>KJpp^{mnu%x5H|>pxJ)ADFWP?
zdJwI1_AfW^Y3}hgKFU)d|&Xc%*%+g<*cfGpAMc!LxgDoAfx*^J##YHCm9<~
zRauaxdTDH-vnDc0jVo+Pi2$)rqu%*Ai#4Qa-lI~9iL`sCl|h3fUA;3oOqRL`1+_2sDT`lesYKObaoHY@S$&m(6M12m>3Kb}4Us
z>RF$_)BjbJ3)@mB!e`(>i;nqB1e?L(b^w$mUfwJ;vYp8<)P{3tLZn
zc)u=>Q#eh7Zj__IE~``M;0VZxU#5ypBN
zHQ8j5Wy)~^>R)%6hGd(xDJ?_qmw>1mYtbs2
V(2Y{lIG8X5m@sM<24P?b{SQ4TP7MG6
literal 0
HcmV?d00001
diff --git a/plugins.html b/plugins.html
new file mode 100644
index 0000000..a9eac89
--- /dev/null
+++ b/plugins.html
@@ -0,0 +1,294 @@
+
+
+Plugins
+
+
+
+
+
+
+
+
+
+
+
+
+
+| |
+There is much more plugin, service and dialog guids for ICQ in registry, and
+here is only guids, which, in my opinion, may be used in network packets:
+ |
+
+
+ |
+
+
+
+| {D140CF10-E94F-11D3-BCD2-0004AC96DD96} |
+| Status manager plugin. |
+ |
+ |
+ |
+
+
+ |
+
+
+
+| {373FE9A0-E94F-11D3-BCD2-0004AC96DD96} |
+| Info manager plugin. |
+ |
+ |
+ |
+
+
+ |
+
+
+
+| {ED2DED47-1FF2-11D4-BCFD-000629EE4DA1} |
+| User info plugin. |
+ |
+ |
+ |
+
+
+ |
+
+
+
+| {05736BBE-C20F-4F10-A6DE-4DB1E3564B0E} |
+| Message plugin. |
+ |
+ |
+ |
+
+
+ |
+
+
+
+| {D9122DF0-9130-11D3-8DD7-00104B06462E} |
+| File transfer plugin. |
+ |
+ |
+ |
+
+
+ |
+
+
+
+| {2C217C90-4D91-11D3-ADEB-0004AC96AAB2} |
+| Phone info plugin. |
+ |
+ |
+ |
+
+
+ |
+
+
+
+| {5C1E1E50-DD9E-11D3-AB1F-0050048EBC8D} |
+| White search plugin. |
+ |
+ |
+ |
+
+
+ |
+
+
+
+| {2CF86D50-DE72-11D3-AB21-0050048EBC8D} |
+| Search plugin. |
+ |
+ |
+ |
+
+
+ |
+
+
+
+| {72581C37-87E9-11D4-A4C1-00D0B759B1D9} |
+| URL plugin. |
+ |
+ |
+ |
+
+
+ |
+
+
+
+| {B220F7BF-8E37-11D4-BD28-0004AC96D905} |
+| Chat plugin. |
+ |
+ |
+ |
+
+
+ |
+
+
+
+| {467D0E2A-7676-11D4-BCE6-0004AC961EA6} |
+| Send contact list plugin. |
+ |
+ |
+ |
+
+
+ |
+
+
+
+| {00F6280E-E711-11D3-BCF3-0004AC969DC2} |
+| SMS plugin. |
+ |
+ |
+ |
+
+
+ |
+
+
+
+| {FDF5A13B-6ED2-403F-86E0-B4846B77DFA7} |
+| Features list plugin. |
+ |
+ |
+ |
+
+
+ |
+
+
+
+| {D68E4B1C-02E7-11D4-BCE8-0004AC96D905} |
+| Ext contacts plugin. |
+ |
+ |
+ |
+
+
+ |
+
+
+
+| {3DA8F160-4991-11D3-8DBE-00104B06462E} |
+| Random users service. |
+ |
+ |
+ |
+
+
+ |
+
+
+
+| {FB9F72C0-5678-11D3-8DC2-00104B06462E} |
+| Random plugin. |
+ |
+ |
+ |
+
+
+ |
+
+
+
+| {5A881D65-2A73-11D4-BD0A-000629EE4DA1} |
+| Wireless pager plugin. |
+ |
+ |
+ |
+
+
+ |
+
+
+
+| {393436BC-07A4-40A2-900C-35A9F003BE09} |
+| External plugin. |
+ |
+ |
+ |
+
+
+ |
+
+
+
+| {FADA1786-7E36-4EA0-8E1B-C6B3BD0E515C} |
+| Add user wizard plugin. |
+ |
+ |
+ |
+
+
+ |
+
+
+
+| {C031D0D1-312C-11D2-8A09-00104B9B48AB} |
+| Voice message plugin. |
+ |
+ |
+ |
+
+
+ |
+
+
+
+| {1CC913A1-7E1E-11D2-AC9F-00104BBC2B53} |
+| IRCQ plugin. |
+ |
+ |
+ |
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
diff --git a/rate_limits.html b/rate_limits.html
new file mode 100644
index 0000000..ef855af
--- /dev/null
+++ b/rate_limits.html
@@ -0,0 +1,312 @@
+
+
+Rate-limits description
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+| |
+
+
+Rate limits is a way to control client->server data flow. This is done
+by calculating rate level on every client snac. If client rate goes above alert
+server send warning, if it goes above limit server send warning and drop
+snacs from client, if it goes above disconnect level client disconnected from
+server and can't connect again for some time.
+
+
+At some point in the logon sequence the client should send
+SNAC(01,06) which is the "rate request" packet.
+In reply, the server will send the "rate response"
+SNAC(01,07) which contain rate limit parameters
+formatted as follows:
+
+
+
+First comes a word value telling you how many rate classes there are.
+Then for each class you get a structure like this:
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word |
+ |
+Rate class ID |
+
+
+
+ |
+
+
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+Window size |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+Clear level |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+Alert level |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+Limit level |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+Disconnect level |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+Current level |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+Max level |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+Last time; |
+
+
+| xx |
+ |
+byte |
+ |
+Current state; |
+
+
+
+ |
+
+ |
+ |
+
+
+
+And after those you get another set of structures (one for each class)
+like this:
+
+
+ |
+
+
+
+
+
+
+| xx xx |
+ |
+word |
+ |
+rate group id |
+
+
+| xx xx |
+ |
+word |
+ |
+count of pairs in group |
+
+
+
+ |
+
+
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+family/subtype pair #1 |
+
+
+| .... |
+ |
+.... |
+ |
+.... |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+family/subtype pair #n |
+
+
+
+ |
+
+ |
+
+ |
+
+
+
+
+The rest of the structure is just count word pairs, a SNAC family and SNAC
+subtype for each SNAC that will use the rate information from this class.
+
+
+If the number of classes received is zero you should not reply. If it is
+greater than zero, then you should reply with
+SNAC(01,08) - "rate acknowledge" which is just a list of words with
+the Class ID of each class you received.
+
+
+Now for some more explanations about the protocol. For each rate class, ICQ
+can be in one of three states: "limited" (state 1), in
+which no data is sent; "alert" (state 2), which is when
+you're sending too fast, but you aren't yet limited; and "clear"
+ (state 3), when everything is cool. Every time a packet is sent (assuming
+you aren't being "limited"), ICQ updates a "Last Time" value to keep track of
+the last sent time (as with the state value, there is a separate time for each
+rate class).
+
+
+It also looks up the time since the previous packet was sent and uses that
+to keep a running average of time between packets (I refer to this as the
+rate level). This level is calculated using a window size which specifies
+how many of the previous times to take into account, as follows:
+
+
+
+NewLevel = (Window - 1)/Window * OldLevel + 1/Window * CurrentTimeDiff
+
+
+
+There is also a Maximum Level at which this value will be capped. This formula
+is for both server and client because they both should calculate current level.
+You can check if your calculations is ok - just send
+SNAC(01,06) in the middle of a session and compare server value from
+SNAC(01,07) with yours.
+
+
+Once the new level has been calculated, ICQ updates your state as follows:
+if your level is less than the Limit Level your state will be set to 1
+("limited"); if it's greater than the Limit Level, but less than the Alert
+Level, your state will be set to 2 ("alert"); if it's greater than the Alert
+Level your state will be 3 ("clear"). If your state was already set to 1,
+the calculation is slightly different. It only compares your level against
+the Clear Level value - if it's greater than that, your state becomes 3
+("clear"), otherwise it remains at 1 ("limited"). And one more thing - icq
+often receive SNAC(01,07) with state=114 - this is ok, this mean that you
+not limited.
+
+
+Incidentally, this calculation happens before your packet is actually sent, so
+if your state changes to "limited" at this point, the packet won't be sent.
+If your state is not "clear", ICQ will also start a timer for some time in
+the future (the actual duration is rather complicated so I won't go into
+that now) so that your state can be recalculated, giving you a chance to get
+back to "clear".
+
+
+Now that you know the basic protocol, some of the SNAC parameters will make
+more sense. The Window Size is the Window mentioned in calculating the
+running average time between packets (the level). The Clear, Alert and Limit
+Levels are used in calculating the rate state. Disconnect level is the level
+at which the ICQ server will disconnect you so it doesn't used by the client.
+The Current level is what the level is initially set to you when SNAC 1/07 is
+received. The Max Level is what the level is capped at when calculating the
+running average.
+
+
+The Last Time is a duration in milliseconds which is used to set the initial
+value of the last sent time (the time is set to the specified duration into
+the past, i.e. 1000 milliseconds means 1 second ago). The Start State
+specifies the initial rate state, and although the state is immediately
+recalculated, the current state does effect that calculation (as explained
+above).
+
+ |
+ |
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
diff --git a/sequences.html b/sequences.html
new file mode 100644
index 0000000..71c086b
--- /dev/null
+++ b/sequences.html
@@ -0,0 +1,1107 @@
+
+
+Various sequences in OSCAR protocol
+
+
+
+
+
+
+
+
+
+| OSCAR sequences |
+ |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+| Retrieving offline messages sequence |
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+ICQ IM service has ability to save messages were sent to you when you was offline.
+ICQ client can request these saved messages (called offline messages) after
+login sequence. After receiving offline messages client
+should ask server to delete them or it will receive them in next request. If there
+is no offline messages server sends only
+SNAC(15,03)/0042 (without
+SNAC(15,03)/0041)
+
+
+ |
+
+
+| Retrieving offline messages |
+|
+
+
+
+ |
+
+ |
+ |
+
+
+
+ |
+ |
+
+ |
+
+ |
+
+
+
+
+
+
+
+
+
+| Retrieving user information sequence |
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+ICQ IM service user information is structured and has many fields. These fields
+divided into several sections: basic info, work info, more info, about info,
+extended email info, interests info, affilations info). There are 3 info requests
+client can send to get full or short user information:
+
+
+
+ |
+
+
+| Retrieving self full information |
+|
+
+
+ |
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+| Retrieving full user information (for another user) |
+|
+
+
+
+ |
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+| Retrieving short user information |
+|
+
+
+
+ |
+
+ |
+ |
+
+
+
+
+
+ |
+ |
+
+ |
+
+ |
+
+
+
+
+
+
+
+
+
+| Migration sequence |
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+Migration sequence used to redirect client to new BOS server during current BOS
+shutdown. Server can migrate whole connection or only several services. Migration
+always initiated by server. Server can abort migration sequence via
+SNAC(01,0D) - server resume command.
+
+
+
+
+ |
+
+
+| Migration sequence |
+
+
+
+
+| << |
+ SNAC(01,0B) |
+ Server sends pause. Client should stop send snacs |
+
+
+
+| >> |
+ SNAC(01,0C) |
+ Client ack pause command |
+
+
+
+| << |
+ SNAC(01,12) |
+ Server sends migration (cookie/BOS address) |
+
+
+
+| <> |
+ disconnect |
+ Client disconnects from BOS (only full migration) |
+
+
+
+| <> |
+ login (stage II) |
+ Client start normal login sequence from stage II |
+
+
+
+ |
+ |
+ |
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+| New uin registration sequence |
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+ICQ IM service supports automatic user registration. So client can obtain new
+account in real time. To perform new uin registration client should provide
+only password and random request id. Server also can reply via
+SNAC(17,01) if it can't create new user account.
+
+
+
+ |
+
+
+| New uin registration |
+
+
+
+
+| <> |
+ connect |
+ Client connects to authorizer server |
+
+
+
+| >> |
+ SNAC(17,04) |
+ Client sends registration request |
+
+
+
+| << |
+ SNAC(17,05) |
+ Server sends new uin (registration reply) |
+
+
+
+| <> |
+ disconnect |
+ Client disconnects from authorizer |
+
+
+
+
+ |
+ |
+ |
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+| Delete user ICQ account sequence |
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+This sequence used to unregister ICQ account. Use this carefully - this request
+completely removes your uin from server. You should provide password for this
+uin because it is required during unregistration.
+
+
+ |
+
+
+| Unregistration sequence |
+|
+
+
+ |
+ |
+ |
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+| Send user warning sequence |
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+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%.
+
+
+ |
+
+
+| Send warning sequence |
+
+
+
+
+| >> |
+ SNAC(04,08) |
+ Client sends warning to user |
+
+
+
+| << |
+ SNAC(04,09) |
+ Server ack (new user warn level & warn level diff) |
+
+
+
+
+ |
+ |
+ |
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+| Change user info sequence |
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+ICQ service user information is structured and has many fields. These fields
+divided into several sections: basic info, work info, more info, about info,
+extended email info, interests info, affilations info, password, permissions)
+and you can save info by sections. Here is the sequences to change user
+information:
+
+
+
+ |
+
+| Change basic info sequence |
+|
+
+
+ |
+ |
+ |
+
+
+
+
+ |
+
+| Change work info sequence |
+|
+
+
+ |
+ |
+ |
+
+
+
+
+ |
+
+| Change more info sequence |
+|
+
+
+ |
+ |
+ |
+
+
+
+
+ |
+
+| Change notes info sequence |
+|
+
+
+ |
+ |
+ |
+
+
+
+
+ |
+
+| Change extended email info sequence |
+|
+
+ |
+ |
+ |
+
+
+
+
+ |
+
+| Change interests info sequence |
+|
+
+ |
+ |
+ |
+
+
+
+
+ |
+
+| Change affilations info sequence |
+|
+
+ |
+ |
+ |
+
+
+
+
+ |
+
+| Change user permissions sequence |
+|
+
+ |
+ |
+ |
+
+
+
+ |
+
+| Change user password sequence |
+|
+
+ |
+ |
+ |
+
+
+
+
+ |
+
+| Change homepage category/description sequence |
+|
+
+ |
+ |
+ |
+
+
+
+
+Modern ICQ client use another way to update user information. They send single
+unified request packet which contain tlv chain with data fields client want to
+change. Here is the sequence:
+
+
+ |
+
+| Change user permissions sequence |
+|
+
+ |
+ |
+ |
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+| AIM change account info sequence |
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+This sequence used to change AIM service account info (screenname formatting, email,
+password). Server should ack account change request by SNAC(07,02)
+
+
+ |
+
+
+| Change account info sequence |
+
+
+
+
+| >> |
+ SNAC(07,04) |
+ Client sends new account info to server |
+
+
+
+| << |
+ SNAC(07,05) |
+ Server sends account change result |
+
+
+
+ |
+ |
+ |
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+| Client verification sequence |
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+This request used by AOL AIM server to recognize clone clients. The
+request contains eight bytes. The first four are an offset, the second
+four are a length.
+
+
+When the client receives the request, it adds it to the current ds
+(0x00400000) and dereferences it, copying the data into a buffer which
+it then runs directly through the MD5 hasher. The 16 byte output of
+the hash is then sent back to the server.
+
+
+ |
+
+
+| Client verification |
+
+
+
+
+| << |
+ SNAC(01,1F) |
+ Server ack client for verification reply |
+
+
+
+| >> |
+ SNAC(01,20) |
+ Client sends verification reply |
+
+
+
+ |
+ |
+ |
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
diff --git a/service_request.html b/service_request.html
new file mode 100644
index 0000000..96fc458
--- /dev/null
+++ b/service_request.html
@@ -0,0 +1,166 @@
+
+
+Service request sequence
+
+
+
+
+
+
+
+
+
+| OSCAR sequences |
+ |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+
+| Service request sequence description |
+
+
+ |
+
+
+ | | |
+
+
+Service request is a way to get service not supported by BOS server. For
+example AOL server currently doesn't support SSBI
+service on main BOS connection. So service request is a first thing you should do if
+you want to deal with SSBI. This sequence looks like login, but not so complicated.
+Just look at the sequence example dump here.
+
+
+
+ |
+
+| Correct service request sequence |
+
+
+
+
+| >> |
+ SNAC(01,04) |
+ Client ask server for service on BOS connection |
+
+
+
+| << |
+ SNAC(01,05) |
+ Server reply with ip addres, port and auth cookie to client |
+
+
+
+| Now client makes connection to specified service server |
+
+
+
+| <> |
+ connect |
+ Client connects to service server |
+
+
+
+| >> |
+ cli_cookie |
+ Client sends cookie |
+
+
+
+| << |
+ SNAC(01,03) |
+ Server sends supported services list |
+
+
+
+| >> |
+ SNAC(01,17) |
+ Client ask for services version numbers |
+
+
+
+| << |
+ SNAC(01,18) |
+ Server sends its services version numbers |
+
+
+
+| >> |
+ SNAC(01,06) |
+ Client ask server for rate limits info |
+
+
+
+| << |
+ SNAC(01,07) |
+ Server sends rate limits information |
+
+
+
+| >> |
+ SNAC(01,08) |
+ Client ack connection rate limits |
+
+
+
+| >> |
+ SNAC(01,02) |
+ Client READY command |
+
+
+
+| Now client have BOS & service connections... |
+
+
+
+ |
+ |
+ |
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_01.html b/snac_01_01.html
new file mode 100644
index 0000000..f64dda3
--- /dev/null
+++ b/snac_01_01.html
@@ -0,0 +1,166 @@
+
+
+SNAC(01,01) server generic service error
+
+
+
+
+
+
+
+
+
+| SNAC(01,01) |
+SRV_GEN_ERROR |
+
+
+ |
+
+ |
+
+
+
+
+
+This is an error notification snac.
+See also error types complete list.
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error code (see list) |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - error subcode, from "tlv tags" list |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error subcode |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 E1 CA 00 0C 00 01 00 01 00 00 99 D0 07 62 *..............b
+ 00 05 ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_02.html b/snac_01_02.html
new file mode 100644
index 0000000..a572f0b
--- /dev/null
+++ b/snac_01_02.html
@@ -0,0 +1,188 @@
+
+
+SNAC(01,02) client ready (tools libraries versions)
+
+
+
+
+
+
+
+
+
+| SNAC(01,02) |
+CLI_READY |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the last snac in protocol negotiation sequence.
+It tells BOS that we are ready to go online. Client must send this snac within 30 seconds after
+signon, or the connection will be dropped. See also known
+families list.
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family number #1 |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family #1 version |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family #1 tool id; see comments below. |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family #1 tool version |
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family number #n |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family #n version |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family #n tool id |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family #n tool version |
+
+
+ |
+ |
+ Some years ago in protocol version "2" tool id field has
+been used to describe client software release (java, mac, win16, win32,
+mac68k, macppc). It seems what value is from the set of values for
+TLV(0x16) in the following list. Also i've
+seen combination of tool_id & tool_version in windows ICQ client protocol
+dll.
+
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 22 A3 00 5A 00 01 00 02 00 00 00 00 00 02 *."..Z..........
+ 00 01 00 03 01 10 04 7B 00 13 00 02 01 10 04 7B ................
+ 00 02 00 01 01 01 04 7B 00 03 00 01 01 10 04 7B ................
+ 00 15 00 01 01 10 04 7B 00 04 00 01 01 10 04 7B ................
+ 00 06 00 01 01 10 04 7B 00 09 00 01 01 10 04 7B ................
+ 00 0A 00 01 01 10 04 7B 00 0B 00 01 01 10 04 7B ................
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_03.html b/snac_01_03.html
new file mode 100644
index 0000000..7c144f5
--- /dev/null
+++ b/snac_01_03.html
@@ -0,0 +1,137 @@
+
+
+SNAC(01,03) server supported snac families list
+
+
+
+
+
+
+
+
+
+| SNAC(01,03) |
+SRV_FAMILIES |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the first snac in protocol negotiation sequence.
+Client shouldn't use families not listed in this SNAC. See also known
+families list. So if your client use SNAC(13) family and
+server SNAC(01,03) doesn't contain it - your client should popup "server error" message
+when user want's to change server-stored information (SSI).
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family number #1 |
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family number #n |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 3D FE 00 22 00 01 00 03 00 00 82 95 E5 7A *.=..".........z
+ 00 01 00 02 00 03 00 04 00 06 00 08 00 09 00 0A ................
+ 00 0B 00 0C 00 13 00 15 ........
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_04.html b/snac_01_04.html
new file mode 100644
index 0000000..733b6d0
--- /dev/null
+++ b/snac_01_04.html
@@ -0,0 +1,144 @@
+
+
+SNAC(01,04) request for new service
+
+
+
+
+
+
+
+
+
+| SNAC(01,04) |
+CLI_SERVICExREQ |
+
+
+ |
+
+ |
+
+
+
+
+
+Used when client want to use new service. Server should respond with
+SNAC(01,05), that contain BOS server
+address and authorization cookie.
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ requested service (family) id |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | May contain TLV sequence here. |
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+ 2A 02 3E 02 00 0C 00 01 00 04 00 00 00 00 00 05 *.>.............
+ 00 0D ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_05.html b/snac_01_05.html
new file mode 100644
index 0000000..1c17b1f
--- /dev/null
+++ b/snac_01_05.html
@@ -0,0 +1,277 @@
+
+
+SNAC(01,05) service redirect
+
+
+
+
+
+
+
+
+
+| SNAC(01,05) |
+SRV_REDIRECTxSERVICE |
+
+
+ |
+
+ |
+
+
+
+
+
+Server replies with this SNAC to SNAC(01,04) - client
+service request. After receiving this snac client should connect to specified
+server to use requested service.
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 0D |
+ |
+ word |
+ |
+ TLV.Type(0x0D) - service (family) id |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Service (family) id |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ TLV.Type(0x05) - server address |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ Server address and (optional) port |
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ TLV.Type(0x06) - authorization cookie |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ Authorization cookie |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 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
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_06.html b/snac_01_06.html
new file mode 100644
index 0000000..f168727
--- /dev/null
+++ b/snac_01_06.html
@@ -0,0 +1,110 @@
+
+
+SNAC(01,06) client rate limites request
+
+
+
+
+
+
+
+
+
+| SNAC(01,06) |
+CLI_RATES_REQUEST |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this SNAC to request server rate-limits. This happens
+during protocol negotiation sequence.
+Server should reply via SNAC(01,07).
+You can read rate limits detailed information here.
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+|
+ empty (no snac data)
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 22 96 00 0A 00 01 00 06 00 00 00 00 00 06 *.".............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_07.html b/snac_01_07.html
new file mode 100644
index 0000000..52bf0cd
--- /dev/null
+++ b/snac_01_07.html
@@ -0,0 +1,479 @@
+
+
+SNAC(01,07) rate-limits info
+
+
+
+
+
+
+
+
+
+| SNAC(01,07) |
+SRV_RATE_LIMIT_INFO |
+
+
+ |
+
+ |
+
+
+
+
+
+This snac contain server information about its snac-rate limitations.
+You can read rate limits detailed information here.
+See also SNAC(01,0A) for more info.
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+ | |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Number of rate classes |
+
+
+ |
+
+
+
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Rate class ID #1 |
+
+
+
+ |
+
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Window size |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Clear level |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Alert level |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Limit level |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Disconnect level |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Current level |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Max level |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Last time; not present in protocol version 2 |
+
+
+ | xx |
+ |
+ byte |
+ |
+ Current state; not present in protocol version 2 |
+
+
+
+ |
+
+ |
+
+
+
+ | .... |
+ |
+ .... |
+ |
+ .... |
+
+
+
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Rate class ID #N |
+
+
+
+ |
+
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Window size |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Clear level |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Alert level |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Limit level |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Disconnect level |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Current level |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Max level |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Last time; not present in protocol version 2 |
+
+
+ | xx |
+ |
+ byte |
+ |
+ Current state; not present in protocol version 2 |
+
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Rate group ID #1 |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Number of pairs in group |
+
+
+
+ |
+
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Family/Subtype pair #1 |
+
+
+ | .... |
+ |
+ .... |
+ |
+ .... |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Family/Subtype pair #n |
+
+
+
+ |
+
+ |
+
+
+
+ | .... |
+ |
+ .... |
+ |
+ .... |
+
+
+
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Rate group ID #N |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Number of pairs in group |
+
+
+
+ |
+
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Family/Subtype pair #1 |
+
+
+ | .... |
+ |
+ .... |
+ |
+ .... |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Family/Subtype pair #n |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 38 BE 03 3B 00 01 00 07 00 00 00 00 00 06 *.8..;..........
+ 00 05 00 01 00 00 00 50 00 00 09 C4 00 00 07 D0 .......P........
+ 00 00 05 DC 00 00 03 20 00 00 0D 69 00 00 17 70 ....... ...i...p
+ 00 00 00 00 00 00 02 00 00 00 50 00 00 0B B8 00 ..........P.....
+ 00 07 D0 00 00 05 DC 00 00 03 E8 00 00 17 70 00 ..............p.
+ 00 17 70 00 00 F9 0B 00 00 03 00 00 00 14 00 00 ..p.............
+ 13 EC 00 00 13 88 00 00 0F A0 00 00 0B B8 00 00 ................
+ 11 47 00 00 17 70 00 00 5C D8 00 00 04 00 00 00 .G...p..\.......
+ 14 00 00 15 7C 00 00 14 B4 00 00 10 68 00 00 0B ............h...
+ B8 00 00 17 70 00 00 1F 40 00 00 F9 0B 00 00 05 ....p...@.......
+ 00 00 00 0A 00 00 15 7C 00 00 14 B4 00 00 10 68 ...............h
+ 00 00 0B B8 00 00 17 70 00 00 1F 40 00 00 F9 0B .......p...@....
+ 00 00 01 00 91 00 01 00 01 00 01 00 02 00 01 00 ................
+ 03 00 01 00 04 00 01 00 05 00 01 00 06 00 01 00 ................
+ 07 00 01 00 08 00 01 00 09 00 01 00 0A 00 01 00 ................
+ 0B 00 01 00 0C 00 01 00 0D 00 01 00 0E 00 01 00 ................
+ 0F 00 01 00 10 00 01 00 11 00 01 00 12 00 01 00 ................
+ 13 00 01 00 14 00 01 00 15 00 01 00 16 00 01 00 ................
+ 17 00 01 00 18 00 01 00 19 00 01 00 1A 00 01 00 ................
+ 1B 00 01 00 1C 00 01 00 1D 00 01 00 1E 00 01 00 ................
+ 1F 00 01 00 20 00 01 00 21 00 02 00 01 00 02 00 .... ...!.......
+ 02 00 02 00 03 00 02 00 04 00 02 00 06 00 02 00 ................
+ 07 00 02 00 08 00 02 00 0A 00 02 00 0C 00 02 00 ................
+ 0D 00 02 00 0E 00 02 00 0F 00 02 00 10 00 02 00 ................
+ 11 00 02 00 12 00 02 00 13 00 02 00 14 00 02 00 ................
+ 15 00 03 00 01 00 03 00 02 00 03 00 03 00 03 00 ................
+ 06 00 03 00 07 00 03 00 08 00 03 00 09 00 03 00 ................
+ 0A 00 03 00 0B 00 03 00 0C 00 04 00 01 00 04 00 ................
+ 02 00 04 00 03 00 04 00 04 00 04 00 05 00 04 00 ................
+ 07 00 04 00 08 00 04 00 09 00 04 00 0A 00 04 00 ................
+ 0B 00 04 00 0C 00 04 00 0D 00 04 00 0E 00 04 00 ................
+ 0F 00 04 00 10 00 04 00 11 00 04 00 12 00 04 00 ................
+ 13 00 04 00 14 00 06 00 01 00 06 00 02 00 06 00 ................
+ 03 00 08 00 01 00 08 00 02 00 09 00 01 00 09 00 ................
+ 02 00 09 00 03 00 09 00 04 00 09 00 09 00 09 00 ................
+ 0A 00 09 00 0B 00 0A 00 01 00 0A 00 02 00 0A 00 ................
+ 03 00 0B 00 01 00 0B 00 02 00 0B 00 03 00 0B 00 ................
+ 04 00 0C 00 01 00 0C 00 02 00 0C 00 03 00 13 00 ................
+ 01 00 13 00 02 00 13 00 03 00 13 00 04 00 13 00 ................
+ 05 00 13 00 06 00 13 00 07 00 13 00 08 00 13 00 ................
+ 09 00 13 00 0A 00 13 00 0B 00 13 00 0C 00 13 00 ................
+ 0D 00 13 00 0E 00 13 00 0F 00 13 00 10 00 13 00 ................
+ 11 00 13 00 12 00 13 00 13 00 13 00 14 00 13 00 ................
+ 15 00 13 00 16 00 13 00 17 00 13 00 18 00 13 00 ................
+ 19 00 13 00 1A 00 13 00 1B 00 13 00 1C 00 13 00 ................
+ 1D 00 13 00 1E 00 13 00 1F 00 13 00 20 00 13 00 ............ ...
+ 21 00 13 00 22 00 13 00 23 00 13 00 24 00 13 00 !..."...#...$...
+ 25 00 13 00 26 00 13 00 27 00 13 00 28 00 15 00 %...&...'...(...
+ 01 00 15 00 02 00 15 00 03 00 02 00 06 00 03 00 ................
+ 04 00 03 00 05 00 09 00 05 00 09 00 06 00 09 00 ................
+ 07 00 09 00 08 00 03 00 02 00 02 00 05 00 04 00 ................
+ 06 00 04 00 02 00 02 00 09 00 02 00 0B 00 05 00 ................
+ 00 .
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_08.html b/snac_01_08.html
new file mode 100644
index 0000000..1e7a36a
--- /dev/null
+++ b/snac_01_08.html
@@ -0,0 +1,135 @@
+
+
+SNAC(01,08) client add rate-limits group
+
+
+
+
+
+
+
+
+
+| SNAC(01,08) |
+CLI_RATES_ACK |
+
+
+ |
+
+ |
+
+
+
+
+
+Client send this SNAC to notify server that rate limits accepted. SNAC contain
+rate groups ID number list.
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ rate group ID #1 |
+
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ rate group ID #n |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 22 97 00 14 00 01 00 08 00 00 00 00 00 08 *.".............
+ 00 01 00 02 00 03 00 04 00 05 ..........
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_09.html b/snac_01_09.html
new file mode 100644
index 0000000..629caed
--- /dev/null
+++ b/snac_01_09.html
@@ -0,0 +1,122 @@
+
+
+SNAC(01,09) client delete rate-limits group
+
+
+
+
+
+
+
+
+
+| SNAC(01,09) |
+CLI_RATES_DEL |
+
+
+ |
+
+ |
+
+
+
+
+
+Server sends this SNAC to notify clients that some rate limit groups
+deleted. SNAC contain rate groups ID number list.
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ rate group ID #1 |
+
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ rate group ID #n |
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_0a.html b/snac_01_0a.html
new file mode 100644
index 0000000..b4a8017
--- /dev/null
+++ b/snac_01_0a.html
@@ -0,0 +1,246 @@
+
+
+SNAC(01,0A) rate-limilts warning/notice
+
+
+
+
+
+
+
+
+
+| SNAC(01,0A) |
+SRV_RATE_LIMIT_WARN |
+
+
+ |
+
+ |
+
+
+
+
+
+Server send this snac when you goes over rate limit or when rate parameters
+changing. You can read detailed information about rate limites
+here. See also
+SNAC(01,07) for more info. Snac content is described by "message code".
+Here is the known code list:
+
+
+
+
+
+| 0x0001 |
+ Rate limits parameters changed |
+
+
+| 0x0002 |
+ Rate limits warning (current level < alert level) |
+
+
+| 0x0003 |
+ Rate limit hit (current level < limit level) |
+
+
+| 0x0004 |
+ Rate limit clear (current level become > clear level) |
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+ | |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Message code (see above) |
+
+
+ |
+
+
+
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Rate class ID |
+
+
+
+ |
+
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Window size |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Clear level |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Alert level |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Limit level |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Disconnect level |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Current level |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Max level |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Last time; not present in protocol version 2 |
+
+
+ | xx |
+ |
+ byte |
+ |
+ Current state; not present in protocol version 2 |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 39 00 00 37 00 01 00 0A 80 00 85 1B 57 65 *.9..7........We
+ 00 06 00 01 00 02 00 03 00 02 00 03 00 00 00 14 ................
+ 00 00 13 EC 00 00 13 88 00 00 0F A0 00 00 0B B8 ................
+ 00 00 13 17 00 00 17 70 00 00 00 00 00 .......p.....
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_0b.html b/snac_01_0b.html
new file mode 100644
index 0000000..7e06278
--- /dev/null
+++ b/snac_01_0b.html
@@ -0,0 +1,140 @@
+
+
+SNAC(01,0B) server pause command
+
+
+
+
+
+
+
+
+
+| SNAC(01,0B) |
+SRV_PAUSE |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the first SNAC in client migration sequence.
+See also known families list. Client
+should ack pause command with SNAC(01,0C) and
+stop send packets until it receive server resume SNAC(01,0D),
+or migration notice SNAC(01,12). Migration
+sequence used to redirect client to new BOS server during current BOS
+shutdown. Families array is optional.
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0B |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family number #1 |
+
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family number #n |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 E5 65 00 0A 00 01 00 0B 00 00 8E CC C4 DF *..e............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_0c.html b/snac_01_0c.html
new file mode 100644
index 0000000..b5d8230
--- /dev/null
+++ b/snac_01_0c.html
@@ -0,0 +1,134 @@
+
+
+SNAC(01,0C) client pause ack
+
+
+
+
+
+
+
+
+
+| SNAC(01,0C) |
+CLI_PAUSE_ACK |
+
+
+ |
+
+ |
+
+
+
+
+
+The server sends a Server Pause message SNAC(01,0B), which the client should respond to with a
+this server_pause_ack snac, which contains the families it needs on this connection
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0C |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family number #1 |
+
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family number #n |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 1F BD 00 18 00 01 00 0C 00 00 00 00 00 0C *...............
+ 00 01 00 02 00 03 00 15 00 04 00 09 00 0A ..............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_0d.html b/snac_01_0d.html
new file mode 100644
index 0000000..e8c55ed
--- /dev/null
+++ b/snac_01_0d.html
@@ -0,0 +1,137 @@
+
+
+SNAC(01,0B) server resume command
+
+
+
+
+
+
+
+
+
+| SNAC(01,0D) |
+SRV_RESUME |
+
+
+ |
+
+ |
+
+
+
+
+
+After this SNAC client, paused by SNAC(01,0B) may
+continue send packets to BOS. Migration sequence used to redirect client to new
+BOS server during current BOS shutdown. Families
+array is optional.
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0D |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family number #1 |
+
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family number #n |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 E5 65 00 0A 00 01 00 0D 00 00 8E CC C4 DE *..e............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_0e.html b/snac_01_0e.html
new file mode 100644
index 0000000..cb470b5
--- /dev/null
+++ b/snac_01_0e.html
@@ -0,0 +1,110 @@
+
+
+SNAC(01,0E) client own online info request
+
+
+
+
+
+
+
+
+
+| SNAC(01,0E) |
+CLI_REQ_SELFINFO |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this SNAC to request own online information
+(like direct connection info). Server should respond with
+SNAC(01,0F).
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0E |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+|
+ empty (no snac data)
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 22 98 00 0A 00 01 00 0E 00 00 00 00 00 0E *.".............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_0f.html b/snac_01_0f.html
new file mode 100644
index 0000000..0e2299c
--- /dev/null
+++ b/snac_01_0f.html
@@ -0,0 +1,581 @@
+
+
+SNAC(01,0F) server online info reply
+
+
+
+
+
+
+
+
+| SNAC(01,0F) |
+SRV_ONLINExINFO
+ |
+ |
+ |
+
+
+
+
+Server reply with this SNAC to client SNAC(01,0E) request.
+Also it sends this snac after client status change. Status change notification SNAC(01,0F) doesn't contain
+TLV(0x0C), but contain TLV(0x06). See also additional
+information about online userinfo block.
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0F |
+ |
+ 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 |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Number of TLV in list |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 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 1E |
+ |
+ word |
+ |
+ TLV.Type(0x1E) - unknown value |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Unknown value |
+
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ TLV.Type(0x05) - member since |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Time when this account was registered |
+
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+ 2A 02 3E 02 00 75 00 01 00 0F 00 00 00 00 00 0E *.>..u..........
+ 07 36 32 31 38 38 39 35 00 00 00 08 00 01 00 02 .6218895........
+ 00 80 00 0C 00 25 00 00 00 00 00 00 00 00 00 00 .....%..........
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+ 00 00 00 00 00 00 00 00 00 00 00 00 0A 00 04 3E ...............>
+ 4C CF DE 00 0F 00 04 00 00 00 02 00 03 00 04 3D L..............=
+ D4 CB 2F 00 0A 00 04 3E 4C CF DE 00 1E 00 04 00 ../....>L.......
+ 00 00 00 00 05 00 04 34 98 DC 74 .......4..t
+
+ -----------------------------------------------------------------
+
+ 2A 02 3E 09 00 4C 00 01 00 0F 00 00 82 95 E8 FD *.>..L..........
+ 07 36 32 31 38 38 39 35 00 00 00 07 00 01 00 02 .6218895........
+ 00 80 00 06 00 04 20 13 00 00 00 0F 00 04 00 00 ...... .........
+ 00 04 00 03 00 04 3D D4 CB 2F 00 0A 00 04 3E 4C ......=../....>L
+ CF DE 00 1E 00 04 00 00 00 00 00 05 00 04 34 98 ..............4.
+ DC 74 .t
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_10.html b/snac_01_10.html
new file mode 100644
index 0000000..2760240
--- /dev/null
+++ b/snac_01_10.html
@@ -0,0 +1,342 @@
+
+
+SNAC(01,10) evil notification
+
+
+
+
+
+
+
+
+
+| SNAC(01,10) |
+SRV_EVIL_NOTICE |
+
+
+ |
+
+ |
+
+
+
+
+
+You'll receive this snac when somebody complain about you to an OSCAR server.
+This snac contain your new warning_level and (optionaly) info about complaining
+user. Anonymous evil notification doesn't contain user info. See also
+additional information about online userinfo block.
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 10 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ new warning level |
+
+
+
+
+
+|
+Following user info may be repeated more then once
+ |
+
+
+
+
+ | xx |
+ |
+ char |
+ |
+ uin string length |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ uin string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ warning level |
+
+
+ | 00 04 |
+ |
+ 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 0F |
+ |
+ word |
+ |
+ TLV.Type(0x0F) - online time |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Client online time |
+
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - signon time |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Time when client gone online |
+
+
+
+ |
+ |
+ | |
+ |
+
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+ 2A 02 12 05 00 38 00 01 00 10 00 00 8E 36 C7 B1 *....8.......6..
+ 00 0A 07 36 32 31 38 38 39 35 00 00 00 04 00 01 ...6218895......
+ 00 02 00 06 00 04 00 02 00 00 00 0F 00 04 00 00 ................
+ 00 00 00 03 00 04 3D E7 38 8B 00 01 00 01 ......=.8.....
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_11.html b/snac_01_11.html
new file mode 100644
index 0000000..fc15b3d
--- /dev/null
+++ b/snac_01_11.html
@@ -0,0 +1,122 @@
+
+
+SNAC(01,11) client set idle time command
+
+
+
+
+
+
+
+
+
+| SNAC(01,11) |
+CLI_SETxIDLExTIME |
+
+
+ |
+
+ |
+
+
+
+
+
+Set idle information. If idle_secs field is 0 then the user isn't idle at all and
+the server informs all watching clients to remove idletime-string in their tooltip
+of my uin-item. If idle_secs field is greater then 0 then the user has already been
+idle for idle_secs number of seconds. The server will automatically keep
+incrementing this number, so do not repeatedly call with new idle times.
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 11 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ idle_secs |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 E5 65 00 12 00 01 00 1F 00 00 82 E8 D1 D1 *..e............
+ 00 00 00 3C ....
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_12.html b/snac_01_12.html
new file mode 100644
index 0000000..ffbcc53
--- /dev/null
+++ b/snac_01_12.html
@@ -0,0 +1,284 @@
+
+
+SNAC(01,12) server migration notice
+
+
+
+
+
+
+
+
+
+| SNAC(01,12) |
+SRV_MIGRATION |
+
+
+ |
+ |
+
+
+
+
+
+This is the last SNAC in client migration sequence.
+See also known families list.
+Client should open new connection to specified server and use this connection for specified families. If there is no
+family list (empty) or it contain all connection families - client should close current connection and use new one.
+Migration sequence used to redirect client to new BOS server during current BOS shutdown.
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 12 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Number of families in migration list |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Family to migrate #1 |
+
+
+ | .... |
+ |
+ .... |
+ |
+ .... |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Family to migrate #n |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ TLV.Type(0x05) - server address |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ Server address and (optional) port |
+
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ TLV.Type(0x06) - authorization cookie |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ Authorization cookie |
+
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 E5 66 00 3A 00 01 00 12 00 00 8E CC C4 E0 *..f.:..........
+ 00 04 00 01 00 02 00 03 00 15 00 05 00 0F 31 30 ..............10
+ 2E 31 30 2E 31 30 2E 38 3A 35 31 39 30 00 06 00 .10.10.8:5190...
+ 0F 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 .123456789ABCDEF
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_13.html b/snac_01_13.html
new file mode 100644
index 0000000..90b3517
--- /dev/null
+++ b/snac_01_13.html
@@ -0,0 +1,247 @@
+
+
+SNAC(01,13) message of the day (motd)
+
+
+
+
+
+
+
+
+
+| SNAC(01,13) |
+SRV_MOTD |
+
+
+ |
+
+ |
+
+
+
+
+
+Server send this during protocol negotiation
+sequence. Various docs call this SNAC as "message of the day" but it looks like
+that ICQ2K+ ignores this SNAC completely.
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ motd message type |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Type(0x02) - unknown value (ICQ only) |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | 00 1E |
+ |
+ word |
+ |
+ Unknown value |
+
+
+
+ |
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - unknown value (ICQ only) |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | 04 B0 |
+ |
+ word |
+ |
+ Unknown value |
+
+
+
+ |
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 0B |
+ |
+ word |
+ |
+ TLV.Type(0x0B) - motd message |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ Motd message string |
+
+
+
+ |
+ |
+ | |
+ |
+ |
+
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+ 2A 02 3E 00 00 18 00 01 00 13 00 00 82 95 E6 5C *.>............\
+ 00 05 00 02 00 02 00 1E 00 03 00 02 04 B0 ..............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_01_14.html b/snac_01_14.html
new file mode 100644
index 0000000..e92be96
--- /dev/null
+++ b/snac_01_14.html
@@ -0,0 +1,122 @@
+
+
+SNAC(01,14) client set privacy flags request
+
+
+
+
+
+
+
+
+
+| SNAC(01,14) |
+CLI_SET_PRIVACY |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this to set its privacy settings. The request contain flags (4 bytes
+long).
+
+Bit 1 - Allows other AIM users to see how long you've been idle.
+Bit 2 - Allows other AIM users to see how long you've been a member.
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 14 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | 00 00 00 03 |
+ |
+ dword |
+ |
+ privacy flags |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 12 95 00 0e 00 01 00 14 00 00 00 00 00 14 *...............
+ 00 00 00 03 ....
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_16.html b/snac_01_16.html
new file mode 100644
index 0000000..54288cc
--- /dev/null
+++ b/snac_01_16.html
@@ -0,0 +1,113 @@
+
+
+SNAC(01,16) no operation
+
+
+
+
+
+
+
+
+
+| SNAC(01,16) |
+CLI_KEEPALIVE |
+
+
+ |
+
+ |
+
+
+
+
+
+WinAIM (AIM service) use this snac to keep connection alive. This is usefull
+when it use proxy server to connect to BOS. Proxy servers can disconnect client
+if there is no activity for some time. ICQ use channel 5 FLAPs for this issue.
+
+It is strongly advised for client developers to use channel 5 FLAPs to keep
+connection alive because this save traffic. SNAC(01,16) is deprecated and not
+used anymore.
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 16 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+|
+ (empty) no snac data
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 E5 65 00 0A 00 01 00 16 00 00 89 CD C1 E1 *..e............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_17.html b/snac_01_17.html
new file mode 100644
index 0000000..3a0b219
--- /dev/null
+++ b/snac_01_17.html
@@ -0,0 +1,154 @@
+
+
+SNAC(01,17) client snac families versions request
+
+
+
+
+
+
+
+
+
+| SNAC(01,17) |
+CLI_FAMILIES_VERSIONS |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the client response to SNAC(01,03). This snac
+contain families versions which client want's from server. Server should respond
+with SNAC(01,18). Client sends this SNAC during
+protocol negotiation sequence. See also known
+families list.
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 17 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family number #1 |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family version |
+
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family number #n |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family version |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 22 95 00 32 00 01 00 17 00 00 00 00 00 17 *."..2..........
+ 00 01 00 03 00 13 00 02 00 02 00 01 00 03 00 01 ................
+ 00 15 00 01 00 04 00 01 00 06 00 01 00 09 00 01 ................
+ 00 0A 00 01 00 0B 00 01 ........
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_18.html b/snac_01_18.html
new file mode 100644
index 0000000..c63a286
--- /dev/null
+++ b/snac_01_18.html
@@ -0,0 +1,153 @@
+
+
+SNAC(01,18) server snac families versions response
+
+
+
+
+
+
+
+
+
+| SNAC(01,18) |
+SRV_FAMILIES_VERSIONS |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the server response to SNAC(01,17). This snac
+contain families versions which server supports. Server sends this SNAC during
+protocol negotiation sequence. See also known
+families list.
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 18 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family number #1 |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family version |
+
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family number #n |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ family version |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 3D FF 00 3A 00 01 00 18 00 00 82 95 E6 5B *.=..:.........[
+ 00 01 00 03 00 02 00 01 00 03 00 01 00 04 00 01 ................
+ 00 06 00 01 00 08 00 01 00 09 00 01 00 0A 00 01 ................
+ 00 0B 00 01 00 0C 00 01 00 13 00 04 00 15 00 01 ................
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_1e.html b/snac_01_1e.html
new file mode 100644
index 0000000..f4d9df4
--- /dev/null
+++ b/snac_01_1e.html
@@ -0,0 +1,402 @@
+
+
+SNAC(01,1E) client update status and dc info
+
+
+
+
+
+
+
+
+
+| SNAC(01,1E) |
+CLI_SETxSTATUS |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this SNAC to update status and direct connection information. Also it contain last info update time information.
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 1E |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ TLV.Type(0x06) - user status / status flags |
+
+
+ | 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 11 |
+ |
+ word |
+ |
+ TLV.Type(0x11) - times update (optional) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ update type #1 (01 - last info update time, 02 - ... ) |
+
+
+ | xx xx xx xx |
+ |
+ byte |
+ |
+ updated time #1 |
+
+
+ | .... |
+ |
+ .... |
+ |
+ .... |
+
+
+ | xx |
+ |
+ byte |
+ |
+ update type #n |
+
+
+ | xx xx xx xx |
+ |
+ byte |
+ |
+ updated time #n |
+
+
+
+ |
+ |
+ | |
+ |
+ |
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 12 |
+ |
+ word |
+ |
+ TLV.Type(0x12) - unknown (optional) |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ unknown value |
+
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+ 2A 02 1F B6 00 41 00 01 00 1E 00 00 00 00 00 1E *....A..........
+ 00 06 00 04 00 03 00 00 00 08 00 02 00 00 00 0C ................
+ 00 25 0A 0A 0A 08 00 00 26 2C 04 00 07 34 F9 C6 .%......&,...4..
+ 54 00 00 00 50 00 00 00 03 3D DA EE D0 3D E1 8A T...P....=...=..
+ 3B 00 00 00 00 00 00 ;......
+
+ -----------------------------------------------------------------
+
+ 2A 02 23 2B 00 12 00 01 00 1E 00 00 00 00 00 1E *.#+............
+ 00 06 00 04 20 03 00 20 .... ..
+
+ -----------------------------------------------------------------
+
+ 2A 02 7D 0E 00 4A 00 01 00 1E 00 00 00 00 00 1E *....J..........
+ 00 06 00 04 00 02 00 00 00 0C 00 25 0A 0A 0A 08 ...........%....
+ 00 00 4F 24 04 00 07 F4 5E 6B EC 00 00 00 50 00 ..O$....^k....P.
+ 00 00 03 3E 20 8F E5 3D F2 44 FB 3D F7 EF 47 00 ...> ..=.D.=..G.
+ 00 00 11 00 05 01 E5 8F 20 3E 00 12 00 02 00 00 ........ >......
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_1f.html b/snac_01_1f.html
new file mode 100644
index 0000000..9a45588
--- /dev/null
+++ b/snac_01_1f.html
@@ -0,0 +1,142 @@
+
+
+SNAC(01,1F) server client verification command
+
+
+
+
+
+
+
+
+
+| SNAC(01,1F) |
+SRV_CLI_VERIFICATION |
+
+
+ |
+
+ |
+
+
+
+
+
+The verification request contains eight bytes. The first four are an offset,
+the second four are a length.
+The offset is an offset into aim.exe when it is mapped during execution
+on Win32. So far, AOL has only been requesting bytes in static regions
+of memory.
+When the client recieves the request, it adds it to the current ds
+(0x00400000) and dereferences it, copying the data into a buffer which
+it then runs directly through the MD5 hasher. The 16 byte output of
+the hash is then sent back to the server.
+If the client does not send any data back, or the data does not match
+the data that the specific client should have, the client will get the
+following message from "AOL Instant Messenger":
+"You have been disconnected from the AOL Instant Message
+Service (SM) for accessing the AOL network using unauthorized software.
+You can download a FREE, fully featured, and authorized client, here
+http://www.aol.com/aim/download2.html"
+The connection is then closed, recieving disconnect code 1, URL
+http://www.aim.aol.com/errors/USER_LOGGED_OFF_NEW_LOGIN.html.
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 1F |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Requested data offset |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Requested data length |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 E5 65 00 12 00 01 00 1F 00 00 82 E8 D1 D1 *..e............
+ 03 FF FF FF 03 FF FF FF ........
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_20.html b/snac_01_20.html
new file mode 100644
index 0000000..c509f07
--- /dev/null
+++ b/snac_01_20.html
@@ -0,0 +1,131 @@
+
+
+SNAC(01,20) client verification reply
+
+
+
+
+
+
+
+
+
+| SNAC(01,20) |
+CLI_VERIFICATION_REPLY |
+
+
+ |
+ |
+
+
+
+
+
+This is the client verification reply for server client-verification
+SNAC(01,1F). It contain MD5 hash
+(16 bytes long) of requested by server winaim.exe static memory region.
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 20 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx xx xx |
+ |
+ array |
+ |
+ MD5 hash array (16 bytes) |
+
+
+ | xx xx xx xx |
+ |
+
+
+ | xx xx xx xx |
+ |
+
+
+ | xx xx xx xx |
+ |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 D5 66 00 1A 00 01 00 20 00 00 87 E4 D2 C8 *..f............
+ 1D F8 CB AE 55 23 B8 39 A0 E1 0D B3 A4 6D 3B 39 ....U..9.....m;9
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_01_21.html b/snac_01_21.html
new file mode 100644
index 0000000..cbda03c
--- /dev/null
+++ b/snac_01_21.html
@@ -0,0 +1,214 @@
+
+
+SNAC(01,21) your extended status from server
+
+
+
+
+
+
+
+
+
+| SNAC(01,21) |
+SRV_EXT_STATUS |
+
+
+ |
+
+ |
+
+
+
+
+
+This is an own extended status notification. You'll get this when
+you have server-stored icon or if you setup iChat "available" message. It's
+also used to tell the client whether or not it needs to upload an SSI buddy
+icon. Check for buddy icons info here.
+
+About icon flags byte. Its purpose is unknown, but i found that bit8=1 is a
+command to upload icon to server and it is appeared after changing corresponding
+ssi item.
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 21 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ notice type (0x0000 & 0x0001 - SSBI info) |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ icon flags (bitmask) |
+
+
+ | xx |
+ |
+ byte |
+ |
+ icon md5 hash length (allways 16) |
+
+
+ | xx .. |
+ |
+ array |
+ |
+ icon md5 hash array |
+
+
+
+ |
+ |
+ | |
+ |
+ |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ notice type (0x0002 - iChat "available" message) |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ length of message |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ iChat available message |
+
+
+
+ |
+ |
+ | |
+ |
+ |
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 26 0F 00 1E 00 01 00 21 00 00 C8 4C DF CE *.&..&...!...L..
+ 00 01 41 10 FC 23 B3 F7 C8 00 D3 92 EF 5E 06 8A ..A..#.......^..
+ D3 66 7F C7 .f..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_02_01.html b/snac_02_01.html
new file mode 100644
index 0000000..1a1ed86
--- /dev/null
+++ b/snac_02_01.html
@@ -0,0 +1,166 @@
+
+
+SNAC(02,01) server location service error
+
+
+
+
+
+
+
+
+
+| SNAC(02,01) |
+SRV_LOCATION_ERROR |
+
+
+ |
+
+ |
+
+
+
+
+
+This is an error notification snac.
+See also error types complete list.
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error code (see list) |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - error subcode, from "tlv tags" list |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error subcode |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 E1 CA 00 0C 00 02 00 01 00 00 99 D0 07 62 *..............b
+ 00 0E ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_02_02.html b/snac_02_02.html
new file mode 100644
index 0000000..64a9087
--- /dev/null
+++ b/snac_02_02.html
@@ -0,0 +1,108 @@
+
+
+SNAC(02,02) request location service parameters
+
+
+
+
+
+
+
+
+
+| SNAC(02,02) |
+CLI_LOCATION_RIGHTS_REQ |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this SNAC to request location service parameters and limitations.
+Server should reply via SNAC(02,03).
+
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+|
+ empty (no snac data)
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 22 9B 00 0A 00 02 00 02 00 00 00 00 00 02 *.".............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_02_03.html b/snac_02_03.html
new file mode 100644
index 0000000..724f130
--- /dev/null
+++ b/snac_02_03.html
@@ -0,0 +1,299 @@
+
+
+SNAC(02,03) location service parameters
+
+
+
+
+
+
+
+
+
+| SNAC(02,03) |
+SRV_LOCATION_RIGHTS_REPLY |
+
+
+ |
+
+ |
+
+
+
+
+
+Server replies with this SNAC to SNAC(02,02) - client
+service parameters request.
+
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - profile max len |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Client max profile lenght |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Type(0x02) - max capabilities |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Max capabilities (CLSIDs) |
+
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - unknown |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | 00 0A |
+ |
+ word |
+ |
+ unknown value |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Type(0x04) - unknown (icq2001+ only) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | 10 00 |
+ |
+ word |
+ |
+ unknown value |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 3E 03 00 22 00 02 00 03 00 00 00 00 00 02 *.>.."..........
+ 00 01 00 02 04 00 00 02 00 02 00 10 00 03 00 02 ................
+ 00 0A 00 04 00 02 10 00 ........
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_02_04.html b/snac_02_04.html
new file mode 100644
index 0000000..df795f8
--- /dev/null
+++ b/snac_02_04.html
@@ -0,0 +1,209 @@
+
+
+SNAC(02,04) set location information
+
+
+
+
+
+
+
+
+
+| SNAC(02,04) |
+CLI_SET_LOCATION_INFO |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this snac to set its location information (like client profile string,
+client directory profile string, client capabilities). Capability - 16 byte array,
+also known as CLSID string. Current ICQ versions update only caps info - TLV(0x05).
+
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - mime type |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx ..... xx |
+ |
+ string |
+ |
+ mime type name |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ TLV.Type(0x05) - CLSID values |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 22 A0 00 4E 00 02 00 04 00 00 00 00 00 04 *."..N..........
+ 00 05 00 40 09 46 13 49 4C 7F 11 D1 82 22 44 45 ...@.F.IL...."DE
+ 53 54 00 00 97 B1 27 51 24 3C 43 34 AD 22 D6 AB ST.....Q$.C4....
+ F7 3F 14 92 2E 7A 64 75 FA DF 4D C8 88 6F EA 35 .?...zdu..M..o.5
+ 95 FD B6 DF 09 46 13 44 4C 7F 11 D1 82 22 44 45 .....F.DL...."DE
+ 53 54 00 00 ST..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_02_05.html b/snac_02_05.html
new file mode 100644
index 0000000..df6ef57
--- /dev/null
+++ b/snac_02_05.html
@@ -0,0 +1,136 @@
+
+
+SNAC(02,05) request user location info
+
+
+
+
+
+
+
+
+
+| SNAC(02,05) |
+CLI_LOCATION_INFO_REQ |
+
+
+ |
+
+ |
+
+
+
+
+
+Every client can request another user location info. There are three known request
+types: 1 - general info, 2 - short user info, 3 - away message, 4 - client capabilities.
+Server should reply via SNAC(02,06). Reply contain fixed
+part "short info" (class, status, dc, ip, times) and request dependent part
+(caps | profile | away message).
+
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Type of the requesting info |
+
+
+ | xx |
+ |
+ char |
+ |
+ User uin string length |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ User uin string |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 22 A3 00 15 00 02 00 05 00 00 00 00 00 05 *."..Z..........
+ 00 01 07 36 32 31 38 38 39 35 ....6218895
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_02_06.html b/snac_02_06.html
new file mode 100644
index 0000000..d16ce85
--- /dev/null
+++ b/snac_02_06.html
@@ -0,0 +1,812 @@
+
+
+SNAC(02,06) requested user location info
+
+
+
+
+
+
+
+
+
+| SNAC(02,06) |
+SRV_USERxONLINExINFO |
+
+
+ |
+
+ |
+
+
+
+
+
+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 ?
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_02_07.html b/snac_02_07.html
new file mode 100644
index 0000000..d495e42
--- /dev/null
+++ b/snac_02_07.html
@@ -0,0 +1,118 @@
+
+
+SNAC(02,07) watcher sub request
+
+
+
+
+
+
+
+
+
+| SNAC(02,07) |
+CLI_WATCHERxSUBxREQUEST |
+
+
+ |
+
+ |
+
+
+
+
+ Watcher sub request. Server should respond with
+SNAC(02,08).
+
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ unknown |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_02_08.html b/snac_02_08.html
new file mode 100644
index 0000000..759ed4d
--- /dev/null
+++ b/snac_02_08.html
@@ -0,0 +1,146 @@
+
+
+SNAC(02,08) watcher notification
+
+
+
+
+
+
+
+
+
+| SNAC(02,08) |
+SRV_WATCHERxNOTIFICATION |
+
+
+ |
+
+ |
+
+
+
+
+ Watcher notification. See also complete snac list for this service
+here.
+
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ watcher screen name #1 strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ watcher screen name #1 string |
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+ | xx |
+ |
+ byte |
+ |
+ watcher screen name #n strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ watcher screen name #n string |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_02_09.html b/snac_02_09.html
new file mode 100644
index 0000000..0e76e6d
--- /dev/null
+++ b/snac_02_09.html
@@ -0,0 +1,629 @@
+
+
+SNAC(02,09) client update directory profile request
+
+
+
+
+
+
+
+
+
+| SNAC(02,09) |
+CLI_UPDATExDIRxINFO |
+
+
+ |
+
+ |
+
+
+
+
+ AIM client query to save directory info. Server should reply via
+SNAC(02,0A).
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - first name |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ first name |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Type(0x02) - last name |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ last name |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - middle name |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ middle name string |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Type(0x04) - maiden name |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ maiden name |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ TLV.Type(0x06) - country |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ country (two letter code) |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ TLV.Type(0x07) - state |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ state name string |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - city |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ city |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 0A |
+ |
+ word |
+ |
+ TLV.Type(0x0A) - unknown |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ unknown |
+
+
+
+ |
+
+ |
+ | |
+|
+ |
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 0C |
+ |
+ word |
+ |
+ TLV.Type(0x0C) - nick name |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ nick name |
+
+
+
+ |
+
+ |
+
+ | |
+ |
+ |
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 0D |
+ |
+ word |
+ |
+ TLV.Type(0x0D) - zip code |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ zip code number |
+
+
+
+ |
+
+ |
+
+ | |
+ |
+ |
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 21 |
+ |
+ word |
+ |
+ TLV.Type(0x21) - Street addr |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ Street address |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+ 00 02 00 09 00 00 00 04 00 09 00 1C 00 08 75 73 ........ ......us
+ 2D 61 73 63 69 69 00 0A 00 02 00 01 00 01 00 09 -ascii.. ........
+ 46 69 72 73 74 4E 61 6D 65 00 02 00 08 4C 61 73 FirstNam e....Las
+ 74 4E 61 6D 65 00 03 00 0A 4D 69 64 6C 64 65 4E tName... .MidldeN
+ 61 6D 65 00 04 00 0A 4D 61 69 64 65 6E 4E 61 6D ame....M aidenNam
+ 65 00 06 00 02 52 55 00 07 00 02 53 54 00 08 00 e....RU. ...ST...
+ 04 43 69 74 79 00 0C 00 08 4E 69 63 6B 4E 61 6D .City... .NickNam
+ 65 00 0D 00 06 36 38 30 30 33 38 00 21 00 0A 53 e....680 038.!..S
+ 74 72 65 65 74 41 64 64 72 treetAdd r
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_02_0a.html b/snac_02_0a.html
new file mode 100644
index 0000000..894ff45
--- /dev/null
+++ b/snac_02_0a.html
@@ -0,0 +1,119 @@
+
+
+SNAC(02,0A) update directiry info reply
+
+
+
+
+
+
+
+
+
+| SNAC(02,0A) |
+SRV_UPDATExDIRxINFOxRESULT |
+
+
+ |
+
+ |
+
+
+
+
+
+Server replies with this SNAC to SNAC(02,09) -
+update directory info request.
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0A |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ result code (1 - ok, 0 - fail) |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 97 63 00 0C 00 02 00 0A 00 00 00 07 00 09 *.×c............
+ 00 01 ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_02_0b.html b/snac_02_0b.html
new file mode 100644
index 0000000..7b3f0dc
--- /dev/null
+++ b/snac_02_0b.html
@@ -0,0 +1,124 @@
+
+
+SNAC(02,0B) query for SNAC(02,0C)
+
+
+
+
+
+
+
+
+
+| SNAC(02,0B) |
+CLI_UNKNOWN |
+
+
+ |
+
+ |
+
+
+
+
+ Query some info for screen name. Server should respond with
+SNAC(02,0C).
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0B |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ length of screen name |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ screen name |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 58 39 00 13 00 02 00 0B 00 00 00 03 00 0B *.X9............
+ 08 73 6F 6D 65 6E 69 63 6B .somenick
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_02_0c.html b/snac_02_0c.html
new file mode 100644
index 0000000..04da0e5
--- /dev/null
+++ b/snac_02_0c.html
@@ -0,0 +1,125 @@
+
+
+SNAC(02,0C) reply for SNAC(02,0B)
+
+
+
+
+
+
+
+
+
+| SNAC(02,0C) |
+SRV_UNKNOWN |
+
+
+ |
+
+ |
+
+
+
+
+
+Server replies with this SNAC to SNAC(02,0B) -
+info request by screen name.
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0C |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ unknown (may be tlv type ?) |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ unknown (may be tlv length ?) |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 97 52 00 0E 00 02 00 0C 00 00 00 03 00 0B *.×R............
+ 00 01 00 00 ....
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_02_0f.html b/snac_02_0f.html
new file mode 100644
index 0000000..821d4d4
--- /dev/null
+++ b/snac_02_0f.html
@@ -0,0 +1,255 @@
+
+
+SNAC(02,0F) update user directory interests query
+
+
+
+
+
+
+
+
+
+| SNAC(02,0F) |
+CLI_UPDATExDIRxINTERESTS |
+
+
+ |
+
+ |
+
+
+
+
+ Query to save interests info in directory. Server should respond with
+SNAC(02,10). This snac may contain up to 5 TLV(0x0b).
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0F |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 0a |
+ |
+ word |
+ |
+ TLV.Type(0x0a) - unknown |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Unknown (privacy flags ?) |
+
+
+
+ |
+
+ |
+
+ | |
+|
+ |
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 0b |
+ |
+ word |
+ |
+ TLV.Type(0x0b) - interest1 |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ interest1 string |
+
+
+
+ |
+
+ |
+
+ | |
+|
+ |
+
+
+
+ | |
+ .... |
+ .... |
+ .... |
+
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 0b |
+ |
+ word |
+ |
+ TLV.Type(0x0b) - interest5 |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ interest5 string |
+
+
+
+ |
+
+ |
+
+ | |
+|
+ |
+
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+ 2A 02 58 5A 00 0A 00 02 00 0F 00 00 00 08 00 0F *.XZ............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_02_10.html b/snac_02_10.html
new file mode 100644
index 0000000..49820ca
--- /dev/null
+++ b/snac_02_10.html
@@ -0,0 +1,118 @@
+
+
+SNAC(02,10) reply for SNAC(02,0F)
+
+
+
+
+
+
+
+
+
+| SNAC(02,10) |
+SRV_UNKNOWN |
+
+
+ |
+
+ |
+
+
+
+
+
+Server replies with this SNAC to SNAC(02,0F) -
+info request for current user.
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 10 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ unknown |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 97 64 00 0C 00 02 00 10 00 00 00 08 00 0F *.×d............
+ 00 01 ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_02_15.html b/snac_02_15.html
new file mode 100644
index 0000000..519438e
--- /dev/null
+++ b/snac_02_15.html
@@ -0,0 +1,158 @@
+
+
+SNAC(02,15) query user online info
+
+
+
+
+
+
+
+
+
+| SNAC(02,15) |
+CLI_GETxONLINExUSERxINFO |
+
+
+ |
+
+ |
+
+
+
+
+ Query user online info by screen name. Server should respond with
+SNAC(02,06).
+Here is the table for request flags bitmask:
+
+
+
+
+
+
+| 0x00000001 |
+ User profile requested (tlv(1)/tlv(2)) |
+
+
+| 0x00000002 |
+ User away message requested (tlv(3)/tlv(4)) |
+
+
+| 0x00000004 |
+ User capability block requested (tlv(5)) |
+
+
+| 0x00000008 |
+ Certification info requested (tlv(1b) ?) |
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 15 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Request flags |
+
+
+ | xx |
+ |
+ byte |
+ |
+ length of screen name |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ screen name |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 58 44 00 17 00 02 00 15 00 00 00 04 00 15 *.XD............
+ 00 00 00 01 08 73 6F 6D 65 6E 69 63 6B .....somenick
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_03_01.html b/snac_03_01.html
new file mode 100644
index 0000000..9eabd01
--- /dev/null
+++ b/snac_03_01.html
@@ -0,0 +1,166 @@
+
+
+SNAC(03,01) server buddylist service error
+
+
+
+
+
+
+
+
+
+| SNAC(03,01) |
+SRV_BLM_ERROR |
+
+
+ |
+
+ |
+
+
+
+
+
+This is an error notification snac.
+See also error types complete list.
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error code (see list) |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - error subcode, from "tlv tags" list |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error subcode |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 E1 CA 00 0C 00 03 00 01 00 00 97 D2 07 63 *..............c
+ 00 0E ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_03_02.html b/snac_03_02.html
new file mode 100644
index 0000000..62b6c96
--- /dev/null
+++ b/snac_03_02.html
@@ -0,0 +1,108 @@
+
+
+SNAC(03,02) request baddylist service parameters
+
+
+
+
+
+
+
+
+
+| SNAC(03,02) |
+CLI_BUDDYLIST_RIGHTS_REQ |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this SNAC to request buddylist service parameters and limitations.
+Server should reply via SNAC(03,03).
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+|
+ empty (no snac data)
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 22 9B 00 0A 00 03 00 02 00 00 00 00 00 02 *.".............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_03_03.html b/snac_03_03.html
new file mode 100644
index 0000000..3845403
--- /dev/null
+++ b/snac_03_03.html
@@ -0,0 +1,250 @@
+
+
+SNAC(03,03) buddylist service parameters
+
+
+
+
+
+
+
+
+
+| SNAC(03,03) |
+SRV_BUDDYLIST_RIGHTS_REPLY |
+
+
+ |
+
+ |
+
+
+
+
+
+Server replies with this SNAC to SNAC(03,02) - client
+service parameters request.
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - max buddylist size |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Max number of contact list entries |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Type(0x02) - max num of watchers |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Max number of watcher list entries |
+
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - max online notifications ? |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | 00 0A |
+ |
+ word |
+ |
+ Max online notifications ? |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 3E 04 00 1C 00 03 00 03 00 00 00 00 00 02 *.>.............
+ 00 02 00 02 02 EE 00 01 00 02 02 58 00 03 00 02 ...........X....
+ 02 00 ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_03_04.html b/snac_03_04.html
new file mode 100644
index 0000000..bbd6cf2
--- /dev/null
+++ b/snac_03_04.html
@@ -0,0 +1,151 @@
+
+
+SNAC(03,04) add buddies to contact list
+
+
+
+
+
+
+
+
+
+| SNAC(03,04) |
+CLI_BUDDYLIST_ADD |
+
+
+ |
+
+ |
+
+
+
+
+
+Use this this to add new buddies to your client-side contact list. You can delete buddies from contact
+using SNAC(03,05). See also complete snac list for this service
+here.
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ buddy id #1 strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ buddy id #1 string |
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+ | xx |
+ |
+ byte |
+ |
+ buddy id #n strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ buddy id #n string |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 62 79 00 48 00 03 00 04 00 00 00 00 00 04 *.by.H..........
+ 07 31 30 30 30 30 30 30 04 31 30 30 31 07 36 32 .1000000.1001.62
+ 31 38 38 39 37 07 36 32 31 38 38 39 38 07 36 32 18897.6218898.62
+ 31 38 38 39 39 07 36 32 31 38 39 30 30 08 31 30 18899.6218900.10
+ 30 30 30 30 30 31 07 36 32 31 38 38 39 35 000001.6218895
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_03_05.html b/snac_03_05.html
new file mode 100644
index 0000000..424ace5
--- /dev/null
+++ b/snac_03_05.html
@@ -0,0 +1,148 @@
+
+
+SNAC(03,05) remove buddies from contact list
+
+
+
+
+
+
+
+
+
+| SNAC(03,05) |
+CLI_BUDDYLIST_REMOVE |
+
+
+ |
+
+ |
+
+
+
+
+
+Use this this to remove buddies from your client-side contact list during session.
+You can add buddies to contact list via SNAC(03,04). See also complete snac list for this service
+here.
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ buddy id #1 strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ buddy id #1 string |
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+ | xx |
+ |
+ byte |
+ |
+ buddy id #n strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ buddy id #n string |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 62 79 00 12 00 03 00 05 00 00 00 00 00 05 *.by............
+ 07 31 30 30 30 30 30 30 .1000000
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_03_06.html b/snac_03_06.html
new file mode 100644
index 0000000..f301032
--- /dev/null
+++ b/snac_03_06.html
@@ -0,0 +1,109 @@
+
+
+SNAC(03,06) request watchers list
+
+
+
+
+
+
+
+
+
+| SNAC(03,06) |
+CLI_WATCHERS_REQUEST |
+
+
+ |
+
+ |
+
+
+
+
+
+Use this request list of users who have you in yours contacts.
+Currently this future doesn't work for ICQ. BOS server should
+reply via SNAC(03,07).
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+|
+ empty (no snac data)
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 16 91 00 0A 00 03 00 06 00 00 00 03 00 06 *.".............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_03_07.html b/snac_03_07.html
new file mode 100644
index 0000000..425740b
--- /dev/null
+++ b/snac_03_07.html
@@ -0,0 +1,152 @@
+
+
+SNAC(03,07) watchers list (reverse contact list)
+
+
+
+
+
+
+
+
+
+| SNAC(03,07) |
+SRV_WATCHERS_LIST |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the server reply to client watchers list request:SNAC(03,06).
+The reply contain list of users who have you in your contacts. Another IM systems call this future
+"reverse list". Currently it seems to me that this future doesn't work for ICQ (and AIM ?).
+See also complete snac list for this service here.
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ buddy id #1 strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ buddy id #1 string |
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+ | xx |
+ |
+ byte |
+ |
+ buddy id #n strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ buddy id #n string |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 63 79 00 48 00 03 00 07 00 00 00 03 00 07 *.by.I..........
+ 07 31 30 30 30 30 30 30 04 31 30 30 31 07 36 32 .1000000.1001.62
+ 31 38 38 39 37 07 36 32 31 38 38 39 38 07 36 32 18897.6218898.62
+ 31 38 38 39 39 07 36 32 31 38 39 30 30 08 31 30 18899.6218900.10
+ 30 30 30 30 30 31 07 36 32 31 38 38 39 35 000001.6218895
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_03_08.html b/snac_03_08.html
new file mode 100644
index 0000000..ac25737
--- /dev/null
+++ b/snac_03_08.html
@@ -0,0 +1,118 @@
+
+
+SNAC(03,08) watcher sub request
+
+
+
+
+
+
+
+
+
+| SNAC(03,08) |
+CLI_WATCHERxSUBxREQUEST |
+
+
+ |
+
+ |
+
+
+
+
+ Watcher sub request. Server should respond with
+SNAC(03,09) (?).
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ unknown |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_03_09.html b/snac_03_09.html
new file mode 100644
index 0000000..d14a74d
--- /dev/null
+++ b/snac_03_09.html
@@ -0,0 +1,160 @@
+
+
+SNAC(03,09) watcher notification
+
+
+
+
+
+
+
+
+
+| SNAC(03,09) |
+SRV_WATCHERxNOTIFICATION |
+
+
+ |
+
+ |
+
+
+
+
+ Watcher notification. See also complete snac list for this service
+here.
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ watcher screen name #1 strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ watcher screen name #1 string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ watcher transition (?) #1 |
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+ | xx |
+ |
+ byte |
+ |
+ watcher screen name #n strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ watcher screen name #n string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ watcher transition (?) #n |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_03_0a.html b/snac_03_0a.html
new file mode 100644
index 0000000..68fa4da
--- /dev/null
+++ b/snac_03_0a.html
@@ -0,0 +1,150 @@
+
+
+SNAC(03,0A) user notification rejected
+
+
+
+
+
+
+
+
+
+| SNAC(03,0A) |
+SRV_NOTIFICATION_REJECTED |
+
+
+ |
+
+ |
+
+
+
+
+
+Sometimes server send this as reply for SNAC(03,04)
+entry. This mean that it can't send notification about this user for some reason.
+The reason is unknown. See also complete snac list for this service
+here.
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0A |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ buddy id #1 strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ buddy id #1 string |
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+ | xx |
+ |
+ byte |
+ |
+ buddy id #n strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ buddy id #n string |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 3E 11 00 14 00 03 00 0A 00 00 82 95 E9 15 *.>.............
+ 09 31 33 33 39 34 38 38 32 32 .133948822
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_03_0b.html b/snac_03_0b.html
new file mode 100644
index 0000000..d713aa0
--- /dev/null
+++ b/snac_03_0b.html
@@ -0,0 +1,792 @@
+
+
+SNAC(03,0B) user moved online
+
+
+
+
+
+
+
+
+
+| SNAC(03,0B) |
+SRV_USER_ONLINE |
+
+
+ |
+
+ |
+
+
+
+
+
+Server sends this snac when user from your contact list goes online.
+Also you'll receive this snac on user status change (in this case snac doesn't
+contain TLV(0xC)). See also additional
+information about online userinfo block.
+
+For those who don't know what "UNIX time_t" format is, it's the format used to
+represent times as unsigned long's in UNIX and some DOS-based libc's. It's simply
+the number of seconds elapsed from the 01 January 1970 00:00:00 UTC. (This is often
+referred to as "the UNIX epoch".) Both of the times in this command (at positions
+27 and 35) are stored in this format (and yes, these will fail because of the
+y2.048k bug).
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0B |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+
+
+|
+Following user info may be repeated more then once
+ |
+
+
+
+ | xx |
+ |
+ char |
+ |
+ uin string length |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ uin string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ warning level (unused in ICQ) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Number of TLV in info-tlvlist |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - user class |
+
+
+ | 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 |
+ |
+ (id=1) last info update time (unix time_t) |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ (id=2) last ext info update time (i.e. icqphone status) |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ (id=3) 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 06 |
+ |
+ word |
+ |
+ TLV.Type(0x06) - user status |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 0D |
+ |
+ word |
+ |
+ TLV.Type(0x0D) - user capabilities |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 0F |
+ |
+ word |
+ |
+ TLV.Type(0x0F) - online time |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Client online time (in seconds) |
+
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - signon time |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Time when client gone online (unix time_t) |
+
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 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 11 |
+ |
+ word |
+ |
+ TLV.Type(0x11) - times updated |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ updated time id (1,2,3) - see above in TLV(0xC) |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ updated time value |
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+ | xx |
+ |
+ byte |
+ |
+ updated time id (1,2,3) |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ updated time value |
+
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 19 |
+ |
+ word |
+ |
+ TLV.Type(0x19) - new-style capabilities list |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 1D |
+ |
+ word |
+ |
+ TLV.Type(0x1D) - user icon id & hash |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ User icon (avatar) id |
+
+
+ | xx |
+ |
+ byte |
+ |
+ User icon (avatar) flags |
+
+
+ | xx |
+ |
+ byte |
+ |
+ User icon hash length (allways 16) |
+
+
+ | xx .. xx |
+ |
+ array |
+ |
+ User icon md5 hash |
+
+
+
+ |
+ |
+ | |
+ |
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+ 2A 02 3E 17 00 A9 00 03 00 0B 00 00 82 95 E9 1B *.>.............
+ 07 33 34 31 33 39 35 30 00 00 00 07 00 01 00 02 .3413950........
+ 00 50 00 0C 00 25 3E 4C CF 2D 00 00 4A 68 04 00 .P...%>L.-..Jh..
+ 08 70 7B D5 5B 00 00 00 50 00 00 00 03 3B FF E8 .p..[...P....;..
+ 8A 3D CF 01 51 3D CE F8 61 00 00 00 0A 00 04 3E .=..Q=..a......>
+ 4C CF 2D 00 06 00 04 20 12 00 00 00 0D 00 40 09 L.-.... ......@.
+ 46 13 49 4C 7F 11 D1 82 22 44 45 53 54 00 00 09 F.IL...."DEST...
+ 46 13 4E 4C 7F 11 D1 82 22 44 45 53 54 00 00 97 F.NL...."DEST...
+ B1 27 51 24 3C 43 34 AD 22 D6 AB F7 3F 14 92 09 .'Q$.C4."...?...
+ 46 13 44 4C 7F 11 D1 82 22 44 45 53 54 00 00 00 F.DL...."DEST...
+ 0F 00 04 00 00 88 B4 00 03 00 04 3D D4 42 7F ...........=.B.
+
+ And one more packet with TLV(0x1D)
+ 2A 02 26 12 00 7F 00 03 00 0B 00 00 C8 4D E4 6F *.&..........M.o
+ 09 33 34 38 39 33 34 37 37 34 00 00 00 07 00 01 .348934774......
+ 00 02 00 50 00 0C 00 25 00 00 00 00 00 00 00 00 ...P...%........
+ 04 00 09 CD A9 3C 4C 00 00 7C 0F 00 00 00 01 00 .....<L..|......
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0A 00 ................
+ 04 00 00 00 00 00 06 00 04 10 00 00 00 00 0F 00 ................
+ 04 00 00 03 F6 00 1D 00 14 00 01 01 10 51 BD 67 .............Q.g
+ 50 54 3B D5 CE 72 88 14 1D A9 05 0D 70 00 03 00 PT;..r......p...
+ 04 41 EC 78 5A .A.xZ
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_03_0c.html b/snac_03_0c.html
new file mode 100644
index 0000000..9f35ec6
--- /dev/null
+++ b/snac_03_0c.html
@@ -0,0 +1,192 @@
+
+
+SNAC(03,0C) user moved offline
+
+
+
+
+
+
+
+
+
+| SNAC(03,0C) |
+SRV_USER_OFFLINE
+ |
+ |
+ |
+
+
+
+
+Server send this when user from your contact list goes offline. See also
+additional information about online
+userinfo block. Complete snac list for this service
+here.
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0C |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+| Following user info may be repeated more then once
+ |
+
+
+
+ | xx |
+ |
+ char |
+ |
+ uin string length |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ uin string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ warning level (unused in ICQ) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Number of TLV in info-tlvlist |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - user class |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+
+ |
+ |
+ | |
+|
+ |
+ |
+
+ |
+ |
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 3F 3A 00 1D 00 03 00 0C 00 00 82 99 4A AC *.?:..........J.
+ 08 33 32 37 31 34 39 34 34 00 00 00 01 00 01 00 .32714944.......
+ 02 00 00 ...
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_04_01.html b/snac_04_01.html
new file mode 100644
index 0000000..53273f4
--- /dev/null
+++ b/snac_04_01.html
@@ -0,0 +1,174 @@
+
+
+SNAC(04,01) server icbm error
+
+
+
+
+
+
+
+
+
+| SNAC(04,01) |
+SRV_ICBM_ERROR |
+
+
+ |
+
+ |
+
+
+
+
+
+This snac mean that server can't send your message to recipient because it invalid,
+too large, wrong type or not supported by receiver. See also
+SNAC(04,0A), SNAC(04,0C)
+for more info. Most used error types:
+
+0x04 - you are trying to send message to offline client ("")
+0x09 - message not supported by client
+0x0E - your message is invalid (incorrectly formated)
+0x10 - receiver/sender blocked
+
+There is more values. See also error types complete list.
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error code (see list above) |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - error subcode, from "tlv tags" list |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error subcode |
+
+
+
+ |
+ |
+
+ | |
+ |
+
+ |
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 EF D9 00 0C 00 04 00 01 00 00 00 00 00 14 *...............
+ 00 0E ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_04_02.html b/snac_04_02.html
new file mode 100644
index 0000000..2fb2fb9
--- /dev/null
+++ b/snac_04_02.html
@@ -0,0 +1,167 @@
+
+
+SNAC(04,02) client set icbm parameters request
+
+
+
+
+
+
+
+
+| SNAC(04,02) |
+CLI_SET_ICBM_PARAMS
+ |
+ |
+ |
+
+
+
+
+
+
+Client use this snac to set its icbm parameters like max_msgsize, max sender_evil...
+You can request these parameters from server using
+SNAC(04,04). Server will reply via
+SNAC(04,05). See also
+SNAC(04,01) for more information.
+
+
+Message flags used to indicate specific client abilities:
+bit1: messages allowed for specified channel
+bit2: missed calls notifications enabled for specified channel
+bit4: client supports typing notifications
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ channel to setup |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ message flags |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ max message snac size |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ max sender warning level |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ max receiver warning level |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ minimum message interval (sec) |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ unknown parameter (also seen 03 E8) |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 33 73 00 1A 00 04 00 02 00 00 00 00 00 02 *.3s............
+ 00 00 00 00 00 03 1F 40 03 E7 03 E7 00 00 00 00 .......@........
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_04_03.html b/snac_04_03.html
new file mode 100644
index 0000000..a843418
--- /dev/null
+++ b/snac_04_03.html
@@ -0,0 +1,117 @@
+
+
+SNAC(04,03) reset icbm parameters to defaults command
+
+
+
+
+
+
+
+
+
+| SNAC(04,03) |
+CLI_ICBM_PARAM_DEL |
+
+
+ |
+
+ |
+
+
+
+
+
+Use this snac to reset your icbm parameters to default values. Then you can change
+them using SNAC(04,02).
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | empty (no snac data) |
+ |
+ |
+ |
+ |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 31 6F 00 0A 00 04 00 03 00 00 00 00 00 03 *.1o............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_04_04.html b/snac_04_04.html
new file mode 100644
index 0000000..b52abcc
--- /dev/null
+++ b/snac_04_04.html
@@ -0,0 +1,113 @@
+
+
+SNAC(04,04) request own icbm parameters
+
+
+
+
+
+
+
+
+
+| SNAC(04,04) |
+CLI_ICBM_PARAM_REQ
+ |
+ |
+ |
+
+
+Use this snac to request your icbm parameters from server. Server should reply via
+SNAC(04,05). You can change them using
+SNAC(04,02).
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | empty (no snac data) |
+ |
+ |
+ |
+ |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 33 6F 00 0A 00 04 00 04 00 00 00 00 00 04 *.3o............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_04_05.html b/snac_04_05.html
new file mode 100644
index 0000000..bdf598b
--- /dev/null
+++ b/snac_04_05.html
@@ -0,0 +1,168 @@
+
+
+SNAC(04,05) server icbm parameters reply
+
+
+
+
+
+
+
+
+
+| SNAC(04,05) |
+SRV_ICBM_PARAMS |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the server reply for SNAC(04,04). It contain
+client icbm parameters like channel, max_msgsize, max_sender_evil, max_receiver_evil.
+If "channel" parameter = 0 client want's to set parameters for all available message
+channels. See also SNAC(04,01) for more information.
+
+
+Message flags used to indicate specific client abilities:
+bit1: messages allowed for specified channel
+bit2: missed calls notifications enabled for specified channel
+bit4: client supports typing notifications
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ channel |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ message flags - default 3 |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ max message snac size - default 512 |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ max sender warning level - default 999 |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ max receiver warning level - default 999 |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ minimum message interval (msec) - default 0 |
+
+
+ | 03 E8 |
+ |
+ word |
+ |
+ unknown parameter - default 1000 |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 38 C2 00 1A 00 04 00 05 00 00 00 00 00 04 *.8.............
+ 00 02 00 00 00 03 02 00 03 E7 03 E7 00 00 03 E8 ................
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_04_06.html b/snac_04_06.html
new file mode 100644
index 0000000..d78e874
--- /dev/null
+++ b/snac_04_06.html
@@ -0,0 +1,263 @@
+
+
+SNAC(04,06) client send-message command
+
+
+
+
+
+
+
+
+
+| SNAC(04,06) |
+CLI_SEND_ICBM |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this snac to send message thru server. Within the ICBM
+(Inter-Client Basic Message) types (family 4), a channel is defined.
+Each channel represents a different kind of message.
+
+Channel 1 is used for what would commonly be called an "instant message" (plain
+text messages). Channel 2 is used for complex messages (rtf, utf8) and
+negotiating "rendezvous". These transactions end in something more
+complex happening, such as a chat invitation, or a file transfer.
+Channel 3 is used for chat messages (not in the same family as
+these channels). Channel 4 is used for various ICQ messages.
+Examples are normal messages, URLs, and old-style
+authorization.
+
+This snac contain one fixed part (target uin, channel, msg-id cookie)
+and channel-dependend tlv-chain.
+
+First dword in msg-id cookies is actually the computer uptime in milliseconds
+(ie GetTickCount(), at least this is what the ICQ Lite and the other official
+clients I have tested uses).
+
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+ |
+
+
+
+
+ | |
+ xx xx xx xx xx xx xx xx |
+ |
+ qword |
+ |
+ msg-id cookie |
+
+
+ | |
+ xx xx |
+ |
+ word |
+ |
+ message channel (see table below) |
+
+
+ | |
+ xx |
+ |
+ byte |
+ |
+ screenname string length |
+
+
+ | |
+ xx .. |
+ |
+ string |
+ |
+ screenname string |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Type(0xXX) - icbm info |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+
+ | .... |
+ |
+ .... |
+ |
+ .... |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ | |
+ .... |
+ .... |
+ .... |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Type(0xXX) - icbm info |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | .... |
+ |
+ .... |
+ |
+ .... |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+| Channel 1 |
+ Channel 1 message format (plain-text messages) |
+
+
+| Channel 2 |
+ Channel 2 message format (rtf messages, rendezvous) |
+
+
+| Channel 4 |
+ Channel 4 message format (typed old-style messages) |
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_04_06_ch1.html b/snac_04_06_ch1.html
new file mode 100644
index 0000000..e4f00b6
--- /dev/null
+++ b/snac_04_06_ch1.html
@@ -0,0 +1,374 @@
+
+
+SNAC(04,06)/CH1 client send channel 1 message command
+
+
+
+
+
+
+
+
+
+| SNAC(04,06)/CH1 |
+CLI_SEND_ICBM_CH1 |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this snac to send message thru server on channel 1.
+All clients use this snac to send plain-text messages to an old
+clients and to clients that doesn't support channel 2 messages. TLV(0x03)
+and TLV(0x06) is optional.
+
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+ |
+
+
+
+
+ xx xx xx xx xx xx xx xx |
+ qword |
+ |
+ msg-id cookie |
+
+
+ | 00 01 |
+ word |
+ |
+ message channel |
+
+
+ | xx |
+ byte |
+ |
+ screenname string length |
+
+
+ | xx .. |
+ string |
+ |
+ screenname string |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Type(0x02) - message data |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+
+| 05 |
+ |
+byte |
+ |
+fragment identifier (array of required capabilities) |
+
+
+| 01 |
+ |
+byte |
+ |
+fragment version |
+
+
+| xx xx |
+ |
+word |
+ |
+Length of rest data |
+
+
+ |
+
+
+
+| xx ... |
+ |
+array |
+ |
+byte array of required capabilities (1 - text) |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 01 |
+ |
+byte |
+ |
+fragment identifier (text message) |
+
+
+| 01 |
+ |
+byte |
+ |
+fragment version |
+
+
+| xx xx |
+ |
+word |
+ |
+Length of rest data |
+
+
+
+ |
+
+
+
+
+| 00 00 |
+ |
+word |
+ |
+Message charset number |
+
+
+| ff ff |
+ |
+word |
+ |
+Message language number |
+
+
+| xx .. |
+ |
+string (ascii) |
+ |
+Message text string |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - request an ack from server |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ TLV.Type(0x06) - store message if recipient offline |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+ 2a 02 23 6c 00 47 00 04 00 06 00 00 00 01 00 06 *.#l.G..........
+ 67 c3 15 01 3d 3a 00 00 00 01 07 31 30 30 30 30 g...=:.....10000
+ 30 30 00 02 00 23 05 01 00 01 01 01 01 00 1a 00 00...#..........
+ 00 ff ff 74 65 73 74 20 63 68 61 6e 6e 65 6c 20 ...test channel
+ 31 20 6d 65 73 73 61 67 65 00 06 00 00 1 message....
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_04_06_ch2.html b/snac_04_06_ch2.html
new file mode 100644
index 0000000..2c6feb3
--- /dev/null
+++ b/snac_04_06_ch2.html
@@ -0,0 +1,580 @@
+
+
+SNAC(04,06)/CH2 client send channel 2 message command
+
+
+
+
+
+
+
+
+
+| SNAC(04,06)/CH2 |
+CLI_SEND_ICBM_CH2 |
+
+
+ |
+
+ |
+
+
+
+
+ Client use this snac to send message thru server on channel 2.
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+ |
+
+
+
+
+ xx xx xx xx xx xx xx xx |
+ qword |
+ |
+ msg-id cookie |
+
+
+ | 00 02 |
+ word |
+ |
+ message channel |
+
+
+ | xx |
+ byte |
+ |
+ screenname string length |
+
+
+ | xx .. |
+ string |
+ |
+ screenname string |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ TLV.Type(0x05) - rendezvous message data |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ message type (0 - request, 1 - cancel, 2 - accept) |
+
+
+ xx xx xx xx xx xx xx xx |
+ |
+ qword |
+ |
+ msg-id cookie (same as above) |
+
+
+ | xx .. xx |
+ |
+ guid |
+ |
+ capability (determines format
+ of message data in "extention data" below) |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - internal ip |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ internal ip |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ TLV.Type(0x05) - listening port |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ listening port |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 0A |
+ |
+ word |
+ |
+ TLV.Type(0x0A) - unknown |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ unknown (usually 1) |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 0B |
+ |
+ word |
+ |
+ TLV.Type(0x0B) - unknown |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ unknown |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 0F |
+ |
+ word |
+ |
+ TLV.Type(0x0F) - unknown |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 11 27 |
+ |
+ word |
+ |
+ TLV.Type(0x2711) - extention data |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ | Following contents is capability-specific. |
+
+
+
+ |
+ |
+
+
+
+ |
+ Data format description for capability
+ {09461349-4C7F-11D1-8222-444553540000}
+ |
+
+
+
+
+ | xx xx |
+ |
+ word (LE) |
+ |
+ length of following data |
+
+
+ | xx xx |
+ |
+ word (LE) |
+ |
+ protocol version |
+
+
+ | xx .. xx |
+ |
+ guid (LE) |
+ |
+ plugin or zero bytes |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ unknown |
+
+
+ | xx xx xx xx |
+ |
+ dword (LE) |
+ |
+ client capabilities flags |
+
+
+ | xx |
+ |
+ byte |
+ |
+ unknown |
+
+
+ | xx xx |
+ |
+ word (LE) |
+ |
+ seems to be a downcounter |
+
+
+
+ |
+
+
+
+ | xx xx |
+ |
+ word (LE) |
+ |
+ length of following data |
+
+
+ | xx xx |
+ |
+ word (LE) |
+ |
+ seems to be a downcounter as in first chunk above |
+
+
+ | xx .. |
+ |
+ |
+ |
+ unknown, usually zeros |
+
+
+
+ |
+
+
+
+
+ | if plugin field in first chunk above is zero, here is
+ message, overwise here is
+ plugin-specific data.
+ |
+
+ |
+
+ |
+ | |
+ | |
+
+
+ |
+ |
+ | |
+ | |
+
+
+ |
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - request an ack from server |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+ |
+
+ |
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+ 2A 02 36 87 00 99 00 04 00 06 00 00 00 0F 00 06 *.6Ç.Ù..........
+ CC EB 54 00 F7 07 00 00 00 02 09 31 32 33 34 35 ¦ûT.¢......12345
+ 36 37 38 39 00 05 00 73 00 00 CC EB 54 00 F7 07 6789...s..¦ûT.¢.
+ 00 00 09 46 13 49 4C 7F 11 D1 82 22 44 45 53 54 ...F.IL.TÂ"DEST
+ 00 00 00 0A 00 02 00 01 00 0F 00 00 27 11 00 4B ............'..K
+ 1B 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+ 00 00 00 00 00 00 03 00 00 00 00 FB FF 0E 00 FB ...........v ..v
+ FF 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 ...............
+ 00 21 00 0E 00 54 65 73 74 20 6D 65 73 73 61 67 .!...Test messag
+ 65 2E 00 00 00 00 00 FF FF FF 00 00 03 00 00 e...... .....
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_04_06_ch4.html b/snac_04_06_ch4.html
new file mode 100644
index 0000000..c0c4b29
--- /dev/null
+++ b/snac_04_06_ch4.html
@@ -0,0 +1,291 @@
+
+
+SNAC(04,06)/CH4 client send channel4 message command
+
+
+
+
+
+
+
+
+
+| SNAC(04,06)/CH4 |
+CLI_SEND_ICBM_CH4 |
+
+
+ |
+
+ |
+
+
+
+
+
+ICQ clients use this snac to send messages to an old/offline/invisible
+clients if message type != 1 or message flags != 0 (for example plain-text
+multi-recipient message to an offline client) but this doesn't mean that you
+can't send usual plain-text message on channel 4. TLV(0x03) and TLV(0x06)
+is optional.
+
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+ |
+
+
+
+
+ xx xx xx xx xx xx xx xx |
+ |
+ qword |
+ |
+ msg-id cookie |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ message channel |
+
+
+ | xx |
+ |
+ byte |
+ |
+ screenname string length |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ screenname string |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ TLV.Type(0x05) - message data |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword (LE) |
+ |
+ Sender uin |
+
+
+ | xx |
+ |
+ byte |
+ |
+ Message type |
+
+
+ | xx |
+ |
+ byte |
+ |
+ Message flags |
+
+
+ | xx xx |
+ |
+ word (LE) |
+ |
+ Message string length |
+
+
+ | xx .. 00 |
+ |
+ string (asciiz) |
+ |
+ Message string |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - request an ack from server |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ TLV.Type(0x06) - store message if recipient offline |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+ |
+
+ |
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+ 2a 02 56 1e 00 6f 00 04-00 06 00 00 00 0b 00 06 *.V..o..........
+ 4e b5 6c 01 33 28 00 00-00 04 07 31 30 30 30 30 N.l.3(.....10000
+ 30 30 00 05 00 4b 8f e4-5e 00 04 00 43 00 54 68 00...K..^...C.Th
+ 69 73 20 69 73 20 74 68-65 20 74 65 73 74 20 75 is is the test u
+ 72 6c 20 6d 65 73 73 61-67 65 20 74 6f 20 61 6e rl message to an
+ 20 6f 6c 64 20 63 6c 69-65 6e 74 fe 68 74 74 70 old client.http
+ 3a 2f 2f 68 74 74 70 2e-74 65 73 74 2e 75 72 6c ://http.test.url
+ 00 00 06 00 00 .....
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_04_07.html b/snac_04_07.html
new file mode 100644
index 0000000..8dc9082
--- /dev/null
+++ b/snac_04_07.html
@@ -0,0 +1,435 @@
+
+
+SNAC(04,07) message for client from server
+
+
+
+
+
+
+
+
+| SNAC(04,07) |
+SRV_CLIENT_ICBM
+ |
+ |
+ |
+
+
+
+
+
+You'll receive this snac when another client send you a message thru server.
+Within the ICBM (Inter-Client Basic Message) types, a channel is defined.
+Each channel represents a different kind of message.
+
+Channel 1 is used for simple plain text messages. Channel 2 is used for complex
+messages (rtf, utf8) and negotiating "rendezvous". These transactions end in
+something more complex happening, such as a chat invitation, or a file transfer.
+Channel 4 is used for various ICQ messages. Examples are normal messages,
+URLs, and old-style authorization.
+
+This snac contain one fixed part (sender uin, channel, msg-id cookie, sender
+info) and channel-dependend tlv-chain with message data.
+See also additional information about online
+userinfo block.
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+ |
+
+
+
+
+ xx xx xx xx xx xx xx xx |
+ |
+ qword |
+ |
+ msg-id cookie |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ message channel (see table below) |
+
+
+ | xx |
+ |
+ byte |
+ |
+ screenname string length |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ screenname string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ sender warning level |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ number of TLVs in fixed part |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - user class |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ TLV.Type(0x06) - user status |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 0F |
+ |
+ word |
+ |
+ TLV.Type(0x0F) - online time |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ client online time |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - account creation time |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ user account creation time |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Type(0xXX) - icbm data |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | .... |
+ |
+ .... |
+ |
+ .... |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+
+ | |
+ .... |
+ .... |
+ .... |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Type(0xXX) - icbm data |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | .... |
+ |
+ .... |
+ |
+ .... |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+| Channel 1 |
+ Channel 1 message format (plain-text messages) |
+
+
+| Channel 2 |
+ Channel 2 message format (rtf messages, rendezvous) |
+
+
+| Channel 4 |
+ Channel 4 message format (typed old-style messages) |
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_04_07_ch1.html b/snac_04_07_ch1.html
new file mode 100644
index 0000000..3d00e7f
--- /dev/null
+++ b/snac_04_07_ch1.html
@@ -0,0 +1,519 @@
+
+
+SNAC(04,07)/CH1 channel1 message from server for client
+
+
+
+
+
+
+
+
+| SNAC(04,07)/CH1 |
+SRV_CLIENT_ICBM_CH1
+ |
+ |
+ |
+
+
+This is the message from server that was sent by another client. It contain
+two parts: fixed part (sender uin, msg-id cookie, channel, sender info) and
+message data part. See also additional information
+about online userinfo block.
+
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+ |
+
+
+
+
+ xx xx xx xx xx xx xx xx |
+ |
+ qword |
+ |
+ msg-id cookie |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ message channel |
+
+
+ | xx |
+ |
+ byte |
+ |
+ screenname string length |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ screenname string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ sender warning level |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ number of TLVs in fixed part |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - user class |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ TLV.Type(0x06) - user status |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 0f |
+ |
+ word |
+ |
+ TLV.Type(0x0f) - user idle time |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ client idle time |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - account creation time |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ user account creation time |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Type(0x04) - automated response flag |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | empty (this TLV appears in automated responses like away messages) |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Type(0x02) - message data |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 05 |
+ |
+byte |
+ |
+fragment identifier (array of required capabilities) |
+
+
+| 01 |
+ |
+byte |
+ |
+fragment version |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx .. |
+ |
+array |
+ |
+byte array of required capabilities (1 - text) |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 01 |
+ |
+byte |
+ |
+fragment identifier (message text) |
+
+
+| 01 |
+ |
+byte |
+ |
+fragment version |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| 00 00 |
+ |
+word |
+ |
+Message charset number |
+
+
+| ff ff |
+ |
+word |
+ |
+Message charset subset |
+
+
+| xx .. |
+ |
+string (ascii) |
+ |
+Message text string |
+
+
+ |
+
+ |
+
+ | |
+|
+ |
+
+
+ |
+ |
+ |
+ | |
+|
+ |
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+ 2a 02 ae e3 00 66 00 04 00 07 00 00 9a b3 8d eb *....f..........
+ 3e bc 91 9e 4a ba ef c9 00 01 07 31 30 30 30 30 >...J......10000
+ 30 30 00 00 00 04 00 01 00 02 00 50 00 06 00 04 00.........P....
+ 00 01 00 00 00 0f 00 04 00 00 04 66 00 03 00 04 ...........f....
+ 00 00 00 00 00 02 00 24 05 01 00 01 00 01 01 00 .......$........
+ 1b 00 00 00 00 74 65 73 74 20 70 6c 61 69 6e 2d .....test plain-
+ 74 65 78 74 20 6d 65 73 73 61 67 65 text message
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_04_07_ch2.html b/snac_04_07_ch2.html
new file mode 100644
index 0000000..9ee0149
--- /dev/null
+++ b/snac_04_07_ch2.html
@@ -0,0 +1,751 @@
+
+
+SNAC(04,07)/CH2 channel 2 message from server for client
+
+
+
+
+
+
+
+
+
+| SNAC(04,07)/CH2 |
+SRV_CLIENT_ICBM_CH2 |
+
+
+ |
+ |
+
+
+
+
+
+This is the message from server that was sent by another client. It contain
+two parts: fixed part (sender uin, msg-id cookie, channel, sender info) and
+message data part. See also additional information
+about online userinfo block.
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ xx xx xx xx xx xx xx xx |
+ |
+ qword |
+ |
+ msg-id cookie |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ message channel |
+
+
+ | xx |
+ |
+ byte |
+ |
+ screenname string length |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ screenname string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ sender warning level |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ number of TLVs in fixed part |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - user class |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ TLV.Type(0x06) - user status |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 0F |
+ |
+ word |
+ |
+ TLV.Type(0x0F) - online time |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ client online time |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - account creation time |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ user account creation time |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ TLV.Type(0x05) - rendezvous message data |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ message type (0 - request, 1 - cancel, 2 - accept) |
+
+
+ xx xx xx xx xx xx xx xx |
+ |
+ qword |
+ |
+ msg-id cookie (same as above) |
+
+
+ | xx .. xx |
+ |
+ guid |
+ |
+ capability (determines format
+ of message data in "extention data" below) |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Type(0x04) - external ip |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ external ip |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ TLV.Type(0x05) - listening port |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ listening port |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 0A |
+ |
+ word |
+ |
+ TLV.Type(0x0A) - unknown |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ unknown (usually 1) |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 0B |
+ |
+ word |
+ |
+ TLV.Type(0x0B) - unknown |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ unknown |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 0F |
+ |
+ word |
+ |
+ TLV.Type(0x0F) - unknown |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 27 11 |
+ |
+ word |
+ |
+ TLV.Type(0x2711) - extention data |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ | Following contents is capability-specific. |
+
+
+
+ |
+ |
+
+
+
+ |
+ Data format description for capability
+ {09461349-4C7F-11D1-8222-444553540000}
+ |
+
+
+
+
+ | xx xx |
+ |
+ word (LE) |
+ |
+ length of following data |
+
+
+ | xx xx |
+ |
+ word (LE) |
+ |
+ protocol version |
+
+
+ | xx .. xx |
+ |
+ guid (LE) |
+ |
+ plugin or zero bytes |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ unknown |
+
+
+ | xx xx xx xx |
+ |
+ dword (LE) |
+ |
+ client capabilities flags |
+
+
+ | xx |
+ |
+ byte |
+ |
+ unknown |
+
+
+ | xx xx |
+ |
+ word (LE) |
+ |
+ seems to be a downcounter |
+
+
+
+ |
+
+
+
+ | xx xx |
+ |
+ word (LE) |
+ |
+ length of following data |
+
+
+ | xx xx |
+ |
+ word (LE) |
+ |
+ seems to be a downcounter as in first chunk above |
+
+
+ | xx .. |
+ |
+ |
+ |
+ unknown, usually zeros |
+
+
+
+ |
+
+
+
+
+ if plugin field in first chunk above is zero, here is
+ message, overwise here is
+ plugin-specific data.
+ |
+
+ |
+
+ |
+ | |
+ | |
+
+
+ |
+ |
+ | |
+ | |
+
+
+ |
+ |
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+ 2A 02 08 2C 01 9D 00 04 00 07 00 00 90 2F 30 11 *..,.Ý......Ð/0.
+ 70 95 A0 00 26 1F 00 00 00 02 07 31 32 33 34 35 pÕà.&......12345
+ 36 37 00 00 00 04 00 01 00 02 00 50 00 06 00 04 67.........P....
+ 20 12 00 00 00 0F 00 04 00 00 06 F3 00 03 00 04 ..........º....
+ 40 5A 93 78 00 05 01 5B 00 00 70 95 A0 00 26 1F @ZÓx...[..pÕà.&.
+ 00 00 09 46 13 49 4C 7F 11 D1 82 22 44 45 53 54 ...F.IL.TÂ"DEST
+ 00 00 00 0A 00 02 00 01 00 0F 00 00 27 11 01 33 ............'..3
+ 1B 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+ 00 00 00 00 00 00 03 00 00 00 00 E3 FF 0E 00 E3 ...........ó ..ó
+ FF 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 ...............
+ 00 21 00 CC 00 7B 5C 72 74 66 31 5C 61 6E 73 69 .!.¦.{\rtf1\ansi
+ 5C 61 6E 73 69 63 70 67 31 32 35 31 5C 64 65 66 \ansicpg1251\def
+ 66 30 5C 64 65 66 6C 61 6E 67 31 30 34 39 7B 5C f0\deflang1049{\
+ 66 6F 6E 74 74 62 6C 7B 5C 66 30 5C 66 6E 69 6C fonttbl{\f0\fnil
+ 5C 66 63 68 61 72 73 65 74 32 30 34 7B 5C 2A 5C \fcharset204{\*\
+ 66 6E 61 6D 65 20 4D 53 20 53 61 6E 73 20 53 65 fname MS Sans Se
+ 72 69 66 3B 7D 4D 53 20 53 68 65 6C 6C 20 44 6C rif;}MS Shell Dl
+ 67 3B 7D 7D 0D 0A 7B 5C 63 6F 6C 6F 72 74 62 6C g;}}..{\colortbl
+ 20 3B 5C 72 65 64 30 5C 67 72 65 65 6E 30 5C 62 ;\red0\green0\b
+ 6C 75 65 30 3B 7D 0D 0A 5C 76 69 65 77 6B 69 6E lue0;}..\viewkin
+ 64 34 5C 75 63 31 5C 70 61 72 64 5C 63 66 31 5C d4\uc1\pard\cf1\
+ 66 30 5C 66 73 32 30 3C 23 23 69 63 71 69 6D 61 f0\fs20<##icqima
+ 67 65 30 30 30 38 3E 5C 70 61 72 0D 0A 7D 0D 0A ge0008>\par..}..
+ 00 00 00 00 00 FF FF FF 00 26 00 00 00 7B 39 37 ..... .&...{97
+ 42 31 32 37 35 31 2D 32 34 33 43 2D 34 33 33 34 B12751-243C-4334
+ 2D 41 44 32 32 2D 44 36 41 42 46 37 33 46 31 34 -AD22-D6ABF73F14
+ 39 32 7D 92}
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_04_07_ch4.html b/snac_04_07_ch4.html
new file mode 100644
index 0000000..cb87d55
--- /dev/null
+++ b/snac_04_07_ch4.html
@@ -0,0 +1,399 @@
+
+
+SNAC(04,07) message for client from server
+
+
+
+
+
+
+
+
+| SNAC(04,07) |
+SRV_CLIENT_ICBM_CH4
+ |
+ |
+ |
+
+
+
+
+
+You'll receive this snac when another client send you a message on channel 4
+thru server. ICQ clients use this snac to send messages to an old/offline/invisible
+clients if message type != 1 or message flags != 0 (for example plain-text
+multi-recipient message to an offline client) but this doesn't mean that you
+will never receive usual channel 4 plain-text message. See also
+additional information about online userinfo
+block.
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+ |
+
+
+
+
+ xx xx xx xx xx xx xx xx |
+ |
+ qword |
+ |
+ msg-id cookie |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ message channel (see table below) |
+
+
+ | xx |
+ |
+ byte |
+ |
+ screenname string length |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ screenname string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ sender warning level |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ number of TLVs in fixed part |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - user class |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ TLV.Type(0x06) - user status |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 0f |
+ |
+ word |
+ |
+ TLV.Type(0x0f) - user idle time |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ client idle time |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - account creation time |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ user account creation time |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ TLV.Type(0x05) - message data |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword (LE) |
+ |
+ Sender uin |
+
+
+ | xx |
+ |
+ byte |
+ |
+ Message type |
+
+
+ | xx |
+ |
+ byte |
+ |
+ Message flags |
+
+
+ | xx xx |
+ |
+ word (LE) |
+ |
+ Message string length |
+
+
+ | xx .. 00 |
+ |
+ string (asciiz) |
+ |
+ Message string |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+ 2a 02 ae e2 00 6a 00 04 00 07 00 00 9a b3 8d eb *....j..........
+ 3e bc 8e 0a 59 65 b9 56 00 04 07 31 30 30 30 30 >...Ye.V...10000
+ 30 30 00 00 00 04 00 01 00 02 00 50 00 06 00 04 00.........P....
+ 00 01 00 00 00 0f 00 04 00 00 00 d2 00 03 00 04 ................
+ 00 00 00 00 00 05 00 28 40 42 0f 00 04 00 20 00 .......(@B.... .
+ 55 72 6c 20 64 65 73 63 72 69 70 74 69 6f 6e fe Url description.
+ 68 74 74 70 3a 2f 2f 74 65 73 74 2e 75 72 6c 00 http://test.url.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_04_08.html b/snac_04_08.html
new file mode 100644
index 0000000..b7b2631
--- /dev/null
+++ b/snac_04_08.html
@@ -0,0 +1,136 @@
+
+
+SNAC(04,08) client send warning command
+
+
+
+
+
+
+
+
+
+| SNAC(04,08) |
+CLI_ICBM_SENDxWARNING |
+
+
+ |
+
+ |
+
+
+
+
+
+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 SNAC(04,09). See also
+SNAC(04,01) and
+SNAC(04,05) for more information.
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ "send as" flag: 1-anonymous, 0-non-anonymous |
+
+
+ | xx |
+ |
+ byte |
+ |
+ screenname string length |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ screenname string |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 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
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_04_09.html b/snac_04_09.html
new file mode 100644
index 0000000..2711903
--- /dev/null
+++ b/snac_04_09.html
@@ -0,0 +1,126 @@
+
+
+SNAC(04,09) server ack for send warning command
+
+
+
+
+
+
+
+
+
+| SNAC(04,09) |
+SRV_ICBM_WARNINGxACK |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the server ack for SNAC(04,08) client
+send warning command. See also SNAC(04,01) and
+SNAC(04,05) for more information.
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ warning level gain |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ new warning level |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 D5 B8 00 0E 00 04 00 09 00 00 00 17 00 08 *...............
+ 00 C8 01 ED ....
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_04_0a.html b/snac_04_0a.html
new file mode 100644
index 0000000..31c399f
--- /dev/null
+++ b/snac_04_0a.html
@@ -0,0 +1,364 @@
+
+
+SNAC(04,0A) missed message notification
+
+
+
+
+
+
+
+
+
+| SNAC(04,0A) |
+SRV_MISSED_MESSAGE
+ |
+ |
+ |
+
+
+
+This snac mean that somebody send you a message but server can't deliver it to you for some reason. It contain information about user,
+who send you a message, number of missed messages and reason. Known reason types:
+
+0 - Message was invalid
+1 - Message was too large
+2 - Message rate exceeded
+3 - Sender too evil (sender warn level > your max_msg_sevil)
+4 - You are too evil (sender max_msg_revil > your warn level)
+
+See also SNAC(04,02), SNAC(04,05)
+for more information about message limitations and additional
+info about online userinfo block.
+
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0A |
+ |
+ 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 |
+ |
+ missed message type (channel) |
+
+
+ | xx |
+ |
+ char |
+ |
+ uin string length |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ uin string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ warning level |
+
+
+ | 00 04 |
+ |
+ 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 0F |
+ |
+ word |
+ |
+ TLV.Type(0x0F) - online time |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Client online time |
+
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - signon time |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Time when client gone online |
+
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ number of missed messages |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Reason (see list above) |
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+ Example SNAC dumps with flap header:
+
+
+
+
+
+ 2A 02 12 05 00 38 00 04 00 0A 00 00 8E 36 C7 B1 *....8.......6..
+ 00 02 07 36 32 31 38 38 39 35 00 00 00 04 00 01 ...6218895......
+ 00 02 00 06 00 04 00 02 00 00 00 0F 00 04 00 00 ................
+ 00 00 00 03 00 04 3D E7 38 8B 00 01 00 01 ......=.8.....
+
+
+ |
+ |
+
+
+
+
+ |
+
+
+
+
+
diff --git a/snac_04_0b.html b/snac_04_0b.html
new file mode 100644
index 0000000..2c7b91f
--- /dev/null
+++ b/snac_04_0b.html
@@ -0,0 +1,185 @@
+
+
+SNAC(04,0B) client message error or data
+
+
+
+
+
+
+
+
+
+| SNAC(04,0B) |
+CLI_ICBM_SENDxACK |
+
+
+ |
+
+ |
+
+
+
+
+
+Client send this snac as reply to SNAC(04,07).
+Server transfer it to client without changes, but only if its format is valid.
+This snac also used for auto-messages (away message/busy message/chat message/etc).
+
+
+First dword in msg-id cookies is actually the computer uptime in milliseconds
+(ie GetTickCount(), at least this is what the ICQ Lite and the other official
+clients I have tested uses).
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0B |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ xx xx xx xx xx xx xx xx |
+ |
+ qword |
+ |
+ msg-id cookie |
+
+
+ | |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ message channel (see table below) |
+
+
+ | xx |
+ |
+ byte |
+ |
+ screenname string length |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ screenname string |
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ reason code (1 - unsupported channel, 2 - busted payload, 3 - channel specific) |
+
+
+
+ |
+|
+ If channel is supported, here is channel-specific data
+(see references below).
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+| Channel 1 |
+ Channel 1 data format (plain-text messages) |
+
+
+| Channel 2 |
+ Channel 2 data format (rtf messages, rendezvous) |
+
+
+
+ |
+ |
+
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 54 28 00 6E 00 04 00 0B 00 00 00 00 00 0B *.T(.n..........
+ F3 3A C1 0C 70 18 00 00 00 02 07 36 32 31 38 38 .:..p......62188
+ 39 35 00 03 1B 00 07 00 00 00 00 00 00 00 00 00 95..............
+ 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 07 ................
+ 00 0E 00 07 00 00 00 00 00 00 00 00 00 00 00 00 ................
+ 00 E9 03 00 00 00 00 1B 00 55 73 65 72 20 69 73 .........User is
+ 20 63 75 72 72 65 6E 74 6C 79 20 4F 63 63 75 70 currently Occup
+ 69 65 64 00 ied.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_04_0b_ch1.html b/snac_04_0b_ch1.html
new file mode 100644
index 0000000..2cd3985
--- /dev/null
+++ b/snac_04_0b_ch1.html
@@ -0,0 +1,276 @@
+
+
+SNAC(04,0B)/CH1 client message error or data
+
+
+
+
+
+
+
+
+
+| SNAC(04,0B)/CH1 |
+CLI_ICBM_SENDxACK_CH1 |
+
+
+ |
+
+ |
+
+
+
+
+ Client send this snac as reply to SNAC(04,07)/CH1.
+See also common description for SNAC(04,0B).
+
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0B |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ xx xx xx xx xx xx xx xx |
+ |
+ qword |
+ |
+ msg-id cookie |
+
+
+ |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ message channel |
+
+
+ | xx |
+ |
+ byte |
+ |
+ screenname string length |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ screenname string |
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ reason code (2 - busted payload, 3 - channel specific) |
+
+
+
+ |
+
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+
+ | 05 |
+ |
+ char |
+ |
+ fragment identifier (array of required capabilities) |
+
+
+ | 01 |
+ |
+ char |
+ |
+ fragment version |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Length of rest data |
+
+
+ |
+
+
+
+
+ | xx ... |
+ |
+ array |
+ |
+ byte array of required capabilities (1 - text) |
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 01 |
+ |
+ char |
+ |
+ fragment identifier (text message) |
+
+
+ | 01 |
+ |
+ char |
+ |
+ fragment version |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Length of rest data |
+
+
+
+ |
+
+
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ Message charset number |
+
+
+ | ff ff |
+ |
+ word |
+ |
+ Message language number |
+
+
+ | xx .. |
+ |
+ string (ascii) |
+ |
+ Message text string |
+
+
+
+ |
+ |
+
+ | |
+
+|
+ |
+
+ |
+ |
+ |
+ |
+
+
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_04_0b_ch2.html b/snac_04_0b_ch2.html
new file mode 100644
index 0000000..6aced1a
--- /dev/null
+++ b/snac_04_0b_ch2.html
@@ -0,0 +1,273 @@
+
+
+SNAC(04,0B)/CH2 client message error or data
+
+
+
+
+
+
+
+
+
+| SNAC(04,0B)/CH2 |
+CLI_ICBM_SENDxACK_CH2 |
+
+
+ |
+
+ |
+
+
+
+
+ Client send this snac as reply to SNAC(04,07)/CH2.
+See also common description for SNAC(04,0B).
+
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0B |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ xx xx xx xx xx xx xx xx |
+ |
+ qword |
+ |
+ msg-id cookie |
+
+
+ | |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ message channel |
+
+
+ | xx |
+ |
+ byte |
+ |
+ screenname string length |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ screenname string |
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ reason code (2 - busted payload, 3 - channel specific) |
+
+ |
+
+
+ |
+| Following contents is specific for capability,
+ which was used in message with the same msg-id cookie |
+
+
+
+
+
+
+ |
+ |
+
+
+
+ |
+ Data format description for capability
+ {09461349-4C7F-11D1-8222-444553540000}
+ |
+
+
+
+
+ | xx xx |
+ |
+ word (LE) |
+ |
+ length of following data |
+
+
+ | xx xx |
+ |
+ word (LE) |
+ |
+ protocol version |
+
+
+ | xx .. xx |
+ |
+ guid (LE) |
+ |
+ plugin or zero bytes |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ unknown |
+
+
+ | xx xx xx xx |
+ |
+ dword (LE) |
+ |
+ client capabilities flags |
+
+
+ | xx |
+ |
+ byte |
+ |
+ unknown |
+
+
+ | xx xx |
+ |
+ word (LE) |
+ |
+ seems to be a downcounter |
+
+
+
+ |
+
+
+
+ | xx xx |
+ |
+ word (LE) |
+ |
+ length of following data |
+
+
+ | xx xx |
+ |
+ word (LE) |
+ |
+ seems to be a downcounter as in first chunk above |
+
+
+ | xx .. |
+ |
+ |
+ |
+ unknown, usually zeros |
+
+
+
+ |
+
+
+
+
+ | if plugin field in first chunk above is zero, here is
+ message, overwise here is
+ plugin-specific data.
+ |
+
+ |
+ |
+ | |
+ |
+ |
+
+ |
+ |
+ |
+ |
+
+
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 54 28 00 6E 00 04 00 0B 00 00 00 00 00 0B *.T(.n..........
+ F3 3A C1 0C 70 18 00 00 00 02 07 36 32 31 38 38 .:..p......62188
+ 39 35 00 03 1B 00 07 00 00 00 00 00 00 00 00 00 95..............
+ 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 07 ................
+ 00 0E 00 07 00 00 00 00 00 00 00 00 00 00 00 00 ................
+ 00 E9 03 00 00 00 00 1B 00 55 73 65 72 20 69 73 .........User is
+ 20 63 75 72 72 65 6E 74 6C 79 20 4F 63 63 75 70 currently Occup
+ 69 65 64 00 ied.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_04_0c.html b/snac_04_0c.html
new file mode 100644
index 0000000..dd5847d
--- /dev/null
+++ b/snac_04_0c.html
@@ -0,0 +1,145 @@
+
+
+SNAC(04,0C) server message ack
+
+
+
+
+
+
+
+
+
+| SNAC(04,0C) |
+SRV_MSG_ACK |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the server ack for client message sent via
+SNAC(04,06). Server send it only if client
+requested it via empty TLV(3) in message snac. This ack mean that server
+accepted message for delivery.
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0C |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ xx xx xx xx
+ xx xx xx xx |
+ |
+ msgid |
+ |
+ client message id cookie (8 bytes) |
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ message channel |
+
+
+
+ | xx |
+ |
+ char |
+ |
+ sender uin string len |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ sender uin string |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 39 37 00 1D 00 04 00 0C 00 00 00 0C 00 06 *.97............
+ AB A5 F5 29 29 1D 00 00 00 02 08 35 32 39 34 33 ...))......52943
+ 31 32 37 127
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_04_14.html b/snac_04_14.html
new file mode 100644
index 0000000..6f2eab8
--- /dev/null
+++ b/snac_04_14.html
@@ -0,0 +1,160 @@
+
+
+SNAC(04,14) client/server typing notification
+
+
+
+
+
+
+
+
+
+| SNAC(04,14) |
+TYPING_NOTIFICATION |
+
+
+ |
+
+ |
+
+
+
+
+
+This snac used by client and server for mini typing notification (MTN). Basically,
+when you begin typing something you send a "typing begun" message, then a few
+seconds later you send a "text typed" message, then after you actually
+send the message, you send a "no more text has been typed" message. You also send
+the "typing finished" message if you delete all the stuff you've typed.
+
+Remote clients know that your client supports MTN because the server appends an
+empty type 0x000b TLV to all outgoing IMs. You tell the server you want this TLV
+appended when you send the SNAC(04,02).
+Just set message flags bit4=1. Send and receive SNACs has the same type=0x14.
+Here is the known notification types list:
+
+0x0000 - typing finished sign
+0x0001 - text typed sign
+0x0002 - typing begun sign
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 14 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ 00 00 00 00 00 00 00 00 |
+ |
+ qword |
+ |
+ notification-id cookie |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ notification channel |
+
+
+ | xx |
+ |
+ byte |
+ |
+ screenname string length |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ screenname string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ notification type (see above) |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 38 C2 00 1E 00 04 00 14 00 00 00 00 00 14 *.8.............
+ 00 00 00 00 00 00 00 00 00 01 07 36 32 31 38 38 ...........62188
+ 39 35 00 02 95..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_06_01.html b/snac_06_01.html
new file mode 100644
index 0000000..bef5b2c
--- /dev/null
+++ b/snac_06_01.html
@@ -0,0 +1,166 @@
+
+
+SNAC(06,01) server invitation service error
+
+
+
+
+
+
+
+
+
+| SNAC(06,01) |
+SRV_INVITATIONxERROR |
+
+
+ |
+
+ |
+
+
+
+
+
+This is an error notification snac. You'll receive it when search fails.
+See also error types complete list.
+
+
+
+
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error code (see list) |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - error subcode, from "tlv tags" list |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error subcode |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 E1 CA 00 0C 00 06 00 01 00 00 99 D0 07 62 *..............b
+ 00 0E ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_06_02.html b/snac_06_02.html
new file mode 100644
index 0000000..b1daea2
--- /dev/null
+++ b/snac_06_02.html
@@ -0,0 +1,201 @@
+
+
+SNAC(06,02) client invitation request
+
+
+
+
+
+
+
+
+
+| SNAC(06,02) |
+CLI_SEND_INVITATION |
+
+
+ |
+
+ |
+
+
+
+
+
+There is a menu item in AIM clients that say something like "Sign On A Friend"
+and then it would ask for an email address/invitation text and it would sent a mail
+to them saying how perfectly wonderful the AIM service is and why you should
+use it and click here if you hate the person who sent this to you and want to
+complain and yell at them in a small box with pretty fonts.
+
+You can send invitation using this snac. Server should reply via
+SNAC(06,03)
+
+
+
+
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 11 |
+ |
+ word |
+ |
+ TLV.Type(0x11) - recipient email |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx .. |
+ |
+ string (ascii) |
+ |
+ Recipient email string |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 15 |
+ |
+ word |
+ |
+ TLV.Type(0x15) - invitation text |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx .. |
+ |
+ string (ascii) |
+ |
+ Invitation string text |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+ |
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+ 2a 02 07 e8 00 3f 00 06-00 02 00 00 00 01 00 02 *....?..........
+ 00 11 00 16 41 56 53 68-75 74 6b 6f 40 6d 61 69 ....AVShutko@mai
+ 6c 2e 6b 68 73 74 75 2e-72 75 00 15 00 17 74 65 l.khstu.ru....te
+ 73 74 20 69 6e 76 69 74-61 74 69 6f 6e 20 6d 65 st invitation me
+ 73 73 61 67 65 ssage
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_06_03.html b/snac_06_03.html
new file mode 100644
index 0000000..0681ba9
--- /dev/null
+++ b/snac_06_03.html
@@ -0,0 +1,107 @@
+
+
+SNAC(06,03) server invitation reply
+
+
+
+
+
+
+
+
+
+| SNAC(06,03) |
+SRV_INVITATION_REPLY |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the server reply/confirmation for client invitation request -
+SNAC(06,02).
+
+
+
+
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+|
+ empty (no snac data)
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 6E 4A 00 0A 00 06 00 03 00 00 00 01 00 02 *.nJ............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_07_01.html b/snac_07_01.html
new file mode 100644
index 0000000..f82880a
--- /dev/null
+++ b/snac_07_01.html
@@ -0,0 +1,166 @@
+
+
+SNAC(07,01) server administrative service error
+
+
+
+
+
+
+
+
+
+| SNAC(07,01) |
+SRV_ADMIN_ERROR |
+
+
+ |
+
+ |
+
+
+
+
+
+This is an error notification snac.
+See also error types complete list.
+
+
+
+
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error code (see list) |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - error subcode, from "tlv tags" list |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error subcode |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 E1 CA 00 0C 00 07 00 01 00 00 99 D0 07 62 *..............b
+ 00 0E ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_07_02.html b/snac_07_02.html
new file mode 100644
index 0000000..7eaf6e2
--- /dev/null
+++ b/snac_07_02.html
@@ -0,0 +1,221 @@
+
+
+SNAC(07,02) request for account info
+
+
+
+
+
+
+
+
+
+| SNAC(07,02) |
+CLI_ACCOUNTxINFOxREQ |
+
+
+ |
+
+ |
+
+
+
+
+
+Used when client wants to get its account information (screen-name formating, email info, etc)
+Server should respond with SNAC(07,03), that contain requested
+information.
+
+
+
+
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | |
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - request nickname |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+ |
+ | |
+|
+ |
+
+
+
+ | |
+
+
+
+
+
+
+ | 00 11 |
+ |
+ word |
+ |
+ TLV.Type(0x11) - request e-mail info |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+ |
+ | |
+|
+ |
+
+
+
+ | |
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ TLV.Type(0x13) - request registration status |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+ |
+ | |
+|
+ |
+
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+ 2A 02 27 03 00 0E 00 07 00 02 00 00 00 00 00 02 *.>.............
+ 00 01 00 00 ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_07_03.html b/snac_07_03.html
new file mode 100644
index 0000000..a2ab8d1
--- /dev/null
+++ b/snac_07_03.html
@@ -0,0 +1,515 @@
+
+
+SNAC(07,03) requested account info reply
+
+
+
+
+
+
+
+
+
+| SNAC(07,03) |
+SRV_ACCOUNTxINFOxREPLY |
+
+
+ |
+
+ |
+
+
+
+
+
+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
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_07_04.html b/snac_07_04.html
new file mode 100644
index 0000000..01aa571
--- /dev/null
+++ b/snac_07_04.html
@@ -0,0 +1,333 @@
+
+
+SNAC(07,04) account information change request
+
+
+
+
+
+
+
+
+
+| SNAC(07,04) |
+CLI_ACCOUNTxMODxREQ |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the client change account info (screen-name formating, email info, etc)
+request. Server should send ack via SNAC(07,05).
+This snac may contain one of the following TLV sets:
+
+ TLV(01) - change screenname formatting
+ TLV(11) - change account email
+ TLV(13) - change registration status
+ TLV(02), TLV(12) - change password
+
+
+
+
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 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 02 |
+ |
+ word |
+ |
+ TLV.Type(0x02) - new password |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ new password string |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 12 |
+ |
+ word |
+ |
+ TLV.Type(0x12) - old password |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ old password string |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+ 2A 02 6B C0 00 1B 00 07 00 04 00 00 00 01 00 04 *.k.............
+ 00 01 00 0D 52 45 41 4C 52 65 67 72 65 73 73 6F ....REALRegresso
+ 72 r
+
+ 2A 02 6B C4 00 21 00 07 00 04 00 00 00 04 00 04 *.k..!..........
+ 00 11 00 13 61 61 61 61 61 40 6B 70 73 6D 2E 6B ....aaaaa@kpsm.k
+ 68 73 74 75 2E 72 75 hstu.ru
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_07_05.html b/snac_07_05.html
new file mode 100644
index 0000000..1c0d44f
--- /dev/null
+++ b/snac_07_05.html
@@ -0,0 +1,348 @@
+
+
+SNAC(07,05) account changeinfo reply
+
+
+
+
+
+
+
+
+
+| SNAC(07,05) |
+SRV_ACCOUNTxMODxACK |
+
+
+ |
+
+ |
+
+
+
+
+ This is the client account info change reply. It also may
+contain error code / error url instead if request failed. Known error codes
+may be found in SNAC(07,03) description.
+
+
+
+
+
+
+ | 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 code |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error code (request failed) |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Type(0x04) - error url |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ error description url |
+
+
+ |
+
+ |
+ | |
+ |
+ |
+ |
+ |
+
+ |
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+ 2A 02 3D 1C 00 1F 00 07 00 05 00 00 00 01 00 04 *.=.............
+ 00 03 00 01 00 01 00 0D 52 45 41 4C 52 65 67 72 ........REALRegr
+ 65 73 73 6F 72 essor
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_07_06.html b/snac_07_06.html
new file mode 100644
index 0000000..5b5bdb1
--- /dev/null
+++ b/snac_07_06.html
@@ -0,0 +1,110 @@
+
+
+SNAC(07,06) request account confirmation
+
+
+
+
+
+
+
+
+
+| SNAC(07,06) |
+CLI_ACCOUNTxCONFIRM |
+
+
+ |
+
+ |
+
+
+
+
+
+This snac will cause an email to be sent to the address associated with
+the account. By following the instructions in the mail, you can get the
+TRIAL flag removed from your account. You should receive
+SNAC(07,07) as reply.
+
+
+
+
+
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+|
+ empty (no snac data)
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 6B CA 00 0A 00 07 00 06 00 00 00 07 00 06 *.k.............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_07_07.html b/snac_07_07.html
new file mode 100644
index 0000000..ca770c3
--- /dev/null
+++ b/snac_07_07.html
@@ -0,0 +1,166 @@
+
+
+SNAC(07,07) account confirmation reply
+
+
+
+
+
+
+
+
+
+| SNAC(07,07) |
+SRV_ACCOUNTxCONFIRMxREPLY |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the reply to the SNAC(07,06). It
+contain status flag. You'll receive email with instructions about removing
+TRIAL flag if status=0x00. Also you may receive status=0x1E if account
+allready confirmed or status=0x23 if server can't start confirmation
+procedure.
+
+
+
+
+
+
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | |
+ xx xx |
+ |
+ word |
+ |
+ confirmation status |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Type(0x04) - url |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ url (http://www.aol.com) |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 12 8B 00 22 00 07 00 07 00 00 00 01 00 06 *...."..........
+ 00 1E 00 04 00 12 68 74 74 70 3A 2F 2F 77 77 77 ......http://www
+ 2E 61 6F 6C 2E 63 6F 6D .aol.com
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_07_08.html b/snac_07_08.html
new file mode 100644
index 0000000..ac9b7b8
--- /dev/null
+++ b/snac_07_08.html
@@ -0,0 +1,130 @@
+
+
+SNAC(07,08) account delete request
+
+
+
+
+
+
+
+
+
+| SNAC(07,08) |
+CLI_ACCOUNTxDELETExREQ |
+
+
+ |
+
+ |
+
+
+
+
+ Account delete request. Server should respond with
+SNAC(07,09).
+
+
+
+
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | Contains TLV sequence here. |
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_07_09.html b/snac_07_09.html
new file mode 100644
index 0000000..eea0f1a
--- /dev/null
+++ b/snac_07_09.html
@@ -0,0 +1,206 @@
+
+
+SNAC(07,09) account delete reply
+
+
+
+
+
+
+
+
+
+| SNAC(07,09) |
+SRV_ACCOUNTxDELETExREPLY |
+
+
+ |
+
+ |
+
+
+
+
+ Server replies with this SNAC to SNAC(07,08)
+- account delete request. It may contain error code / error url if request
+failed. Known error codes may be found in
+SNAC(07,03) description.
+
+
+
+
+
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - error subcode |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error subcode |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Type(0x04) - error description url |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ error description url string |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_08_01.html b/snac_08_01.html
new file mode 100644
index 0000000..7f6676b
--- /dev/null
+++ b/snac_08_01.html
@@ -0,0 +1,166 @@
+
+
+SNAC(08,01) server popup notices service error
+
+
+
+
+
+
+
+
+
+| SNAC(08,01) |
+SRV_POPUP_ERROR |
+
+
+ |
+
+ |
+
+
+
+
+
+This is an error notification snac.
+See also error types complete list.
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error code (see list) |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - error subcode, from "tlv tags" list |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error subcode |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 E1 CA 00 0C 00 08 00 01 00 00 7A C6 21 64 *..............d
+ 00 02 ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_08_02.html b/snac_08_02.html
new file mode 100644
index 0000000..189fe46
--- /dev/null
+++ b/snac_08_02.html
@@ -0,0 +1,351 @@
+
+
+SNAC(08,02) server popup message
+
+
+
+
+
+
+
+
+
+| SNAC(08,02) |
+SRV_POPUP_MESSAGE |
+
+
+ |
+
+ |
+
+
+
+
+
+Currently this is AIM only service. ICQ2K+ doesn't request this service from server.
+Server use this snac to popup message window on the client side.
+
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - msg window width |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Message window width (pixels) |
+
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Type(0x04) - msg window height |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Message window height (pixels) |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ TLV.Type(0x05) - message autohide delay |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Message window autohide delay (seconds) |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Type(0x02) - url for message |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ URL string |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - message text |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ Message text (html) |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 85 66 00 36 00 08 00 02 00 00 8E CD F4 87 *..f.:..........
+ 00 03 00 02 00 D9 00 04 00 02 00 96 00 05 00 02 ................
+ 00 16 00 02 00 0E 68 74 74 70 3A 2F 2F 75 72 6C ......http://url
+ 2E 63 6F 6D 00 01 00 04 74 65 73 74 .com....test
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_09_01.html b/snac_09_01.html
new file mode 100644
index 0000000..7c4a766
--- /dev/null
+++ b/snac_09_01.html
@@ -0,0 +1,166 @@
+
+
+SNAC(09,01) server privacy service error
+
+
+
+
+
+
+
+
+
+| SNAC(09,01) |
+SRV_PRIVACY_ERROR |
+
+
+ |
+
+ |
+
+
+
+
+
+This is an error notification snac.
+See also error types complete list.
+
+
+
+
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error code (see list) |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - error subcode, from "tlv tags" list |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error subcode |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 E1 CA 00 0C 00 09 00 01 00 00 7A C6 21 63 *..............c
+ 00 0E ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_09_02.html b/snac_09_02.html
new file mode 100644
index 0000000..8955c8e
--- /dev/null
+++ b/snac_09_02.html
@@ -0,0 +1,108 @@
+
+
+SNAC(09,02) request privacy service parameters
+
+
+
+
+
+
+
+
+
+| SNAC(09,02) |
+CLI_PRIVACY_RIGHTS_REQ |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this SNAC to request buddylist service parameters and limitations.
+Server should reply via SNAC(09,03).
+
+
+
+
+
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+|
+ empty (no snac data)
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 22 9B 00 0A 00 09 00 02 00 00 00 00 00 02 *.".............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_09_03.html b/snac_09_03.html
new file mode 100644
index 0000000..e69f595
--- /dev/null
+++ b/snac_09_03.html
@@ -0,0 +1,201 @@
+
+
+SNAC(09,03) privacy service parameters
+
+
+
+
+
+
+
+
+
+| SNAC(09,03) |
+SRV_PRIVACY_RIGHTS_REPLY |
+
+
+ |
+
+ |
+
+
+
+
+
+Server replies with this SNAC to SNAC(09,02) - client
+service parameters request.
+
+
+
+
+
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - max visible list size |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Max number of visible list entries |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Type(0x02) - max invisible list size |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Max number of invisible list entries |
+
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 3E 06 00 16 00 09 00 03 00 00 00 00 00 02 *.>.............
+ 00 02 00 02 00 C8 00 01 00 02 00 C8 ............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_09_04.html b/snac_09_04.html
new file mode 100644
index 0000000..04b67c8
--- /dev/null
+++ b/snac_09_04.html
@@ -0,0 +1,121 @@
+
+
+SNAC(09,04) client set permission group mask command
+
+
+
+
+
+
+
+
+
+| SNAC(09,04) |
+CLI_SET_GROUPMASK |
+
+
+ |
+
+ |
+
+
+
+
+
+The set group permission mask snac allows you to keep users of a
+certain class or classes from talking to you. The mask should be a
+bitwise OR of all the user classes
+you want to see you.
+
+
+
+
+
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ group permission mask |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 E1 CA 00 0E 00 09 00 04 00 00 97 D2 07 63 *..............c
+ 00 00 FF FF ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_09_05.html b/snac_09_05.html
new file mode 100644
index 0000000..d215057
--- /dev/null
+++ b/snac_09_05.html
@@ -0,0 +1,170 @@
+
+
+SNAC(09,05) add buddies to visible list
+
+
+
+
+
+
+
+
+
+| SNAC(09,05) |
+CLI_VISIBLE_ADD |
+
+
+ |
+
+ |
+
+
+
+
+
+Use this to add new entries to your client-side visible list.
+You can delete buddies from visible list using
+SNAC(09,06).
+See also complete snac list for this service
+here.
+
+
+
+
+
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ buddy id #1 strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ buddy id #1 string |
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+ | xx |
+ |
+ byte |
+ |
+ buddy id #n strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ buddy id #n string |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 61 EC 00 3B 00 09 00 05 00 00 00 00 00 07 *.a..;..........
+ 07 36 32 31 38 38 39 36 07 36 32 31 38 39 30 30 .6218896.6218900
+ 08 31 30 30 30 30 30 30 31 07 36 32 31 38 38 39 .10000001.621889
+ 39 07 36 32 31 38 38 39 37 07 31 30 30 30 30 30 9.6218897.100000
+ 30 0
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_09_06.html b/snac_09_06.html
new file mode 100644
index 0000000..2dec23a
--- /dev/null
+++ b/snac_09_06.html
@@ -0,0 +1,165 @@
+
+
+SNAC(09,06) delete buddies from visible list
+
+
+
+
+
+
+
+
+
+| SNAC(09,06) |
+CLI_VISIBLE_DELETE |
+
+
+ |
+
+ |
+
+
+
+
+
+Use this to delete entries from your client-side visible list.
+You can add buddies to visible list using
+SNAC(09,05).
+See also complete snac list for this service
+here.
+
+
+
+
+
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ buddy id #1 strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ buddy id #1 string |
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+ | xx |
+ |
+ byte |
+ |
+ buddy id #n strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ buddy id #n string |
+
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 62 04 00 1A 00 09 00 06 00 00 00 00 00 06 *.b.............
+ 07 36 32 31 38 38 39 37 07 36 32 31 38 38 39 36 .6218897.6218896
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_09_07.html b/snac_09_07.html
new file mode 100644
index 0000000..400d363
--- /dev/null
+++ b/snac_09_07.html
@@ -0,0 +1,169 @@
+
+
+SNAC(09,07) add buddies to invisible list
+
+
+
+
+
+
+
+
+
+| SNAC(09,07) |
+CLI_INVISIBLE_ADD |
+
+
+ |
+
+ |
+
+
+
+
+
+Use this this to add new entries to your client-side invisible list.
+You can delete buddies from invisible list using
+SNAC(09,08).
+See also complete snac list for this service
+here.
+
+
+
+
+
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ buddy id #1 strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ buddy id #1 string |
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+ | xx |
+ |
+ byte |
+ |
+ buddy id #n strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ buddy id #n string |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 61 FA 00 38 00 09 00 07 00 00 00 00 00 07 *.a..8..........
+ 07 36 32 31 38 38 39 36 08 31 30 30 30 30 30 30 .6218896.1000000
+ 31 04 31 30 30 31 07 36 32 31 38 38 39 38 07 36 1.1001.6218898.6
+ 32 31 38 38 39 37 07 31 30 30 30 30 30 30 218897.1000000
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_09_08.html b/snac_09_08.html
new file mode 100644
index 0000000..ba62db1
--- /dev/null
+++ b/snac_09_08.html
@@ -0,0 +1,167 @@
+
+
+SNAC(09,08) delete buddies from invisible list
+
+
+
+
+
+
+
+
+
+| SNAC(09,08) |
+CLI_INVISIBLE_DELETE |
+
+
+ |
+
+ |
+
+
+
+
+
+Use this to delete entries from your client-side invisible list.
+You can add buddies to invisible list using
+SNAC(09,07).
+See also complete snac list for this service
+here.
+
+
+
+
+
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ buddy id #1 strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ buddy id #1 string |
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+ | xx |
+ |
+ byte |
+ |
+ buddy id #n strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ buddy id #n string |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 62 04 00 1A 00 09 00 08 00 00 00 00 00 08 *.b.............
+ 07 36 32 31 38 38 39 37 07 36 32 31 38 38 39 36 .6218897.6218896
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_09_09.html b/snac_09_09.html
new file mode 100644
index 0000000..0e783e2
--- /dev/null
+++ b/snac_09_09.html
@@ -0,0 +1,211 @@
+
+
+SNAC(09,09) bos error
+
+
+
+
+
+
+
+
+
+| SNAC(09,09) |
+SRV_BOS_ERROR |
+
+
+ |
+
+ |
+
+
+
+
+ This is an error notification snac. Known error codes:
+
+0x01 - wrong mode
+
+
+
+
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error code (see above) |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - error subcode |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error subcode |
+
+
+
+ |
+
+ |
+
+ | |
+ |
+ |
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Type(0x04) - error description url |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ error description url string |
+
+
+
+ |
+ |
+
+ | |
+|
+ |
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_09_0a.html b/snac_09_0a.html
new file mode 100644
index 0000000..c0a7b1b
--- /dev/null
+++ b/snac_09_0a.html
@@ -0,0 +1,145 @@
+
+
+SNAC(09,0A) add to visible list
+
+
+
+
+
+
+
+
+
+| SNAC(09,0A) |
+CLI_ADDxTOxVISIBLE |
+
+
+ |
+
+ |
+
+
+
+
+ Add buddies to visible list (?). See also complete
+snac list for this service here.
+
+
+
+
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0A |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ screen name (uin) #1 strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ screen name (uin) #1 string |
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+ | xx |
+ |
+ byte |
+ |
+ screen name (uin) #n strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ screen name (uin) #n string |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_09_0b.html b/snac_09_0b.html
new file mode 100644
index 0000000..a258365
--- /dev/null
+++ b/snac_09_0b.html
@@ -0,0 +1,145 @@
+
+
+SNAC(09,0B) delete from visible list
+
+
+
+
+
+
+
+
+
+| SNAC(09,0B) |
+CLI_DELxFROMxVISIBLE |
+
+
+ |
+
+ |
+
+
+
+
+ Delete buddies from visible list (?). See also complete
+snac list for this service here.
+
+
+
+
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0B |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ screen name (uin) #1 strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ screen name (uin) #1 string |
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+ | xx |
+ |
+ byte |
+ |
+ screen name (uin) #n strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ screen name (uin) #n string |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_0a_01.html b/snac_0a_01.html
new file mode 100644
index 0000000..e6e19bc
--- /dev/null
+++ b/snac_0a_01.html
@@ -0,0 +1,166 @@
+
+
+SNAC(0A,01) server search_by_email service error
+
+
+
+
+
+
+
+
+
+| SNAC(0A,01) |
+SRV_EMAILxSEARCH_ERROR |
+
+
+ |
+
+ |
+
+
+
+
+
+This is an error notification snac. You'll receive it when search fails.
+See also error types complete list.
+
+
+
+
+
+
+ | 00 0A |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error code (see list) |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - error subcode, from "tlv tags" list |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error subcode |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 E1 CA 00 0C 00 0A 00 01 00 00 99 D0 07 62 *..............b
+ 00 14 ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_0a_02.html b/snac_0a_02.html
new file mode 100644
index 0000000..15d8fdf
--- /dev/null
+++ b/snac_0a_02.html
@@ -0,0 +1,119 @@
+
+
+SNAC(0A,02) client search by email request
+
+
+
+
+
+
+
+
+
+| SNAC(0A,02) |
+CLI_SEARCHxBYxEMAIL |
+
+
+ |
+
+ |
+
+
+
+
+
+Use this to search AIM account by email address associated with it.
+Server will reply via SNAC(0A,03) or via
+SNAC(0A,01) - error.
+
+
+
+
+
+
+ | 00 0A |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ email address string |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 33 73 00 17 00 0A 00 02 00 00 00 00 00 02 *.3s............
+ 61 61 61 61 61 40 61 61 61 61 2E 72 75 aaaaa@aaaa.ru
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_0a_03.html b/snac_0a_03.html
new file mode 100644
index 0000000..cab4d0f
--- /dev/null
+++ b/snac_0a_03.html
@@ -0,0 +1,213 @@
+
+
+SNAC(0A,03) server search_by_email reply
+
+
+
+
+
+
+
+
+
+| SNAC(0A,03) |
+SRV_SEARCHxEMAIL_REPLY |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the server reply to client search by email request. It contain
+found screennames associated with requested email. Server replies with
+this SNAC to SNAC(0A,02).
+
+
+
+
+
+
+
+ | 00 0A |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - found buddy screenname #1 |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ found screenname string |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ | |
+ .... |
+ .... |
+ .... |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - found buddy screenname #N |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ found screenname string |
+
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 4E 04 00 2E 00 0A 00 03 00 00 00 00 00 02 *.>.............
+ 00 01 00 0E 73 77 65 65 74 67 69 72 6C 33 38 34 ....sweetgirl384
+ 36 32 00 01 00 0E 73 77 65 65 74 67 69 72 6C 33 62....sweetgirl3
+ 38 34 36 33 8463
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_0b_01.html b/snac_0b_01.html
new file mode 100644
index 0000000..9134b91
--- /dev/null
+++ b/snac_0b_01.html
@@ -0,0 +1,160 @@
+
+
+SNAC(0B,01) server stats service error
+
+
+
+
+
+
+
+
+| SNAC(0B,01) |
+SRV_STATS_ERROR
+ |
+ |
+ |
+
+
+This is an error notification snac.
+See also error types complete list.
+
+
+
+
+
+
+ | 00 0B |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error code (see list) |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - error subcode, from "tlv tags" list |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error subcode |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 E7 C3 00 0C 00 0B 00 01 00 00 7F DE 54 31 *............T1
+ 00 0E ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_0b_02.html b/snac_0b_02.html
new file mode 100644
index 0000000..4f60585
--- /dev/null
+++ b/snac_0b_02.html
@@ -0,0 +1,120 @@
+
+
+SNAC(0B,02) server set minimum report interval
+
+
+
+
+
+
+
+
+
+| SNAC(0B,02) |
+SRV_SET_MINxREPORTxINTERVAL |
+
+
+ |
+
+ |
+
+
+
+
+
+Server send this to client after login. This snac contain minimum stats report
+interval value. Client should send stats report every 1200 hours (default value).
+See HKLM\SOFTWARE\Mirabilis\ICQ\Owners\6218895\Prefs\Stats in
+your registry for ICQ stats information (don't forget to change uin number in the path)
+
+
+
+
+
+
+ | 00 0B |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ min interval between stats reports (hours) |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 38 C7 00 0C 00 0B 00 02 00 00 85 1B 44 5C *.8...........D\
+ 04 B0 ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_0b_03.html b/snac_0b_03.html
new file mode 100644
index 0000000..2fe77ad
--- /dev/null
+++ b/snac_0b_03.html
@@ -0,0 +1,314 @@
+
+
+SNAC(0B,03) client stats report
+
+
+
+
+
+
+
+|
+SNAC(0B,03) |
+CLI_STATS_REPORT |
+
+
+ |
+
+ |
+
+
+
+
+ This is the client stats report. It contains local system info.
+
+
+
+
+
+
+ | 00 0B |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | |
+
+
+
+
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ TLV.Type(0x09) - local configuration (?) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ probably, info creation time in time_t format (local) |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ time in time_t format (same value, but in GMT) |
+
+
+ 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 |
+ |
+ 16 bytes |
+ |
+ unknown (zero values) |
+
+ |
+
+ | xx |
+ |
+ byte |
+ |
+ length of the screenname (uin) string |
+
+
+ | xx .. |
+ |
+ ascii |
+ |
+ screenname (uin) string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ unknown (machine class ?) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ length of the OS name |
+
+
+ | xx .. |
+ |
+ ascii |
+ |
+ OS name (ex: Windows 2000) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ length of the OS version string |
+
+
+ | xx .. |
+ |
+ ascii |
+ |
+ OS version (ex: 5.1.2600) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ length of the processor type |
+
+
+ | xx .. |
+ |
+ ascii |
+ |
+ processor type (ex: Intel.Pentium) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ length of the winsock description string |
+
+
+ | xx .. |
+ |
+ ascii |
+ |
+ winsock DLL description string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ length of the winsock version string |
+
+
+ | xx .. |
+ |
+ ascii |
+ |
+ winsock DLL version (ex: 5.1.2600.0) |
+
+ |
+
+ | 00 00 |
+ |
+ word |
+ |
+ Unknown field |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ Unknown field |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ Unknown field |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ Unknown field |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ Unknown field |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ Unknown field |
+
+
+
+ |
+
+
+ |
+ | |
+|
+ |
+
+ |
+ |
+
+ Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 1B A6 00 9B 00 0B 00 03 00 00 00 01 00 03 *..æ.Û..........
+ 00 09 00 8D 3E DE 02 8E 3E DE 2C BE 00 00 00 00 ...Í>¦.Î>¦,-....
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 ................
+ 0A 57 69 6E 64 6F 77 73 20 39 38 00 0D 34 2E 31 .Windows 98..4.1
+ 30 2E 36 37 37 36 36 34 34 36 00 0D 49 6E 74 65 0.67766446..Inte
+ 6C 20 50 65 6E 74 69 75 6D 00 2F 4D 69 63 72 6F l Pentium./Micro
+ 73 6F 66 74 20 43 6F 72 70 6F 72 61 74 69 6F 20 soft Corporatio
+ 42 53 44 20 53 6F 63 6B 65 74 20 41 50 49 20 66 BSD Socket API f
+ 6F 72 20 57 69 6E 64 6F 77 73 00 09 34 2E 31 30 or Windows..4.10
+ 2E 31 39 39 38 00 00 00 02 00 01 00 01 00 02 00 .1998...........
+ 02 2A 02 1B A7 00 0C 00 01 00 04 00 00 00 01 00 .*..ç...........
+ 04 00 18 2A 02 1B A8 00 0C 00 01 00 04 00 00 00 ...*..è.........
+ 02 00 04 00 0F 2A 02 1B A9 00 0A 00 02 00 09 00 .....*..é.......
+ 00 00 01 00 09 2A 02 1B AA 00 0A 00 02 00 0F 00 .....*..ê.......
+ 00 00 02 00 0F .....
+
+
+ |
+ |
+
+
+
+
+ |
+
+
+
+
+
diff --git a/snac_0b_04.html b/snac_0b_04.html
new file mode 100644
index 0000000..c67571a
--- /dev/null
+++ b/snac_0b_04.html
@@ -0,0 +1,108 @@
+
+
+SNAC(0B,04) server ack for client report
+
+
+
+
+
+
+
+
+
+| SNAC(0B,04) |
+SRV_REPORT_ACK |
+
+
+ |
+
+ |
+
+
+
+
+
+Server send this as an ack for client stats report. Currently used only by
+AIM service. ICQ clients never send stat reports.
+
+
+
+
+
+
+
+ | 00 0B |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+|
+ empty (no snac data)
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 38 C7 00 0A 00 0B 00 04 00 00 00 04 00 02 *.8.............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_0d_01.html b/snac_0d_01.html
new file mode 100644
index 0000000..c20ffcb
--- /dev/null
+++ b/snac_0d_01.html
@@ -0,0 +1,162 @@
+
+
+SNAC(0D,01) client/server chat navigation service error
+
+
+
+
+
+
+
+
+| SNAC(0D,01) |
+SRV_CHATNAV_ERROR
+ |
+ |
+ |
+
+
+
+This is an error notification snac. You'll receive it on service errors.
+See also error types complete list.
+
+
+
+
+
+
+ | 00 0D |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error code (see list) |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - error subcode, from "tlv tags" list |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error subcode |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+ 2A 02 E1 CA 00 0C 00 0D 00 01 00 00 99 D0 07 62 *..............b
+ 00 05 ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_0d_02.html b/snac_0d_02.html
new file mode 100644
index 0000000..7efb699
--- /dev/null
+++ b/snac_0d_02.html
@@ -0,0 +1,103 @@
+
+
+SNAC(0D,02) request chat navigation service parameters
+
+
+
+
+
+
+
+
+| SNAC(0D,02) |
+CLI_CHATNAV_RIGHTS_REQ
+ |
+ |
+ |
+
+
+Client use this SNAC to request chat navigation service parameters and
+limitations. Server should reply via SNAC(0D,09) -
+chat navigation information reply.
+
+
+
+
+
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+|
+ empty (no snac data)
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+ 2A 02 22 9B 00 0A 00 0D 00 02 00 00 00 00 00 02 *.".............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_0d_03.html b/snac_0d_03.html
new file mode 100644
index 0000000..f473aad
--- /dev/null
+++ b/snac_0d_03.html
@@ -0,0 +1,115 @@
+
+
+SNAC(0D,03) exchange info request
+
+
+
+
+
+
+
+
+
+| SNAC(0D,03) |
+CLI_CHATxREQxXCHGxINFO |
+
+
+ |
+
+ |
+
+
+
+
+ Exchange info request.
+
+
+
+
+
+
+ | 00 0D |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ unknown (info code ?) |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_0d_04.html b/snac_0d_04.html
new file mode 100644
index 0000000..a8a3a25
--- /dev/null
+++ b/snac_0d_04.html
@@ -0,0 +1,156 @@
+
+
+SNAC(0D,04) room info request
+
+
+
+
+
+
+
+
+
+| SNAC(0D,04) |
+CLI_ROOMxINFOxREQ |
+
+
+ |
+
+ |
+
+
+
+
+ Room info request.
+
+
+
+
+
+
+ | 00 0D |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+
+
+|
+Following chat room identification info may be repeated more then once
+ |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ exchange |
+
+
+ | xx |
+ |
+ byte |
+ |
+ cookie length |
+
+
+ | xx .. |
+ |
+ array |
+ |
+ cookie |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ instance number |
+
+
+ | xx |
+ |
+ byte |
+ |
+ detail level |
+
+
+
+ |
+ |
+
+ |
+ |
+ |
+
+ Example SNAC dump with flap header:
+
+
+
+
+
+ |
+
+
+
+
+
diff --git a/snac_0d_06.html b/snac_0d_06.html
new file mode 100644
index 0000000..dc7ab75
--- /dev/null
+++ b/snac_0d_06.html
@@ -0,0 +1,137 @@
+
+
+SNAC(0D,06) occupant list request
+
+
+
+
+
+
+
+
+
+| SNAC(0D,06) |
+CLI_ROOMxOCCUPxLISTxREQ |
+
+
+ |
+
+ |
+
+
+
+
+ Occupant list request.
+
+
+
+
+
+
+ | 00 0D |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ exchange |
+
+
+ | xx |
+ |
+ byte |
+ |
+ cookie length |
+
+
+ | xx .. |
+ |
+ array |
+ |
+ cookie |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ instance number |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_0d_07.html b/snac_0d_07.html
new file mode 100644
index 0000000..7312c66
--- /dev/null
+++ b/snac_0d_07.html
@@ -0,0 +1,137 @@
+
+
+SNAC(0D,07) search for room
+
+
+
+
+
+
+
+
+
+| SNAC(0D,07) |
+CLI_CHATxSEARCHxFORxROOM
+ |
+ |
+ |
+
+
+
+
+Search for room.
+
+
+
+
+
+
+ | 00 0D |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ search class |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | May contain TLV sequence here |
+
+
+ |
+
+ |
+
+ |
+ |
+ |
+ |
+
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_0d_08.html b/snac_0d_08.html
new file mode 100644
index 0000000..ebd1124
--- /dev/null
+++ b/snac_0d_08.html
@@ -0,0 +1,173 @@
+
+
+SNAC(0D,08) create room
+
+
+
+
+
+
+
+
+
+| SNAC(0D,08) |
+CLI_ROOMxCREATE |
+
+
+ |
+
+ |
+
+
+
+
+ Create room.
+
+
+
+
+
+
+ | 00 0D |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ exchange |
+
+
+ | xx |
+ |
+ byte |
+ |
+ cookie length |
+
+
+ | xx .. |
+ |
+ array |
+ |
+ cookie |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ instance number |
+
+
+ | xx |
+ |
+ byte |
+ |
+ detail level |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ number of following description tlvs |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_0d_09.html b/snac_0d_09.html
new file mode 100644
index 0000000..8bc6d8d
--- /dev/null
+++ b/snac_0d_09.html
@@ -0,0 +1,376 @@
+
+
+SNAC(0D,09) chat information response
+
+
+
+
+
+
+
+
+
+| SNAC(0D,09) |
+SRV_CHATxINFO
+ |
+ |
+ |
+
+
+
+
+Chat information response.
+
+
+
+
+
+
+ | 00 0D |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - redirect |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Type(0x02) - max concurrent rooms |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ |
+ |
+ |
+ |
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - exchange info |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ identifier |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ number of following description tlvs |
+
+
+
+
+
+
+ |
+ |
+
+ |
+ |
+ |
+ |
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Type(0x04) - room info |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ exchange |
+
+
+ | xx |
+ |
+ byte |
+ |
+ cookie length |
+
+
+ | xx .. |
+ |
+ array |
+ |
+ cookie |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ instance number |
+
+
+ | xx |
+ |
+ byte |
+ |
+ detail level |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ number of following description tlvs |
+
+
+
+
+
+
+ |
+ |
+
+ |
+ |
+ |
+ |
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_0e_01.html b/snac_0e_01.html
new file mode 100644
index 0000000..ac04f90
--- /dev/null
+++ b/snac_0e_01.html
@@ -0,0 +1,162 @@
+
+
+SNAC(0E,01) client/server chat service error
+
+
+
+
+
+
+
+
+| SNAC(0E,01) |
+SRV_CHAT_ERROR
+ |
+ |
+ |
+
+
+
+This is an error notification snac. You'll receive it on service errors.
+See also error types complete list.
+
+
+
+
+
+
+ | 00 0E |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error code (see list) |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - error subcode, from "tlv tags" list |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error subcode |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+ 2A 02 E1 CA 00 0C 00 0E 00 01 00 00 99 D0 07 62 *..............b
+ 00 05 ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_0e_02.html b/snac_0e_02.html
new file mode 100644
index 0000000..819d98a
--- /dev/null
+++ b/snac_0e_02.html
@@ -0,0 +1,172 @@
+
+
+SNAC(0E,02) room info update
+
+
+
+
+
+
+
+
+
+| SNAC(0E,02) |
+SRV_ROOMxINFOxUPDATE
+ |
+ |
+ |
+
+
+
+
+Room info update.
+
+
+
+
+
+
+ | 00 0E |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ exchange |
+
+
+ | xx |
+ |
+ byte |
+ |
+ cookie length |
+
+
+ | xx .. |
+ |
+ array |
+ |
+ cookie |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ instance number |
+
+
+ | xx |
+ |
+ byte |
+ |
+ detail level |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ number of following description tlvs |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_0e_03.html b/snac_0e_03.html
new file mode 100644
index 0000000..fcb5232
--- /dev/null
+++ b/snac_0e_03.html
@@ -0,0 +1,456 @@
+
+
+SNAC(0E,03) users joined notification
+
+
+
+
+
+
+
+
+
+| SNAC(0E,03) |
+SRV_CHAT_JOINED_USERS |
+
+
+ |
+
+ |
+
+
+
+
+
+You'll receive this snac when one or more users joins chat room. There are
+could be more then one user record in this snac. Each user record contain
+user screenname, warning level and a number of user-info TLVs. See also
+additional information about online userinfo
+block.
+
+
+
+
+
+
+
+ | 00 0E |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+ xx |
+ |
+ char |
+ |
+ screenname (uin) string length |
+
+
+ |
+ xx .. |
+ |
+ string |
+ |
+ screenname (uin) string |
+
+
+ |
+ xx xx |
+ |
+ word |
+ |
+ warning level |
+
+
+ |
+ 00 03 |
+ |
+ word |
+ |
+ Number of TLV in info-tlvlist |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - user class |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 0F |
+ |
+ word |
+ |
+ TLV.Type(0x0F) - client idle time |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Client idle time (in seconds) |
+
+
+
+ |
+ |
+ | |
+|
+ |
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - signon time |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Time when client gone online (unix time_t) |
+
+
+
+ |
+ |
+ | |
+|
+ |
+
+
+
+ |
+ .... |
+ |
+ .... |
+ |
+ .... |
+
+
+
+
+
+ |
+ xx |
+ |
+ char |
+ |
+ screenname (uin) string length |
+
+
+ |
+ xx .. |
+ |
+ string |
+ |
+ screenname (uin) string |
+
+
+ |
+ xx xx |
+ |
+ word |
+ |
+ warning level |
+
+
+ |
+ 00 03 |
+ |
+ word |
+ |
+ Number of TLV in info-tlvlist |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - user class |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 0F |
+ |
+ word |
+ |
+ TLV.Type(0x0F) - client idle time |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Client idle time (in seconds) |
+
+
+
+ |
+ |
+ | |
+|
+ |
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - signon time |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Time when client gone online (unix time_t) |
+
+
+
+ |
+ |
+ | |
+|
+ |
+
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+ 2A 02 EE F8 00 32 00 0E 00 03 00 00 9B 7D 97 D8 *....2.......}..
+ 0D 52 45 41 4C 52 65 67 72 65 73 73 6F 72 00 00 .REALRegressor..
+ 00 03 00 01 00 02 00 10 00 0F 00 04 00 00 00 01 ................
+ 00 03 00 04 3E 4C BE 8C ........
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_0e_04.html b/snac_0e_04.html
new file mode 100644
index 0000000..31ac01c
--- /dev/null
+++ b/snac_0e_04.html
@@ -0,0 +1,456 @@
+
+
+SNAC(0E,04) users left notification
+
+
+
+
+
+
+
+
+
+| SNAC(0E,04) |
+SRV_CHAT_LEFT_USERS |
+
+
+ |
+
+ |
+
+
+
+
+
+You'll receive this snac when one or more users leaves chat room. There are
+could be more then one user record in this snac. Each user record contain
+user screenname, warning level and a number of user-info TLVs. See also
+additional information about online userinfo
+block.
+
+
+
+
+
+
+
+ | 00 0E |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+ xx |
+ |
+ char |
+ |
+ screenname (uin) string length |
+
+
+ |
+ xx .. |
+ |
+ string |
+ |
+ screenname (uin) string |
+
+
+ |
+ xx xx |
+ |
+ word |
+ |
+ warning level |
+
+
+ |
+ 00 03 |
+ |
+ word |
+ |
+ Number of TLV in info-tlvlist |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - user class |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 0F |
+ |
+ word |
+ |
+ TLV.Type(0x0F) - online time |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Client online time (in seconds) |
+
+
+
+ |
+ |
+ | |
+|
+ |
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - signon time |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Time when client gone online (unix time_t) |
+
+
+
+ |
+ |
+ | |
+|
+ |
+
+
+
+ |
+ .... |
+ |
+ .... |
+ |
+ .... |
+
+
+
+
+
+ |
+ xx |
+ |
+ char |
+ |
+ screenname (uin) string length |
+
+
+ |
+ xx .. |
+ |
+ string |
+ |
+ screenname (uin) string |
+
+
+ |
+ xx xx |
+ |
+ word |
+ |
+ warning level |
+
+
+ |
+ 00 03 |
+ |
+ word |
+ |
+ Number of TLV in info-tlvlist |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - user class |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 0F |
+ |
+ word |
+ |
+ TLV.Type(0x0F) - client idle time |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Client idle time (in seconds) |
+
+
+
+ |
+ |
+ | |
+|
+ |
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - signon time |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Time when client gone online (unix time_t) |
+
+
+
+ |
+ |
+ | |
+|
+ |
+
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+ 2A 02 EE F8 00 32 00 0E 00 03 00 00 9B 7D 97 D8 *....2.......}..
+ 0D 52 45 41 4C 52 65 67 72 65 73 73 6F 72 00 00 .REALRegressor..
+ 00 03 00 01 00 02 00 10 00 0F 00 04 00 00 00 01 ................
+ 00 03 00 04 3E 4C BE 8C ........
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_0e_05.html b/snac_0e_05.html
new file mode 100644
index 0000000..a612ab8
--- /dev/null
+++ b/snac_0e_05.html
@@ -0,0 +1,383 @@
+
+
+SNAC(0E,05) channel3 message from client to chat room
+
+
+
+
+
+
+
+
+
+| SNAC(0E,05) |
+CLI_CHAT_MESSAGE |
+
+
+ |
+
+ |
+
+
+This is the message from client to chat server (chat room). AIM chat use
+only channel 3 messages. Reflection flag used to receive own messages.
+
+
+
+
+
+
+
+ | 00 0E |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+ |
+
+
+
+
+ | |
+ xx xx xx xx xx xx xx xx |
+ |
+ qword |
+ |
+ msg-id cookie |
+
+
+ | |
+ 00 03 |
+ |
+ word |
+ |
+ message channel |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - public/whisper flag |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | empty (no tlv data) |
+
+
+ |
+ |
+ | |
+|
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ TLV.Type(0x06) - enable reflection flag |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | empty (no tlv data) |
+
+
+ |
+ |
+ | |
+|
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ TLV.Type(0x05) - message information |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 02 |
+ |
+word |
+ |
+TLV.Type(0x02) - message encoding |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx .. |
+ |
+ascii |
+ |
+Encoding name string |
+
+
+ |
+ |
+
+ | |
+
+| |
+
+
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 03 |
+ |
+word |
+ |
+TLV.Type(0x03) - message language |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| 00 00 |
+ |
+word |
+ |
+Message language abbr |
+
+
+
+ |
+ |
+
+ | |
+ |
+ |
+
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(0x01) - message language |
+
+
+| xx .. |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx .. |
+ |
+word |
+ |
+Message text (HTML text) |
+
+
+
+ |
+ |
+
+ | |
+ |
+ |
+
+
+
+ |
+ |
+ |
+ | |
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+ 2A 02 6A D8 00 88 00 0E 00 05 00 00 00 00 00 05 *.j.............
+ 33 41 35 36 35 43 38 37 00 03 00 01 00 00 00 06 3A565C87........
+ 00 00 00 05 00 68 00 02 00 08 75 73 2D 61 73 63 .....h....us-asc
+ 69 69 00 03 00 02 65 6E 00 01 00 52 3C 48 54 4D ii....en...R<HTM
+ 4C 3E 3C 42 4F 44 59 20 42 47 43 4F 4C 4F 52 3D L><BODY BGCOLOR=
+ 22 23 66 66 66 66 66 66 22 3E 3C 46 4F 4E 54 20 "#ffffff"><FONT
+ 4C 41 4E 47 3D 22 30 22 3E 48 69 2E 2E 2E 2E 20 LANG="0">Hi....
+ 41 6E 79 62 6F 64 79 20 3F 3C 2F 46 4F 4E 54 3E Anybody ?</FONT>
+ 3C 2F 42 4F 44 59 3E 3C 2F 48 54 4D 4C 3E </BODY></HTML>
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_0e_06.html b/snac_0e_06.html
new file mode 100644
index 0000000..52284ff
--- /dev/null
+++ b/snac_0e_06.html
@@ -0,0 +1,545 @@
+
+
+SNAC(0E,06) chat room channel3 message from server
+
+
+
+
+
+
+
+
+
+| SNAC(0E,06) |
+SRV_CHAT_MESSAGE |
+
+
+ |
+
+ |
+
+
+This is the chat room message from server. AIM chat use only channel 3 messages.
+Reflection flag used to receive own messages. See also
+additional information about online userinfo block.
+
+
+
+
+
+
+
+ | 00 0E |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+ |
+
+
+
+
+ | |
+ xx xx xx xx xx xx xx xx |
+ |
+ qword |
+ |
+ msg-id cookie |
+
+
+ | |
+ 00 03 |
+ |
+ word |
+ |
+ message channel |
+
+
+
+
+
+ | |
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - sender information |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+
+
+
+ | |
+ xx |
+ |
+ byte |
+ |
+ screenname (uin) strlen |
+
+
+ | |
+ xx .. |
+ |
+ ascii |
+ |
+ screenname (uin) string |
+
+
+ | |
+ xx xx |
+ |
+ word |
+ |
+ warning level |
+
+
+ | |
+ 00 03 |
+ |
+ word |
+ |
+ number of info TLVs (user info block) |
+
+
+
+
+
+ | |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(0x01) - user class |
+
+
+| 00 02 |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+|
+
+
+ |
+ |
+
+ | |
+|
+ |
+
+
+
+
+ | |
+
+
+
+
+
+
+
+| 00 0f |
+ |
+word |
+ |
+TLV.Type(0x0f) - user idle time |
+
+
+| 00 04 |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+user idle time in seconds |
+
+
+ |
+ |
+
+ | |
+|
+ |
+
+
+
+
+ | |
+
+
+
+
+
+
+
+| 00 03 |
+ |
+word |
+ |
+TLV.Type(0x03) - signon time |
+
+
+| 00 04 |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+signon time (unix time_t) |
+
+
+ |
+ |
+
+ | |
+|
+ |
+
+
+ |
+ |
+ |
+ | |
+| |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - public/whisper flag |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+
+ | empty (no tlv data) |
+
+
+ |
+ |
+ | |
+|
+ |
+
+
+
+
+ | |
+
+
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ TLV.Type(0x05) - message information |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+
+
+
+ | |
+
+
+
+
+
+
+
+| 00 02 |
+ |
+word |
+ |
+TLV.Type(0x02) - message encoding |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx .. |
+ |
+ascii |
+ |
+message encoding string |
+
+
+ |
+ |
+
+ | |
+|
+ |
+
+
+
+
+ | |
+
+
+
+
+
+
+
+| 00 03 |
+ |
+word |
+ |
+TLV.Type(0x03) - message language |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx .. |
+ |
+ascii |
+ |
+message language abbr |
+
+
+ |
+ |
+
+ | |
+|
+ |
+
+
+
+
+ | |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(0x01) - message text |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx .. |
+ |
+ascii |
+ |
+message text (html) |
+
+
+ |
+ |
+
+ | |
+|
+ |
+
+
+ |
+ |
+ |
+ | |
+| |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dumps with flap header:
+
+
+
+
+
+ 2A 02 EE FA 00 B0 00 0E 00 06 00 00 9B 7D BD 28 *............}.(
+ 33 41 35 36 35 43 38 37 00 03 00 03 00 28 0D 52 3A565C87.....(.R
+ 45 41 4C 52 65 67 72 65 73 73 6F 72 00 00 00 03 EALRegressor....
+ 00 01 00 02 00 10 00 0F 00 04 00 00 00 18 00 03 ................
+ 00 04 3E 4C BE 8C 00 01 00 00 00 05 00 68 00 02 ..<L.........h..
+ 00 08 75 73 2D 61 73 63 69 69 00 03 00 02 65 6E ..us-ascii....en
+ 00 01 00 52 3C 48 54 4D 4C 3E 3C 42 4F 44 59 20 ...R<HTML><BODY
+ 42 47 43 4F 4C 4F 52 3D 22 23 66 66 66 66 66 66 BGCOLOR="#ffffff
+ 22 3E 3C 46 4F 4E 54 20 4C 41 4E 47 3D 22 30 22 "><FONT LANG="0"
+ 3E 48 69 2E 2E 2E 2E 20 41 6E 79 62 6F 64 79 20 >Hi.... Anybody
+ 3F 3C 2F 46 4F 4E 54 3E 3C 2F 42 4F 44 59 3E 3C ?</FONT></BODY><
+ 2F 48 54 4D 4C 3E /HTML>
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_0e_07.html b/snac_0e_07.html
new file mode 100644
index 0000000..19e03cb
--- /dev/null
+++ b/snac_0e_07.html
@@ -0,0 +1,156 @@
+
+
+SNAC(0E,07) evil request
+
+
+
+
+
+
+
+
+
+| SNAC(0E,07) |
+CLI_CHATxEVILxREQ
+ |
+ |
+ |
+
+
+
+
+Evil request.
+
+
+
+
+
+
+ | 00 0E |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ "send as" flag: 1-anonymous, 0-non-anonymous |
+
+
+ | xx |
+ |
+ byte |
+ |
+ screenname string length |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ screenname string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ max evil (?) |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | May contain TLV sequence here |
+
+
+ |
+ |
+
+ |
+ |
+ |
+ |
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_0e_08.html b/snac_0e_08.html
new file mode 100644
index 0000000..0fe8c6b
--- /dev/null
+++ b/snac_0e_08.html
@@ -0,0 +1,122 @@
+
+
+SNAC(0E,08)
+
+
+
+
+
+
+
+
+
+| SNAC(0E,08) |
+SRV_CHATxEVILxREPLY |
+
+
+ |
+
+ |
+
+
+
+
+ Evil reply.
+
+
+
+
+
+
+ | 00 0E |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ warning level gain |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ new warning level |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_0e_09.html b/snac_0e_09.html
new file mode 100644
index 0000000..455a35c
--- /dev/null
+++ b/snac_0e_09.html
@@ -0,0 +1,152 @@
+
+
+SNAC(0E,09) chat error or data
+
+
+
+
+
+
+
+
+
+| SNAC(0E,09) |
+CLI_CHAT_ERROR |
+
+
+ |
+
+ |
+
+
+
+
+ Client send this snac as reply to SNAC(0E,06) (?).
+
+
+
+
+
+
+
+ | 00 0E |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ xx xx xx xx xx xx xx xx |
+ |
+ qword |
+ |
+ msg-id cookie |
+
+
+ | |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ message channel |
+
+
+ | xx |
+ |
+ byte |
+ |
+ screenname string length |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ screenname string |
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ reason code (1 - busted payload, 2 - channel specific) |
+
+
+
+ |
+|
+ Here is channel-specific data.
+ |
+ |
+ |
+
+
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_0f_01.html b/snac_0f_01.html
new file mode 100644
index 0000000..9b64a24
--- /dev/null
+++ b/snac_0f_01.html
@@ -0,0 +1,166 @@
+
+
+SNAC(0f,01) directory user search service error
+
+
+
+
+
+
+
+
+
+| SNAC(0f,01) |
+SRV_SEARCH_ERROR |
+
+
+ |
+
+ |
+
+
+
+
+
+This is an error notification snac.
+See also error types complete list.
+
+
+
+
+
+
+ | 00 0f |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error code (see list) |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - error subcode, from "tlv tags" list |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error subcode |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 E1 CA 00 0C 00 0f 00 01 00 00 99 D0 07 62 *..............b
+ 00 14 ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_0f_04.html b/snac_0f_04.html
new file mode 100644
index 0000000..b447760
--- /dev/null
+++ b/snac_0f_04.html
@@ -0,0 +1,114 @@
+
+
+SNAC(0f,04) request interests list from server
+
+
+
+
+
+
+
+
+
+| SNAC(0f,04) |
+CLI_INTERESTS_REQ |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this to request interests list from server. Server should reply
+via SNAC(0f,05).
+
+
+
+
+
+
+
+ | 00 0f |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | empty (no snac data) |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2a 02 e1 ca 00 0a 00 0f 00 04 00 00 99 d0 07 62 *..............b
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_10_01.html b/snac_10_01.html
new file mode 100644
index 0000000..30d9c2e
--- /dev/null
+++ b/snac_10_01.html
@@ -0,0 +1,166 @@
+
+
+SNAC(10,01) server icons service error
+
+
+
+
+
+
+
+
+
+| SNAC(10,01) |
+SRV_ICO_ERROR |
+
+
+ |
+
+ |
+
+
+
+
+
+This is an error notification snac.
+See also error types complete list.
+
+
+
+
+
+
+ | 00 10 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error code (see list) |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - error subcode, from "tlv tags" list |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error subcode |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 E1 CA 00 0C 00 10 00 01 00 00 99 D0 07 62 *..............b
+ 00 05 ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_10_02.html b/snac_10_02.html
new file mode 100644
index 0000000..f47b56e
--- /dev/null
+++ b/snac_10_02.html
@@ -0,0 +1,160 @@
+
+
+SNAC(10,02) upload buddy icon to server
+
+
+
+
+
+
+
+
+
+| SNAC(10,02) |
+CLI_ICON_UPLOAD |
+
+
+ |
+
+ |
+
+
+
+
+
+Client (AIM/ICQ) use this snac to upload its own buddy icon to server. Server should
+reply via SNAC(10,03) that contain md5 checksum of
+the uploaded icon. Go here to learn correct icon
+upload/download sequences.
+
+
+
+
+
+
+
+ | 00 10 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ reference number |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ icon length |
+
+
+ | xx .. |
+ |
+ array |
+ |
+ icon data (jpg, gif, bmp, etc...) |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2a 02 5a 5b 01 a3 00 10 00 02 00 00 00 01 00 02 *.Z[............
+ 00 01 01 95 47 49 46 38 39 61 20 00 20 00 b3 00 ....GIF89a . ...
+ 00 ff 00 ff 00 00 00 a0 ff 00 80 c0 00 60 a0 00 .............`..
+ 40 80 00 a0 ff 40 c0 ff 40 c0 ff 80 ff ff ff 00 @....@..@.......
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+ 00 21 f9 04 01 00 00 00 00 21 fe 30 43 72 65 61 .!.......!.0Crea
+ 74 6f 72 3a 20 50 6f 6c 79 56 69 65 77 ae 20 56 tor: PolyView. V
+ 65 72 73 69 6f 6e 20 33 2e 32 30 20 62 79 20 50 ersion 3.20 by P
+ 6f 6c 79 62 79 74 65 73 0d 0a 0d 0a 00 2c 00 00 olybytes.....,..
+ 00 00 20 00 20 00 00 04 ff 10 c8 49 ab bd 38 eb .. . ......I..8.
+ 8d 83 ff 60 c0 5d 9e 30 9c 44 5a ac c5 37 02 a5 ...`.].0.DZ..7..
+ 20 9f 68 4a b0 ad a8 05 72 df d3 b5 1b 4b 47 92 .hJ....r....KG.
+ 19 8e 06 df 8c 66 13 12 29 01 a4 e1 70 90 2a 4d .....f..)...p.*M
+ 83 80 6a f5 84 1d a9 60 aa 34 f9 23 68 85 ad 49 ..j....`.4.#h..I
+ 74 7a 40 b8 dd e1 ea 71 69 de 12 a3 ed b7 fe 2d tz@....qi......-
+ 2e d1 3c 76 12 78 7b 84 07 1f 64 28 67 5c 30 09 ..<v.x{...d(g\0.
+ 01 84 7a 86 01 09 93 3c 33 66 8a 39 8d 8f 08 91 ..z....<3f.9....
+ 93 9e 51 4b 92 5a 5c 92 9a 84 a5 9e 94 88 59 8d ..QK.Z\.......Y.
+ 2a 1e 94 79 70 a8 a9 8d ab a5 a3 af 94 7c b3 b4 *..yp........|..
+ a0 26 97 ad 99 b0 54 bc 8d b7 49 89 c6 37 b9 87 .&....T...I..7..
+ c5 c6 b5 96 a8 b8 b7 a2 b4 d6 be 03 66 9f a4 bd ............f...
+ d6 a9 d8 59 d2 dc 9f b9 d7 ab da a2 cb 82 1f 32 ...Y...........2
+ e5 94 e0 da ef 8b 30 03 4a 21 95 74 e5 b8 6a 04 ......0.J!.t..j.
+ 34 57 3e 4c a8 ed 83 92 02 c8 89 25 35 a4 39 21 4W>L.......%5.9!
+ d1 c4 03 10 1b f7 16 76 08 c0 e2 52 88 26 38 ba .......v...R.&8.
+ 90 f0 50 b1 09 1a 52 2f 0e d6 e1 18 99 23 64 85 ..P...R/.....#d.
+ 7b 20 4c aa d4 10 01 00 3b { L.....;
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_10_03.html b/snac_10_03.html
new file mode 100644
index 0000000..c8ab3d4
--- /dev/null
+++ b/snac_10_03.html
@@ -0,0 +1,141 @@
+
+
+SNAC(10,03) server ack for upload buddy icon request
+
+
+
+
+
+
+
+
+
+| SNAC(10,03) |
+SRV_ICON_UPLOAD_ACK |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the ack for SNAC(10,02) - client upload
+buddy icon request.
+
+
+
+
+
+
+
+ | 00 10 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ unknown field(s) |
+
+
+ | 01 01 |
+ |
+ word |
+ |
+ unknown field(s) |
+
+
+ | 10 |
+ |
+ byte |
+ |
+ size of the icon md5 checksum |
+
+
+ | xx .. |
+ |
+ array |
+ |
+ icon md5 checksum |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2a 02 98 a8 00 1f 00 10 00 03 00 00 00 01 00 02 *...............
+ 00 00 01 01 10 f9 65 56 88 e6 ad df ed 92 6b 62 ......eV......kb
+ 6f bd f9 3c ee o..<.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_10_04.html b/snac_10_04.html
new file mode 100644
index 0000000..9ca2c79
--- /dev/null
+++ b/snac_10_04.html
@@ -0,0 +1,162 @@
+
+
+SNAC(10,04) request AIM buddy icon from server
+
+
+
+
+
+
+
+
+
+| SNAC(10,04) |
+CLI_AIM_ICON_REQUEST |
+
+
+ |
+
+ |
+
+
+
+
+
+Client (AIM) use this snac to request buddy icon from server. Server should
+reply via SNAC(10,05) that contain requested icon.
+
+
+
+
+
+
+
+ | 00 10 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ screenname string length |
+
+
+ | xx .. |
+ |
+ ascii |
+ |
+ screenname string |
+
+
+ | 01 |
+ |
+ byte |
+ |
+ unknown (command ?) |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ icon id (not sure) |
+
+
+ | 01 |
+ |
+ byte |
+ |
+ icon flags (bitmask, purpose unknown) |
+
+
+ | 10 |
+ |
+ byte |
+ |
+ md5 hash size (16) |
+
+
+ | xx .. |
+ |
+ array |
+ |
+ requested icon md5 hash |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 08 91 00 2A 00 10 00 04 00 00 00 01 00 04 *....*..........
+ 0A 54 72 6F 6D 70 65 74 65 4A 43 01 00 01 01 10 .TrompeteJC.....
+ B7 39 D9 69 2B 15 60 36 57 C5 C9 B4 89 C9 13 82 .9.i+.`6W.......
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_10_05.html b/snac_10_05.html
new file mode 100644
index 0000000..84a6cff
--- /dev/null
+++ b/snac_10_05.html
@@ -0,0 +1,196 @@
+
+
+SNAC(10,05) server AIM buddy icon reply
+
+
+
+
+
+
+
+
+
+| SNAC(10,05) |
+SRV_AIM_ICON_REPLY |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the server reply for SNAC(10,04) -
+client buddy icon request. This snac contain requested buddy icon (jpg, gif,
+bmp, etc...) and its md5 checksum.
+
+
+
+
+
+
+
+ | 00 10 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ screenname string length |
+
+
+ | xx .. |
+ |
+ ascii |
+ |
+ screenname string |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ unknown field(s) |
+
+
+ | 01 |
+ |
+ byte |
+ |
+ icon flags (?) |
+
+
+ | 10 |
+ |
+ byte |
+ |
+ md5 hash size (16) |
+
+
+ | xx .. |
+ |
+ array |
+ |
+ requested icon md5 hash |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ length of the icon |
+
+
+ | xx .. |
+ |
+ array |
+ |
+ icon data (jpg, gif, bmp, etc...) |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2a 02 bc 51 01 bf 00 10 00 05 00 00 00 01 00 04 *..Q.5..........
+ 09 52 65 67 72 65 73 73 6f 72 00 01 01 10 f9 65 .Regressor.....e
+ 56 88 e6 ad df ed 92 6b 62 6f bd f9 3c ee 01 95 V......kbo..<...
+ 47 49 46 38 39 61 20 00 20 00 b3 00 00 ff 00 ff GIF89a . .......
+ 00 00 00 a0 ff 00 80 c0 00 60 a0 00 40 80 00 a0 .........`..@...
+ ff 40 c0 ff 40 c0 ff 80 ff ff ff 00 00 00 00 00 .@..@...........
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 21 f9 04 .............!..
+ 01 00 00 00 00 21 fe 30 43 72 65 61 74 6f 72 3a .....!.0Creator:
+ 20 50 6f 6c 79 56 69 65 77 ae 20 56 65 72 73 69 .PolyView. Versi
+ 6f 6e 20 33 2e 32 30 20 62 79 20 50 6f 6c 79 62 on 3.20 by Polyb
+ 79 74 65 73 0d 0a 0d 0a 00 2c 00 00 00 00 20 00 ytes.....,.... .
+ 20 00 00 04 ff 10 c8 49 ab bd 38 eb 8d 83 ff 60 ......I..8....`
+ c0 5d 9e 30 9c 44 5a ac c5 37 02 a5 20 9f 68 4a .].0.DZ..7...hJ.
+ b0 ad a8 05 72 df d3 b5 1b 4b 47 92 19 8e 06 df ...r....KG.....
+ 8c 66 13 12 29 01 a4 e1 70 90 2a 4d 83 80 6a f5 .f..)...p.*M..j.
+ 84 1d a9 60 aa 34 f9 23 68 85 ad 49 74 7a 40 b8 ...`.4.#h..Itz@.
+ dd e1 ea 71 69 de 12 a3 ed b7 fe 2d 2e d1 3c 76 ...qi......-..L
+ a8 ed 83 92 02 c8 89 25 35 a4 39 21 d1 c4 03 10 .......%5.9!....
+ 1b f7 16 76 08 c0 e2 52 88 26 38 ba 90 f0 50 b1 ...v...R.&8...P.
+ 09 1a 52 2f 0e d6 e1 18 99 23 64 85 7b 20 4c aa ..R/.....#d.{ L.
+ d4 10 01 00 3b ....;
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_10_06.html b/snac_10_06.html
new file mode 100644
index 0000000..726be29
--- /dev/null
+++ b/snac_10_06.html
@@ -0,0 +1,162 @@
+
+
+SNAC(10,06) request icq buddy icon from server
+
+
+
+
+
+
+
+
+
+| SNAC(10,06) |
+CLI_ICQ_ICON_REQUEST |
+
+
+ |
+
+ |
+
+
+
+
+
+Client (ICQ) use this snac to request buddy icon from server. Server should
+reply via SNAC(10,07) that contain requested icon.
+
+
+
+
+
+
+
+ | 00 10 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ uin length |
+
+
+ | xx .. |
+ |
+ ascii |
+ |
+ uin string |
+
+
+ | 01 |
+ |
+ byte |
+ |
+ unknown (command ?) |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ icon id (not sure) |
+
+
+ | 01 |
+ |
+ byte |
+ |
+ icon flags (bitmask, purpose unknown) |
+
+
+ | 10 |
+ |
+ byte |
+ |
+ md5 hash size (16) |
+
+
+ | xx .. |
+ |
+ array |
+ |
+ requested icon md5 hash |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 61 1E 00 29 00 10 00 06 00 00 5D 2E 00 06 *.a..)......]...
+ 09 33 34 34 30 35 39 31 37 39 01 00 01 01 10 EC .344059179......
+ 7B 60 67 CF D1 01 99 0C BD 33 F9 00 FC 4B 9B {`g......3...K.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_10_07.html b/snac_10_07.html
new file mode 100644
index 0000000..c28bc3c
--- /dev/null
+++ b/snac_10_07.html
@@ -0,0 +1,249 @@
+
+
+SNAC(10,07) server icq buddy icon reply
+
+
+
+
+
+
+
+
+
+| SNAC(10,07) |
+SRV_ICQ_ICON_REPLY |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the server reply for SNAC(10,06) -
+client buddy icon request. This snac contain requested buddy icon (jpg, gif,
+bmp, etc...) and its md5 checksum.
+
+
+
+
+
+
+
+ | 00 10 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ uin length |
+
+
+ | xx .. |
+ |
+ ascii |
+ |
+ uin string |
+
+
+ | |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ icon id (not sure) |
+
+
+ | 01 |
+ |
+ byte |
+ |
+ icon flags (bitmask, purpose unknown) |
+
+
+ | 10 |
+ |
+ byte |
+ |
+ md5 hash size (16) |
+
+
+ | xx .. |
+ |
+ array |
+ |
+ requested icon md5 hash |
+
+
+
+ | |
+
+
+
+ | 00 |
+ |
+ byte |
+ |
+ unknown (command ?) |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ icon id (not sure) |
+
+
+ | 01 |
+ |
+ byte |
+ |
+ icon flags (bitmask, purpose unknown) |
+
+
+ | 10 |
+ |
+ byte |
+ |
+ md5 hash size (16) - yes, again |
+
+
+ | xx .. |
+ |
+ array |
+ |
+ requested icon md5 hash, again |
+
+
+ | |
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ length of the icon |
+
+
+ | xx .. |
+ |
+ array |
+ |
+ icon data (jfif - jpeg file interchange format) |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 1C 8C 16 4A 00 10 00 07 00 00 5D 2E 00 06 *....J......]...
+ 09 33 34 34 30 35 39 31 37 39 00 01 01 10 EC 7B .344059179.....{
+ 60 67 CF D1 01 99 0C BD 33 F9 00 FC 4B 9B 00 00 `g......3...K...
+ 01 01 10 EC 7B 60 67 CF D1 01 99 0C BD 33 F9 00 ....{`g......3..
+ FC 4B 9B 16 0B FF D8 FF E0 00 10 4A 46 49 46 00 .K.........JFIF.
+ 01 01 01 00 60 00 60 00 00 FF DB 00 43 00 01 01 ....`.`.....C...
+ 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 ................
+ 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 ................
+ 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 ................
+ 01 01 01 01 01 01 01 01 01 01 01 01 01 01 FF DB ................
+ 00 43 01 01 01 01 01 01 01 01 01 01 01 01 01 01 .C..............
+ 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 ................
+ 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 ................
+ 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 ................
+ 01 01 01 FF C0 00 11 08 00 40 00 34 03 01 22 00 .........@.4..".
+ 02 11 01 03 11 01 FF C4 00 1F 00 00 01 05 01 01 ................
+ 01 01 01 01 00 00 00 00 00 00 00 00 01 02 03 04 ................
+ 05 06 07 08 09 0A 0B FF C4 00 B5 10 00 02 01 03 ................
+ 03 02 04 03 05 05 04 04 00 00 01 7D 01 02 03 00 ...........}....
+ 04 11 05 12 21 31 41 06 13 51 61 07 22 71 14 32 ....!1A..Qa."q.2
+ 81 91 A1 08 23 42 B1 C1 15 52 D1 F0 24 33 62 72 ....#B...R..$3br
+ 82 09 0A 16 17 18 19 1A 25 26 27 28 29 2A 34 35 ........%&'()*45
+ 36 37 38 39 3A 43 44 45 46 47 48 49 4A 53 54 55 6789:CDEFGHIJSTU
+ 56 57 58 59 5A 63 64 65 66 67 68 69 6A 73 74 75 VWXYZcdefghijstu
+ ..........
+ 84 7C 61 F6 2F 82 9E 08 F8 F5 E1 4F 00 DF E9 96 .|a./......O....
+ FA C6 9B A3 6A FF 00 11 BC BD 6E 33 7B 75 7C B1 ....j.....n3{u|.
+ DE 6B A7 C2 DE 21 D4 74 21 AC 6A 56 10 58 EA 3A .k...!.t!.jV.X.:
+ 85 9D 85 D4 A9 A2 CF 72 DE 1F 79 6E 24 D2 5E EE .......r..yn$.^.
+ E0 AF 62 78 7B CD DA 35 E2 AE 92 55 27 4A 13 49 ..bx{..5...U'J.I
+ 72 2F 7A 0E B5 E3 27 76 DC 5D 9A D9 A4 EE 8C 28 r/z...'v.].....(
+ E4 B8 BA 94 A9 CE 58 8C B9 4A 51 8B 92 78 C4 DF ......X..JQ..x..
+ 35 A3 CC EE A9 C9 35 74 DA 92 94 94 92 52 52 69 5.....5t.....RRi
+ A6 7F FF D9 ....
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_13_01.html b/snac_13_01.html
new file mode 100644
index 0000000..08dfa46
--- /dev/null
+++ b/snac_13_01.html
@@ -0,0 +1,165 @@
+
+
+SNAC(13,01) server ssi service error
+
+
+
+
+
+
+
+
+
+| SNAC(13,01) |
+SRV_SSI_ERROR |
+
+
+ |
+
+ |
+
+
+
+
+
+This is an error notification snac.
+See also error types complete list.
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error code (see list) |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - error subcode, from "tlv tags" list |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error subcode |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 E1 CD 00 0C 00 13 00 01 00 00 7D 39 33 67 *............93g
+ 00 0E ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_13_02.html b/snac_13_02.html
new file mode 100644
index 0000000..5ef4704
--- /dev/null
+++ b/snac_13_02.html
@@ -0,0 +1,109 @@
+
+
+SNAC(13,02) request service limitations
+
+
+
+
+
+
+
+
+
+| SNAC(13,02) |
+CLI_SSI_RIGHTS_REQUEST |
+
+
+ |
+
+ |
+
+
+
+
+
+Use this to request server-stored information (SSI) service limitations. Server should reply via
+SNAC(13,03), that contain limitations for server-stored
+information items. See also snac list for SSI service here.
+
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+|
+ empty (no snac data)
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 22 96 00 0A 00 13 00 02 00 00 00 00 00 02 *.".............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_13_03.html b/snac_13_03.html
new file mode 100644
index 0000000..3b6903e
--- /dev/null
+++ b/snac_13_03.html
@@ -0,0 +1,538 @@
+
+
+SNAC(13,03) limitations for SSI service
+
+
+
+
+
+
+
+
+
+| SNAC(13,03) |
+SRV_SSI_RIGHTS_REPLY |
+
+
+ |
+
+ |
+
+
+
+
+
+Server replies with this SNAC to SNAC(13,02) - client
+SSI service parameters request.
+
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Type(0x04) - max items num |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ [00] max num of contacts |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ [01] max num of groups |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ [02] max visible contacts |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ [03] max invisible contacts |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ [04] max vis/invis bitmasks |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ [05] max presense info fields |
+
+
+ | 00 32 |
+ |
+ word |
+ |
+ [06] limit for item type 06 |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ [07] limit for item type 07 |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ [08] limit for item type 08 |
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ [09] limit for item type 09 |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ [0a] limit for item type 0a |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ [0b] limit for item type 0b |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ [0c] limit for item type 0c |
+
+
+ | 00 80 |
+ |
+ word |
+ |
+ [0d] limit for item type 0d |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ [0e] max ignore list entries |
+
+
+ | 00 14 |
+ |
+ word |
+ |
+ [0f] limit for item type 0f |
+
+
+ | 00 C8 |
+ |
+ word |
+ |
+ [10] limit for item 10 |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ [11] limit for item 11 |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ [12] limit for item 12 |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ [13] limit for item 13 |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ [14] limit for item 14 |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Type(0x02) - unknown |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | 00 FE |
+ |
+ word |
+ |
+ Unknown value |
+
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - unknown |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | 01 FC |
+ |
+ word |
+ |
+ unknown value |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ TLV.Type(0x05) - unknown |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ unknown value |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ TLV.Type(0x06) - unknown |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | 00 61 |
+ |
+ word |
+ |
+ unknown value |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ TLV.Type(0x07) - unknown |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | 00 0A |
+ |
+ word |
+ |
+ unknown value |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 38 C4 00 56 00 13 00 03 00 00 00 00 00 02 *.8..V..........
+ 00 04 00 2A 02 58 00 33 00 80 00 80 00 01 00 01 ...*.X.3........
+ 00 32 00 00 00 00 00 03 00 00 00 00 00 00 00 80 .2..............
+ 00 80 00 14 00 C8 00 01 00 00 00 01 00 00 00 02 ................
+ 00 02 00 FE 00 03 00 02 01 FC 00 05 00 02 00 00 ................
+ 00 06 00 02 00 61 00 07 00 02 00 0A .....a......
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_13_04.html b/snac_13_04.html
new file mode 100644
index 0000000..89f4d2f
--- /dev/null
+++ b/snac_13_04.html
@@ -0,0 +1,110 @@
+
+
+SNAC(13,04) request full SSI
+
+
+
+
+
+
+
+
+
+| SNAC(13,04) |
+CLI_SSI_REQUEST |
+
+
+ |
+
+ |
+
+
+
+
+
+Use this to get server side contact list (SSI). Server should reply via
+SNAC(13,06). If you already have local copy of SSI use
+SNAC(13,05) instead to save network traffic.
+See also snac list for SSI service here.
+
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+|
+ empty (no snac data)
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 22 96 00 0A 00 13 00 04 00 00 00 00 00 04 *.".............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_13_05.html b/snac_13_05.html
new file mode 100644
index 0000000..fd944ff
--- /dev/null
+++ b/snac_13_05.html
@@ -0,0 +1,126 @@
+
+
+SNAC(13,05) server-stored information checkout
+
+
+
+
+
+
+
+
+
+| SNAC(13,05) |
+CLI_SSI_CHECKOUT |
+
+
+ |
+
+ |
+
+
+
+
+
+Use this snac to check if your SSI local copy up-to-date (mod-time & items-num match).
+If not - server will send SSI via SNAC(13,06),
+overwise you'll receive SNAC(13,0F).
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ modification date/time of client local SSI copy |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ number of items in client local SSI copy |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 33 6C 00 10 00 13 00 05 00 00 00 01 00 05 *.3l............
+ 3D E7 48 17 00 BB =.H...
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_13_06.html b/snac_13_06.html
new file mode 100644
index 0000000..643ed12
--- /dev/null
+++ b/snac_13_06.html
@@ -0,0 +1,157 @@
+
+
+SNAC(13,06) server roster reply
+
+
+
+
+
+
+
+
+
+| SNAC(13,06) |
+SRV_SSIxREPLY |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the server reply to client roster requests:
+SNAC(13,04), SNAC(13,05).
+Server can split up the roster in several parts. This is indicated with SNAC flags bit 1
+as usual, however the "SSI list last change time" only exists in the last packet.
+And the "Number of items" field indicates the number of items in the current
+packet, not the entire list.
+
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | 00 |
+ |
+ byte |
+ |
+ Version number of SSI protocol (currently 0x00) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Number of items in this snac |
+
+
+ | xx .. |
+ |
+ struct |
+ |
+ list of items |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ ssi list last change time |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 C1 12 00 E1 00 13 00 06 00 00 00 00 00 0d *....?..........
+ 00 00 08 00 07 36 32 31 38 38 39 37 0A 1E 43 18 .....6218897..C.
+ 00 00 00 0A 01 31 00 06 46 75 6E 42 6F 6F 00 09 .....1..FunBoo..
+ 31 37 36 33 33 33 30 37 38 17 B7 2A 18 00 00 00 176333078..*....
+ 09 01 31 00 05 45 2E 53 2E 56 00 07 36 32 31 38 ..1..E.S.V..6218
+ 38 39 38 23 8C 12 A1 00 00 00 09 01 31 00 05 74 898#........1..t
+ 68 6F 72 64 00 07 46 72 69 65 6E 64 73 7F ED 00 hord..Friends...
+ 00 00 01 00 00 00 0A 43 6F 2D 57 6F 72 6B 65 72 .......Co-Worker
+ 73 55 7F 00 00 00 01 00 00 00 07 36 32 31 38 38 sU.........62188
+ 39 35 23 8C 08 80 00 00 00 0D 01 31 00 09 52 65 95#........1..Re
+ 67 72 65 73 73 6F 72 00 07 36 32 35 31 37 32 33 gressor..6251723
+ 23 8C 05 83 00 00 00 0D 01 31 00 05 47 68 6F 73 #........1..Ghos
+ 74 00 66 00 00 00 07 36 32 31 33 39 34 39 23 8C t.f....6213949#.
+ 26 9A 00 00 00 0D 01 31 00 05 6D 69 63 6B 79 00 &......1..micky.
+ 66 00 00 3B B7 4B 7D f..;.K}
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_13_07.html b/snac_13_07.html
new file mode 100644
index 0000000..0951293
--- /dev/null
+++ b/snac_13_07.html
@@ -0,0 +1,108 @@
+
+
+SNAC(13,07) activate server-side contact
+
+
+
+
+
+
+
+
+
+| SNAC(13,07) |
+CLI_SSI_ACTIVATE |
+
+
+ |
+
+ |
+
+
+
+
+
+Client should send this snac after login to activate server-side contact. After this snac server start
+send presense notifications for you. See also snac list for SSI service
+here.
+
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+|
+ empty (no snac data)
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 33 71 00 0A 00 13 00 07 00 00 00 00 00 07 *.3q............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_13_08.html b/snac_13_08.html
new file mode 100644
index 0000000..4986f7d
--- /dev/null
+++ b/snac_13_08.html
@@ -0,0 +1,123 @@
+
+
+SNAC(13,08) SSI add data client command
+
+
+
+
+
+
+
+
+
+| SNAC(13,08) |
+CLI_SSIxADD |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this to add new items to server-side info. Server should reply
+via SNAC(13,0E).
+
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ struct |
+ |
+ list of items |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 2C AA 00 56 00 13 00 08 00 00 00 03 00 08 *.,..V..........
+ 00 06 46 61 6D 69 6C 79 0A 1E 00 00 00 01 00 06 ..Family........
+ 00 C8 00 02 43 18 00 09 74 65 73 74 67 72 6F 75 ....C...testgrou
+ 70 17 B7 00 00 00 01 00 06 00 C8 00 02 2A 18 00 p............*..
+ 07 47 65 6E 65 72 61 6C 23 8C 00 00 00 01 00 0C .General#.......
+ 00 C8 00 08 26 9A 08 80 12 A1 05 83 ....&.......
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_13_09.html b/snac_13_09.html
new file mode 100644
index 0000000..0f7a272
--- /dev/null
+++ b/snac_13_09.html
@@ -0,0 +1,124 @@
+
+
+SNAC(13,09) SSI update data client command
+
+
+
+
+
+
+
+
+
+| SNAC(13,09) |
+CLI_SSIxUPDATE |
+
+
+ |
+
+ |
+
+
+
+
+
+This can be used to modify either the name or additional data for any items
+that are already in your server-stored information. It is most commonly used
+after adding or removing a buddy: you should either add or remove the buddy
+ID# from the type 0x00c9 TLV in the additional data of the parent group, and
+then send this SNAC containing the modified data. Server should reply via
+SNAC(13,0E).
+
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ struct |
+ |
+ list of items |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 7C C2 00 27 00 13 00 09 00 00 00 07 00 09 *.|..'..........
+ 00 07 42 75 64 64 69 65 73 72 CD 00 00 00 01 00 ..Buddiesr......
+ 0C 00 C8 00 08 0F 63 78 2A 63 6F 5A 9B ......cx*coZ.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_13_0a.html b/snac_13_0a.html
new file mode 100644
index 0000000..504cd88
--- /dev/null
+++ b/snac_13_0a.html
@@ -0,0 +1,120 @@
+
+
+SNAC(13,0A) SSI delete item(s) client command
+
+
+
+
+
+
+
+
+
+| SNAC(13,0A) |
+CLI_SSIxDELETE |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this to delete items from server-side info. Server should reply
+via SNAC(13,0E).
+
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0A |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ struct |
+ |
+ list of items |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 6C 65 00 1D 00 13 00 0A 00 00 00 00 00 83 *.le...........¿
+ 00 09 31 33 38 37 38 39 34 39 30 56 71 48 82 00 ..138789490VqHÚ.
+ 00 00 00 ...
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_13_0e.html b/snac_13_0e.html
new file mode 100644
index 0000000..226ae1a
--- /dev/null
+++ b/snac_13_0e.html
@@ -0,0 +1,174 @@
+
+
+SNAC(13,0E) server SSI modification ack
+
+
+
+
+
+
+
+
+
+| SNAC(13,0E) |
+SRV_SSIxMODxACK |
+
+
+ |
+
+ |
+
+
+
+
+
+This SNAC is an ack sent by the server when adding
+a buddy, deleting a buddy,
+or otherwise modifying a group. See also snac list for SSI service
+here. This snac contain flag. Here
+is the list of its known values:
+
+
+
+
+
+| 0x0000 |
+ No errors (success) |
+
+
+| 0x0002 |
+ Item you want to modify not found in list |
+
+
+| 0x0003 |
+ Item you want to add allready exists |
+
+
+| 0x000A |
+ Error adding item (invalid id, allready in list, invalid data) |
+
+
+| 0x000C |
+ Can't add item. Limit for this type of items exceeded |
+
+
+| 0x000D |
+ Trying to add ICQ contact to an AIM list |
+
+
+| 0x000E |
+ Can't add this contact because it requires authorization |
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0E |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ result code for item #1 (see list above) |
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ result code for item #n (see list above) |
+
+
+
+ |
+
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 92 34 00 0C 00 13 00 0E 80 00 00 04 00 08 *..4............
+ 00 00 ..........
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_13_0f.html b/snac_13_0f.html
new file mode 100644
index 0000000..ae82f36
--- /dev/null
+++ b/snac_13_0f.html
@@ -0,0 +1,125 @@
+
+
+SNAC(13,0F) client SSI local copy is up-to-date
+
+
+
+
+
+
+
+
+
+| SNAC(13,0F) |
+SRV_SSI_UPxTOxDATE |
+
+
+ |
+
+ |
+
+
+
+
+
+Server send this snac as reply for SNAC(13,05) when server-stored
+information has the same modification date and items number.
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0F |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ modification date/time of server SSI |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ number of items in server SSI |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 38 C5 00 10 00 13 00 0F 00 00 00 01 00 05 *.8.............
+ 3D E7 48 17 00 BB =.H...
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_13_11.html b/snac_13_11.html
new file mode 100644
index 0000000..fc14c2d
--- /dev/null
+++ b/snac_13_11.html
@@ -0,0 +1,111 @@
+
+
+SNAC(13,11) SSI edit: begin transaction
+
+
+
+
+
+
+
+
+
+| SNAC(13,11) |
+CLI_SSI_EDIT_BEGIN |
+
+
+ |
+
+ |
+
+
+
+
+
+Use this before server side information (SSI) modification. Also
+you should send SNAC(13,12) after SSI modification.
+You could also use "import" transaction mode to add contacts requiring authorization.
+Just add 0x00010000 to snac data to start import transaction. See also snac list for
+SSI service here.
+
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 11 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+|
+ empty (or 0x00010000 for import transaction)
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 22 96 00 0A 00 13 00 11 00 00 00 00 00 11 *.".............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_13_12.html b/snac_13_12.html
new file mode 100644
index 0000000..2b03275
--- /dev/null
+++ b/snac_13_12.html
@@ -0,0 +1,109 @@
+
+
+SNAC(13,12) SSI edit: end transaction
+
+
+
+
+
+
+
+
+
+| SNAC(13,12) |
+CLI_SSI_EDIT_END |
+
+
+ |
+
+ |
+
+
+
+
+
+This snac used after SSI modification to commit transaction started by
+SNAC(13,11). See also snac list for SSI
+service here.
+
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 12 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+|
+ empty (no snac data)
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 22 96 00 0A 00 13 00 12 00 00 00 00 00 11 *.".............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_13_14.html b/snac_13_14.html
new file mode 100644
index 0000000..b04a0ac
--- /dev/null
+++ b/snac_13_14.html
@@ -0,0 +1,148 @@
+
+
+SNAC(13,14) client future authorization grant command
+
+
+
+
+
+
+
+
+
+| SNAC(13,14) |
+CLI_SSI_FUTURExAUTHxGRANT |
+
+
+ |
+
+ |
+
+
+
+
+
+Use this snac to send future authorization grant to client you just
+added to your contact list. And client will be able to add you in
+its contact list later without asking permissions.
+
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 14 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ length of the uin string |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ uin string (ascii) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ length of the reason string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ reason (message) string |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ unknown |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 1D 56 00 1A 00 13 00 14 00 00 00 01 00 14 *..V............
+ 07 36 32 31 38 38 39 35 00 04 73 75 72 65 00 00 .6218895..sure..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_13_15.html b/snac_13_15.html
new file mode 100644
index 0000000..dd537b0
--- /dev/null
+++ b/snac_13_15.html
@@ -0,0 +1,147 @@
+
+
+SNAC(13,15) future authorization granted from server
+
+
+
+
+
+
+
+
+
+| SNAC(13,15) |
+SRV_SSI_FUTURExAUTHxGRANTED |
+
+
+ |
+
+ |
+
+
+
+
+
+You'll receive this when somebody grants future authorization to you.
+You can use SNAC(13,14) to send such
+authorization grant.
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 15 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ length of the uin string |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ uin string (ascii) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ length of the reason string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ reason (message) string |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ unknown |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 1D 56 00 1A 00 13 00 15 00 00 99 D0 07 62 *..V...........b
+ 07 34 36 37 38 38 31 32 00 04 73 75 72 65 00 00 .4678812..sure..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_13_16.html b/snac_13_16.html
new file mode 100644
index 0000000..4300534
--- /dev/null
+++ b/snac_13_16.html
@@ -0,0 +1,124 @@
+
+
+SNAC(13,16) Remove yourself from another user ssi
+
+
+
+
+
+
+
+
+
+| SNAC(13,1C) |
+SRV_SSI_DELxYOURSELF |
+
+
+ |
+
+ |
+
+
+
+
+
+Client may use this snañ to delete yourself from another client server-side
+contact list. There is no server reply for this packet.
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 16 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ length of the uin string |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ remote client uin string |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 3D 67 00 12 00 13 00 16 00 00 00 01 00 1C *.=g.............
+ 07 36 32 31 38 38 39 35 .6218895
+
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_13_18.html b/snac_13_18.html
new file mode 100644
index 0000000..399397c
--- /dev/null
+++ b/snac_13_18.html
@@ -0,0 +1,148 @@
+
+
+SNAC(13,18) send authorization request command
+
+
+
+
+
+
+
+
+
+| SNAC(13,18) |
+CLI_SSI_SEND_AUTHxREQUEST |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this snac to send authorization request. It contain screen name
+(uin) of the user and reason string. After that you may receive
+SNAC(13,1B) - authorization reply.
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 18 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ length of the uin string |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ uin string (ascii) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ length of the reason string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ reason (message) string |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ unknown |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 2C 6A 00 1C 00 13 00 18 00 00 00 01 00 18 *..j............
+ 07 36 32 31 38 38 39 36 00 06 70 6C 65 61 73 65 .6218896..please
+ 00 00 ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_13_19.html b/snac_13_19.html
new file mode 100644
index 0000000..34fad27
--- /dev/null
+++ b/snac_13_19.html
@@ -0,0 +1,149 @@
+
+
+SNAC(13,19) authorization request from server
+
+
+
+
+
+
+
+
+
+| SNAC(13,19) |
+SRV_SSI_AUTHxREQUEST |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the authorization request from another client because it wants
+to add you to its contact list. You may just ignore this request or you
+could reply via SNAC(13,1A) - authorization
+reply.
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 19 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ length of the uin string |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ uin string (ascii) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ length of the reason string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ reason (message) string |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ unknown |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 2C 3A 00 1C 00 13 00 19 00 00 00 01 00 19 *...............
+ 07 36 32 31 38 38 39 35 00 06 70 6C 65 61 73 65 .6218895..please
+ 00 00 ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_13_1a.html b/snac_13_1a.html
new file mode 100644
index 0000000..78bea91
--- /dev/null
+++ b/snac_13_1a.html
@@ -0,0 +1,146 @@
+
+
+SNAC(13,1A) Authorization response from client
+
+
+
+
+
+
+
+
+
+| SNAC(13,1A) |
+CLI_SSI_AUTHxREPLY |
+
+
+ |
+
+ |
+
+
+
+
+
+Use this snac as reply to SNAC(13,19).
+It contain screen name (uin) of the user, result flag and reason string.
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 1A |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ length of the uin string |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ uin string (ascii) |
+
+
+ | xx |
+ |
+ byte |
+ |
+ flag: 1-auth accepted, 0-auth declined |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ length of the reason string |
+
+
+ | xx .. |
+ |
+ string (ascii) |
+ |
+ reason (message) string |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 3A 6A 00 1A 00 13 00 1A 00 00 00 01 00 1A *..j............
+ 07 36 32 31 38 38 39 36 00 00 05 73 6F 72 72 79 .6218896...sorry
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_13_1b.html b/snac_13_1b.html
new file mode 100644
index 0000000..7e0ee1d
--- /dev/null
+++ b/snac_13_1b.html
@@ -0,0 +1,147 @@
+
+
+SNAC(13,1B) Authorization reply from server
+
+
+
+
+
+
+
+
+
+| SNAC(13,1B) |
+SRV_SSI_AUTHxREPLY |
+
+
+ |
+
+ |
+
+
+
+
+
+This snac received when someone grant or declines you authorization, sent
+via SNAC(13,18). It contain screen name (uin)
+of the user, result flag and reason string.
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 1B |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ length of the uin string |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ uin string (ascii) |
+
+
+ | xx |
+ |
+ byte |
+ |
+ flag: 1-auth accepted, 0-auth declined |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ length of the reason string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ reason (message) string |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 3C 6A 00 1A 00 13 00 1B 00 00 00 01 00 1B *..j............
+ 07 36 32 31 38 38 39 35 00 00 05 73 6F 72 72 79 .6218895...sorry
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_13_1c.html b/snac_13_1c.html
new file mode 100644
index 0000000..fec1d6e
--- /dev/null
+++ b/snac_13_1c.html
@@ -0,0 +1,126 @@
+
+
+SNAC(13,1C) You were added message from server
+
+
+
+
+
+
+
+
+
+| SNAC(13,1C) |
+SRV_SSI_YOUxWERExADDED |
+
+
+ |
+
+ |
+
+
+
+
+
+Server send this snac to clients, that announced the use of family 0x13 in
+SNAC(01,17). This is the "you-were-added" message
+meaning that somebody (snac contain his/her screenname) added you to his/her
+roster.
+
+
+
+
+
+
+ | 00 13 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 1C |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ length of the uin string |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ uin string (ascii) |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 3D 67 00 12 00 13 00 1C 00 00 00 01 00 1C *.=g.............
+ 07 36 32 31 38 38 39 35 .6218895
+
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_15_01.html b/snac_15_01.html
new file mode 100644
index 0000000..225059a
--- /dev/null
+++ b/snac_15_01.html
@@ -0,0 +1,213 @@
+
+
+SNAC(15,01) server icq extension service error
+
+
+
+
+
+
+
+
+
+| SNAC(15,01) |
+SRV_ICQEXT_ERROR
+ |
+
+ |
+
+ |
+
+
+
+
+
+This is an error notification snac.
+See also error types complete list.
+
+
+
+
+
+
+ | 00 15 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error code (see list) |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - error subcode, from "tlv tags" list |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error subcode |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 21 |
+ |
+ word |
+ |
+ TLV.Type(0x21) - service specific data from request |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ struct |
+ |
+ contents of TLV with encapsulated META_DATA (look SNAC(15,02)/07D0/*) |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 E1 CA 00 0C 00 15 00 01 00 00 7D C9 71 68 *..............h
+ 00 0E ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02.html b/snac_15_02.html
new file mode 100644
index 0000000..5e7dfc9
--- /dev/null
+++ b/snac_15_02.html
@@ -0,0 +1,228 @@
+
+
+SNAC(15,02) Meta information request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02) |
+CLI_META_REQ |
+
+
+ |
+
+ |
+
+
+
+
+
+This snac used by client to request/update various information (request user info,
+update user info, people search, send sms, request parameters, request
+offline messages, unregistration). ICQ server should reply using
+SNAC(15,03).
+
+
+
+
+
+
+
+
+ | 00 15 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(1) - encapsulated META_DATA |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | xx xx |
+ |
+ word (LE) |
+ |
+ data chunk size (TLV.Length-2) |
+
+
+ | xx xx xx xx |
+ |
+ dword (LE) |
+ |
+ request owner uin |
+
+
+ | xx xx |
+ |
+ word (LE) |
+ |
+ request type (see table below) |
+
+
+ | xx xx |
+ |
+ word (LE) |
+ |
+ request sequence number |
+
+
+ | |
+
+
+ | ...... |
+ |
+ ...... |
+ |
+ data (depending on request type) |
+
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
+
+Request types list:
+
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 79 75 00 1E 00 15 00 02 00 00 00 07 00 02 *.yu............
+ 00 01 00 10 0E 00 8F E4 5E 00 D0 07 08 00 2E 04 ........^.......
+ 06 00 31 32 33 34 35 00 ..12345.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_003c.html b/snac_15_02_003c.html
new file mode 100644
index 0000000..edffc44
--- /dev/null
+++ b/snac_15_02_003c.html
@@ -0,0 +1,195 @@
+
+
+SNAC(15,02)/003C client offline messages request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/003C |
+CLI_OFFLINE_MESSAGE_REQ |
+
+
+ |
+
+ |
+
+
+
+
+
+|
+Client sends this SNAC when wants to retrieve messages that was sent by another
+user and buffered by server during client was offline. Server should respond with
+0 or more SNAC(15,03)/0041 packets with SNAC bit1=1
+and after that it should send last SNAC(15,03)/0042.
+ Warn: Server doesn't delete messages from database and will send them again.
+You should ask it to delete them by SNAC(15,02)/003E
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| 00 0A |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 08 00 |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+client uin |
+
+
+| 3C 00 |
+ |
+word (LE) |
+ |
+data type: offline message request cmd |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A CF 00 18 00 15 00 02 00 00 00 01 00 02 *.Z.............
+ 00 01 00 0A 08 00 8F E4 5E 00 3C 00 02 00 ........^.....
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_003e.html b/snac_15_02_003e.html
new file mode 100644
index 0000000..cc10b47
--- /dev/null
+++ b/snac_15_02_003e.html
@@ -0,0 +1,193 @@
+
+
+SNAC(15,02)/003E delete offline messages request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/003E |
+CLI_DELETE_OFFLINE_MSGS_REQ |
+
+
+ |
+
+ |
+
+
+
+
+
+Client sends this SNAC when wants to delete offline messages from server.
+But first you should request them from server using
+SNAC(15,02)/003C. If you doesn't delete messages
+server will send them again after client request.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| 00 0A |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 08 00 |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+client uin |
+
+
+| 3E 00 |
+ |
+word (LE) |
+ |
+data type: delete offline msgs request cmd |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A D4 00 18 00 15 00 02 00 00 00 06 00 02 *.Z.............
+ 00 01 00 0A 08 00 8F E4 5E 00 3E 00 07 00 ........^.>...
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0.html b/snac_15_02_07d0.html
new file mode 100644
index 0000000..6505218
--- /dev/null
+++ b/snac_15_02_07d0.html
@@ -0,0 +1,335 @@
+
+
+SNAC(15,02)/07D0 meta information request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0 |
+CLI_META_INFO_REQ |
+
+
+ |
+
+ |
+
+
+
+
+
+This snac used by client to request/update various information (request user info,
+update user info, people search, send sms, request parameters, unregistration).
+ICQ server should reply using SNAC(15,03).
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+request type: META_DATA_REQ |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+request sequence number (incrementing) |
+
+
+| 2E 04 |
+ |
+word (LE) |
+ |
+request subtype (see table bellow) |
+
+
+
+ |
+
+
+
+
+| ...... |
+ |
+...... |
+ |
+request data (depended on subtype) |
+
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
+
+Request subtypes list:
+
+
+
+
+
+| SNAC(15,02)/07D0/03EA |
+ Set user basic info request |
+
+
+| SNAC(15,02)/07D0/03F3 |
+ Set user work info request |
+
+
+| SNAC(15,02)/07D0/03FD |
+ Set user more info request |
+
+
+| SNAC(15,02)/07D0/0406 |
+ Set user notes info request |
+
+
+| SNAC(15,02)/07D0/040B |
+ Set user extended email info request |
+
+
+| SNAC(15,02)/07D0/0410 |
+ Set user interests info request |
+
+
+| SNAC(15,02)/07D0/041A |
+ Set user affilations info request |
+
+
+| SNAC(15,02)/07D0/0424 |
+ Set user permissions info request |
+
+
+| SNAC(15,02)/07D0/042E |
+ Change user password request |
+
+
+| SNAC(15,02)/07D0/0442 |
+ Set user homepage category info request |
+
+
+| SNAC(15,02)/07D0/04B2 |
+ Request full user info |
+
+
+| SNAC(15,02)/07D0/04BA |
+ Request short user info |
+
+
+| SNAC(15,02)/07D0/04C4 |
+ Unregister user request |
+
+
+| SNAC(15,02)/07D0/04D0 |
+ Request full user info #2 |
+
+
+| SNAC(15,02)/07D0/0515 |
+ Search by details request (plain) |
+
+
+| SNAC(15,02)/07D0/051F |
+ Search by uin request (plain) |
+
+
+| SNAC(15,02)/07D0/0529 |
+ Search by email request (plain) |
+
+
+| SNAC(15,02)/07D0/0533 |
+ White pages search request (plain, simple) |
+
+
+| SNAC(15,02)/07D0/053D |
+ Search by details request (plain, wildcard) |
+
+
+| SNAC(15,02)/07D0/0547 |
+ Search by email request (plain, wildcard) |
+
+
+| SNAC(15,02)/07D0/0551 |
+ White pages search request (plain, wildcard) |
+
+
+| SNAC(15,02)/07D0/0569 |
+ Search by uin request (tlv) |
+
+
+| SNAC(15,02)/07D0/055F |
+ Whitepages search request (tlv) |
+
+
+| SNAC(15,02)/07D0/0573 |
+ Search by email request (tlv) |
+
+
+| SNAC(15,02)/07D0/074E |
+ Random chat user search request |
+
+
+| SNAC(15,02)/07D0/0898 |
+ Request server variable via xml |
+
+
+| SNAC(15,02)/07D0/0AA5 |
+ Send registration stats report |
+
+
+| SNAC(15,02)/07D0/0AAF |
+ Send shortcut bar stats report |
+
+
+| SNAC(15,02)/07D0/0C3A |
+ Save info tlv-based request |
+
+
+| SNAC(15,02)/07D0/1482 |
+ Client send SMS request |
+
+
+| SNAC(15,02)/07D0/2008 |
+ Client spam report request |
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_03ea.html b/snac_15_02_07d0_03ea.html
new file mode 100644
index 0000000..906f199
--- /dev/null
+++ b/snac_15_02_07d0_03ea.html
@@ -0,0 +1,396 @@
+
+
+SNAC(15,02)/07D0/03EA client set user basic info command
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/03EA |
+META_SET_BASIC_USERINFO |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this to change basic user information. Server should reply via
+SNAC(15,03)/07DA/0064 which contain
+flag byte. If flag byte doesn't equal 0x0A - there was an error saving info.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| EA 03 |
+ |
+word (LE) |
+ |
+data subtype: META_SET_BASIC_USERINFO |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+nickname string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+nickname string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+first name string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+first name string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+last name string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+last name string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+email string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+email string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+home city string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+home city string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+home state string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+home state string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+home phone string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+home phone string |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+home fax string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+home fax string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+home address string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+home address string |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+cell phone string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+cell phone string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+home zip code string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+home zip code string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+home country code |
+
+
+| xx |
+ |
+char |
+ |
+GMT offset |
+
+
+| xx |
+ |
+char |
+ |
+publish primary email flag |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 05 5F 00 B2 00 15 00 02 00 00 00 0B 00 02 *.._............
+ 00 01 00 A4 A2 00 31 DE 0B 00 D0 07 0E 00 EA 03 ......1.........
+ 09 00 4E 69 63 6B 4E 61 6D 65 00 0A 00 46 69 72 ..NickName...Fir
+ 73 74 4E 61 6D 65 00 09 00 4C 61 73 74 4E 61 6D stName...LastNam
+ 65 00 11 00 70 75 70 6B 69 6E 40 65 6D 61 69 6C e...pupkin@email
+ 2E 6F 72 67 00 09 00 48 6F 6D 65 63 69 74 79 00 .org...Homecity.
+ 04 00 53 74 61 00 11 00 2B 37 20 28 34 32 31 32 ..Sta...+7 (4212
+ 29 20 48 50 48 4F 4E 45 00 0F 00 2B 37 20 28 34 ) HPHONE...+7 (4
+ 32 31 32 29 20 48 46 41 58 00 0B 00 48 4F 4D 45 212) HFAX...HOME
+ 53 54 52 45 45 54 00 13 00 2B 37 20 28 39 30 32 STREET...+7 (902
+ 29 20 48 43 45 4C 4C 20 53 4D 53 00 06 00 31 31 ) HCELL SMS...11
+ 31 31 31 00 07 00 EC 01 111.....
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_03f3.html b/snac_15_02_07d0_03f3.html
new file mode 100644
index 0000000..1106d04
--- /dev/null
+++ b/snac_15_02_07d0_03f3.html
@@ -0,0 +1,373 @@
+
+
+SNAC(15,02)/07D0/03F3 client set user work info command
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/03F3 |
+META_SET_WORK_USERINFO |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this to change work user information. Server should reply via
+SNAC(15,03)/07DA/006E which contain
+flag byte. If flag byte doesn't equal 0x0A - there was an error saving info.
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| F3 03 |
+ |
+word (LE) |
+ |
+data subtype: META_SET_WORK_USERINFO |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work city string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+work city string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work state string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+work state string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work phone string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+work phone string |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work fax string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+work fax string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work address string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+work address string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work zip code string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+work zip code string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work country code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work company string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+work company string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work department string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+work department string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work position string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+work position string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work ocupation code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work webpage string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+work webpage string |
+
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 05 68 00 A5 00 15 00 02 00 00 00 10 00 02 *..h............
+ 00 01 00 97 95 00 31 DE 0B 00 D0 07 17 00 F3 03 ......1.........
+ 06 00 57 43 69 74 79 00 04 00 53 74 61 00 11 00 ..WCity...Sta...
+ 2B 37 20 28 34 32 31 32 29 20 57 50 48 4F 4E 45 +7 (4212) WPHONE
+ 00 0F 00 2B 37 20 28 34 32 31 32 29 20 57 46 41 ...+7 (4212) WFA
+ 58 00 0C 00 57 4F 52 4B 41 44 44 52 45 53 53 00 X...WORKADDRESS.
+ 06 00 31 31 31 31 31 00 07 00 09 00 57 43 6F 6D ..11111.....WCom
+ 70 61 6E 79 00 0C 00 57 44 65 70 61 72 74 6D 65 pany...WDepartme
+ 6E 74 00 0A 00 57 50 6F 73 69 74 69 6F 6E 00 07 nt...WPosition..
+ 00 18 00 68 74 74 70 3A 2F 2F 77 6F 72 6B 2E 77 ...http://work.w
+ 65 62 73 69 74 65 2E 6F 72 67 00 ebsite.org.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_03fd.html b/snac_15_02_07d0_03fd.html
new file mode 100644
index 0000000..e8fb591
--- /dev/null
+++ b/snac_15_02_07d0_03fd.html
@@ -0,0 +1,280 @@
+
+
+SNAC(15,02)/07D0/03FD client set user more info command
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/03FD |
+META_SET_MORE_USERINFO |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this to change more user information. Server should reply via
+SNAC(15,03)/07DA/0078 which contain
+flag byte. If flag byte doesn't equal 0x0A - there was an error saving info.
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| FD 03 |
+ |
+word (LE) |
+ |
+data subtype: META_SET_MORE_USERINFO |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+age |
+
+
+| xx |
+ |
+char |
+ |
+gender |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+homepage address length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+homepage address string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+birth year |
+
+
+| xx |
+ |
+char |
+ |
+birth month |
+
+
+| xx |
+ |
+char |
+ |
+birth day |
+
+
+| xx |
+ |
+char |
+ |
+speaking language 1 |
+
+
+| xx |
+ |
+char |
+ |
+speaking language 2 |
+
+
+| xx |
+ |
+char |
+ |
+speaking language 3 |
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 05 6D 00 3E 00 15 00 02 00 00 00 12 00 02 *..m.>..........
+ 00 01 00 30 2E 00 31 DE 0B 00 D0 07 1C 00 FD 03 ...0..1.........
+ 17 00 02 18 00 68 74 74 70 3A 2F 2F 68 6F 6D 65 .....http://home
+ 2E 77 65 62 73 69 74 65 2E 6F 72 67 00 BB 07 03 .website.org....
+ 0E 26 0C 0D .&..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_0406.html b/snac_15_02_07d0_0406.html
new file mode 100644
index 0000000..c75b360
--- /dev/null
+++ b/snac_15_02_07d0_0406.html
@@ -0,0 +1,221 @@
+
+
+SNAC(15,02)/07D0/0406 client set user notes info command
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0406 |
+META_SET_NOTES_USERINFO |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this to change notes user information. Server should reply via
+SNAC(15,03)/07DA/0082 which contain
+flag byte. If flag byte doesn't equal 0x0A - there was an error saving info.
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 06 04 |
+ |
+word (LE) |
+ |
+data subtype: META_SET_NOTES_USERINFO |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+notes string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+notes string |
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 05 73 00 39 00 15 00 02 00 00 00 16 00 02 *..s.9..........
+ 00 01 00 2B 29 00 31 DE 0B 00 D0 07 22 00 06 04 ...+).1....."...
+ 1D 00 54 68 69 73 20 69 73 20 75 73 65 72 20 70 ..This is user p
+ 65 72 73 6F 6E 61 6C 20 6E 6F 74 65 73 2E 00 ersonal notes..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_040b.html b/snac_15_02_07d0_040b.html
new file mode 100644
index 0000000..f51d702
--- /dev/null
+++ b/snac_15_02_07d0_040b.html
@@ -0,0 +1,281 @@
+
+
+SNAC(15,02)/07D0/040B client set extended email info command
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/040B |
+META_SET_EMAIL_USERINFO |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this to change extended email user information. Server should reply via
+SNAC(15,03)/07DA/0087 which contain
+flag byte. If flag byte doesn't equal 0x0A - there was an error saving info.
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 0B 04 |
+ |
+word (LE) |
+ |
+data subtype: META_SET_EMAIL_USERINFO |
+
+
+
+ |
+
+
+
+
+| xx |
+ |
+char |
+ |
+number of email addresses (sometimes
+ may be zero) |
+
+
+
+| |
+
+
+
+| xx |
+ |
+char |
+ |
+pemail flag (0-publish, 1-don't) |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+email1 string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+email1 string |
+
+
+
+| ... |
+ |
+... |
+ |
+... |
+
+
+| xx |
+ |
+char |
+ |
+pemail flag (0-publish, 1-don't) |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+emailn string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+emailn string |
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 05 77 00 AB 00 15 00 02 00 00 00 18 00 02 *..w............
+ 00 01 00 9D 9B 00 31 DE 0B 00 D0 07 26 00 0B 04 ......1.....&...
+ 06 01 15 00 65 6D 61 69 6C 32 40 67 69 67 61 62 ....email2@gigab
+ 69 74 7A 65 2E 6F 72 67 00 00 15 00 65 6D 61 69 itze.org....emai
+ 6C 33 40 67 69 67 61 62 69 74 7A 65 2E 6F 72 67 l3@gigabitze.org
+ 00 00 15 00 65 6D 61 69 6C 34 40 67 69 67 61 62 ....email4@gigab
+ 69 74 7A 65 2E 6F 72 67 00 01 15 00 65 6D 61 69 itze.org....emai
+ 6C 35 40 67 69 67 61 62 69 74 7A 65 2E 6F 72 67 l5@gigabitze.org
+ 00 01 15 00 65 6D 61 69 6C 36 40 67 69 67 61 62 ....email6@gigab
+ 69 74 7A 65 2E 6F 72 67 00 01 15 00 65 6D 61 69 itze.org....emai
+ 6C 37 40 67 69 67 61 62 69 74 7A 65 2E 6F 72 67 l7@gigabitze.org
+ 00 .
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_0410.html b/snac_15_02_07d0_0410.html
new file mode 100644
index 0000000..911cbcd
--- /dev/null
+++ b/snac_15_02_07d0_0410.html
@@ -0,0 +1,312 @@
+
+
+SNAC(15,02)/07D0/0410 client set interests info command
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0410 |
+META_SET_INTERESTS_USERINFO |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this to change interests user information. Server should reply via
+SNAC(15,03)/07DA/008C which contain
+flag byte. If flag byte doesn't equal 0x0A - there was an error saving info.
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 10 04 |
+ |
+word (LE) |
+ |
+data subtype: META_SET_INTERESTS_USERINFO |
+
+
+
+ |
+
+
+
+
+| 04 |
+ |
+char |
+ |
+number of interests (allways 4) |
+
+
+
+| |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+interest1 category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+interest1 keyword string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+interest1 keyword string |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+interest2 category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+interest2 keyword string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+interest2 keyword string |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+interest3 category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+interest3 keyword string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+interest3 keyword string |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+interest4 category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+interest4 keyword string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+interest4 keyword string |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 05 7D 00 71 00 15 00 02 00 00 00 1D 00 02 *....q..........
+ 00 01 00 63 61 00 31 DE 0B 00 D0 07 2C 00 10 04 ...ca.1.....,...
+ 04 64 00 10 00 43 72 61 66 74 73 2C 6B 65 79 77 .d...Crafts,keyw
+ 6F 72 64 31 00 67 00 14 00 41 75 74 6F 67 72 61 ord1.g...Autogra
+ 70 68 73 2C 6B 65 79 77 6F 72 64 32 00 6B 00 12 phs,keyword2.k..
+ 00 6B 65 79 77 6F 72 64 33 2C 4E 69 6E 74 65 6E .keyword3,Ninten
+ 64 6F 00 6F 00 10 00 6B 65 79 77 6F 72 64 34 2C do.o...keyword4,
+ 54 72 61 76 65 6C 00 Travel.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_041a.html b/snac_15_02_07d0_041a.html
new file mode 100644
index 0000000..fea61e0
--- /dev/null
+++ b/snac_15_02_07d0_041a.html
@@ -0,0 +1,368 @@
+
+
+SNAC(15,02)/07D0/041A client set past/affilations info command
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/041A |
+META_SET_AFFILATIONS_USERINFO |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this to change past/affilations user info. Server should reply
+via SNAC(15,03)/07DA/0096 which contain
+flag byte. If flag byte doesn't equal 0x0A - there was an error saving info.
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 1A 04 |
+ |
+word (LE) |
+ |
+data subtype: META_SET_AFFIL_USERINFO |
+
+
+
+ |
+
+
+
+
+| 03 |
+ |
+char |
+ |
+number of past categories (allways 3) |
+
+
+
+| |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+past1 category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+past1 keyword string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+past1 keyword string |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+past2 category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+past2 keyword string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+past2 keyword string |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+past3 category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+past3 keyword string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+past3 keyword string |
+
+
+
+| |
+
+
+
+| 03 |
+ |
+char |
+ |
+number of aff categories (allways 3) |
+
+
+
+| |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+aff1 category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+aff1 keyword string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+aff1 keyword string |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+aff2 category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+aff2 keyword string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+aff2 keyword string |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+aff3 category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+aff3 keyword string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+aff3 keyword string |
+
+
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 05 7F 00 70 00 15 00 02 00 00 00 1E 00 02 *....p..........
+ 00 01 00 62 60 00 31 DE 0B 00 D0 07 2E 00 1A 04 ...b`.1.........
+ 03 2E 01 0A 00 70 6B 65 79 77 6F 72 64 31 00 2C .....pkeyword1.,
+ 01 0A 00 70 6B 65 79 77 6F 72 64 32 00 2D 01 0A ...pkeyword2.-..
+ 00 70 6B 65 79 77 6F 72 64 33 00 03 C9 00 0A 00 .pkeyword3......
+ 67 6B 65 79 77 6F 72 64 31 00 C8 00 0A 00 67 6B gkeyword1.....gk
+ 65 79 77 6F 72 64 32 00 CC 00 0A 00 67 6B 65 79 eyword2.....gkey
+ 77 6F 72 64 33 00 word3.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_0424.html b/snac_15_02_07d0_0424.html
new file mode 100644
index 0000000..0204c97
--- /dev/null
+++ b/snac_15_02_07d0_0424.html
@@ -0,0 +1,234 @@
+
+
+SNAC(15,02)/07D0/0424 client set permissions command
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0424 |
+META_SET_PERMS_USERINFO |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this to change more user information. Server should reply via
+SNAC(15,02)/07DA/00A0 which contain
+flag byte. If flag byte doesn't equal 0x0A - there was an error saving info.
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 24 04 |
+ |
+word (LE) |
+ |
+data subtype: META_SET_PERMS_USERINFO |
+
+
+
+ |
+
+
+
+
+| xx |
+ |
+byte |
+ |
+authorization (1-required, 0-not required) |
+
+
+| xx |
+ |
+byte |
+ |
+webaware (0-no, 1-yes) |
+
+
+| xx |
+ |
+byte |
+ |
+dc_perms (0-any, 1-contact, 2-authorization) |
+
+
+| xx |
+ |
+byte |
+ |
+unknown |
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 05 87 00 1E 00 15 00 02 00 00 00 23 00 02 *............#..
+ 00 01 00 10 0E 00 31 DE 0B 00 D0 07 36 00 24 04 ......1.....6.$.
+ 00 01 00 00 ....
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_042e.html b/snac_15_02_07d0_042e.html
new file mode 100644
index 0000000..728f939
--- /dev/null
+++ b/snac_15_02_07d0_042e.html
@@ -0,0 +1,222 @@
+
+
+SNAC(15,02)/07D0/042E set user password request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/042E |
+CLI_SET_PASSWORD |
+
+
+ |
+
+ |
+
+
+
+
+
+Use this request to change password for your uin. ICQ server should ack this request
+using SNAC(15,03)/07DA/00AA.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA_REQ |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 2E 04 |
+ |
+word (LE) |
+ |
+data subtype: META_SET_PASSWORD |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+password string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz |
+ |
+password string |
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 79 75 00 1E 00 15 00 02 00 00 00 07 00 02 *.yu............
+ 00 01 00 10 0E 00 8F E4 5E 00 D0 07 08 00 2E 04 ........^.......
+ 06 00 31 32 33 34 35 00 ..12345.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_0442.html b/snac_15_02_07d0_0442.html
new file mode 100644
index 0000000..e3d6c0d
--- /dev/null
+++ b/snac_15_02_07d0_0442.html
@@ -0,0 +1,249 @@
+
+
+SNAC(15,02)/07D0/0442 client set homepage category info command
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0442 |
+META_SET_HPCAT_USERINFO |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this to change past/affilations user info. Server should reply
+via SNAC(15,03)/07DA/00BE which contain
+flag byte. If flag byte doesn't equal 0x0A - there was an error saving info.
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 42 04 |
+ |
+word (LE) |
+ |
+data subtype: META_SET_HPCAT_USERINFO |
+
+
+
+ |
+
+
+
+
+| 01 |
+ |
+char |
+ |
+1-enabled, 0-disabled |
+
+
+
+| |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+homepage category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+homepage keywords string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+homepage keywords string |
+
+
+| 00 |
+ |
+char |
+ |
+unknown |
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 05 84 00 36 00 15 00 02 00 00 00 21 00 02 *....6.......!..
+ 00 01 00 28 26 00 31 DE 0B 00 D0 07 33 00 42 04 ...(&.1.....3.B.
+ 01 8A 03 17 00 48 70 61 67 65 20 64 65 73 63 72 .....Hpage descr
+ 69 70 74 69 6F 6E 20 74 65 78 74 00 iption text.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_04b2.html b/snac_15_02_07d0_04b2.html
new file mode 100644
index 0000000..cdd393b
--- /dev/null
+++ b/snac_15_02_07d0_04b2.html
@@ -0,0 +1,227 @@
+
+
+SNAC(15,02)/07D0/04B2 request full user info
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/04B2 |
+CLI_FULLINFO_REQUEST |
+
+
+ |
+
+ |
+
+
+
+
+
+Client full userinfo request. Last reply snac flag bit1=0, other
+reply packets have flags bit1=1 to inform client that more data follows.
+
+Server should respond with following SNACs:
+SNAC(15,03)/07DA/00C8,
+SNAC(15,03)/07DA/00DC,
+SNAC(15,03)/07DA/00EB,
+SNAC(15,03)/07DA/010E,
+SNAC(15,03)/07DA/00D2,
+SNAC(15,03)/07DA/00E6,
+SNAC(15,03)/07DA/00F0,
+SNAC(15,03)/07DA/00FA
+
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA_REQ |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| B2 04 |
+ |
+word (LE) |
+ |
+data subtype: META_FULLINFO_REQUEST |
+
+
+
+ |
+
+
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+uin to search |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 79 75 00 1E 00 15 00 02 00 00 00 07 00 02 *.yu............
+ 00 01 00 10 0E 00 8F E4 5E 00 D0 07 08 00 B2 04 ........^.......
+ 8F E4 5E 00 ..^.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_04ba.html b/snac_15_02_07d0_04ba.html
new file mode 100644
index 0000000..ada3b7e
--- /dev/null
+++ b/snac_15_02_07d0_04ba.html
@@ -0,0 +1,218 @@
+
+
+SNAC(15,02)/07D0/04BA request short user info
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/04BA |
+CLI_SHORTINFO_REQUEST |
+
+
+ |
+
+ |
+
+
+
+
+
+Client short userinfo request. ICQ2k use this request when message from unknown user
+arrived. Server should respond with SNAC
+SNAC(15,03)/07DA/0104,
+
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA_REQ |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| BA 04 |
+ |
+word (LE) |
+ |
+data subtype: META_SHORTINFO_REQUEST |
+
+
+
+ |
+
+
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+uin to search |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 79 75 00 1E 00 15 00 02 00 00 00 07 00 02 *.yu............
+ 00 01 00 10 0E 00 8F E4 5E 00 D0 07 08 00 BA 04 ........^.......
+ 8F E4 5E 00 ..^.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_04c4.html b/snac_15_02_07d0_04c4.html
new file mode 100644
index 0000000..3ce1f35
--- /dev/null
+++ b/snac_15_02_07d0_04c4.html
@@ -0,0 +1,231 @@
+
+
+SNAC(15,02)/07D0/04C4 unregister user request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/04C4 |
+CLI_UNREGISTER_USER |
+
+
+ |
+
+ |
+
+
+
+
+
+User unregistration request. Use this carefully - this request completely removes
+your uin from server. You should provide password for this uin.
+ICQ server should ack this request using
+SNAC(15,03)/07DA/00B4.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA_REQ |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| C4 04 |
+ |
+word (LE) |
+ |
+data subtype: META_UNREGISTER_USER |
+
+
+
+ |
+
+
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+uin to unregister |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+password string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz |
+ |
+password string |
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 79 75 00 1E 00 15 00 02 00 00 00 07 00 02 *.yu............
+ 00 01 00 10 0E 00 8F E4 5E 00 D0 07 08 00 C4 04 ........^.......
+ 8F E4 5E 00 04 00 31 32 33 00 ..^...123.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_04d0.html b/snac_15_02_07d0_04d0.html
new file mode 100644
index 0000000..89b09ab
--- /dev/null
+++ b/snac_15_02_07d0_04d0.html
@@ -0,0 +1,227 @@
+
+
+SNAC(15,02)/07D0/04D0 request full user info
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/04D0 |
+CLI_FULLINFO_REQUEST2 |
+
+
+ |
+
+ |
+
+
+
+
+
+Client full userinfo request. Last reply snac flag bit1=0, other
+reply packets have flags bit1=1 to inform client that more data follows.
+
+Server should respond with following SNACs:
+SNAC(15,03)/07DA/00C8,
+SNAC(15,03)/07DA/00DC,
+SNAC(15,03)/07DA/00EB,
+SNAC(15,03)/07DA/010E,
+SNAC(15,03)/07DA/00D2,
+SNAC(15,03)/07DA/00E6,
+SNAC(15,03)/07DA/00F0,
+SNAC(15,03)/07DA/00FA
+
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA_REQ |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| D0 04 |
+ |
+word (LE) |
+ |
+data subtype: META_FULLINFO_REQUEST2 |
+
+
+
+ |
+
+
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+uin to search |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 79 75 00 1E 00 15 00 02 00 00 00 07 00 02 *.yu............
+ 00 01 00 10 0E 00 8F E4 5E 00 D0 07 08 00 D0 04 ........^.......
+ 8F E4 5E 00 ..^.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_0515.html b/snac_15_02_07d0_0515.html
new file mode 100644
index 0000000..b21e765
--- /dev/null
+++ b/snac_15_02_07d0_0515.html
@@ -0,0 +1,251 @@
+
+
+SNAC(15,02)/07D0/0515 search by details request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0515 |
+CLI_FIND_BY_DETAILS |
+
+
+ |
+
+ |
+
+
+
+
+
+This is client search by details (nick, first,last,email) request.
+Server should respond with 1 or more packets. Last reply packet allways
+SNAC(15,03)/07DA/01AE, other reply packets
+SNAC(15,03)/07DA/01A4.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA_REQ |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 15 05 |
+ |
+word (LE) |
+ |
+data subtype: META_SEARCH_BY_DETAILS |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+first name string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+first name string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+last name string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+last name string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+nickname string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+nickname string |
+
+
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 79 77 00 3C 00 15 00 02 00 00 00 09 00 02 *.yw............
+ 00 01 00 2E 2C 00 8F E4 5E 00 D0 07 0A 00 15 05 ....,...^.......
+ 09 00 4C 61 73 74 4E 61 6D 65 00 09 00 4E 69 63 ..LastName...Nic
+ 6B 4E 61 6D 65 00 0A 00 46 69 72 73 74 4E 61 6D kName...FirstNam
+ 65 00 e.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_051f.html b/snac_15_02_07d0_051f.html
new file mode 100644
index 0000000..b542843
--- /dev/null
+++ b/snac_15_02_07d0_051f.html
@@ -0,0 +1,217 @@
+
+
+SNAC(15,02)/07D0/051F search by uin request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/051F |
+CLI_FIND_BY_UIN |
+
+
+ |
+
+ |
+
+
+
+
+
+This is client search by uin request. Server should respond with last search
+found record SNAC(15,03)/07DA/01AE because
+uin number is unique.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA_REQ |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 1F 05 |
+ |
+word (LE) |
+ |
+data subtype: META_SEARCH_BY_UIN |
+
+
+
+ |
+
+
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+uin to search |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 79 75 00 1E 00 15 00 02 00 00 00 07 00 02 *.yu............
+ 00 01 00 10 0E 00 8F E4 5E 00 D0 07 08 00 1F 05 ........^.......
+ 8F E4 5E 00 ..^.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_0529.html b/snac_15_02_07d0_0529.html
new file mode 100644
index 0000000..269f9ec
--- /dev/null
+++ b/snac_15_02_07d0_0529.html
@@ -0,0 +1,225 @@
+
+
+SNAC(15,02)/07D0/0529 search by email request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0529 |
+CLI_FIND_BY_EMAIL |
+
+
+ |
+
+ |
+
+
+
+
+
+This is client search by email request.
+Server should respond with 1 or more packets. Last reply packet allways
+SNAC(15,03)/07DA/01AE, other reply packets
+SNAC(15,03)/07DA/01A4.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA_REQ |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 29 05 |
+ |
+word (LE) |
+ |
+data subtype: META_SEARCH_BY_EMAIL |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+email string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+email string |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 79 78 00 31 00 15 00 02 00 00 00 0A 00 02 *.yx.1..........
+ 00 01 00 23 21 00 8F E4 5E 00 D0 07 0B 00 29 05 ...#!...^.....).
+ 15 00 70 75 70 6B 69 6E 40 67 69 67 61 62 69 74 ..pupkin@gigabit
+ 7A 65 2E 6F 72 67 00 ze.org.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_0533.html b/snac_15_02_07d0_0533.html
new file mode 100644
index 0000000..fbd292e
--- /dev/null
+++ b/snac_15_02_07d0_0533.html
@@ -0,0 +1,478 @@
+
+
+SNAC(15,02)/07D0/0533 white pages search request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0533 |
+CLI_WHITE_PAGES_SEARCH |
+
+
+ |
+
+ |
+
+
+
+
+
+This is client white pages search request request.
+Server should respond with 1 or more packets. Last reply packet allways
+SNAC(15,03)/07DA/01AE, other reply packets
+SNAC(15,03)/07DA/01A4. Client should fill
+all fields. Empty strings and zero values (exept online_only flag) are not used in search.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA_REQ |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 33 05 |
+ |
+word (LE) |
+ |
+data subtype: META_WHITE_PAGES_SEARCH |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+first name string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+first name string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+last name string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+last name string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+nickname string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+nickname string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+email string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+email string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+minimum age |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+maximum age |
+
+
+| xx |
+ |
+char |
+ |
+gender |
+
+
+| xx |
+ |
+char |
+ |
+speaking language |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+city string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+city string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+state string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+state string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+country code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+company string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+company string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+department string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+department string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+position string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+position string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+ocupation field code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+past category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+past keywords string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+past keywords string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+interests category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+interests keywords string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+interests keywords string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+affilations category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+affilations keywords string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+affilations keywords string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+homepage category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+homepage keywords string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+homepage keywords string |
+
+
+| xx |
+ |
+char |
+ |
+0-search all users, 1-search online only |
+
+
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 79 7D 00 D9 00 15 00 02 00 00 00 0F 00 02 *.y.............
+ 00 01 00 CB C9 00 8F E4 5E 00 D0 07 10 00 33 05 ........^.....3.
+ 0A 00 46 69 72 73 74 4E 61 6D 65 00 09 00 4C 61 ..FirstName...La
+ 73 74 4E 61 6D 65 00 09 00 4E 69 63 6B 4E 61 6D stName...NickNam
+ 65 00 0F 00 45 6D 61 69 6C 40 65 6D 61 69 6C 2E e...Email@email.
+ 72 75 00 12 00 16 00 02 26 05 00 43 69 74 79 00 ru......&..City.
+ 03 00 53 74 00 07 00 08 00 43 6F 6D 70 61 6E 79 ..St.....Company
+ 00 0B 00 44 65 70 61 72 74 6D 65 6E 74 00 09 00 ...Department...
+ 70 6F 73 69 74 69 6F 6E 00 01 2E 01 0C 00 63 6F position......co
+ 6C 6C 65 67 65 5F 6B 65 79 00 68 00 1D 00 63 6F llege_key.h...co
+ 6D 70 75 74 65 72 73 5F 6B 65 79 2C 63 6F 6D 70 mputers_key,comp
+ 75 74 65 72 73 5F 6B 65 79 32 00 CD 00 0E 00 46 uters_key2.....F
+ 61 6E 20 63 6C 75 62 73 20 6B 65 79 00 D5 0A 0D an clubs key....
+ 00 61 6D 69 67 61 5F 68 70 5F 6B 65 79 00 01 .amiga_hp_key..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_053d.html b/snac_15_02_07d0_053d.html
new file mode 100644
index 0000000..9489f38
--- /dev/null
+++ b/snac_15_02_07d0_053d.html
@@ -0,0 +1,255 @@
+
+
+SNAC(15,02)/07D0/053D search by details wildcard request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/053D |
+CLI_FIND_BY_DETAILS_WILDCARD |
+
+
+ |
+
+ |
+
+
+
+
+
+This is client search by details (nick, first,last,email) wildcard request. Used by
+ICQ2000 when client search strings contain wildcard symbol '*'.
+Server should respond with 1 or more packets. Last reply packet allways
+SNAC(15,03)/07DA/01AE, other reply packets
+SNAC(15,03)/07DA/01A4.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA_REQ |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 3D 05 |
+ |
+word (LE) |
+ |
+data subtype: META_SEARCH_BY_DETAILS |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+first name string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+first name string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+last name string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+last name string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+nickname string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+nickname string |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 79 7A 00 39 00 15 00 02 00 00 00 0C 00 02 *.yz.9..........
+ 00 01 00 2B 29 00 8F E4 5E 00 D0 07 0D 00 3D 05 ...+)...^.....=.
+ 0A 00 46 69 72 73 74 4E 61 6D 65 00 09 00 4C 61 ..FirstName...La
+ 73 74 2A 61 6D 65 00 06 00 4E 69 63 6B 2A 00 st*ame...Nick*.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_0547.html b/snac_15_02_07d0_0547.html
new file mode 100644
index 0000000..6dd7ce3
--- /dev/null
+++ b/snac_15_02_07d0_0547.html
@@ -0,0 +1,226 @@
+
+
+SNAC(15,02)/07D0/0547 search by email request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0547 |
+CLI_FIND_BY_EMAIL_WILDCARD |
+
+
+ |
+
+ |
+
+
+
+
+
+This is client search by email wildcard request. Used by ICQ2000 if user search
+string contain wildcard symbol '*'.
+Server should respond with 1 or more packets. Last reply packet allways
+SNAC(15,03)/07DA/01AE, other reply packets
+SNAC(15,03)/07DA/01A4.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA_REQ |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 47 05 |
+ |
+word (LE) |
+ |
+data subtype: META_SEARCH_BY_EMAIL |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+email string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+email string |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 79 79 00 2F 00 15 00 02 00 00 00 0B 00 02 *.yy./..........
+ 00 01 00 21 1F 00 8F E4 5E 00 D0 07 0C 00 47 05 ...!....^.....G.
+ 13 00 70 75 70 2A 40 67 69 67 61 62 69 74 7A 65 ..pup*@gigabitze
+ 2E 6F 72 67 00 .org.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_0551.html b/snac_15_02_07d0_0551.html
new file mode 100644
index 0000000..8994705
--- /dev/null
+++ b/snac_15_02_07d0_0551.html
@@ -0,0 +1,481 @@
+
+
+SNAC(15,02)/07D0/0551 wildcard white pages search request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0551 |
+CLI_WHITE_PAGES_SEARCH_WILDCARD |
+
+
+ |
+
+ |
+
+
+
+
+
+This is client wildcard white pages search request. Used by ICQ2000 when client use
+wildcard symbol '*' in search strings. Server should respond with 1 or more packets. Last reply packet allways
+SNAC(15,03)/07DA/01AE, other reply packets
+SNAC(15,03)/07DA/01A4. Client should fill
+all fields. Empty strings and zero values (exept online_only flag) are not used in search.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA_REQ |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 51 05 |
+ |
+word (LE) |
+ |
+data subtype: META_WHITE_PAGES_SEARCH_WILDCARD |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+first name string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+first name string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+last name string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+last name string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+nickname string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+nickname string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+email string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+email string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+minimum age |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+maximum age |
+
+
+| xx |
+ |
+char |
+ |
+gender |
+
+
+| xx |
+ |
+char |
+ |
+speaking language |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+city string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+city string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+state string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+state string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+country code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+company string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+company string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+department string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+department string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+position string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+position string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+ocupation field code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+past category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+past keywords string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+past keywords string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+interests category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+interests keywords string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+interests keywords string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+affilations category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+affilations keywords string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+affilations keywords string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+homepage category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+homepage keywords string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+homepage keywords string |
+
+
+| xx |
+ |
+char |
+ |
+0-search all users, 1-search online only |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 79 7D 00 D9 00 15 00 02 00 00 00 0F 00 02 *.y.............
+ 00 01 00 CB C9 00 8F E4 5E 00 D0 07 10 00 51 05 ........^.....3.
+ 0A 00 46 2A 72 73 74 4E 61 6D 65 00 09 00 4C 61 ..F*rstName...La
+ 73 74 4E 61 6D 65 00 09 00 4E 69 63 6B 4E 61 6D stName...NickNam
+ 65 00 0F 00 45 6D 61 69 6C 40 65 6D 61 69 6C 2E e...Email@email.
+ 72 75 00 12 00 16 00 02 26 05 00 43 69 74 79 00 ru......&..City.
+ 03 00 53 74 00 07 00 08 00 43 6F 6D 70 61 6E 79 ..St.....Company
+ 00 0B 00 44 65 70 61 72 74 6D 65 6E 74 00 09 00 ...Department...
+ 70 6F 73 69 74 69 6F 6E 00 01 2E 01 0C 00 63 6F position......co
+ 6C 6C 65 67 65 5F 6B 65 79 00 68 00 1D 00 63 6F llege_key.h...co
+ 6D 70 75 74 65 72 73 5F 6B 65 79 2C 63 6F 6D 70 mputers_key,comp
+ 75 74 65 72 73 5F 6B 65 79 32 00 CD 00 0E 00 46 uters_key2.....F
+ 61 6E 20 63 6C 75 62 73 20 6B 65 79 00 D5 0A 0D an clubs key....
+ 00 61 6D 69 67 61 5F 68 70 5F 6B 65 79 00 01 .amiga_hp_key..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_055f.html b/snac_15_02_07d0_055f.html
new file mode 100644
index 0000000..2d1cd28
--- /dev/null
+++ b/snac_15_02_07d0_055f.html
@@ -0,0 +1,1107 @@
+
+
+SNAC(15,02)/07D0/055F white pages search tlv-based request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/055F |
+CLI_WHITE_PAGES_SEARCH2 |
+
+
+ |
+
+ |
+
+
+
+
+
+This is client tlv-based white pages search request used by ICQ2001+.
+Server should respond with 1 or more packets. Last reply packet allways
+SNAC(15,03)/07DA/01AE, other reply packets
+SNAC(15,03)/07DA/01A4. See
+also list of TLVs that modern clients use in
+TLV-based requests.
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA_REQ |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 5F 05 |
+ |
+word (LE) |
+ |
+data subtype: CLI_WHITE_PAGES_SEARCH2 |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 90 01 |
+ |
+word (LE) |
+ |
+TLV.Type(0x0190) - City to search |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+City string length |
+
+
+| xx .. xx 00 |
+ |
+string (asciiz) |
+ |
+city name string |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+| 9A 01 |
+ |
+word (LE) |
+ |
+TLV.Type(0x019A) - State to search |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+State string length |
+
+
+| xx .. xx 00 |
+ |
+string (asciiz) |
+ |
+State abbr string |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+| AE 01 |
+ |
+word (LE) |
+ |
+TLV.Type(0x01AE) - Company to search |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+Company string length |
+
+
+| xx .. xx 00 |
+ |
+string (asciiz) |
+ |
+Company name string |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+| B8 01 |
+ |
+word (LE) |
+ |
+TLV.Type(0x01B8) - Department to search |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+Department string length |
+
+
+| xx .. xx 00 |
+ |
+string (asciiz) |
+ |
+Department name string |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+| C2 01 |
+ |
+word (LE) |
+ |
+TLV.Type(0x01C2) - Position to search |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+Position string length |
+
+
+| xx .. xx 00 |
+ |
+string (asciiz) |
+ |
+Position name string |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+| 68 01 |
+ |
+word (LE) |
+ |
+TLV.Type(0x0168) - Age range to search |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word |
+ |
+Min age to search |
+
+
+| xx xx |
+ |
+word |
+ |
+Max age to search |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+| 7C 01 |
+ |
+word (LE) |
+ |
+TLV.Type(0x017C) - Gender to search |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx |
+ |
+byte |
+ |
+Gender |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+| 86 01 |
+ |
+word (LE) |
+ |
+TLV.Type(0x0186) - Language to search |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word |
+ |
+Language code to search |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+| A4 01 |
+ |
+word (LE) |
+ |
+TLV.Type(0x01A4) - Country to search |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word |
+ |
+Country code to search |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+| CC 01 |
+ |
+word (LE) |
+ |
+TLV.Type(0x01CC) - Ocupation code to search |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word |
+ |
+Ocupation code |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+| D6 01 |
+ |
+word (LE) |
+ |
+TLV.Type(0x01D6) - Past info to search |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+Past category |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+Past keywords string length |
+
+
+| xx .. xx 00 |
+ |
+string (asciiz) |
+ |
+Past keywords string ("," - separator) |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+| EA 01 |
+ |
+word (LE) |
+ |
+TLV.Type(0x01EA) - Interests info to search |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+Interests category |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+Interests keywords string length |
+
+
+| xx .. xx 00 |
+ |
+string (asciiz) |
+ |
+Interests keywords string ("," - separator) |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+| FE 01 |
+ |
+word (LE) |
+ |
+TLV.Type(0x01FE) - Affilations info to search |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+Affilations category |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+Affilations keywords string length |
+
+
+| xx .. xx 00 |
+ |
+string (asciiz) |
+ |
+Affilations keywords string ("," - separator) |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+| 12 02 |
+ |
+word (LE) |
+ |
+TLV.Type(0x0212) - Homepage info to search |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+Homepage category |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+Homepage keywords string length |
+
+
+| xx .. xx 00 |
+ |
+string (asciiz) |
+ |
+Homepage keywords string ("," - separator) |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+| 40 01 |
+ |
+word (LE) |
+ |
+TLV.Type(0x0140) - Firstname to search |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+Firstname string length |
+
+
+| xx .. xx 00 |
+ |
+string (asciiz) |
+ |
+Firstname string |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+| 4A 01 |
+ |
+word (LE) |
+ |
+TLV.Type(0x014A) - Lastname to search |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+Lastname string length |
+
+
+| xx .. xx 00 |
+ |
+string (asciiz) |
+ |
+Lastname string |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+| 54 01 |
+ |
+word (LE) |
+ |
+TLV.Type(0x0154) - Nickname search |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+Nickname string length |
+
+
+| xx .. xx 00 |
+ |
+string (asciiz) |
+ |
+Nickname string |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+| 26 02 |
+ |
+word (LE) |
+ |
+TLV.Type(0x0226) - Keyword to search |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+Keywords string length |
+
+
+| xx .. xx 00 |
+ |
+string (asciiz) |
+ |
+Keywords string ("," - separator) |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+| 5E 01 |
+ |
+word (LE) |
+ |
+TLV.Type(0x0015E) - Email to search |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+Email string length |
+
+
+| xx .. xx 00 |
+ |
+string (asciiz) |
+ |
+Email string |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+| 30 02 |
+ |
+word (LE) |
+ |
+TLV.Type(0x0230) - Search online/offline flag |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx |
+ |
+byte |
+ |
+flag: (1 - search online, 0 - search all) |
+
+
+ |
+
+ |
+
+
+ | |
+
+| |
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 1E 90 01 14 00 15 00 02 00 00 00 0E 00 02 *...............
+ 00 01 01 06 04 01 8F E4 5E 00 D0 07 11 00 5F 05 ........^....._.
+ 90 01 07 00 05 00 43 69 74 79 00 AE 01 0A 00 08 ......City......
+ 00 43 6F 6D 70 61 6E 79 00 B8 01 0D 00 0B 00 44 .Company.......D
+ 65 70 61 72 74 6D 65 6E 74 00 C2 01 0B 00 09 00 epartment.......
+ 50 6F 73 69 74 69 6F 6E 00 68 01 04 00 1E 00 27 Position.h.....'
+ 00 7C 01 01 00 02 86 01 02 00 26 00 A4 01 02 00 ..........&.....
+ 07 00 CC 01 02 00 03 00 D6 01 10 00 2D 01 0C 00 ............-...
+ 50 61 73 74 4B 65 79 77 6F 72 64 00 EA 01 11 00 PastKeyword.....
+ 64 00 0D 00 41 72 63 68 69 74 65 63 74 75 72 65 d...Architecture
+ 00 FE 01 0F 00 CA 00 0B 00 4F 72 67 4B 65 79 77 .........OrgKeyw
+ 6F 72 64 00 12 02 04 00 2B 0B 00 00 40 01 0C 00 ord.....+...@...
+ 0A 00 46 69 72 73 74 4E 61 6D 65 00 4A 01 0B 00 ..FirstName.J...
+ 09 00 4C 61 73 74 4E 61 6D 65 00 54 01 0B 00 09 ..LastName.T....
+ 00 4E 69 63 6B 4E 61 6D 65 00 26 02 11 00 0F 00 .NickName.&.....
+ 47 65 6E 65 72 61 6C 4B 65 79 77 6F 72 64 00 5E GeneralKeyword.^
+ 01 12 00 10 00 45 6D 61 69 6C 40 65 6D 61 69 6C .....Email@email
+ 2E 6F 72 67 00 30 02 01 00 01 .org.0....
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_0569.html b/snac_15_02_07d0_0569.html
new file mode 100644
index 0000000..a3791a1
--- /dev/null
+++ b/snac_15_02_07d0_0569.html
@@ -0,0 +1,254 @@
+
+
+SNAC(15,02)/07D0/0569 search by uin tlv-based request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0569 |
+CLI_FIND_BY_UIN2 |
+
+
+ |
+
+ |
+
+
+
+
+
+This is client search by uin tlv-based request. Server should respond with last
+search found record SNAC(15,03)/07DA/01AE
+because uin number is unique. UIN tlv number is 0x0136. See also
+list of TLVs that modern clients use in
+TLV-based requests.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA_REQ |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 69 05 |
+ |
+word (LE) |
+ |
+data subtype: META_SEARCH_BY_UIN |
+
+
+
+ |
+
+
+
+
+ |
+| |
+
+
+
+
+
+
+| 36 01 |
+ |
+word (LE) |
+ |
+TLV.Type(0x0136) - uin to search |
+
+
+| 04 00 |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+uin number to search |
+
+
+ |
+
+ |
+ | |
+
+| |
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 23 08 00 22 00 15 00 02 00 00 00 63 00 02 *.#..".......c..
+ 00 01 00 14 12 00 8F E4 5E 00 D0 07 64 00 69 05 ........^...d.i.
+ 36 01 04 00 90 E4 5E 00 6.....^.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_0573.html b/snac_15_02_07d0_0573.html
new file mode 100644
index 0000000..aafc92b
--- /dev/null
+++ b/snac_15_02_07d0_0573.html
@@ -0,0 +1,262 @@
+
+
+SNAC(15,02)/07D0/0573 search by email tlv-based request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0573 |
+CLI_FIND_BY_EMAIL3 |
+
+
+ |
+
+ |
+
+
+
+
+
+This is client search by email tlv-based request used by ICQ2001+.
+Server should respond with 1 or more packets. Last reply packet allways
+SNAC(15,03)/07DA/01AE, other reply packets
+SNAC(15,03)/07DA/01A4. See also
+list of TLVs that modern clients use in
+TLV-based requests.
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA_REQ |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 73 05 |
+ |
+word (LE) |
+ |
+data subtype: META_SEARCH_BY_EMAIL |
+
+
+
+ |
+
+
+
+
+ |
+| |
+
+
+
+
+
+
+| 5E 01 |
+ |
+word (LE) |
+ |
+TLV.Type(0x015E) - email to search |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word |
+ |
+email string length |
+
+
+| xx .. xx 00 |
+ |
+string (asciiz) |
+ |
+email string |
+
+
+ |
+
+ |
+ | |
+
+| |
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 79 78 00 31 00 15 00 02 00 00 00 0A 00 02 *.yx.1..........
+ 00 01 00 23 21 00 8F E4 5E 00 D0 07 0B 00 29 05 ...#!...^.....).
+ 15 00 70 75 70 6B 69 6E 40 67 69 67 61 62 69 74 ..pupkin@gigabit
+ 7A 65 2E 6F 72 67 00 ze.org.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_074e.html b/snac_15_02_07d0_074e.html
new file mode 100644
index 0000000..475b011
--- /dev/null
+++ b/snac_15_02_07d0_074e.html
@@ -0,0 +1,215 @@
+
+
+SNAC(15,02)/07D0/074E client search random chat user command
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/074E |
+META_SEARCH_RANDOM |
+
+
+ |
+
+ |
+
+
+
+
+
+this snac used to found free-for-chat user from specified group. Server
+should reply via SNAC(15,03)/07DA/0366
+which contain success flag and optionaly (on success) found user uin.
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 4E 07 |
+ |
+word (LE) |
+ |
+data subtype: META_SEARCH_RANDOM |
+
+
+
+ |
+|
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 1E 30 00 1C 00 15 00 02 00 00 00 10 00 02 *..0............
+ 00 01 00 0E 0C 00 8F E4 5E 00 D0 07 15 00 4E 07 ........^.....N.
+ 03 00 ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_0898.html b/snac_15_02_07d0_0898.html
new file mode 100644
index 0000000..b0522a2
--- /dev/null
+++ b/snac_15_02_07d0_0898.html
@@ -0,0 +1,274 @@
+
+
+SNAC(15,02)/07D0/0898 request server variable via xml
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0898 |
+CLI_REQ_XML_INFO |
+
+
+ |
+
+ |
+
+
+
+
+
+Official clients use this to retrieve various information from server (like ads URL).
+Server should respond with SNAC(15,03)/07DA/08A2.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA_REQ |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 98 08 |
+ |
+word (LE) |
+ |
+data subtype: META_REQ_XML_INFO |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+xml request string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz |
+ |
+xml request string |
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 22 A6 00 32 00 15 00 02 00 00 00 03 00 02 *."..2..........
+ 00 01 00 24 22 00 8F E4 5E 00 D0 07 04 00 98 08 ...$"...^.......
+ 16 00 3C 6B 65 79 3E 42 61 6E 6E 65 72 73 55 52 ..<key>BannersUR
+ 4C 3C 2F 6B 65 79 3E 00 L</key>.
+
+
+ |
+ |
+
+
+
+Request/response examples:
+
+
+
+
+| |
+
+
+<key>BannersURL</key>
+<value>http://205.188.250.25/cb/%d/datafiles/banners.cb?%s</value>
+
+<key>DataFilesURL</key>
+<value>http://205.188.250.25/cb/%d/datafiles/%s.cb</value>
+
+<key>PartnersURL</key>
+<value>http://205.188.250.25/cb/%d/datafiles/%s.cb</value>
+
+<key>ReadersURL</key>
+<value>http://205.188.250.25/cb/%d/datafiles/%s.cb</value>
+
+<key>CLBannersURL</key>
+not found (0x14)
+
+<key>DomainsURL</key>
+not found (0x14)
+
+<key>LicenseKeysURL</key>
+not found (0x14)
+
+<key>ShowMOTDOnFirstTime</key>
+<value>2</value>
+
+<key>SMSLongSigTail</key>
+not found (0x14)
+
+<key>ReportToICQ</key>
+client send this only with my server (iserverd) wtf ?
+
+%d replaced with version number (icq2002a ver 5.34 - 534)
+%s replaced with random number (%s examples: 01971 05835)
+
+note: icq2000a/b ignores server replies. icq2001/2002 use this to update its data files
+from specified in reply http server and after that it says (popup dialog):
+"datafiles and ldap lists updated from server".
+
+ | |
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_0aa5.html b/snac_15_02_07d0_0aa5.html
new file mode 100644
index 0000000..243ae2d
--- /dev/null
+++ b/snac_15_02_07d0_0aa5.html
@@ -0,0 +1,475 @@
+
+
+SNAC(15,02)/07D0/0AA5 user registration stats
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0AA5 |
+CLI_REGISTRATION_STATS |
+
+
+ |
+
+ |
+
+
+
+
+
+Client send this snac during first login. It contain some stats about user
+registration. Server should reply via
+SNAC(15,03)/07DA/0302. Warning: they (AOL) may use this data to detect
+ICQ clones.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA_REQ |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| A5 0A |
+ |
+word (LE) |
+ |
+data subtype: META_REGISTRATION_STATS |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client major version number |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client minor version number |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client lesser version number |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client build version number |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+client distribution number |
+
+ |
+
+| 00 |
+ |
+byte |
+ |
+unknown flag |
+
+
+| xx |
+ |
+byte |
+ |
+1 - email field filled, 0 - not |
+
+
+| xx |
+ |
+byte |
+ |
+1 - firstname field filled, 0 - not |
+
+
+| xx |
+ |
+byte |
+ |
+1 - lastname field filled, 0 - not |
+
+
+| xx |
+ |
+byte |
+ |
+1 - nickname field filled, 0 - not |
+
+ |
+
+| xx |
+ |
+byte |
+ |
+1 - publish email, 0 - not |
+
+
+| xx |
+ |
+byte |
+ |
+1 - auth required, 0 - not |
+
+
+| xx |
+ |
+byte |
+ |
+1 - show status on web, 0 - not |
+
+ |
+
+| xx |
+ |
+byte |
+ |
+1 - service "find my friends" checked |
+
+
+| xx |
+ |
+byte |
+ |
+1 - service "set ICQ homepage" checked |
+
+
+| xx |
+ |
+byte |
+ |
+1 - service "available for chat" checked |
+
+
+| xx |
+ |
+byte |
+ |
+1 - service "add email signature" checked |
+
+
+| 01 |
+ |
+byte |
+ |
+unknown field |
+
+
+| 01 |
+ |
+byte |
+ |
+unknown field |
+
+ |
+
+| xx xx |
+ |
+word (LE) |
+ |
+user birth year |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+unknown (reserved for user age ?) |
+
+
+| xx |
+ |
+byte |
+ |
+spoken language #1 code |
+
+
+| xx |
+ |
+byte |
+ |
+spoken language #2 code |
+
+
+| xx |
+ |
+byte |
+ |
+spoken language #3 code |
+
+
+| xx |
+ |
+byte |
+ |
+user gender code (1 - female, 2 - male) |
+
+
+| 01 00 00 00 |
+ |
+--- |
+ |
+unknown data |
+
+ |
+
+| xx xx |
+ |
+word (LE) |
+ |
+number of registered owners (N) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+registered owner uin #1 |
+
+
+| ... |
+ |
+... |
+ |
+... |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+registered owner uin #N |
+
+ |
+
+| xx xx |
+ |
+word (LE) |
+ |
+length of ICQ install key |
+
+
+| xx .. 00 |
+ |
+asciiz |
+ |
+ICQ unique install key (find it in registry) |
+
+ |
+
+| xx |
+ |
+byte |
+ |
+"Save password": 1 - yes, 0 - no |
+
+
+| xx |
+ |
+byte |
+ |
+1 - save pass selection was in second window |
+
+
+| xx |
+ |
+byte |
+ |
+1 - "city" field was filled by user |
+
+
+| xx |
+ |
+byte |
+ |
+unknown flag |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump:
+
+
+
+
+
+ 00 15 00 02 00 00 00 11 00 02 00 01 00 7D 7B 00 ........ .....}{.
+ CA ED B4 03 D0 07 12 00 A5 0A 05 00 2D 00 01 00 ........ ....-...
+ C1 0E 55 00 00 00 01 00 00 00 00 00 00 00 00 00 ..U..... ........
+ 00 00 00 00 00 00 00 00 01 FF FF 00 00 00 00 00 ........ ........
+ 07 00 8F E4 5E 00 99 ED B4 03 9A ED B4 03 91 E4 ....^... ........
+ 5E 00 AA ED B4 03 92 E4 5E 00 CA ED B4 03 27 00 ^....... ^.....'.
+ 7B 38 33 45 41 36 43 35 30 2D 41 38 46 36 2D 34 {83EA6C5 0-A8F6-4
+ 42 45 44 2D 38 35 34 41 2D 30 30 35 36 46 36 36 BED-854A -0056F66
+ 33 46 36 31 38 7D 00 01 00 00 00 3F618}.. ...
+
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_0aaf.html b/snac_15_02_07d0_0aaf.html
new file mode 100644
index 0000000..eb8ed5f
--- /dev/null
+++ b/snac_15_02_07d0_0aaf.html
@@ -0,0 +1,307 @@
+
+
+SNAC(15,02)/07D0/0AAF shortcut bar stats report
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0AAF |
+CLI_SHORTCUTS_STATS |
+
+
+ |
+
+ |
+
+
+
+
+
+ICQ2K clients send this snac when you change your shortcut bar.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA_REQ |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| AF 0A |
+ |
+word (LE) |
+ |
+subcmd: META_SND_SHORTCUT_STATS |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client major version number |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client minor version number |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client lesser version number |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client build number |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+client distribution number |
+
+ |
+
+| xx xx |
+ |
+word (LE) |
+ |
+number of internal shortcuts in list |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+number of external shortcuts in list |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+total number of shortcuts in list |
+
+ |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+shortcut1 string length |
+
+
+| xx .. |
+ |
+ascii str |
+ |
+shortcut1 string |
+
+
+| ... |
+ |
+... |
+ |
+... |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+shortcutN string length |
+
+
+| xx .. |
+ |
+ascii str |
+ |
+shortcutN string |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 00 15 00 02 00 00 00 42 00 02 00 01 00 78 76 00 .......B .....xv.
+ 8F E4 5E 00 D0 07 43 00 AF 0A 05 00 2D 00 01 00 ..^...C. ....-...
+ C1 0E 55 00 00 00 05 00 00 00 05 00 10 00 7B 39 ..U..... ......{9
+ 36 33 37 36 38 37 37 2D 32 34 2E 70 6C 67 10 00 6376877- 24.plg..
+ 7B 39 36 33 37 36 38 37 37 2D 32 34 2E 70 6C 67 {9637687 7-24.plg
+ 10 00 7B 39 36 33 37 36 38 37 37 2D 32 34 2E 70 ..{96376 877-24.p
+ 6C 67 10 00 7B 30 30 46 36 32 38 30 45 2D 45 37 lg..{00F 6280E-E7
+ 2E 70 6C 67 10 00 7B 45 44 32 44 45 44 34 37 2D .plg..{E D2DED47-
+ 31 46 2E 70 6C 67 1F.plg
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_0c3a.html b/snac_15_02_07d0_0c3a.html
new file mode 100644
index 0000000..a61c012
--- /dev/null
+++ b/snac_15_02_07d0_0c3a.html
@@ -0,0 +1,344 @@
+
+
+SNAC(15,02)/07D0/0C3A set full info request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0C3A |
+CLI_SET_FULLINFO |
+
+
+ |
+
+ |
+
+
+
+
+
+This is client tlv-based set personal info request used by ICQLite.
+Server should respond with
+SNAC(15,03)/07DA/0C3F - which contain result flag. This snac contain
+tlv chain and this chain may contain several TLVs of same type (for example 3
+tlv(0x186) - language codes). Client can change all its information via single
+packet. See also list of TLVs that modern
+clients use in TLV-based requests.
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA_REQ |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 3A 0C |
+ |
+word (LE) |
+ |
+data subtype: CLI_SET_FULLINFO |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Type(0x0xxxx) - info to save |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+ |
+ |
+info data (format depends on tlv type) |
+
+
+ |
+
+ |
+
+
+
+
+| .... |
+ |
+.... |
+ |
+.... |
+
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Type(0x0xxxx) - info to save |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+ |
+ |
+info data (format depends on tlv type) |
+
+
+ |
+
+ |
+
+
+ | |
+
+| |
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2a 02 14 34 02 9f 00 15 00 02 00 00 00 0e 00 02 *..4............
+ 00 01 02 91 8f 02 8f e4 5e 00 d0 07 7f 4e 3a 0c ........^...N:.
+ 5e 01 15 00 12 00 70 72 69 6d 61 72 79 40 65 6d ^.....primary@em
+ 61 69 6c 2e 6f 72 67 00 01 5e 01 17 00 14 00 73 ail.org..^.....s
+ 65 63 6f 6e 64 61 72 79 40 65 6d 61 69 6c 2e 6f econdary@email.o
+ 72 67 00 00 5e 01 12 00 0f 00 74 68 69 72 64 40 rg..^.....third@
+ 6d 61 69 6c 2e 6f 72 67 00 00 76 02 15 00 13 00 mail.org..v.....
+ 2b 37 20 28 39 30 32 29 20 31 31 31 31 31 31 31 +7 (902) 1111111
+ 31 31 00 80 02 14 00 12 00 2b 37 20 28 34 32 31 11.......+7 (421
+ 32 29 20 32 32 32 32 32 32 32 00 8a 02 14 00 12 2) 2222222......
+ 00 2b 37 20 28 39 30 32 29 20 33 33 33 33 33 33 .+7 (902) 333333
+ 33 33 00 c6 02 14 00 12 00 2b 37 20 28 34 32 31 33.......+7 (421
+ 32 29 20 34 34 34 34 34 34 34 00 d0 02 14 00 12 2) 4444444......
+ 00 2b 37 20 28 34 32 31 32 29 20 35 35 35 35 35 .+7 (4212) 55555
+ 35 35 00 90 01 08 00 06 00 48 43 69 74 79 00 9a 55.......HCity..
+ 01 06 00 04 00 48 53 74 00 a4 01 02 00 07 00 20 .....HSt.......
+ 03 08 00 06 00 4f 43 69 74 79 00 2a 03 06 00 04 .....OCity.*....
+ 00 4f 73 74 00 34 03 02 00 07 00 62 02 0e 00 0c .Ost.4.....b....
+ 00 48 6f 6d 65 41 64 64 72 65 73 73 00 6c 02 04 .HomeAddress.l..
+ 00 67 2b 00 00 13 02 1c 00 00 00 18 00 68 74 74 .g+..........htt
+ 70 3a 2f 2f 68 6f 6d 65 2e 77 65 62 70 61 67 65 p://home.webpage
+ 2e 75 72 6c 00 16 03 01 00 ec 54 01 0b 00 09 00 .url......T.....
+ 4e 69 63 6b 4e 61 6d 65 00 40 01 0c 00 0a 00 46 NickName.@.....F
+ 69 72 73 74 4e 61 6d 65 00 4a 01 0b 00 09 00 4c irstName.J.....L
+ 61 73 74 4e 61 6d 65 00 58 02 12 00 10 00 75 73 astName.X.....us
+ 65 72 5f 61 62 6f 75 74 5f 74 65 78 74 00 72 01 er_about_text.r.
+ 02 00 18 00 7c 01 01 00 02 3a 02 06 00 bb 07 03 ....|....:......
+ 00 0e 00 86 01 02 00 44 00 86 01 02 00 37 00 86 .......D.....7..
+ 01 02 00 26 00 b8 01 0d 00 0b 00 44 65 70 61 72 ...&.......Depar
+ 74 6d 65 6e 74 00 c2 01 0b 00 09 00 50 6f 73 69 tment.......Posi
+ 74 69 6f 6e 00 ae 01 0a 00 08 00 43 6f 6d 70 61 tion.......Compa
+ 6e 79 00 94 02 0e 00 0c 00 57 6f 72 6b 41 64 64 ny.......WorkAdd
+ 72 65 73 73 00 a8 02 06 00 04 00 57 53 74 00 9e ress.......WSt..
+ 02 08 00 06 00 57 43 69 74 79 00 da 02 1a 00 18 .....WCity......
+ 00 68 74 74 70 3a 2f 2f 77 6f 72 6b 2e 77 65 62 .http://work.web
+ 70 61 67 65 2e 75 72 6c 00 bc 02 04 00 ce 56 00 page.url......V.
+ 00 b2 02 02 00 07 00 cc 01 02 00 05 00 ea 01 12 ................
+ 00 64 00 0e 00 69 6e 74 65 72 65 73 74 5f 6b 65 .d...interest_ke
+ 79 31 00 ea 01 12 00 67 00 0e 00 69 6e 74 65 72 y1.....g...inter
+ 65 73 74 5f 6b 65 79 32 00 ea 01 12 00 68 00 0e est_key2.....h..
+ 00 69 6e 74 65 72 65 73 74 5f 6b 65 79 33 00 ea .interest_key3..
+ 01 12 00 6f 00 0e 00 69 6e 74 65 72 65 73 74 5f ...o...interest_
+ 6b 65 79 34 00 key4.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_1482.html b/snac_15_02_07d0_1482.html
new file mode 100644
index 0000000..a8ecd5e
--- /dev/null
+++ b/snac_15_02_07d0_1482.html
@@ -0,0 +1,284 @@
+
+
+SNAC(15,02)/07D0/01482 send SMS client request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/1482 |
+CLI_SEND_SMS |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this to send SMS to another user's cell phone. Server may reply via
+SNAC(15,03)/07DA/0001 if there was error
+during request processing. Allways set <delivery_receipt> variable to "Yes"
+to be sure if client received your SMS (server will reply via
+SNAC(15,03)/07DA/0096). Here is snac/xml
+format:
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA_REQ |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 82 14 |
+ |
+word (LE) |
+ |
+data subtype: META_SEND_SMS |
+
+
+
+ |
+
+
+
+
+ 00 01 00 16
+ 00 00 00 00
+ 00 00 00 00
+ 00 00 00 00
+ 00 00 00 00
+ 00 00
+ |
+ |
+22 bytes |
+ |
+some unknown data |
+
+ |
+
+| xx xx |
+ |
+word |
+ |
+xml request strlen |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+xml request string |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Format of xml request string:
+
+
+
+
+| |
+
+
+
+<icq_sms_message>
+ <destination>International phone number</destination>
+ <text>SMS message string</text>
+ <encoding>Message encoding name</encoding>
+ <senders_UIN>Sender uin</senders_UIN>
+ <senders_name>Sender nickname</senders_name>
+ <delivery_receipt>Yes/No</delivery_receipt>
+ <time>Date/time in GMT format</time>
+</icq_sms_message>
+
+ | |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2a 02 36 5c 01 6f 00 15 00 02 00 00 00 14 00 02 *.6\.o..........
+ 00 01 01 61 5f 01 8f e4 5e 00 d0 07 5a 1a 82 14 ...a_...^...Z...
+ 00 01 00 16 00 00 00 00 00 00 00 00 00 00 00 00 ................
+ 00 00 00 00 00 00 01 3d 3c 69 63 71 5f 73 6d 73 .......=<icq_sms
+ 5f 6d 65 73 73 61 67 65 3e 3c 64 65 73 74 69 6e _message><destin
+ 61 74 69 6f 6e 3e 2b 37 39 30 32 35 34 33 33 39 ation>+790254339
+ 39 34 3c 2f 64 65 73 74 69 6e 61 74 69 6f 6e 3e 94</destination>
+ 3c 74 65 78 74 3e 28 52 65 67 72 65 73 73 6f 72 <text>(Regressor
+ 2c 20 20 49 43 51 29 3a 0d 0a 4a 75 73 74 20 74 , ICQ):..Just t
+ 65 73 74 20 53 4d 53 20 6d 65 73 73 61 67 65 20 est SMS message
+ 28 d1 80 d1 83 d1 81 29 3c 2f 74 65 78 74 3e 3c (......)</text><
+ 65 6e 63 6f 64 69 6e 67 3e 75 74 66 38 3c 2f 65 encoding>utf8</e
+ 6e 63 6f 64 69 6e 67 3e 3c 73 65 6e 64 65 72 73 ncoding><senders
+ 5f 55 49 4e 3e 36 32 31 38 38 39 35 3c 2f 73 65 _UIN>6218895</se
+ 6e 64 65 72 73 5f 55 49 4e 3e 3c 73 65 6e 64 65 nders_UIN><sende
+ 72 73 5f 6e 61 6d 65 3e 52 65 67 72 65 73 73 6f rs_name>Regresso
+ 72 3c 2f 73 65 6e 64 65 72 73 5f 6e 61 6d 65 3e r</senders_name>
+ 3c 64 65 6c 69 76 65 72 79 5f 72 65 63 65 69 70 <delivery_receip
+ 74 3e 59 65 73 3c 2f 64 65 6c 69 76 65 72 79 5f t>Yes</delivery_
+ 72 65 63 65 69 70 74 3e 3c 74 69 6d 65 3e 53 75 receipt><time>Su
+ 6e 2c 20 32 35 20 4d 61 79 20 32 30 30 33 20 30 n, 25 May 2003 0
+ 37 3a 33 36 3a 30 37 20 47 4d 54 3c 2f 74 69 6d 7:36:07 GMT</tim
+ 65 3e 3c 2f 69 63 71 5f 73 6d 73 5f 6d 65 73 73 e></icq_sms_mess
+ 61 67 65 3e 00 age>.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_15_02_07d0_2008.html b/snac_15_02_07d0_2008.html
new file mode 100644
index 0000000..fa5956b
--- /dev/null
+++ b/snac_15_02_07d0_2008.html
@@ -0,0 +1,269 @@
+
+
+SNAC(15,02)/07D0/2008 client spam report request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/2008 |
+META_SEND_SPAM_REPORT |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this to send spam report to server staff. This was first appeared in
+ICQLite (1150). Server should reply via
+SNAC(15,03)/07DA/2012 which contain flag byte. If flag byte doesn't equal
+0x0A - there was an error sending request. Client should put spammer messages
+into this request.
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 08 20 |
+ |
+word (LE) |
+ |
+data subtype: META_SEND_SPAM_REPORT |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+spammer uin string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+spammer uin string |
+
+ |
+
+ xx xx xx xx
+ xx xx xx xx |
+ |
+raw 8b |
+ |
+report id cookie |
+
+ |
+
+ xx xx xx xx
+ xx xx xx xx
+ xx xx xx xx
+ xx xx xx xx
+ xx |
+ |
+raw 17b |
+ |
+unknown (depends on spammer message type) |
+
+ |
+
+| xx xx |
+ |
+word (LE) |
+ |
+messagelog string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+messagelog string |
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 00 15 00 02 00 00 00 0F 00 02 00 01 00 AA A8 00 ........ ........
+ 92 E4 5E 00 D0 07 1F 37 08 20 08 00 31 30 30 30 ..^....7 . ..1000
+ 30 30 30 00 00 00 00 00 38 FB AC 3E BE 6B 73 05 000..... 8..>.ks.
+ 0F C2 10 4F A6 DE 4D B1 E3 56 4B 0E 01 79 00 31 ...O..M. .VK..y.1
+ 30 30 30 30 30 30 20 28 30 38 3A 35 37 20 50 4D 000000 ( 08:57 PM
+ 29 20 3A 20 0D 0A 74 65 73 74 20 6D 65 73 73 61 ) : ..te st messa
+ 67 65 31 0D 0A 4E 61 74 61 73 68 61 53 54 20 20 ge1..Nat ashaST
+ 28 30 38 3A 35 37 20 50 4D 29 20 3A 20 0D 0A 74 (08:57 P M) : ..t
+ 65 73 74 20 6D 65 73 73 61 67 65 32 0D 0A 4E 61 est mess age2..Na
+ 74 61 73 68 61 53 54 20 20 28 30 38 3A 35 38 20 tashaST (08:58
+ 50 4D 29 20 3A 20 0D 0A 74 65 73 74 20 6D 65 73 PM) : .. test mes
+ 73 61 67 65 33 0D 0A 00 sage3...
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03.html b/snac_15_03.html
new file mode 100644
index 0000000..a4af9fd
--- /dev/null
+++ b/snac_15_03.html
@@ -0,0 +1,238 @@
+
+
+SNAC(15,03) meta information reply
+
+
+
+
+
+
+
+
+
+| SNAC(15,03) |
+SRV_META_REPLY |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the server response to client meta request SNAC(15,02).
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| xx xx |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+requester uin |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+request type (see table bellow) |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| |
+
+
+| ...... |
+ |
+...... |
+ |
+data (depending on request type) |
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+
+ |
+
+
+
+Response types list:
+
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A 97 00 A6 00 15 00 03 00 01 00 1B 00 02 *.Z.............
+ 00 01 00 98 96 00 8F E4 5E 00 DA 07 2A 00 D2 00 ........^...*...
+ 0A 06 00 77 43 69 74 79 00 03 00 53 74 00 12 00 ...wCity...St...
+ 2B 37 20 28 34 32 31 32 29 20 34 34 34 34 34 34 +7 (4212) 444444
+ 34 00 12 00 2B 37 20 28 34 32 31 32 29 20 35 35 4...+7 (4212) 55
+ 35 35 35 35 35 00 14 00 57 6F 72 6B 20 73 74 72 55555...Work str
+ 65 65 74 20 61 64 64 72 65 73 73 00 06 00 32 32 eet address...22
+ 32 32 32 00 07 00 08 00 43 6F 6D 70 61 6E 79 00 222.....Company.
+ 0B 00 44 65 70 61 72 74 6D 65 6E 74 00 09 00 50 ..Department...P
+ 6F 73 69 74 69 6F 6E 00 05 00 10 00 68 74 74 70 osition.....http
+ 3A 2F 2F 77 6F 72 6B 2E 6F 72 67 00 ://work.org.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_0041.html b/snac_15_03_0041.html
new file mode 100644
index 0000000..532dcae
--- /dev/null
+++ b/snac_15_03_0041.html
@@ -0,0 +1,276 @@
+
+
+SNAC(15,03)/0041 server offline messages response
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/0041 |
+SRV_OFFLINE_MESSAGE |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the server response to cli_offline_msgs_req
+SNAC(15,02)/003C. This snac contain single offline message
+that was sent by another user and buffered by server when client was offline.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+msg target uin |
+
+
+| 41 00 |
+ |
+word (LE) |
+ |
+data type: offline messge |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+message sender uin |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+year when message was sent |
+
+
+| xx |
+ |
+char |
+ |
+month when message was sent |
+
+
+| xx |
+ |
+char |
+ |
+day when message was sent |
+
+
+| xx |
+ |
+char |
+ |
+hour (GMT) when message was sent |
+
+
+| xx |
+ |
+char |
+ |
+minute when message was sent |
+
+
+| xx |
+ |
+char |
+ |
+message type |
+
+
+| xx |
+ |
+char |
+ |
+message flags |
+
+
+| xx xx |
+ |
+char |
+ |
+message string length |
+
+
+| xx .. xx xx 00 |
+ |
+char |
+ |
+message string (asciiz) |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 CB 57 00 82 00 15 00 03 00 01 00 01 00 02 *..W............
+ 00 01 00 74 72 00 8F E4 5E 00 41 00 02 00 E9 03 ...tr...^.A.....
+ 00 00 D2 07 0C 0C 06 1D 01 00 5C 00 74 65 73 74 ..........\.test
+ 20 70 6C 61 69 6E 74 65 78 74 20 6F 66 66 6C 69 plaintext offli
+ 6E 65 20 6D 65 73 73 61 67 65 20 66 72 6F 6D 20 ne message from
+ 0D 0A 75 69 6E 31 30 30 31 20 74 6F 20 75 69 6E ..uin1001 to uin
+ 20 36 32 31 38 38 39 35 0D 0A 74 6F 64 61 79 3A 6218895..today:
+ 20 31 32 2E 31 32 2E 32 30 30 32 20 30 36 3A 32 12.12.2002 06:2
+ 38 20 47 4D 54 0D 0A 00 8.GMT...
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_0042.html b/snac_15_03_0042.html
new file mode 100644
index 0000000..ea55366
--- /dev/null
+++ b/snac_15_03_0042.html
@@ -0,0 +1,205 @@
+
+
+SNAC(15,03)/0042 server end_of_offline_messages
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/0042 |
+SRV_END_OF_OFFLINE_MSGS |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the last SNAC in server response to cli_offline_msgs_req
+SNAC(15,02)/003C. It doesn't contain message
+- it is only end_of_sequence marker.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| 00 0B |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 09 00 |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+msg target uin |
+
+
+| 42 00 |
+ |
+word (LE) |
+ |
+data type: end of offline messages |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| |
+
+
+| xx |
+ |
+char |
+ |
+dropped messages flag |
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 CB 58 00 19 00 15 00 03 00 00 00 01 00 02 *..X............
+ 00 01 00 0B 09 00 8F E4 5E 00 42 00 02 00 00 ........^.B....
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da.html b/snac_15_03_07da.html
new file mode 100644
index 0000000..8ef7067
--- /dev/null
+++ b/snac_15_03_07da.html
@@ -0,0 +1,328 @@
+
+
+SNAC(15,03)/07DA meta information response
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA |
+SRV_META_INFO_REPLY |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the server response to client meta info request
+SNAC(15,02)/07D0.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+reply type: SRV_META_INFO_REPLY |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+request sequence number (incrementing) |
+
+
+| 2E 04 |
+ |
+word (LE) |
+ |
+reply subtype (see table bellow) |
+
+
+| |
+
+
+| ...... |
+ |
+...... |
+ |
+reply data (depending on subtype) |
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+
+ |
+
+
+
+Reply subtypes list:
+
+
+
+
+
+| SNAC(15,02)/07DA/0001 |
+ Meta processing error server reply |
+
+
+| SNAC(15,02)/07DA/0064 |
+ Set user home info server ack |
+
+
+| SNAC(15,02)/07DA/006E |
+ Set user work info server ack |
+
+
+| SNAC(15,02)/07DA/0078 |
+ Set user more info server ack |
+
+
+| SNAC(15,02)/07DA/0082 |
+ Set user notes info server ack |
+
+
+| SNAC(15,02)/07DA/0087 |
+ Set user email(s) info server ack |
+
+
+| SNAC(15,02)/07DA/008C |
+ Set user interests info server ack |
+
+
+| SNAC(15,02)/07DA/0096 |
+ Set user affilations info server ack |
+
+
+| SNAC(15,02)/07DA/0096 |
+ Server SMS response (delivery receipt) |
+
+
+| SNAC(15,02)/07DA/00A0 |
+ Set user permissions server ack |
+
+
+| SNAC(15,02)/07DA/00AA |
+ Set user password server ack |
+
+
+| SNAC(15,02)/07DA/00B4 |
+ Unregister account server ack |
+
+
+| SNAC(15,02)/07DA/00BE |
+ Set user homepage category server ack |
+
+
+| SNAC(15,02)/07DA/00C8 |
+ User basic info reply |
+
+
+| SNAC(15,02)/07DA/00D2 |
+ User work info reply |
+
+
+| SNAC(15,02)/07DA/00DC |
+ User more info reply |
+
+
+| SNAC(15,02)/07DA/00E6 |
+ User notes (about) info reply |
+
+
+| SNAC(15,02)/07DA/00EB |
+ User extended email info reply |
+
+
+| SNAC(15,02)/07DA/00F0 |
+ User interests info reply |
+
+
+| SNAC(15,02)/07DA/00FA |
+ User past/affilations info reply |
+
+
+| SNAC(15,02)/07DA/0104 |
+ Short user information reply |
+
+
+| SNAC(15,02)/07DA/010E |
+ User homepage category information reply |
+
+
+| SNAC(15,02)/07DA/01A4 |
+ Search: user found reply |
+
+
+| SNAC(15,02)/07DA/01AE |
+ Search: last user found reply |
+
+
+| SNAC(15,02)/07DA/0302 |
+ Registration stats ack |
+
+
+| SNAC(15,02)/07DA/0366 |
+ Random search server reply |
+
+
+| SNAC(15,02)/07DA/08A2 |
+ Server variable requested via xml |
+
+
+| SNAC(15,02)/07DA/0C3F |
+ Server ack for set fullinfo command |
+
+
+| SNAC(15,02)/07DA/2012 |
+ Server ack for user spam report |
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_0001.html b/snac_15_03_07da_0001.html
new file mode 100644
index 0000000..dd659c9
--- /dev/null
+++ b/snac_15_03_07da_0001.html
@@ -0,0 +1,228 @@
+
+
+SNAC(15,03)/07DA/0001 server meta processing error reply
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/0001 |
+META_PROCESSING_ERROR |
+
+
+ |
+
+ |
+
+
+
+
+
+Server use this snac to inform client about meta processing error. Currently
+server reply only to SNAC(15,02)/07D0/1482
+using this snac. Official clients popup dialog window with error description
+text when receive it.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 01 00 |
+ |
+word (LE) |
+ |
+data subtype: META_PROCESSING_ERROR |
+
+
+
+ |
+
+
+
+
+| 46 |
+ |
+char |
+ |
+error code (ussually 46) |
+
+
+| xx .. 00 |
+ |
+asciiz |
+ |
+error description string |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2a 02 1d 05 00 53 00 15-00 03 00 00 00 17 00 02 *....S..........
+ 00 01 00 45 43 00 8f e4-5e 00 da 07 2e 5b 01 00 ...EC...^....[..
+ 46 53 6f 72 72 79 2c 20-62 75 74 20 49 53 65 72 FSorry, but ISer
+ 76 65 72 64 20 53 4d 53-20 6d 65 73 73 61 67 65 verd SMS message
+ 73 20 6e 6f 74 20 69 6d-70 6c 65 6d 65 6e 74 65 s not implemente
+ 64 20 79 65 74 2e 2e 2e-00 d yet....
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_0064.html b/snac_15_03_07da_0064.html
new file mode 100644
index 0000000..39e5bd6
--- /dev/null
+++ b/snac_15_03_07da_0064.html
@@ -0,0 +1,217 @@
+
+
+SNAC(15,03)/07DA/0064 set home info server ack
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/0064 |
+META_SET_HOMEINFO_ACK |
+
+
+ |
+
+ |
+
+
+
+
+
+Result for client change home-info request. If success byte equal 0x0A - operation was
+finished succesfully, if not - database error. Request was sent by
+SNAC(15,02)/07D0/03EA.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 64 00 |
+ |
+word (LE) |
+ |
+data subtype: META_SET_HOMEINFO_ACK |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A EF 00 51 00 15 00 03 00 00 00 2E 00 02 *.Z..Q..........
+ 00 01 00 43 41 00 8F E4 5E 00 DA 07 4D 00 64 00 ...CA...^...M.d.
+ 0A .
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_006e.html b/snac_15_03_07da_006e.html
new file mode 100644
index 0000000..7bac144
--- /dev/null
+++ b/snac_15_03_07da_006e.html
@@ -0,0 +1,217 @@
+
+
+SNAC(15,03)/07DA/006E set work info server ack
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/006E |
+META_SET_WORKINFO_ACK |
+
+
+ |
+
+ |
+
+
+
+
+
+Result for client change work-info request. If success byte equal 0x0A - operation was
+finished succesfully, if not - database error. Request was sent by
+SNAC(15,02)/07D0/03F3.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 6E 00 |
+ |
+word (LE) |
+ |
+data subtype: META_SET_WORKINFO_ACK |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A EF 00 51 00 15 00 03 00 00 00 2E 00 02 *.Z..Q..........
+ 00 01 00 43 41 00 8F E4 5E 00 DA 07 4D 00 6E 00 ...CA...^...M.n.
+ 0A .
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_0078.html b/snac_15_03_07da_0078.html
new file mode 100644
index 0000000..b623900
--- /dev/null
+++ b/snac_15_03_07da_0078.html
@@ -0,0 +1,217 @@
+
+
+SNAC(15,03)/07DA/0078 set more info server ack
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/0078 |
+META_SET_MOREINFO_ACK |
+
+
+ |
+
+ |
+
+
+
+
+
+Result for client change more-info request. If success byte equal 0x0A - operation was
+finished succesfully, if not - database error. Request was sent by
+SNAC(15,02)/07D0/03FD.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 78 00 |
+ |
+word (LE) |
+ |
+data subtype: META_SET_MOREINFO_ACK |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A EF 00 51 00 15 00 03 00 00 00 2E 00 02 *.Z..Q..........
+ 00 01 00 43 41 00 8F E4 5E 00 DA 07 4D 00 78 00 ...CA...^...M.x.
+ 0A .
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_0082.html b/snac_15_03_07da_0082.html
new file mode 100644
index 0000000..d4a313a
--- /dev/null
+++ b/snac_15_03_07da_0082.html
@@ -0,0 +1,217 @@
+
+
+SNAC(15,03)/07DA/0082 set notes server ack
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/0082 |
+META_SET_NOTES_ACK |
+
+
+ |
+
+ |
+
+
+
+
+
+Result for client change notes-info request. If success byte equal 0x0A - operation was
+finished succesfully, if not - database error. Request was sent by
+SNAC(15,02)/07D0/0406.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 82 00 |
+ |
+word (LE) |
+ |
+data subtype: META_SET_NOTES_ACK |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A EF 00 51 00 15 00 03 00 00 00 2E 00 02 *.Z..Q..........
+ 00 01 00 43 41 00 8F E4 5E 00 DA 07 4D 00 82 00 ...CA...^...M...
+ 0A .
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_0087.html b/snac_15_03_07da_0087.html
new file mode 100644
index 0000000..e96ad71
--- /dev/null
+++ b/snac_15_03_07da_0087.html
@@ -0,0 +1,217 @@
+
+
+SNAC(15,03)/07DA/0087 set email info server ack
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/0087 |
+META_SET_EMAILINFO_ACK |
+
+
+ |
+
+ |
+
+
+
+
+
+Result for client change email-info request. If success byte equal 0x0A - operation was
+finished succesfully, if not - database error. Request was sent by
+SNAC(15,02)/07D0/040B.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 87 00 |
+ |
+word (LE) |
+ |
+data subtype: META_SET_EMAILINFO_ACK |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A EF 00 51 00 15 00 03 00 00 00 2E 00 02 *.Z..Q..........
+ 00 01 00 43 41 00 8F E4 5E 00 DA 07 4D 00 87 00 ...CA...^...M...
+ 0A .
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_008c.html b/snac_15_03_07da_008c.html
new file mode 100644
index 0000000..469847b
--- /dev/null
+++ b/snac_15_03_07da_008c.html
@@ -0,0 +1,219 @@
+
+
+SNAC(15,03)/07DA/008C set interests info server ack
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/008C |
+META_SET_INTINFO_ACK |
+
+
+ |
+
+ |
+
+
+
+
+
+Result for client change interests-info request. If success byte equal 0x0A - operation was
+finished succesfully, if not - database error. Request was sent by
+SNAC(15,02)/07D0/0410.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 8C 00 |
+ |
+word (LE) |
+ |
+data subtype: META_SET_INTINFO_ACK |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+
+ |
+
+ Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A EF 00 51 00 15 00 03 00 00 00 2E 00 02 *.Z..Q..........
+ 00 01 00 43 41 00 8F E4 5E 00 DA 07 4D 00 8C 00 ...CA...^...M...
+ 0A .
+
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_0096.html b/snac_15_03_07da_0096.html
new file mode 100644
index 0000000..9c1adbc
--- /dev/null
+++ b/snac_15_03_07da_0096.html
@@ -0,0 +1,219 @@
+
+
+SNAC(15,03)/07DA/0096 set affilations info server ack
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/0096 |
+META_SET_AFFINFO_ACK |
+
+
+ |
+
+ |
+
+
+
+
+
+Result for client change past/affilations-info request. If success byte equal 0x0A - operation was
+finished succesfully, if not - database error. Request was sent by
+SNAC(15,02)/07D0/041A. Note that this meta
+subtype (07d0/0096) also used as server reply for SMS message. Its no doubt that
+AOL programmers is crazy enough to do this.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 96 00 |
+ |
+word (LE) |
+ |
+data subtype: META_SET_AFFINFO_ACK |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A EF 00 51 00 15 00 03 00 00 00 2E 00 02 *.Z..Q..........
+ 00 01 00 43 41 00 8F E4 5E 00 DA 07 4D 00 96 00 ...CA...^...M...
+ 0A .
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_0096s.html b/snac_15_03_07da_0096s.html
new file mode 100644
index 0000000..4a64acc
--- /dev/null
+++ b/snac_15_03_07da_0096s.html
@@ -0,0 +1,321 @@
+
+
+SNAC(15,03)/07DA/0096 sms delivery receipt
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/0096 |
+META_SMS_DELIVERY_RECEIPT |
+
+
+ |
+
+ |
+
+
+
+
+
+This is an ack for client SMS request sent via
+SNAC(15,02)/07D0/1482. It contain xml string with data. There are three ack
+types: message_deliverable, message_smtp_deliverable, message_undeliverable. Here
+is the format of snac/xml:
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+cmd: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 96 00 |
+ |
+word (LE) |
+ |
+subcmd: META_SMS_RECEIPT |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+| 00 01 |
+ |
+word |
+ |
+unknown field |
+
+
+| 00 0d |
+ |
+word |
+ |
+unknown field |
+
+
+| 00 0b |
+ |
+word |
+ |
+unknown field |
+
+ |
+
+| xx xx |
+ |
+word |
+ |
+xml data strlen |
+
+
+| xx .. |
+ |
+ascii str |
+ |
+xml data string |
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Format of xml request string:
+
+
+
+
+| |
+
+
+Example for deliverable sms response:
+<sms_response>
+ <source>Powered-by string</source>
+ <deliverable>Yes</deliverable>
+ <network>Destination network name</network>
+ <message_id>Message-id string</message_id>
+ <messages_left>Number</messages_left>
+</sms_response>
+
+Example for undeliverable sms response:
+<sms_response>
+ <source>Powered-by string</source>
+ <deliverable>No</deliverable>
+ <error>
+ <id>Number</id>
+ <params>
+ <param>Error text</param>
+ </params>
+ </error>
+</sms_response>
+
+ | |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ // Deliverable sms response
+ 2A 02 85 0E 01 30 00 15 00 03 00 00 00 5B 00 02 *....0.......[..
+ 00 01 01 22 20 01 8F E4 5E 00 DA 07 61 00 96 00 ..." ...^...a...
+ 0A 00 01 00 0D 00 0B 00 05 53 6D 61 72 74 01 06 .........Smart..
+ 3C 73 6D 73 5F 72 65 73 70 6F 6E 73 65 3E 3C 73 <sms_response><s
+ 6F 75 72 63 65 3E 53 4D 41 52 54 20 43 6F 6D 6D ource>SMART Comm
+ 75 6E 69 63 61 74 69 6F 6E 73 2C 20 49 6E 63 2E unications, Inc.
+ 0D 0A 09 68 74 74 70 3A 2F 2F 77 77 77 2E 73 6D ...http://www.sm
+ 61 72 74 2E 63 6F 6D 2E 70 68 3C 2F 73 6F 75 72 art.com.ph</sour
+ 63 65 3E 3C 64 65 6C 69 76 65 72 61 62 6C 65 3E ce><deliverable>
+ 59 65 73 3C 2F 64 65 6C 69 76 65 72 61 62 6C 65 Yes</deliverable
+ 3E 3C 6E 65 74 77 6F 72 6B 3E 53 69 62 65 72 69 ><network>Siberi
+ 61 6E 20 43 65 6C 6C 75 6C 61 72 20 53 79 73 74 an Cellular Syst
+ 65 6D 73 3C 2F 6E 65 74 77 6F 72 6B 3E 3C 6D 65 ems</network><me
+ 73 73 61 67 65 5F 69 64 3E 36 32 31 38 38 39 35 ssage_id>6218895
+ 2D 35 2D 31 30 33 38 32 31 39 36 37 38 2D 2B 37 -5-1038219678-+7
+ 39 30 32 35 34 31 33 34 34 36 3C 2F 6D 65 73 73 9025413446</mess
+ 61 67 65 5F 69 64 3E 3C 6D 65 73 73 61 67 65 73 age_id><messages
+ 5F 6C 65 66 74 3E 30 3C 2F 6D 65 73 73 61 67 65 _left>0</message
+ 73 5F 6C 65 66 74 3E 3C 2F 73 6D 73 5F 72 65 73 s_left></sms_res
+ 70 6F 6E 73 65 3E ponse>
+
+ // Undeliverable sms response
+ 2a 02 f5 a2 00 d5 00 15 00 03 00 00 00 18 00 02 *...............
+ 00 01 00 c7 c5 00 8f e4 5e 00 da 07 7d 37 96 00 ........^...}7..
+ 0a 00 01 00 0c 00 05 00 04 46 45 54 31 00 ac 3c .........FET1..<
+ 73 6d 73 5f 72 65 73 70 6f 6e 73 65 3e 0a 09 3c sms_response>..<
+ 73 6f 75 72 63 65 3e 53 6d 73 46 69 6c 74 65 72 source>SmsFilter
+ 3c 2f 73 6f 75 72 63 65 3e 0a 09 3c 64 65 6c 69 </source>..<deli
+ 76 65 72 61 62 6c 65 3e 4e 6f 3c 2f 64 65 6c 69 verable>No</deli
+ 76 65 72 61 62 6c 65 3e 0a 09 3c 65 72 72 6f 72 verable>..<error
+ 3e 0a 09 09 3c 69 64 3e 31 32 3c 2f 69 64 3e 0a >...<id>12</id>.
+ 09 09 3c 70 61 72 61 6d 73 3e 0a 09 09 09 3c 70 ..<params>....<p
+ 61 72 61 6d 3e 52 41 54 45 20 4c 49 4d 49 54 3c aram>RATE LIMIT<
+ 2f 70 61 72 61 6d 3e 0a 3c 2f 70 61 72 61 6d 73 /param>.</params
+ 3e 0a 3c 2f 65 72 72 6f 72 3e 0a 3c 2f 73 6d 73 >.</error>.</sms
+ 5f 72 65 73 70 6f 6e 73 65 3e 00 _response>.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_00a0.html b/snac_15_03_07da_00a0.html
new file mode 100644
index 0000000..819da7f
--- /dev/null
+++ b/snac_15_03_07da_00a0.html
@@ -0,0 +1,216 @@
+
+
+SNAC(15,03)/07DA/00A0 set permissions server ack
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/00A0 |
+META_SET_PERMS_ACK |
+
+
+ |
+
+ |
+
+
+
+
+
+Result for client change info request. If success byte equal 0x0A - operation was
+finished successfully, if not - database error. Request was sent by
+SNAC(15,02)/07D0/0424.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| A0 00 |
+ |
+word (LE) |
+ |
+data subtype: META_SET_PERMS_ACK |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A EF 00 51 00 15 00 03 00 00 00 2E 00 02 *.Z..Q..........
+ 00 01 00 43 41 00 8F E4 5E 00 DA 07 4D 00 A0 00 ...CA...^...M...
+ 0A .
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_00aa.html b/snac_15_03_07da_00aa.html
new file mode 100644
index 0000000..e0449b2
--- /dev/null
+++ b/snac_15_03_07da_00aa.html
@@ -0,0 +1,216 @@
+
+
+SNAC(15,03)/07DA/00AA set password server ack
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/00AA |
+META_SET_PASSWORD_ACK |
+
+
+ |
+
+ |
+
+
+
+
+
+Result for client change info request. If success byte equal 0x0A - operation was
+finished succesfully, if not - database error. Request was sent by
+SNAC(15,02)/07D0/042E.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| AA 00 |
+ |
+word (LE) |
+ |
+data subtype: META_SET_PASSWORD_ACK |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A EF 00 51 00 15 00 03 00 00 00 2E 00 02 *.Z..Q..........
+ 00 01 00 43 41 00 8F E4 5E 00 DA 07 4D 00 AA 00 ...CA...^...M...
+ 0A .
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_00b4.html b/snac_15_03_07da_00b4.html
new file mode 100644
index 0000000..7360663
--- /dev/null
+++ b/snac_15_03_07da_00b4.html
@@ -0,0 +1,217 @@
+
+
+SNAC(15,03)/07DA/00B4 unregister request server ack
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/00B4 |
+META_UNREGISTER_ACK |
+
+
+ |
+
+ |
+
+
+
+
+
+Result for client unregistration request. If success byte equal 0x0A - operation was
+finished succesfully, if not - database error. Request was sent by
+SNAC(15,02)/07D0/04C4.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| B4 00 |
+ |
+word (LE) |
+ |
+data subtype: META_UNREGISTER_ACK |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A EF 00 51 00 15 00 03 00 00 00 2E 00 02 *.Z..Q..........
+ 00 01 00 43 41 00 8F E4 5E 00 DA 07 4D 00 B4 00 ...CA...^...M...
+ 0A .
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_00be.html b/snac_15_03_07da_00be.html
new file mode 100644
index 0000000..94f44d4
--- /dev/null
+++ b/snac_15_03_07da_00be.html
@@ -0,0 +1,217 @@
+
+
+SNAC(15,03)/07DA/00BE set homepage category info server ack
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/00BE |
+META_SET_HPAGECAT_ACK |
+
+
+ |
+
+ |
+
+
+
+
+
+Result for client change homepage category info request. If success byte equal 0x0A - operation was
+finished succesfully, if not - database error. Request was sent by
+SNAC(15,02)/07D0/0442.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| BE 00 |
+ |
+word (LE) |
+ |
+data subtype: META_SET_HPAGECAT_ACK |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A EF 00 51 00 15 00 03 00 00 00 2E 00 02 *.Z..Q..........
+ 00 01 00 43 41 00 8F E4 5E 00 DA 07 4D 00 BE 00 ...CA...^...M...
+ 0A .
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_00c8.html b/snac_15_03_07da_00c8.html
new file mode 100644
index 0000000..9bba59d
--- /dev/null
+++ b/snac_15_03_07da_00c8.html
@@ -0,0 +1,429 @@
+
+
+SNAC(15,03)/07DA/00C8 user basic info
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/00C8 |
+META_BASIC_USERINFO |
+
+
+ |
+
+ |
+
+
+
+
+
+
+Basic user information packet. If success byte doesn't equal 0x0A -
+it is last SNAC byte.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| C8 00 |
+ |
+word (LE) |
+ |
+data subtype: META_BASIC_USERINFO |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+| |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+nickname string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+nickname string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+first name string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+first name string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+last name string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+last name string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+email string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+email string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+home city string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+home city string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+home state string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+home state string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+home phone string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+home phone string |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+home fax string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+home fax string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+home address string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+home address string |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+cell phone string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+cell phone string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+home zip code string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+home zip code string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+home country code |
+
+
+| xx |
+ |
+char |
+ |
+GMT offset |
+
+
+| xx |
+ |
+char |
+ |
+authorization flag |
+
+
+| xx |
+ |
+char |
+ |
+webaware flag |
+
+
+| xx |
+ |
+char |
+ |
+direct connection permissions |
+
+
+| xx |
+ |
+char |
+ |
+publish primary email flag (?) |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A 84 00 BF 00 15 00 03 00 01 00 17 00 02 *.Z.............
+ 00 01 00 B1 AF 00 8F E4 5E 00 DA 07 22 00 C8 00 ........^..."...
+ 0A 0A 00 52 65 67 72 65 73 73 6F 72 00 09 00 41 ...Regressor...A
+ 6C 65 78 61 6E 64 72 00 07 00 53 68 75 74 6B 6F lexandr...Shutko
+ 00 17 00 41 56 73 68 75 74 6B 6F 40 6D 61 69 6C ...AVshutko@mail
+ 2E 6B 68 73 74 75 2E 72 75 00 0B 00 4B 68 61 62 .khstu.ru...Khab
+ 61 72 6F 76 73 6B 00 03 00 53 74 00 10 00 2B 37 arovsk...St...+7
+ 20 28 39 30 32 29 20 31 31 31 31 31 31 00 11 00 (902) 111111...
+ 2B 37 20 28 34 32 31 32 29 20 32 32 32 32 32 32 +7 (4212) 222222
+ 00 0C 00 48 6F 6D 65 41 64 64 72 65 73 73 00 15 ...HomeAddress..
+ 00 2B 37 20 28 39 30 32 29 20 33 33 33 33 33 33 .+7 (902) 333333
+ 33 20 53 4D 53 00 06 00 39 39 39 39 39 00 07 00 3 SMS...99999...
+ EC 01 00 00 00 .....
+
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_00d2.html b/snac_15_03_07da_00d2.html
new file mode 100644
index 0000000..3494db3
--- /dev/null
+++ b/snac_15_03_07da_00d2.html
@@ -0,0 +1,385 @@
+
+
+SNAC(15,03)/07DA/00D2 user work info
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/00D2 |
+META_WORK_USERINFO |
+
+
+ |
+
+ |
+
+
+
+
+
+
+Work user information packet. If success byte doesn't equal 0x0A -
+it is last SNAC byte.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| D2 00 |
+ |
+word (LE) |
+ |
+data subtype: META_WORK_USERINFO |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+| |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work city string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+work city string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work state string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+work state string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work phone string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+work phone string |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work fax string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+work fax string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work address string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+work address string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work zip code string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+work zip code string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work country code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work company string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+work company string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work department string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+work department string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work position string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+work position string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work ocupation code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+work webpage string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+work webpage string |
+
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A 97 00 A6 00 15 00 03 00 01 00 1B 00 02 *.Z.............
+ 00 01 00 98 96 00 8F E4 5E 00 DA 07 2A 00 D2 00 ........^...*...
+ 0A 06 00 77 43 69 74 79 00 03 00 53 74 00 12 00 ...wCity...St...
+ 2B 37 20 28 34 32 31 32 29 20 34 34 34 34 34 34 +7 (4212) 444444
+ 34 00 12 00 2B 37 20 28 34 32 31 32 29 20 35 35 4...+7 (4212) 55
+ 35 35 35 35 35 00 14 00 57 6F 72 6B 20 73 74 72 55555...Work str
+ 65 65 74 20 61 64 64 72 65 73 73 00 06 00 32 32 eet address...22
+ 32 32 32 00 07 00 08 00 43 6F 6D 70 61 6E 79 00 222.....Company.
+ 0B 00 44 65 70 61 72 74 6D 65 6E 74 00 09 00 50 ..Department...P
+ 6F 73 69 74 69 6F 6E 00 05 00 10 00 68 74 74 70 osition.....http
+ 3A 2F 2F 77 6F 72 6B 2E 6F 72 67 00 ://work.org.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_00dc.html b/snac_15_03_07da_00dc.html
new file mode 100644
index 0000000..8522044
--- /dev/null
+++ b/snac_15_03_07da_00dc.html
@@ -0,0 +1,346 @@
+
+
+SNAC(15,03)/07DA/00DC user more info
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/00DC |
+META_MORE_USERINFO |
+
+
+ |
+
+ |
+
+
+
+
+
+
+More user information packet. If success byte doesn't equal 0x0A -
+it is last SNAC byte. This snac contain some data not setable/viewable in
+current ICQ clients (except ICQLite and ICQ2003b),
+but you can change it thru your whitepage on wwp.icq.com. ICQLite
+(up to build 1150) doesn't use "marital status" field too.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| DC 00 |
+ |
+word (LE) |
+ |
+data subtype: META_MORE_USERINFO |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+| |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+age |
+
+
+| xx |
+ |
+char |
+ |
+gender |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+homepage address length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+homepage address string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+birth year |
+
+
+| xx |
+ |
+char |
+ |
+birth month |
+
+
+| xx |
+ |
+char |
+ |
+birth day |
+
+
+| xx |
+ |
+char |
+ |
+speaking language 1 |
+
+
+| xx |
+ |
+char |
+ |
+speaking language 2 |
+
+
+| xx |
+ |
+char |
+ |
+speaking language 3 |
+
+
+| 00 00 |
+ |
+word (LE) |
+ |
+unknown |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+original from: city strlen |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+original from: city string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+original from: state strlen |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+original from: state string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+original from: country code |
+
+
+| xx |
+ |
+byte |
+ |
+user TimeZone |
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A 9F 00 46 00 15 00 03 00 01 00 1D 00 02 *.Z..F..........
+ 00 01 00 38 36 00 8F E4 5E 00 DA 07 2F 00 DC 00 ...86...^.../...
+ 0A 36 00 02 15 00 68 74 74 70 3A 2F 2F 68 6F 6D .6....http://hom
+ 65 2E 77 65 62 2E 70 61 67 65 00 BB 07 03 0E 26 e.web.page.....&
+ 0C 0D 00 00 01 00 00 01 00 00 00 00 ............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_00e6.html b/snac_15_03_07da_00e6.html
new file mode 100644
index 0000000..10d4cf7
--- /dev/null
+++ b/snac_15_03_07da_00e6.html
@@ -0,0 +1,238 @@
+
+
+SNAC(15,03)/07DA/00E6 user notes info
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/00E6 |
+META_NOTES_USERINFO
+ |
+ |
+ |
+
+
+
+
+
+
+Notes user information packet. If success byte doesn't equal 0x0A -
+it is last SNAC byte.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| E6 00 |
+ |
+word (LE) |
+ |
+data subtype: META_NOTES_USERINFO |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+| |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+notes string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+notes string |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+
+ |
+
+ Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A AE 00 28 00 15 00 03 00 01 00 1F 00 02 *.Z..(..........
+ 00 01 00 1A 18 00 8F E4 5E 00 DA 07 33 00 E6 00 ........^...3...
+ 0A 0B 00 75 73 65 72 20 6E 6F 74 65 73 00 ...user notes.
+
+
+ |
+
+ |
+
+ |
+
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_00eb.html b/snac_15_03_07da_00eb.html
new file mode 100644
index 0000000..4fb6d76
--- /dev/null
+++ b/snac_15_03_07da_00eb.html
@@ -0,0 +1,290 @@
+
+
+SNAC(15,03)/07DA/00EB extended email info
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/00EB |
+META_EMAIL_USERINFO |
+
+
+ |
+
+ |
+
+
+
+
+
+
+Extended email user information packet. If success byte doesn't equal 0x0A -
+it is last SNAC byte.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| EB 00 |
+ |
+word (LE) |
+ |
+data subtype: META_EMAIL_USERINFO |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+| |
+
+
+
+| xx |
+ |
+char |
+ |
+number of email addresses (sometimes
+ may be zero) |
+
+
+
+| |
+
+
+
+| xx |
+ |
+char |
+ |
+pemail flag (0-publish, 1-don't) |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+email1 string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+email1 string |
+
+
+
+| ... |
+ |
+... |
+ |
+... |
+
+
+| xx |
+ |
+char |
+ |
+pemail flag (0-publish, 1-don't) |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+emailn string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+emailn string |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A B6 00 43 00 15 00 03 00 01 00 21 00 02 *.Z..C.......!..
+ 00 01 00 35 33 00 8F E4 5E 00 DA 07 37 00 EB 00 ...53...^...7...
+ 0A 02 00 10 00 62 61 6E 7A 61 69 40 68 6F 6D 65 .....banzai@home
+ 2E 6E 65 74 00 00 11 00 62 61 6E 7A 61 69 40 68 .net....banzai@h
+ 6F 6D 65 32 2E 6E 65 74 00 ome2.net.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_00f0.html b/snac_15_03_07da_00f0.html
new file mode 100644
index 0000000..5a6b8a7
--- /dev/null
+++ b/snac_15_03_07da_00f0.html
@@ -0,0 +1,321 @@
+
+
+SNAC(15,03)/07DA/00F0 interests info
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/00F0 |
+META_INTERESTS_USERINFO |
+
+
+ |
+
+ |
+
+
+
+
+
+
+Interests email user information packet. If success byte doesn't equal 0x0A -
+it is last SNAC byte.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| F0 00 |
+ |
+word (LE) |
+ |
+data subtype: META_INTERESTS_USERINFO |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+| |
+
+
+
+| 04 |
+ |
+char |
+ |
+number of interests (allways 4) |
+
+
+
+| |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+interest1 category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+interest1 keyword string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+interest1 keyword string |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+interest2 category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+interest2 keyword string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+interest2 keyword string |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+interest3 category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+interest3 keyword string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+interest3 keyword string |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+interest4 category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+interest4 keyword string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+interest4 keyword string |
+
+
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A C5 00 64 00 15 00 03 00 01 00 23 00 02 *.Z..d.......#..
+ 00 01 00 56 54 00 8F E4 5E 00 DA 07 3B 00 F0 00 ...VT...^...;...
+ 0A 04 64 00 0E 00 69 6E 74 65 72 65 73 74 31 5F ..d...interest1_
+ 6B 65 79 00 67 00 0E 00 69 6E 74 65 72 65 73 74 key.g...interest
+ 32 5F 6B 65 79 00 68 00 0E 00 69 6E 74 65 72 65 2_key.h...intere
+ 73 74 33 5F 6B 65 79 00 6F 00 0E 00 69 6E 74 65 st3_key.o...inte
+ 72 65 73 74 34 5F 6B 65 79 00 rest4_key.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_00fa.html b/snac_15_03_07da_00fa.html
new file mode 100644
index 0000000..c656e74
--- /dev/null
+++ b/snac_15_03_07da_00fa.html
@@ -0,0 +1,381 @@
+
+
+SNAC(15,03)/07DA/00FA past/affilations info
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/00FA |
+META_AFFILATIONS_USERINFO |
+
+
+ |
+
+ |
+
+
+
+
+
+
+Past/Affilations email user information packet. If success byte doesn't equal 0x0A -
+it is last SNAC byte.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| FA 00 |
+ |
+word (LE) |
+ |
+data subtype: META_AFFILATIONS_USERINFO |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+| |
+
+
+
+| 03 |
+ |
+char |
+ |
+number of past cat (allways 3) |
+
+
+
+| |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+past1 category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+past1 keyword string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+past1 keyword string |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+past2 category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+past2 keyword string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+past2 keyword string |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+past3 category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+past3 keyword string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+past3 keyword string |
+
+
+
+| |
+
+
+
+| 03 |
+ |
+char |
+ |
+number of aff cat (allways 3) |
+
+
+
+| |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+aff1 category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+aff1 keyword string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+aff1 keyword string |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+aff2 category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+aff2 keyword string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+aff2 keyword string |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+aff3 category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+aff3 keyword string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+aff3 keyword string |
+
+
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+
+ | |
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+ 2A 02 5A D4 00 8A 00 15 00 03 00 00 00 27 00 02 *.Z..........'..
+ 00 01 00 7C 7A 00 8F E4 5E 00 DA 07 42 00 FA 00 ....z...^...B...
+ 0A 03 2E 01 0D 00 61 66 66 31 20 6B 65 79 77 6F ......aff1 keywo
+ 72 64 00 2C 01 0D 00 61 66 66 32 20 6B 65 79 77 rd.,...aff2 keyw
+ 6F 72 64 00 2D 01 0D 00 61 66 66 33 20 6B 65 79 ord.-...aff3 key
+ 77 6F 72 64 00 03 C8 00 0D 00 70 61 73 74 31 6B word......past1k
+ 65 79 77 6F 72 64 00 CA 00 0E 00 70 61 73 74 32 eyword.....past2
+ 20 6B 65 79 77 6F 72 64 00 CB 00 0E 00 70 61 73 keyword.....pas
+ 74 33 20 6B 65 79 77 6F 72 64 00 00 00 01 00 00 t3 keyword......
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_0104.html b/snac_15_03_07da_0104.html
new file mode 100644
index 0000000..f2777ae
--- /dev/null
+++ b/snac_15_03_07da_0104.html
@@ -0,0 +1,302 @@
+
+
+SNAC(15,03)/07DA/0104 short user information
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/0104 |
+META_SHORT_USERINFO |
+
+
+ |
+
+ |
+
+
+
+
+
+Short user information returned by request
+(SNAC(15,02)/07D0/04BA).
+If success byte doesn't equal 0x0A - it is last byte of the snac.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 04 01 |
+ |
+word (LE) |
+ |
+data subtype: META_SHORT_USERINFO |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+| |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+nickname string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+nickname string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+first name string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+first name string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+last name string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+last name string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+email string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+email string |
+
+
+| xx |
+ |
+char |
+ |
+authorization flag |
+
+
+| 00 |
+ |
+char |
+ |
+unknown |
+
+
+| xx |
+ |
+char |
+ |
+gender |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A EF 00 51 00 15 00 03 00 00 00 2E 00 02 *.Z..Q..........
+ 00 01 00 43 41 00 8F E4 5E 00 DA 07 4D 00 04 01 ...CA...^...M...
+ 0A 09 00 4E 69 63 6B 4E 61 6D 65 00 0A 00 46 69 ...NickName...Fi
+ 72 73 74 4E 61 6D 65 00 09 00 4C 61 73 74 4E 61 rstName...LastNa
+ 6D 65 00 0F 00 45 6D 61 69 6C 40 65 6D 61 69 6C me...Email@email
+ 2E 72 75 00 01 00 02 .ru....
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_010e.html b/snac_15_03_07da_010e.html
new file mode 100644
index 0000000..e445f47
--- /dev/null
+++ b/snac_15_03_07da_010e.html
@@ -0,0 +1,263 @@
+
+
+SNAC(15,03)/07DA/010E homepage category info
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/010E |
+META_HPAGECAT_USERINFO |
+
+
+ |
+
+ |
+
+
+
+
+
+
+Homepage category user information packet. If success byte doesn't equal 0x0A -
+it is last SNAC byte.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 0E 01 |
+ |
+word (LE) |
+ |
+data subtype: META_HPAGECAT_USERINFO |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+| |
+
+
+
+| 01 |
+ |
+char |
+ |
+1-enabled, 0-disabled |
+
+
+
+| |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+homepage category code |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+homepage keywords string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+homepage keywords string |
+
+
+| 00 |
+ |
+char |
+ |
+unknown |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A DD 00 32 00 15 00 03 00 01 00 2B 00 02 *.Z..2.......+..
+ 00 01 00 24 22 00 8F E4 5E 00 DA 07 48 00 0E 01 ...$"...^...H...
+ 0A 01 1C 05 11 00 68 6F 6D 65 70 61 67 65 5F 6B ......homepage_k
+ 65 79 77 6F 72 64 00 00 eyword..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_01a4.html b/snac_15_03_07da_01a4.html
new file mode 100644
index 0000000..ad3709c
--- /dev/null
+++ b/snac_15_03_07da_01a4.html
@@ -0,0 +1,328 @@
+
+
+SNAC(15,03)/07DA/01A4 server user found
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/01A4 |
+SRV_USER_FOUND |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the server response to search request. This is not last search packet.
+SNAC flags bit1 allways=1. Server sends last search found record via
+SNAC(15,03)/07DA/01AE. Success byte allways
+= 0xA (SEARCH_SUCCESS).
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| A4 01 |
+ |
+word (LE) |
+ |
+data subtype: META_USER_FOUND |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+| |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+following data size |
+
+
+| |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+found user uin |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+nickname string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+nickname string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+first name string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+first name string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+last name string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+last name string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+email string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+email string |
+
+
+| xx |
+ |
+char |
+ |
+authorization flag |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+online status (0 - offline, 1 - online, 2 - non_webaware) |
+
+
+| xx |
+ |
+char |
+ |
+gender |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+age |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A 5F 00 5E 00 15 00 03 00 01 00 06 00 02 *.Z_.^..........
+ 00 01 00 50 4E 00 8F E4 5E 00 DA 07 07 00 A4 01 ...PN...^.......
+ 0A 3D 00 90 E4 5E 00 0B 00 52 65 67 72 65 73 73 .=...^...Regress
+ 6F 72 32 00 09 00 41 6C 65 78 61 6E 64 72 00 07 or2...Alexandr..
+ 00 4D 6F 73 6B 6F 72 00 14 00 73 61 6E 79 61 40 .Moskor...sanya@
+ 6B 70 73 6D 2E 6B 68 73 74 75 2E 72 75 00 01 00 kpsm.khstu.ru...
+ 00 00 00 00 ....
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_01ae.html b/snac_15_03_07da_01ae.html
new file mode 100644
index 0000000..d0e5167
--- /dev/null
+++ b/snac_15_03_07da_01ae.html
@@ -0,0 +1,334 @@
+
+
+SNAC(15,03)/07DA/01AE last server user found
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/01AE |
+SRV_LAST_USER_FOUND |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the server response to search request. This is the last search packet.
+SNAC flags bit1 allways=0. Server sends non-last search found records via
+SNAC(15,03)/07DA/01A4.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| A4 01 |
+ |
+word (LE) |
+ |
+data subtype: META_USER_FOUND |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+| |
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+following data size |
+
+
+| |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+found user uin |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+nickname string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+nickname string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+first name string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+first name string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+last name string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+last name string |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+email string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+email string |
+
+
+| xx |
+ |
+char |
+ |
+authorization flag |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+online status (0 - offline, 1 - online, 2 - non_webaware) |
+
+
+| xx |
+ |
+char |
+ |
+gender |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+age |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+found users left (0 - seach return all users) |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A 60 00 64 00 15 00 03 00 00 00 06 00 02 *.Z`.d..........
+ 00 01 00 56 54 00 8F E4 5E 00 DA 07 07 00 AE 01 ...VT...^.......
+ 0A 43 00 8F E4 5E 00 0A 00 52 65 67 72 65 73 73 .C...^...Regress
+ 6F 72 00 09 00 41 6C 65 78 61 6E 64 72 00 07 00 or...Alexandr...
+ 53 68 75 74 6B 6F 00 17 00 41 56 73 68 75 74 6B Shutko...AVshutk
+ 6F 40 6D 61 69 6C 2E 6B 68 73 74 75 2E 72 75 00 o@mail.khstu.ru.
+ 01 02 00 00 00 00 00 00 00 00 ..........
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_0302.html b/snac_15_03_07da_0302.html
new file mode 100644
index 0000000..261bc6c
--- /dev/null
+++ b/snac_15_03_07da_0302.html
@@ -0,0 +1,217 @@
+
+
+SNAC(15,03)/07DA/0302 send registration stats server ack
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/0302 |
+META_REGISTRATION_STATS_ACK |
+
+
+ |
+
+ |
+
+
+
+
+
+Result for client SNAC(15,02)/07D0/0AA5
+registration stats report. If success byte equal 0x0A - operation was finished
+succesfully, if not - database error.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 02 03 |
+ |
+word (LE) |
+ |
+data subtype: META_REGSTATS_ACK |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2a 02 ee 50 00 1b 00 15 00 03 00 00 00 11 00 02 *..P............
+ 00 01 00 0d 0b 00 bc 2b d0 0e da 07 12 00 02 03 .......+........
+ 0a .
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_0366.html b/snac_15_03_07da_0366.html
new file mode 100644
index 0000000..39d7065
--- /dev/null
+++ b/snac_15_03_07da_0366.html
@@ -0,0 +1,234 @@
+
+
+SNAC(15,03)/07DA/0366 server random user search reply
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/0366 |
+SRV_RANDOM_FOUND |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the server response to search random chat user request
+SNAC(15,02)/07D0/074E
+If success flag != 0x0a this is the last byte in the snac.
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 66 03 |
+ |
+word (LE) |
+ |
+data subtype: META_RANDOM_FOUND |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+| |
+
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+found user uin |
+
+
+| 00 |
+ |
+byte |
+ |
+unknown field |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 89 BB 00 20 00 15 00 03 00 00 00 11 00 02 *...............
+ 00 01 00 12 10 00 8F E4 5E 00 DA 07 16 00 66 03 ........^.....f.
+ 0A 90 E4 5E 00 00 ...^..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_08a2.html b/snac_15_03_07da_08a2.html
new file mode 100644
index 0000000..6a79c8d
--- /dev/null
+++ b/snac_15_03_07da_08a2.html
@@ -0,0 +1,237 @@
+
+
+SNAC(15,03)/07DA/08A2 server requested xml variable reply
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/00EB |
+META_XML_INFO |
+
+
+ |
+
+ |
+
+
+
+
+
+Various information requested by client (via
+SNAC(15,02)/07D0/0898) from server. If success byte doesn't equal 0x0A -
+it is last SNAC byte and this mean "no data found".
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 01 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| A2 08 |
+ |
+word (LE) |
+ |
+data subtype: META_XML_INFO |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+| |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+xml string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+xml string |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 3E 26 00 58 00 15 00 03 00 00 00 06 00 02 *.>&.X..........
+ 00 01 00 4A 48 00 8F E4 5E 00 DA 07 07 00 A2 08 ...JH...^.......
+ 0A 3B 00 3C 76 61 6C 75 65 3E 68 74 74 70 3A 2F .;.<value>http:/
+ 2F 32 30 35 2E 31 38 38 2E 32 35 30 2E 32 35 2F /205.188.250.25/
+ 63 62 2F 25 64 2F 64 61 74 61 66 69 6C 65 73 2F cb/%d/datafiles/
+ 25 73 2E 63 62 3C 2F 76 61 6C 75 65 3E 00 %s.cb</value>.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_0c3f.html b/snac_15_03_07da_0c3f.html
new file mode 100644
index 0000000..a5887ae
--- /dev/null
+++ b/snac_15_03_07da_0c3f.html
@@ -0,0 +1,216 @@
+
+
+SNAC(15,03)/07DA/0C3F set full info server ack
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/0C3F |
+META_SET_FULLINFO_ACK |
+
+
+ |
+
+ |
+
+
+
+
+
+Result for client change full-info tlv-based request. If success byte equal 0x0A -
+operation was finished succesfully, if not - database error. Request was sent by
+SNAC(15,02)/07D0/0C3A.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 3F 0C |
+ |
+word (LE) |
+ |
+data subtype: META_SET_FULLINFO_ACK |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A EF 00 51 00 15 00 03 00 00 00 2E 00 02 *.Z..Q..........
+ 00 01 00 43 41 00 8F E4 5E 00 DA 07 4D 00 3F 0C ...CA...^...M.?.
+ 0A .
+
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_15_03_07da_2012.html b/snac_15_03_07da_2012.html
new file mode 100644
index 0000000..080798e
--- /dev/null
+++ b/snac_15_03_07da_2012.html
@@ -0,0 +1,216 @@
+
+
+SNAC(15,03)/07DA/2012 ack for user spam report
+
+
+
+
+
+
+
+
+
+| SNAC(15,03)/07DA/0C3F |
+META_SPAM_REPORT_ACK |
+
+
+ |
+
+ |
+
+
+
+
+
+Result for client spam report request. If success byte equal 0x0A -
+operation was finished succesfully, if not - saving report error.
+Request was sent by SNAC(15,02)/07D0/2008.
+
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 03 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| DA 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| 02 00 |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 12 20 |
+ |
+word (LE) |
+ |
+data subtype: META_SET_FULLINFO_ACK |
+
+
+
+ |
+
+
+
+
+| 0A |
+ |
+char |
+ |
+success byte |
+
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 5A EF 00 51 00 15 00 03 00 00 00 2E 00 02 *.Z..Q..........
+ 00 01 00 43 41 00 8F E4 5E 00 DA 07 4D 00 12 20 ...CA...^...M...
+ 0A .
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_15_xx_tlvs.html b/snac_15_xx_tlvs.html
new file mode 100644
index 0000000..596d4a3
--- /dev/null
+++ b/snac_15_xx_tlvs.html
@@ -0,0 +1,394 @@
+
+
+SNAC(15,xx) - list of the TLVs
+
+
+
+
+
+
+
+
+
+| SNAC(15,xx) |
+TLV_LIST |
+
+
+ |
+
+ |
+
+
+
+
+
+There was some changes in ICQ service protocol in family 0x15 since ICQ2001 client.
+First came changes in search sequence - search became tlv-based. Then was changed
+info-update sequence in ICQLite. Here is the list of TLVs used in tlv-based requests:
+
+
+ |
+
+
+
+
+
+
+
+
+| 310 |
+ 0x0136 |
+ uint32 |
+ User uin |
+ |
+
+
+| 320 |
+ 0x0140 |
+ sstring |
+ User firstname |
+ |
+
+
+| 330 |
+ 0x014A |
+ sstring |
+ User lastname |
+ |
+
+
+| 340 |
+ 0x0154 |
+ sstring |
+ User nickname |
+ |
+
+
+| 350 |
+ 0x015E |
+ ecombo |
+ User email |
+ |
+
+
+| 360 |
+ 0x0168 |
+ acombo |
+ Age range to search |
+ |
+
+
+| 370 |
+ 0x0172 |
+ uint16 |
+ User age |
+ |
+
+
+| 380 |
+ 0x017C |
+ uint8 |
+ User gender |
+ |
+
+
+| 390 |
+ 0x0186 |
+ uint16 |
+ User spoken language |
+ |
+
+
+| 400 |
+ 0x0190 |
+ sstring |
+ User home city name |
+ |
+
+
+| 410 |
+ 0x019A |
+ sstring |
+ User home state abbr |
+ |
+
+
+| 420 |
+ 0x01A4 |
+ uint16 |
+ User home country code |
+ |
+
+
+| 430 |
+ 0x01AE |
+ sstring |
+ User work company name |
+ |
+
+
+| 440 |
+ 0x01B8 |
+ sstring |
+ User work department name |
+ |
+
+
+| 450 |
+ 0x01C2 |
+ sstring |
+ User work position (title) |
+ |
+
+
+| 460 |
+ 0x01CC |
+ uint16 |
+ User work ocupation code |
+ |
+
+
+| 470 |
+ 0x01D6 |
+ icombo |
+ User affilations node |
+ |
+
+
+| 490 |
+ 0x01EA |
+ icombo |
+ User interests node |
+ |
+
+
+| 510 |
+ 0x01FE |
+ icombo |
+ User past info node |
+ |
+
+
+| 530 |
+ 0x0212 |
+ icombo |
+ User homepage category/keywords |
+ |
+
+
+| 531 |
+ 0x0213 |
+ hcombo |
+ User homepage url |
+ |
+
+
+| 550 |
+ 0x0226 |
+ sstring |
+ Whitepages search keywords string |
+ |
+
+
+| 560 |
+ 0x0230 |
+ uint8 |
+ Search only online users flag |
+ |
+
+
+| 570 |
+ 0x023A |
+ bcombo |
+ User birthday info (year, month, day) |
+ |
+
+
+| 600 |
+ 0x0258 |
+ sstring |
+ User notes (about) text |
+ |
+
+
+| 610 |
+ 0x0262 |
+ sstring |
+ User home street address |
+ |
+
+
+| 620 |
+ 0x026C |
+ uint32 |
+ User home zip code |
+ |
+
+
+| 630 |
+ 0x0276 |
+ sstring |
+ User home phone number |
+ |
+
+
+| 640 |
+ 0x0280 |
+ sstring |
+ User home fax number |
+ |
+
+
+| 650 |
+ 0x028A |
+ sstring |
+ User home cellular phone number |
+ |
+
+
+| 660 |
+ 0x0294 |
+ sstring |
+ User work street address |
+ |
+
+
+| 670 |
+ 0x029E |
+ sstring |
+ User work city name |
+ |
+
+
+| 680 |
+ 0x02A8 |
+ sstring |
+ User work state name |
+ |
+
+
+| 690 |
+ 0x02B2 |
+ uint16 |
+ User work country code |
+ |
+
+
+| 700 |
+ 0x02BC |
+ uint32 |
+ User work zip code |
+ |
+
+
+| 710 |
+ 0x02C6 |
+ sstring |
+ User work phone number |
+ |
+
+
+| 720 |
+ 0x02D0 |
+ sstring |
+ User work fax number |
+ |
+
+
+| 730 |
+ 0x02DA |
+ sstring |
+ User work webpage url |
+ |
+
+
+| 760 |
+ 0x02F8 |
+ uint8 |
+ User 'show web status' permissions |
+ |
+
+
+| 780 |
+ 0x030C |
+ uint8 |
+ User authorization permissions |
+ |
+
+
+| 790 |
+ 0x0316 |
+ uint8 |
+ User GMT offset |
+ |
+
+
+| 800 |
+ 0x0320 |
+ sstring |
+ User originally from city |
+ |
+
+
+| 810 |
+ 0x032A |
+ sstring |
+ User originally from state |
+ |
+
+
+| 820 |
+ 0x0334 |
+ uint16 |
+ User originally from country (code) |
+ |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+
+
+ sstring - uint16 value (length) and then asciiz string
+ ecombo - sstring and uint8 value (email permission)
+ acombo - two uint16 values (min age & max age)
+ icombo - uint16 value (category) and then sstring (keywords)
+ bcombo - uint16 value (year), uint16 - month, uint16 - day
+ hcombo - uint16 value (category ?) and then sstring
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_17_01.html b/snac_17_01.html
new file mode 100644
index 0000000..aea1df8
--- /dev/null
+++ b/snac_17_01.html
@@ -0,0 +1,211 @@
+
+
+SNAC(17,01) registration error (new uin not granted)
+
+
+
+
+
+
+
+
+
+| SNAC(17,01) |
+SRV_REGISTRATION_ERROR |
+
+
+ |
+
+ |
+
+
+
+
+
+Server replies with this SNAC to SNAC(17,04) - client
+registration request. This snac mean that registration failed for some reason.
+
+
+
+
+
+
+
+ | 00 17 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error code (see list) |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 21 |
+ |
+ word |
+ |
+ TLV.Type(0x21) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | 00 00 00 00 |
+ |
+ dword |
+ |
+ just zeros |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ just zeros |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ registration cookie from SNAC(17,04) |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ client tcp port |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ client ip address |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ registration cookie from SNAC(17,04) |
+
+
+ | 40 04 64 F8 |
+ |
+ dword |
+ |
+ unknown value |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 38 C7 00 2E 00 17 00 01 00 00 00 00 00 00 *.8..... ........
+ 00 05 00 21 00 1E 00 00 00 00 00 00 00 00 39 12 ...!.... ......9.
+ 00 00 04 92 08 0A 0A 0A 00 00 00 04 00 00 00 04 ........ ........
+ 40 04 64 F8 @.d.
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_17_02.html b/snac_17_02.html
new file mode 100644
index 0000000..cb83f15
--- /dev/null
+++ b/snac_17_02.html
@@ -0,0 +1,739 @@
+
+
+SNAC(17,02) auth_md5: client login request
+
+
+
+
+
+
+
+
+
+| SNAC(17,02) |
+CLI_MD5_LOGIN |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this snac to login to server
+(md5 login sequence). Server should reply via
+SNAC(17,03), containing BOS address/cookie or
+errorcode. Password hash creating:
+You'll need password, authkey from SNAC(17,07) and RFC 1321 md5 routines:
+
+
+ #define AIM_MD5_STRING "AOL Instant Messenger (SM)"
+
+ /* calculate md5-hash to send to server */
+ md5_init(&state);
+ md5_append(&state, (const md5_byte_t *)authkey, strlen(authkey));
+ md5_append(&state, (const md5_byte_t *)passwd, strlen(passwd));
+ md5_append(&state, (const md5_byte_t *)AIM_MD5_STRING, strlen(AIM_MD5_STRING));
+ md5_finish(&state, (md5_byte_t *)auth_hash);
+
+ /* Now we ready send to server auth_hash array (16 bytes long) */
+
+
+
+
+
+
+
+
+
+
+ | 00 17 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - screen name |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ Screen name |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - client id string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ Client id string (name, version) |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 25 |
+ |
+ word |
+ |
+ TLV.Type(0x25) - password md5 hash |
+
+
+ | 00 10 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+
+ xx xx xx xx
+ xx xx xx xx
+ xx xx xx xx
+ xx xx xx xx
+ |
+ |
+ array |
+ |
+ password md5 hash |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 16 |
+ |
+ word |
+ |
+ TLV.Type(0x16) - client id |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Client id number |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 17 |
+ |
+ word |
+ |
+ TLV.Type(0x17) - client major version |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Client major version |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 18 |
+ |
+ word |
+ |
+ TLV.Type(0x18) - client minor version |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Client minor version |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 19 |
+ |
+ word |
+ |
+ TLV.Type(0x19) - client lesser version |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Client lesser version |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 1A |
+ |
+ word |
+ |
+ TLV.Type(0x1A) - client build number |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Client build number |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 14 |
+ |
+ word |
+ |
+ TLV.Type(0x14) - distribution number |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Distribution number |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 0F |
+ |
+ word |
+ |
+ TLV.Type(0x0F) - client language (2 symbols) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ Client language |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 0E |
+ |
+ word |
+ |
+ TLV.Type(0x0E) - client country (2 symbols) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ Client country |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 0F |
+ |
+ word |
+ |
+ TLV.Type(0x4A) - SSI use flag |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ char |
+ |
+ SSI flag: 1 - SSI only, 0 - family 0x03 |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 50 0F 00 95 00 17 00 02 00 00 00 00 00 00 *.P.............
+ 00 01 00 07 36 32 31 38 38 39 35 00 25 00 10 77 ....6218895.%..w
+ D2 88 A0 1B 2E 22 D0 8A 75 A6 34 DD 7C 7C A9 00 ....."..u.4.....
+ 4C 00 00 00 03 00 2D 41 4F 4C 20 49 6E 73 74 61 L.....-AOL Insta
+ 6E 74 20 4D 65 73 73 65 6E 67 65 72 2C 20 76 65 nt Messenger, ve
+ 72 73 69 6F 6E 20 35 2E 31 2E 33 30 33 36 2F 57 rsion 5.1.3036/W
+ 49 4E 33 32 00 16 00 02 01 09 00 17 00 02 00 05 IN32............
+ 00 18 00 02 00 01 00 19 00 02 00 00 00 1A 00 02 ................
+ 0B DC 00 14 00 04 00 00 00 D2 00 0F 00 02 65 6E ..............en
+ 00 0E 00 02 75 73 00 4A 00 01 01 ....us.J...
+
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_17_03.html b/snac_17_03.html
new file mode 100644
index 0000000..d25f234
--- /dev/null
+++ b/snac_17_03.html
@@ -0,0 +1,546 @@
+
+
+SNAC(17,03) auth_md5: server login response
+
+
+
+
+
+
+
+
+
+| SNAC(17,03) |
+SRV_LOGIN_REPLY |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the server reply for for SNAC(17,02) and
+SNAC(17,06) client requests. It may contain error
+information or BOS address/cookie. There are two modifications of this snac.
+First (error notification) contain TLV(0x01), TLV(0x08) and TLV(0x04). The second
+contain TLV(0x01), TLV(0x05), TLV(0x06), TLV(0x11), latest client info
+TLV(0x40)-TLV(0x48) and TLV(0x54). Complete list of tlvs for this
+command may be found in the following list.
+
+ See also
+md5 login sequence info.
+
+
+
+
+
+
+ | 00 17 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | |
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - screen name |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ Screen name |
+
+
+
+ |
+ |
+ | |
+|
+ |
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - error code |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Error code (see list above) |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Type(0x04) - error description url |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ error description url string |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ TLV.Type(0x05) - BOS server address |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ BOS server address string |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ TLV.Type(0x06) - authorization cookie |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ array |
+ |
+ authorization cookie |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 11 |
+ |
+ word |
+ |
+ TLV.Type(0x11) - Email address |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ Email address string |
+
+
+
+ |
+
+ |
+ | |
+|
+ |
+
+
+
+ | | |
+
+
+
+
+
+
+ | 00 54 |
+ |
+ word |
+ |
+ TLV.Type(0x54) - Password change URL |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ Password change URL |
+
+
+
+ |
+ |
+ | |
+|
+ |
+
+
+ |
+ |
+
+ Known error codes may be found in the
+following list (for TLV 0x08).
+
+ Other optional TLVs list/descriptions:
+
+
+
+
+
+| 0x0040 |
+ Latest Beta Build (string) |
+
+
+| 0x0041 |
+ Latest Beta URL (string) |
+
+
+| 0x0042 |
+ Latest Beta Info (string) |
+
+
+| 0x0043 |
+ Latest Beta Name (string) |
+
+
+| 0x0044 |
+ Latest Release Build (string) |
+
+
+| 0x0045 |
+ Latest Release URL (string) |
+
+
+| 0x0046 |
+ Latest Release Info (string) |
+
+
+| 0x0047 |
+ Latest Release Name (string) |
+
+
+| 0x0048 |
+ Latest Beta MD5 Checksum (string) |
+
+
+| 0x0049 |
+ Latest Release MD5 Checksum (string) |
+
+
+
+ |
+ |
+
+ Example SNAC dump with flap header:
+
+
+
+
+ 2A 02 48 01 00 10 00 17 00 03 00 00 00 00 00 00 *.H.............
+ 00 08 00 02 00 08 ......
+
+ -----------------------------------------------------------------
+
+ 2a 02 8c d9 02 f4 00 17 00 03 00 00 00 00 00 00 *...............
+ 00 01 00 0d 52 45 41 4c 52 65 67 72 65 73 73 6f ....REALRegresso
+ 72 00 05 00 10 36 34 2e 31 32 2e 33 30 2e 31 36 r....64.12.30.16
+ 38 3a 34 34 33 00 06 01 00 8b e1 b4 a0 ee ab 59 8:443..........Y
+ 4b 2f b1 d7 e5 e9 b8 cc f4 bd 30 f8 64 67 cc 9b K/........0.dg..
+ b7 5b cc ec 59 a5 6b 28 25 c6 3f 65 7b df 6f 2b .[..Y.k(%.?e{.o+
+ 97 82 76 d0 8b 17 65 3f 5c c5 f3 27 f5 9d 9a 74 ..v...e?\..'...t
+ d2 c4 3a 84 c1 85 56 7a d5 b7 15 5c 90 50 52 e8 ..:...Vz...\.PR.
+ db 12 2f 46 ed b9 57 46 c7 0e d3 a6 aa 07 ec 57 ../F..WF.......W
+ 86 0b 09 81 6c 67 6f 5c db 63 8e d1 22 44 85 4a ....lgo\.c.."D.J
+ 47 6b 75 c6 31 dc db 6a c3 41 de 62 67 ad 46 93 Gku.1..j.A.bg.F.
+ 8a ae 52 bd 3e a1 ea 20 b3 85 fc b6 f7 cd 33 c8 ..R.>.. ......3.
+ 93 45 86 d8 ee b6 22 52 e2 85 b9 28 02 69 85 f6 .E...."R...(.i..
+ 07 61 25 37 97 ac 67 0c ce 5c 7b 2e 6b 8d 7f 14 .a%7..g..\{.k..
+ 2d f7 d0 96 ce eb 8f ba e1 68 c4 19 d9 2a 7b 1c -........h...*{.
+ 0a 61 03 f3 87 15 f7 6e 31 82 e8 95 01 03 8d 24 .a.....n1......$
+ cd 5f ac fb ff 4c d1 ac 87 c0 41 e8 52 81 e0 3b ._...L....A.R..;
+ 20 2b 7f bd d0 32 64 98 85 d7 44 6f 01 3a e4 8d +..2d...Do.:..
+ c7 e1 5e 90 09 ee c9 e6 de 54 f1 f5 31 4c 5e 71 ..^......T..1L^q
+ 57 50 cc 6b 96 41 b5 22 91 00 11 00 16 41 56 53 WP.k.A.".....AVS
+ 68 75 74 6b 6f 40 6d 61 69 6c 2e 6b 68 73 74 75 hutko@mail.khstu
+ 2e 72 75 00 13 00 02 00 03 00 54 00 50 68 74 74 .ru.......T.Phtt
+ 70 3a 2f 2f 61 69 6d 2e 61 6f 6c 2e 63 6f 6d 2f p://aim.aol.com/
+ 72 65 64 69 72 65 63 74 73 2f 70 61 73 73 77 6f redirects/passwo
+ 72 64 2f 63 68 61 6e 67 65 5f 70 61 73 73 77 6f rd/change_passwo
+ 72 64 2e 61 64 70 3f 53 63 72 65 65 6e 4e 61 6d rd.adp?ScreenNam
+ 65 3d 25 73 26 43 43 6f 64 65 3d 55 53 00 40 00 e=%s&CCode=US.@.
+ 04 00 00 0c 43 00 43 00 08 35 2e 32 2e 33 31 33 ....C.C..5.2.313
+ 39 00 41 00 4c 68 74 74 70 3a 2f 2f 66 74 70 2e 9.A.Lhttp://ftp.
+ 6e 65 77 61 6f 6c 2e 63 6f 6d 2f 61 69 6d 67 65 newaol.com/aimge
+ 6e 2f 37 33 30 31 30 2f 49 6e 73 74 61 6c 6c 5f n/73010/Install_
+ 41 49 4d 5f 35 2e 32 2e 33 31 33 39 5f 66 72 6f AIM_5.2.3139_fro
+ 6d 5f 35 2e 31 2e 33 30 33 36 41 4f 44 2e 65 78 m_5.1.3036AOD.ex
+ 65 00 42 00 28 68 74 74 70 3a 2f 2f 77 77 77 2e e.B.(http://www.
+ 61 6f 6c 2e 63 6f 6d 2f 61 69 6d 2f 6d 6f 72 65 aol.com/aim/more
+ 69 6e 66 6f 62 65 74 61 2e 68 74 6d 6c 00 48 00 infobeta.html.H.
+ 20 33 66 65 32 39 64 32 35 66 30 64 37 38 30 62 3fe29d25f0d780b
+ 62 39 62 34 33 64 32 36 65 30 38 34 34 30 35 32 b9b43d26e0844052
+ 63 00 44 00 04 00 00 0b dc 00 47 00 08 35 2e 31 c.D.......G..5.1
+ 2e 33 30 33 36 00 45 00 32 68 74 74 70 3a 2f 2f .3036.E.2http://
+ 66 74 70 2e 6e 65 77 61 6f 6c 2e 63 6f 6d 2f 61 ftp.newaol.com/a
+ 69 6d 67 65 6e 2f 37 33 30 31 30 2f 49 6e 73 74 imgen/73010/Inst
+ 61 6c 6c 5f 41 49 4d 2e 65 78 65 00 46 00 27 68 all_AIM.exe.F.'h
+ 74 74 70 3a 2f 2f 77 77 77 2e 61 6f 6c 2e 63 6f ttp://www.aol.co
+ 6d 2f 61 69 6d 2f 6d 6f 72 65 69 6e 66 6f 72 65 m/aim/moreinfore
+ 6c 2e 68 74 6d 6c 00 49 00 20 33 46 45 32 39 44 l.html.I. 3FE29D
+ 32 35 46 30 44 37 38 30 42 42 39 42 34 33 44 32 25F0D780BB9B43D2
+ 36 45 30 38 34 34 30 35 32 43 6E0844052C
+
+
+
+ |
+ |
+
+
+
+ |
+
+
+
+
+
diff --git a/snac_17_04.html b/snac_17_04.html
new file mode 100644
index 0000000..fbe476d
--- /dev/null
+++ b/snac_17_04.html
@@ -0,0 +1,266 @@
+
+
+SNAC(17,04) registration request
+
+
+
+
+
+
+
+
+
+| SNAC(17,04) |
+CLI_REGISTRATION_REQUEST |
+
+
+ |
+
+ |
+
+
+
+
+
+Use this snac when you need new ICQ account (uin/password).
+Server should reply with SNAC(17,05) containing
+new uin. This snac mean that registration finished succesfully.
+Server also can reply with SNAC(17,01) if it can't
+create new user account.
+
+
+
+
+
+
+
+ | 00 17 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | 00 00 00 00 |
+ |
+ dword |
+ |
+ just zeros |
+
+
+ | 28 00 |
+ |
+ word |
+ |
+ subcmd (request new uin) |
+
+
+ | 03 00 |
+ |
+ word |
+ |
+ sequence |
+
+
+ | 00 00 00 00 |
+ |
+ dword |
+ |
+ just zeros |
+
+
+ | 00 00 00 00 |
+ |
+ dword |
+ |
+ just zeros |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ registration cookie |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ registration cookie (the same) |
+
+
+ | 00 00 00 00 |
+ |
+ dword |
+ |
+ just zeros |
+
+
+ | 00 00 00 00 |
+ |
+ dword |
+ |
+ just zeros |
+
+
+ | 00 00 00 00 |
+ |
+ dword |
+ |
+ just zeros |
+
+
+ | 00 00 00 00 |
+ |
+ dword |
+ |
+ just zeros |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ password string len (LE) |
+
+
+ | xx .. xx 00 |
+ |
+ string |
+ |
+ password string (asciiz) |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ registration cookie (the same) |
+
+
+ | 00 00 00 00 |
+ |
+ dword |
+ |
+ just zeros |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ unknown value (random?) |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 38 C7 00 49 00 17 00 04 00 00 00 00 00 00 *.8..... ........
+ 00 01 00 3B 00 00 00 00 28 00 03 00 00 00 00 00 ...;.... (.......
+ 00 00 00 00 3C 38 00 00 3C 38 00 00 00 00 00 00 .....8.. .8......
+ 00 00 00 00 00 00 00 00 00 00 00 00 09 00 70 61 ........ ......pa
+ 73 73 77 6F 72 64 00 3C 38 00 00 00 00 D1 01 ssword.. 8......
+
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_17_05.html b/snac_17_05.html
new file mode 100644
index 0000000..54cb483
--- /dev/null
+++ b/snac_17_05.html
@@ -0,0 +1,251 @@
+
+
+SNAC(17,05) registration reply (new uin)
+
+
+
+
+
+
+
+
+
+| SNAC(17,05) |
+SRV_NEW_UIN |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the server reply for SNAC(17,04). It contain
+new uin. This snac mean that registration finished succesfully.
+Server also can reply with SNAC(17,01) if it can't
+create new user account.
+
+
+
+
+
+
+
+ | 00 17 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - all values in LE format |
+
+
+ | 00 32 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | 30 00 |
+ |
+ word |
+ |
+ TLV.Length-2 (LE) |
+
+
+ | 00 00 00 00 |
+ |
+ dword |
+ |
+ just zeros |
+
+
+ | 2d 00 |
+ |
+ word |
+ |
+ subcmd (new uin response) |
+
+
+ | 03 00 |
+ |
+ word |
+ |
+ sequence from SNAC(17,04) |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ client tcp port |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ client ip address |
+
+
+ | 00 00 00 04 |
+ |
+ dword |
+ |
+ unknown value |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ registration cookie from SNAC(17,04) |
+
+
+ | 00 00 00 00 |
+ |
+ dword |
+ |
+ just zeros |
+
+
+ | 00 00 00 00 |
+ |
+ dword |
+ |
+ just zeros |
+
+
+ | 00 00 00 00 |
+ |
+ dword |
+ |
+ just zeros |
+
+
+ | 00 00 00 00 |
+ |
+ dword |
+ |
+ just zeros |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ new uin (LE) |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ registration cookie from SNAC(17,04) |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 8C 68 00 40 00 17 00 05 00 00 00 00 00 00 *..h.@.. ........
+ 00 01 00 32 30 00 00 00 00 00 2D 00 03 00 9F 04 ...20... ..-.....
+ 00 00 0A 0A 0A 08 00 00 00 04 96 7C 00 00 00 00 ........ ...|....
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90 96 ........ ........
+ 98 00 96 7C 00 00
+
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_17_06.html b/snac_17_06.html
new file mode 100644
index 0000000..c2e5797
--- /dev/null
+++ b/snac_17_06.html
@@ -0,0 +1,253 @@
+
+
+SNAC(17,06) auth_md5: client key request
+
+
+
+
+
+
+
+
+
+| SNAC(17,06) |
+CLI_AUTH_REQUEST |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the first snac in md5 crypted login sequence.
+Client use this snac to request login random key from server. It contain screenname
+and some unknown stuff. Server should reply with SNAC(17,07),
+containing auth key string.
+
+
+
+
+
+
+
+ | 00 17 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - screen name |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ Screen name |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 4B |
+ |
+ word |
+ |
+ TLV.Type(0x4B) - unknown (empty) |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 5A |
+ |
+ word |
+ |
+ TLV.Type(0x5A) - unknown (empty) |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 0A 46 00 1D 00 17 00 06 00 00 00 00 00 00 *..F............
+ 00 01 00 07 36 32 31 38 38 39 35 00 4B 00 00 00 ....6218895.K...
+ 5A 00 00 Z..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_17_07.html b/snac_17_07.html
new file mode 100644
index 0000000..4a81af8
--- /dev/null
+++ b/snac_17_07.html
@@ -0,0 +1,147 @@
+
+
+SNAC(17,07) auth_md5: server auth key response
+
+
+
+
+
+
+
+
+
+| SNAC(17,07) |
+SRV_AUTH_KEY_RESPONSE |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the second snac in md5 crypted login sequence.
+Server send this for SNAC(17,06) request. This snac
+contain server generated auth key. Client should use it to crypt password.
+
+
+
+
+
+
+
+ | 00 17 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ Auth key length |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ Auth key |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 20 0D 00 46 00 17 00 07 00 00 00 00 00 00 *. ..F..........
+ 00 00 00 38 42 37 47 44 34 61 37 61 39 30 31 6F ...8B7GD4a7a901o
+ 33 30 32 30 61 66 32 32 65 42 38 31 3F 63 44 38 3020af22eB81?cD8
+ 33 36 30 38 39 32 37 50 71 65 61 65 31 31 35 38 3608927Pqeae1158
+ 42 3D 40 44 33 63 42 46 63 36 30 61 B=@D3cBFc60a
+
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_17_0a.html b/snac_17_0a.html
new file mode 100644
index 0000000..6605cfd
--- /dev/null
+++ b/snac_17_0a.html
@@ -0,0 +1,112 @@
+
+
+SNAC(17,0A) - SecurID server request
+
+
+
+
+
+
+
+
+
+| SNAC(17,0A) |
+SRV_SECURID_REQUEST |
+
+
+ |
+
+ |
+
+
+
+
+
+This snac used by server to request SecurID number from client. This happens
+only if you are trying to login as AIM administrator. AIM administrators have
+a little pager-like thing that display a SecurID number wich changes every 60
+seconds. Client must respond with SNAC(17,0B)
+containing correct SecureID number (or server will send you an auth error).
+Check also the screenshot of AIM SecurID request
+dialog and typical list of AIM admin priviledges.
+
+
+
+
+
+
+
+ | 00 17 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0A |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+|
+ empty (no snac data)
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 0E 46 00 0A 00 17 00 0A 00 00 82 95 E9 1B *..F............
+
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_17_0b.html b/snac_17_0b.html
new file mode 100644
index 0000000..fbde53e
--- /dev/null
+++ b/snac_17_0b.html
@@ -0,0 +1,128 @@
+
+
+SNAC(17,0B) - client SecureID reply
+
+
+
+
+
+
+
+
+
+| SNAC(17,0B) |
+CLI_SECUREID_REPLY |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the client SecureID reply for server
+SNAC(17,0A) - server SecureID request. AIM administrators have
+a little pager-like thing that display a SecurID number wich changes every 60
+seconds. Check also the screenshot of AIM SecurID
+request dialog and typical list of AIM admin
+priviledges.
+
+
+
+
+
+
+
+ | 00 17 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 0B |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ SecureID strlen |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ SecureID string (6 digits) |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 0E 46 00 12 00 17 00 0B 00 00 82 95 E9 1B *..F............
+ 00 06 31 32 33 34 35 36 ..123456
+
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/snac_85_01.html b/snac_85_01.html
new file mode 100644
index 0000000..539919a
--- /dev/null
+++ b/snac_85_01.html
@@ -0,0 +1,166 @@
+
+
+SNAC(85,01) server broadcast service error
+
+
+
+
+
+
+
+
+
+| SNAC(85,01) |
+SRV_BROADCAST_ERROR |
+
+
+ |
+
+ |
+
+
+
+
+
+This is an error notification snac.
+See also error types complete list.
+
+
+
+
+
+
+ | 00 85 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error code (see list) |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - error subcode, from "tlv tags" list |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error subcode |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 E1 CA 00 0C 00 85 00 01 00 00 99 D0 07 62 *..............b
+ 00 05 ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_85_02.html b/snac_85_02.html
new file mode 100644
index 0000000..3d5d4a9
--- /dev/null
+++ b/snac_85_02.html
@@ -0,0 +1,240 @@
+
+
+SNAC(85,02) client broadcast message
+
+
+
+
+
+
+
+
+
+| SNAC(85,02) [IServerd extension] |
+CLI_BROADCAST_MESSAGE |
+
+
+ |
+
+ |
+
+
+
+
+
+Client use this snac to send administrative broadcast message. This family currently
+supported only by IServerd. Server should reply
+via SNAC(85,03). Online flag: 1 - message to online users
+only, 0 - to all users. This family was created for miranda plugin writers.
+
+
+
+
+
+
+
+ | 00 85 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 01 00 |
+ |
+ word |
+ |
+ TLV.Type(0x0100) - on/off flag |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+ | 00 xx |
+ |
+ word |
+ |
+ online/offline flag |
+
+
+
+ | |
+ | |
+ | |
+
+
+
+
+ |
+ |
+
+
+
+
+
+ | 02 00 |
+ |
+ word |
+ |
+ TLV.Type(0x0200) - message subject |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ Message subject string |
+
+
+
+ |
+ |
| |
+ |
+
+
+
+
+ |
+ |
+
+
+
+
+
+ | 03 00 |
+ |
+ word |
+ |
+ TLV.Type(0x0300) - message text |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ Message subject string |
+
+
+
+ |
+ |
| |
+ |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 27 E3 00 50 00 85 00 02 00 00 00 00 00 14 *.'..... ........
+ 01 00 00 02 00 01 02 00 00 0F 4D 65 73 73 61 67 ........ ..Messag
+ 65 20 73 75 62 6A 65 63 74 03 00 00 29 4D 65 73 e subjec t...)Mes
+ 73 61 67 65 20 74 65 78 74 20 73 74 72 69 6E 67 sage tex t string
+ 31 0A 6D 65 73 73 61 67 65 20 74 65 78 74 20 73 1.messag e text s
+ 74 72 69 6E 67 32 tring2
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/snac_85_03.html b/snac_85_03.html
new file mode 100644
index 0000000..4349c84
--- /dev/null
+++ b/snac_85_03.html
@@ -0,0 +1,121 @@
+
+
+SNAC(85,03) server broadcast message confirmation
+
+
+
+
+
+
+
+
+
+| SNAC(85,03) [IServerd extension] |
+SRV_BROADCAST_REPLY |
+
+
+ |
+
+ |
+
+
+
+
+
+This is the server reply for client broadcast message SNAC(85,02).
+This family currently supported only by IServerd.
+Result flag: 0x000a - message was sent successfully, 0x0032 - can't send message
+
+
+
+
+
+
+
+ | 00 85 |
+ |
+ word |
+ |
+ SNAC family |
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ SNAC subtype |
+
+
+ | 00 00 |
+ |
+ word |
+ |
+ SNAC flags |
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ SNAC request-id |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Result flag |
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 97 63 00 0C 00 85 00 03 00 00 00 00 00 14 *.×c............
+ 00 0a ..
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/srv_cookie.html b/srv_cookie.html
new file mode 100644
index 0000000..fd0a2ee
--- /dev/null
+++ b/srv_cookie.html
@@ -0,0 +1,261 @@
+
+
+SRV_COOKIE: server authorization response
+
+
+
+
+
+
+
+
+
+
+
+This is the server reply for for cli_ident packet.
+It contain BOS address / authorization cookie. It always come from FLAP channel
+0x04. See also channel 0x01 authorization sequence info.
+
+
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - screen name (uin) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ Screen name (uin) |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ TLV.Type(0x05) - BOS server address |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ BOS server address string |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ TLV.Type(0x06) - authorization cookie |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ array |
+ |
+ authorization cookie |
+
+
+
+ |
+
+ |
+
+ | |
+ | |
+
+
+
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 04 62 BF 01 21 00 01 00 06 37 37 37 37 37 37 *.b..!....777777
+ 00 05 00 0F 31 30 2E 31 30 2E 31 30 2E 39 3A 35 ....10.10.10.9:5
+ 31 39 30 00 06 01 00 37 37 37 37 37 37 39 63 64 190....7777779cd
+ 42 63 66 39 61 32 36 38 35 63 44 32 66 4E 39 66 Bcf9a2685cD2fN9f
+ 42 61 61 66 42 61 63 31 43 31 36 54 63 44 66 39 BaafBac1C16TcDf9
+ 37 44 37 31 37 61 44 30 44 66 35 30 33 45 31 63 7D717aD0Df503E1c
+ 37 31 31 65 44 41 41 41 41 41 41 41 41 41 41 41 711eDAAAAAAAAAAA
+ 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
+ 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
+ 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
+ 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
+ 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
+ 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
+ 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
+ 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
+ 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
+ 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
+ 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
+ 41 41 41 41 41 41 41 AAAAAAA
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/ssbi_sequence.html b/ssbi_sequence.html
new file mode 100644
index 0000000..b2e26a1
--- /dev/null
+++ b/ssbi_sequence.html
@@ -0,0 +1,194 @@
+
+
+Upload/download server-stored buddy icons (SSBI) sequences
+
+
+
+
+
+
+
+
+
+| OSCAR sequences |
+ |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+
+| Upload/download server-stored buddy icons (SSBI) sequences |
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+SSBI service allows clients to store and retrieve little buddy icons called
+ICQ avatars. Icon size is limited by size of flap packet (~8kb). Every icon has
+unique combination of id (word), flags (byte) and md5 hash. AOL BOS server
+doesn't support SSBI service so you should
+request it and setup as described here.
+
+
+
+To upload own icon to server you should calculate icon md5 hash and store it
+as ssi type=0x14 item. Then you'll get SNAC(01,21)
+with icon flags bit8=1 - this is a command for you to start icon upload.
+Here is the sequence description (example dump):
+
+
+
+ |
+
+
+| Upload own icon to server |
+
+
+
+
+
+| >> |
+ SNAC(13,08) |
+ [BOS] User add icon id/flags/md5 hash to server (ssi type=14) |
+
+
+
+| << |
+ SNAC(13,0E) |
+ [BOS] Server reply command ok (errcode=0x00) |
+
+
+
+| << |
+ SNAC(01,21) |
+ [BOS] Server command to upload icon (icon flags bit8=1) |
+
+
+
+| Client check/prepare SSBI connection |
+
+
+
+| >> |
+ SNAC(10,02) |
+ [SSBI] Client sends icon to server |
+
+
+
+| << |
+ SNAC(10,03) |
+ [SSBI] Server reply with icon id/flags/md5 hash or with error |
+
+
+
+| All your buddies will receive SNAC(03,0B) with TLV(0x1D) here |
+
+
+
+| << |
+ SNAC(01,21) |
+ [BOS] Server ext status notification (icon flags bit8=0) |
+
+
+
+ |
+ |
+ |
+
+
+
+ To download icon from server you should know user
+uin/screenname, icon id, icon flags and its md5 hash. You can get all needed
+information from SNAC(03,0B) containing TLV(0x1D).
+Official ICQ clients also use SNAC(10,06) to get
+client own icon after receiving SNAC(01,21). Here
+is the sequence (example dump):
+
+
+
+ |
+
+
+| Downloading buddy/own icon from server |
+
+
+
+
+
+| >> |
+ SNAC(03,0B) |
+ [BOS] User status notification from server (with TLV(0x1D)) |
+
+
+
+| Client check/prepare SSBI connection |
+
+
+
+| >> |
+ SNAC(10,06) |
+ [SSBI] Client sends icon request to server |
+
+
+
+| >> |
+ SNAC(10,07) |
+ [SSBI] Server reply with requested icon |
+
+
+
+ |
+ |
+ |
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
diff --git a/sshoot01.html b/sshoot01.html
new file mode 100644
index 0000000..59298a7
--- /dev/null
+++ b/sshoot01.html
@@ -0,0 +1,65 @@
+
+
+AIM SecurID request screenshoot
+
+
+
+
+
+
+
+
+| Screenshoot: SecurID request dialog |
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+| |
+
+
+
+
+
+ |
+ |
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
diff --git a/sshoot02.html b/sshoot02.html
new file mode 100644
index 0000000..08b8235
--- /dev/null
+++ b/sshoot02.html
@@ -0,0 +1,65 @@
+
+
+AIM priviledges menu screenshoot
+
+
+
+
+
+
+
+
+| Screenshoot: AIM priviledges menu |
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+| |
+
+
+
+
+
+ |
+ |
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
diff --git a/ssi_item.html b/ssi_item.html
new file mode 100644
index 0000000..1e886d5
--- /dev/null
+++ b/ssi_item.html
@@ -0,0 +1,491 @@
+
+
+Format of SSI item
+
+
+
+
+
+
+
+
+
+| Format of SSI item |
+ |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+
+
+| |
+
+
+SSI service allow you to store various information on the server. Server-side
+information is stored as a list of items. Here is common structure of item:
+
+
+
+ |
+
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Length of the item name |
+
+
+ | xx .. |
+ |
+ string |
+ |
+ Item name string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Group ID# |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Item ID# |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Type of item flag (see list bellow) |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ Length of the additional data |
+
+
+
+ |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Type (TLV #1) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | .. .. |
+ |
+ xxxx |
+ |
+ TLV.Value |
+
+
+
+ |
+
+ |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | .... |
+ |
+ .... |
+ |
+ .... |
+
+
+
+ |
+
+
+ | |
+
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Type (TLV #n) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | .. .. |
+ |
+ xxxx |
+ |
+ TLV.Value |
+
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+ |
+
+ |
+ |
+
+
+
+
+About name of the item. It can be icq uin, aim screenname, group name or special id.
+SSI contains a "master group" which contains all other groups. Master group has a
+group ID# of 0x0000. All groups have item ID# of 0x0000. You can't have groups or
+items with same group/item ID#.
+
+
+Every item can have additional data stored as tlv chain. For example group item
+can store its buddy ID numbers in TLV(0x00C8). Buddy item may contain buddy
+comment in TLV(0x013C) or/and SMS number in TLV(0x013A) or/and alerts settings
+in TLV(0x013D). You can't add buddy that requires authorization without permission.
+You can add it only with TLV(0x0066) as a buddy record awaiting authorization.
+
+
+Each item has a type. It can be buddy record, group record, permit record,
+presence permissions or something other. Each item type have its limitations and
+you can request them via SNAC(13,02). Here is the
+list of known item types:
+
+
+
+ |
+
+
+
+
+
+
+ | 0x0000 |
+ Buddy record (name: uin for ICQ and screenname for AIM) |
+
+
+
+ | 0x0001 |
+ Group record |
+
+
+
+ | 0x0002 |
+ Permit record ("Allow" list in AIM, and "Visible" list in ICQ) |
+
+
+
+ | 0x0003 |
+ Deny record ("Block" list in AIM, and "Invisible" list in ICQ) |
+
+
+
+ | 0x0004 |
+ Permit/deny settings or/and bitmask of the AIM classes |
+
+
+
+ | 0x0005 |
+ Presence info (if others can see your idle status, etc) |
+
+
+
+ | 0x0009 |
+ Unknown. ICQ2k shortcut bar items ? |
+
+
+
+ | 0x000E |
+ Ignore list record. |
+
+
+
+ | 0x000F |
+ Last update date (name: "LastUpdateDate"). |
+
+
+
+ | 0x0010 |
+ Non-ICQ contact (to send SMS). Name: 1#EXT, 2#EXT, etc |
+
+
+
+ | 0x0013 |
+ Item that contain roster import time (name: "Import time") |
+
+
+
+ | 0x0014 |
+ Own icon (avatar) info. Name is an avatar id number as text |
+
+
+
+
+ |
+
+ |
+ |
+
+
+
+
+Here is the list of known TLVs in additional data blob (itype - item type that
+may have this tlv in its data blob):
+
+
+[TLV(0x0066), itype 0x00, size 00] -
+Signifies that you are awaiting authorization for this buddy. The client is
+in charge of putting this TLV, but you will not receiving status updates for
+the contact until they authorize you, regardless if this is here or not.
+Meaning, this is only here to tell your client that you are waiting for
+authorization for the person. This TLV is always empty.
+
+
+[TLV(0x00C8), itype 0x01, size XX] -
+If group is the master group, this contains the group ID#s of all groups in the
+list. If the group is a normal group, this contains the buddy ID#s of all buddies
+in the group. Each ID# is 2 bytes. If there are no groups in the list (if in the
+master group), or no buddies in the group (if in a normal group), then this TLV
+is not present.
+
+
+[TLV(0x00C9), itype 0x05, size 04] -
+Unknown (contain 0x0000006f when others could not see idle time, contain
+0x0000046f when others could see idle time).
+
+
+[TLV(0x00CA), itype 0x04, size 01] -
+This is the byte that tells the AIM servers your privacy setting. If 1, then
+allow all users to see you. If 2, then block all users from seeing you. If 3,
+then allow only the users in the permit list. If 4, then block only the users
+in the deny list. If 5, then allow only users on your buddy list.
+
+
+[TLV(0x00CB), itype 0x04, size 04] -
+This is a bit mask which tells the AIM servers which class of users you want
+to be visible to. If 0xffffffff, then all users can see you. If 0x00000004, then
+AIM users can not see you. See known user classes
+here.
+
+
+[TLV(0x00CC), itype 0x04, size 04] -
+Bitmask of flags containing "Allow others to see..." options. The default
+is 0x00000000. The flags are the following, logically ORed together:
+
+- 0x00000002 - Do not allow others to see that I am using a wireless device
+- 0x00000400 - Allow others to see my idle time
+- 0x00400000 - Allow others to see that I am typing a response
+
+
+
+[TLV(0x00CD), itype 0x09, size XX] -
+This item type (9) looks like ICQ2k shortcut list. Examples: "2672,0,2,1"
+and "3097,0,0,0"
+
+
+[TLV(0x00D4), itype 0x13, size 04] -
+TLV for import time item (type 0x0013). Contains timestamp in unix_t
+format (seconds since 1.1.1970) when the buddylist has been first time
+uploaded to the server
+
+
+[TLV(0x00D5), itype 0x14, size XX] -
+TLV for buddy icon info (type 0x0014). Contains the icon flags (1 byte),
+md5 hash size (1 byte) and md5 hash of the you are using (allways
+16 bytes).
+
+
+[TLV(0x0131), itype 0x00, size XX] -
+This stores the name that the contact should show up as in the contact
+list. It should initially be set to the contact's nick name, and can be
+changed to anything by the client.
+
+
+[TLV(0x0137), itype 0x00, size XX] -
+Your buddy locally assigned mail address.
+
+
+[TLV(0x013A), itype 0x00, size XX] -
+Your buddy locally assigned SMS number.
+
+
+[TLV(0x013C), itype 0x00, size XX] -
+This stores the "buddy comment" field. The max length winaim lets you use
+is 0x0054. I'm not sure if that is a true limit or not.
+
+
+[TLV(0x013D), itype 0x00, size 02] -
+Personal alerts for this buddy.
+First byte:
+
+- 0x01 - Pop up window notification
+- 0x02 - Play sound (sound file specified in 0x013e TLV)
+
+
+Second byte:
+
+- 0x01 - When contact comes online
+- 0x02 - When contact becomes unidle
+- 0x04 - When contact returns from away
+
+
+
+[TLV(0x013E), itype 0x00, size XX] - Sound
+client should play as alert for this buddy.
+
+
+[TLV(0x0145), itype 0x00, size XX] -
+Date/time (unix time() format) when you send message to this you first time.
+Actually I noticed that ICQLite adds this TLV then you first open message
+dialog at this user. Also I've seen this tlv in LastUpdateDate item.
+
+
+ | |
+
+
+ |
+ |
+ |
+
+
SSI item examples:
+
+
+
+
+
+ Buddy item ('6218897', gid=0x0A1E, iid=0x4318, nick='FunBoo')
+ 00 07 36 32 31 38 38 39 37 0A 1E 43 18 00 00 00 ..6218897..C....
+ 0A 01 31 00 06 46 75 6E 42 6F 6F ..1..FunBoo
+
+ Group item ('General', gid=0x1DCA, iid=0, contain iid=0x1f11)
+ 00 07 47 65 6e 65 72 61 6c 1d ca 00 00 00 01 00 ..General.......
+ 06 00 c8 00 02 1f 11 .......
+
+ System item ('LastUpdateDate', gid=0, iid=0x69D9, type=0x0f)
+ 00 0e 4c 61 73 74 55 70 64 61 74 65 44 61 74 65 ..LastUpdateDate
+ 00 00 69 d9 00 0f 00 08 01 45 00 04 41 e2 e4 e8 ..i......E..A...
+
+ Own icon hash ('1', gid=0, iid=0x1813, type=0x14, +tlv(0x00D5))
+ 00 01 31 00 00 18 13 00 14 00 1A 00 D5 00 12 01 ..1.............
+ 10 FC 23 B3 F7 C8 00 D3 92 EF 5E 06 8A D3 66 7F ..#.......^...f.
+ C7 01 31 00 00 ..1..
+
+ Non-icq contact ('1#EXT', gid=0, iid=0x2BD6, type=0x10)
+ 00 05 31 23 45 58 54 00 00 2b d6 00 10 00 20 01 ..1#EXT..+.... .
+ 31 00 08 41 6c 65 78 61 6e 64 72 01 3a 00 10 2b 1..Alexandr.:..+
+ 37 20 28 39 30 32 29 20 35 34 32 32 39 39 33 7 (902) 5422993
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
+
diff --git a/terms.html b/terms.html
new file mode 100644
index 0000000..ff56b13
--- /dev/null
+++ b/terms.html
@@ -0,0 +1,217 @@
+
+
+Protocol specification terminology
+
+
+
+
+
+
+
+
+
+
+
+The follow is a list of terms you may see through out these pages.
+Most of them a taken from AOL AIM documents
+
+
+
+
+
+
+ | BOS |
+ |
+ Basic OSCAR Service. This term refers to the services that form the core of the
+ Instant Messenger service. These services include Login/Logoff, Locate, Instant Message, Roster management,
+ Info management and Buddy List
+ |
+
+
+ | |
+
+
+
+ | Buddy List |
+ |
+ The buddy list tool allows a user to see in near realtime when his friends (buddies)
+ are using the Instant Messenger service. A user may set a preference to block others from seeing him when he is on.
+ He may also set a permit or deny list to selectively show his presence.
+ |
+
+
+ | |
+
+
+
+ | DC |
+ |
+ DC is an abbreviation for direct connection.
+ It is too expensive to send all client data thru server. This problem was solved
+ by client-to-client direct connections when one client connects to port opened by
+ another client to send messages, files and other information.
+ |
+
+
+ | |
+
+
+
+ | FLAP |
+ |
+ FLAP is a low-level communications protocol that facilitates the development of higher-level,
+ record-oriented, communications layers. It is used on the TCP connection between all clients and servers.
+ |
+
+
+ | |
+
+
+
+ | ICBM |
+ |
+ ICBM - Inter Client Basic Message. ICBM is a channelized client-to-client mechanism.
+ Currently the most user visible channel is used for Instant Messages.
+ |
+
+
+ | |
+
+
+
+ | Instant Message (IM) |
+ |
+ The instant message tool allows a user to send a short message to another Instant
+ Messenger nickname that is delivered directly to the users screen in near realtime. This is unlike Email which
+ may contain larger amounts of data and may be delivered at a later time. The receiver may easily respond with an
+ instant message back to the sender creating a semi-realtime conversation.
+ |
+
+
+ | |
+
+
+
+ | Login/Logoff |
+ |
+ The Login/Logoff tool is an internal service of the Instant Messenger client.
+ The tool is responsible for keeping the client connected to the Instant Messenger servers.
+ This includes the initial login, any migrations that occur during a users session, and the final logoff.
+ |
+
+
+ | |
+
+
+
+ | Migration |
+ |
+ The process of moving a user automatically from one server to another.
+ A migration may happen at anytime during a users session, and is completely transparent. Although the
+ client may appear sluggish, no data will be lost during the migration.
+ |
+
+
+ | |
+
+
+
+ | OSCAR |
+ |
+ Open System for Communication in Realtime - the internal project name
+ (as opposed to the external marketing name) used to identify Instant Messenger.
+ |
+
+
+ | |
+
+
+
+ | SSI |
+ |
+ A SSI (server-stored information)
+ is a service that allow client to store its contact list data (buddies, groups,
+ comments, visibility, invisibility, ignore, perms mask) on the server.
+ This increases client mobility and drastically reduces network traffic and
+ server load. Oscar use family 0x13 for
+ this service.
+ |
+
+
+ | |
+
+
+
+ | SNAC |
+ |
+ A SNAC is the basic communication unit that is exchanged between clients and servers.
+ The SNAC communication layers sits on top of the FLAP layer.
+ |
+
+
+ | |
+
+
+
+ | Tool |
+ |
+ Tools supply the underlying support for talking between Modules and the core software.
+There will be one tool for each of the services that the Instant Messenger offers. Each tool can support many modules.
+ |
+
+
+ | |
+
+
+
+ | TLV |
+ |
+ TLV - Type Length Value. A tuple allowing typed opaque information to be passed through
+ the protocol. Typically TLV's are intended for interpretation at the core layer. Being typed, new elements can be
+ added w/o modifying the lower layers.
+ |
+ | |
+
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
diff --git a/tlv_chat.html b/tlv_chat.html
new file mode 100644
index 0000000..56acb7f
--- /dev/null
+++ b/tlv_chat.html
@@ -0,0 +1,2039 @@
+
+
+Common tlv set for exchange and room description.
+
+
+
+
+
+
+
+
+
+| Common chat description tlv set. |
+
+
+ |
+
+ |
+
+
+
+
+
+
+| |
+
+| |
+
+
+ Here is a common tlv set for exchange and room description:
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - browsable tree |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Type(0x02) - exclusively for class |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - max concurrent rooms |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ max concurrent rooms |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Type(0x04) - max room name length |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ max room name length |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ TLV.Type(0x05) - root rooms |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+
+ |
+
+
+|
+Following chat room identification info may be repeated more then once
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ exchange |
+
+
+ | xx |
+ |
+ byte |
+ |
+ cookie length |
+
+
+ | xx .. |
+ |
+ array |
+ |
+ cookie |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ instance number |
+
+
+
+ |
+ |
+ | |
+
+ |
+ |
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ TLV.Type(0x06) - search tags |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ search tag #1 |
+
+
+ | ... |
+ |
+ ... |
+ |
+ ... |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ search tag #n |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 65 |
+ |
+ word |
+ |
+ TLV.Type(0x65) - child rooms |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 66 |
+ |
+ word |
+ |
+ TLV.Type(0x66) - contains user class |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 67 |
+ |
+ word |
+ |
+ TLV.Type(0x67) - contains user array |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 68 |
+ |
+ word |
+ |
+ TLV.Type(0x68) - evil generated |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 69 |
+ |
+ word |
+ |
+ TLV.Type(0x69) - evil generated array |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 6A |
+ |
+ word |
+ |
+ TLV.Type(0x6A) - fully qualified name |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 6B |
+ |
+ word |
+ |
+ TLV.Type(0x6B) - moderator |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 6C |
+ |
+ word |
+ |
+ TLV.Type(0x6C) - more room info |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 6D |
+ |
+ word |
+ |
+ TLV.Type(0x6D) - num children |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 6E |
+ |
+ word |
+ |
+ TLV.Type(0x6E) - num instances |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 6F |
+ |
+ word |
+ |
+ TLV.Type(0x6F) - occupancy |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 70 |
+ |
+ word |
+ |
+ TLV.Type(0x70) - occupancy array |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 71 |
+ |
+ word |
+ |
+ TLV.Type(0x71) - occupant evil |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 72 |
+ |
+ word |
+ |
+ TLV.Type(0x72) - occupant evil array |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 73 |
+ |
+ word |
+ |
+ TLV.Type(0x73) - occupant list |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 74 |
+ |
+ word |
+ |
+ TLV.Type(0x74) - parent room |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 75 |
+ |
+ word |
+ |
+ TLV.Type(0x75) - room activity |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 76 |
+ |
+ word |
+ |
+ TLV.Type(0x76) - room activity array |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 77 |
+ |
+ word |
+ |
+ TLV.Type(0x77) - room gross evil |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 78 |
+ |
+ word |
+ |
+ TLV.Type(0x78) - room net evil |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 79 |
+ |
+ word |
+ |
+ TLV.Type(0x79) - speaker |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 C9 |
+ |
+ word |
+ |
+ TLV.Type(0xC9) - chat flag |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 CA |
+ |
+ word |
+ |
+ TLV.Type(0xCA) - create time |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ creation time |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 CB |
+ |
+ word |
+ |
+ TLV.Type(0xCB) - creator |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 CC |
+ |
+ word |
+ |
+ TLV.Type(0xCC) - description |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 CD |
+ |
+ word |
+ |
+ TLV.Type(0xCD) - description url |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 CE |
+ |
+ word |
+ |
+ TLV.Type(0xCE) - is closed |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 CF |
+ |
+ word |
+ |
+ TLV.Type(0xCF) - language |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 D0 |
+ |
+ word |
+ |
+ TLV.Type(0xD0) - mandatory channels |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 D1 |
+ |
+ word |
+ |
+ TLV.Type(0xD1) - max message length |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ max message length |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 D2 |
+ |
+ word |
+ |
+ TLV.Type(0xD2) - max occupancy |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ max occupancy |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 D3 |
+ |
+ word |
+ |
+ TLV.Type(0xD3) - name |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ name |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 D4 |
+ |
+ word |
+ |
+ TLV.Type(0xD4) - optional channels |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 D5 |
+ |
+ word |
+ |
+ TLV.Type(0xD5) - creation permission |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx |
+ |
+ byte |
+ |
+ creation permission (0 - not allowed, 1 - room creation,
+ 2 - exchange creation) |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+ | |
+| |
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/tlv_tags.html b/tlv_tags.html
new file mode 100644
index 0000000..926406b
--- /dev/null
+++ b/tlv_tags.html
@@ -0,0 +1,1820 @@
+
+
+Common tlv set.
+
+
+
+
+
+
+
+
+
+
+
+
+
+| |
+
+| |
+
+
+ Here is a common set of widely used tlvs:
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 01 |
+ |
+ word |
+ |
+ TLV.Type(0x01) - screen name (uin) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ screen name (uin) |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Type(0x02) - new password |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx .. |
+ |
+ array |
+ |
+ new password string |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 03 |
+ |
+ word |
+ |
+ TLV.Type(0x03) - client identity string |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ client identity string (name, version) |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Type(0x04) - error description url |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ error description url string |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 05 |
+ |
+ word |
+ |
+ TLV.Type(0x05) - reconnect here |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ server address & port string |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 06 |
+ |
+ word |
+ |
+ TLV.Type(0x06) - authorization cookie |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ array |
+ |
+ authorization cookie |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 07 |
+ |
+ word |
+ |
+ TLV.Type(0x07) - snac version |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+ |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 08 |
+ |
+ word |
+ |
+ TLV.Type(0x08) - error subcode |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ error subcode (family specific) |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 09 |
+ |
+ word |
+ |
+ TLV.Type(0x09) - disconnect reason |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ disconnect reason (see table below) |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 0A |
+ |
+ word |
+ |
+ TLV.Type(0x0A) - reconnect hostname |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 0B |
+ |
+ word |
+ |
+ TLV.Type(0x0B) - url |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ url |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 0C |
+ |
+ word |
+ |
+ TLV.Type(0x0C) - debug data |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ debug data |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+ | 00 0D |
+ |
+ word |
+ |
+ TLV.Type(0x0D) - service (family) id |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ service (family) id |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 0E |
+ |
+ word |
+ |
+ TLV.Type(0x0E) - client country (2 symbols) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ client country |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 0F |
+ |
+ word |
+ |
+ TLV.Type(0x0F) - client language (2 symbols) |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ client language |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 10 |
+ |
+ word |
+ |
+ TLV.Type(0x10) - script |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 11 |
+ |
+ word |
+ |
+ TLV.Type(0x11) - user email |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ user email string |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 12 |
+ |
+ word |
+ |
+ TLV.Type(0x12) - old password |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ old password 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 14 |
+ |
+ word |
+ |
+ TLV.Type(0x14) - distribution number |
+
+
+ | 00 04 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ distribution number |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 15 |
+ |
+ word |
+ |
+ TLV.Type(0x15) - personal text |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+ |
+
+
+ |
+
+ |
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 16 |
+ |
+ word |
+ |
+ TLV.Type(0x16) - client id |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ client id number |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 17 |
+ |
+ word |
+ |
+ TLV.Type(0x17) - client major version |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ client major version |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 18 |
+ |
+ word |
+ |
+ TLV.Type(0x18) - client minor version |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ client minor version |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 19 |
+ |
+ word |
+ |
+ TLV.Type(0x19) - client lesser version |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ client lesser version |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 1A |
+ |
+ word |
+ |
+ TLV.Type(0x1A) - client build number |
+
+
+ | 00 02 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx |
+ |
+ word |
+ |
+ client build number |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 25 |
+ |
+ word |
+ |
+ TLV.Type(0x25) - password hash (MD5) |
+
+
+ | 00 10 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+
+ xx xx xx xx
+ xx xx xx xx
+ xx xx xx xx
+ xx xx xx xx
+ |
+ |
+ array |
+ |
+ password hash (MD5) |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 40 |
+ |
+ word |
+ |
+ TLV.Type(0x40) - latest beta build number |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ latest beta build number |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 41 |
+ |
+ word |
+ |
+ TLV.Type(0x41) - latest beta install url |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ latest beta install url |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 42 |
+ |
+ word |
+ |
+ TLV.Type(0x42) - latest beta info url |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ latest beta info url |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 43 |
+ |
+ word |
+ |
+ TLV.Type(0x43) - latest beta version |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ latest beta version |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 44 |
+ |
+ word |
+ |
+ TLV.Type(0x44) - latest release build number |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx xx xx xx |
+ |
+ dword |
+ |
+ latest release build number |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 45 |
+ |
+ word |
+ |
+ TLV.Type(0x45) - latest release install url |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ latest release install url |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 46 |
+ |
+ word |
+ |
+ TLV.Type(0x46) - latest release info url |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ latest release info url |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+ | 00 47 |
+ |
+ word |
+ |
+ TLV.Type(0x47) - latest release version |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+ |
+
+
+
+ | xx .. |
+ |
+ string |
+ |
+ latest release version |
+
+
+ |
+
+ |
+ | |
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 48 |
+ |
+ word |
+ |
+ TLV.Type(0x48) - beta digest signature (MD5) |
+
+
+ | 00 20 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx ... |
+ |
+ string |
+ |
+ hexadecimal string for beta digest signature (MD5) |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 49 |
+ |
+ word |
+ |
+ TLV.Type(0x49) - release digest signature (MD5) |
+
+
+ | 00 20 |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx ... |
+ |
+ string |
+ |
+ hexadecimal string for release digest signature (MD5) |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ |
+ | |
+
+
+
+
+
+
+
+ | 00 54 |
+ |
+ word |
+ |
+ TLV.Type(0x54) - change password url |
+
+
+ | xx xx |
+ |
+ word |
+ |
+ TLV.Length |
+
+
+
+ |
+
+
+
+
+ | xx ... |
+ |
+ string |
+ |
+ change password url |
+
+
+
+ |
+
+ |
+
+ | |
+
+ | |
+
+
+
+
+ | |
+| |
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/wanted.html b/wanted.html
new file mode 100644
index 0000000..5eab8d0
--- /dev/null
+++ b/wanted.html
@@ -0,0 +1,117 @@
+
+
+List of snacs i'm looking for detailed info
+
+
+
+
+
+
+
+
+
+| List of unknown snacs |
+
+
+ |
+
+ |
+
+
+
+
+
+
+IServerd has ability to write unknown SNACs dumps
+into debug.log files. Users often send me these dumps. Some of them I can
+parse/document without problems, but there is some SNACs I can't understand.
+
+
+
+Please, if you have any information related these SNACs
+send it to me
+with "oscar_unknown" string in subject field or you can send it to
+icq-devel mailing list.
+
+
+Here
+is the list of them with the links to partly parsed dumps
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0A8C |
+Unknown client request (stats report ?) |
+
+
+| SNAC(15,02)/07D0/0A96 |
+Unknown client request (search url ?) |
+
+
+| SNAC(15,02)/07D0/0AAA |
+Unknown client request (shortcuts info ?) |
+
+
+| SNAC(15,02)/07D0/0AB4 |
+Unknown client request (stats report ?) |
+
+
+| SNAC(15,02)/07D0/0AB9 |
+Unknown client request (stats report ?) |
+
+
+| SNAC(15,02)/07D0/0ABE |
+Unknown client request (stats for plugins ?) |
+
+
+| SNAC(15,02)/07D0/0AC8 |
+Unknown client request (language, timezone and other locale info ?) |
+
+
+| SNAC(15,02)/07D0/0ACD |
+Unknown client request (language, timezone and other locale info ?) |
+
+
+| SNAC(15,02)/07D0/0AD2 |
+Unknown client request (stats for plugins ?) |
+
+
+| SNAC(15,02)/07D0/0AD7 |
+Unknown client request (stats for plugins ?) |
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/wanted/snac_15_02_07d0_0a8c.html b/wanted/snac_15_02_07d0_0a8c.html
new file mode 100644
index 0000000..bccb035
--- /dev/null
+++ b/wanted/snac_15_02_07d0_0a8c.html
@@ -0,0 +1,96 @@
+
+
+SNAC(15,02)/07D0/0A8C unknown request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0A8C |
+CLI_UNKNOWN_META |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+ // This packet looks like stats report (check for
+ // ICQ registry "stats" key data to compare)
+
+ 00 15 // SNAC family
+ 00 02 // SNAC subtype
+ 00 00 // SNAC flags
+ 00 06 00 02 // SNAC req-id
+ ------------------------------------------------
+ 00 01 // TLV.Type
+ 01 0A // TLV.Length
+ 08 01 // data chunk size
+ 31 DE 0B 00 // sender uin
+ D0 07 // meta cmd
+ 07 00 // meta sequence
+ 8C 0A // meta subcmd
+ ------------------------------------------------
+ 04 00 // client major version
+ 37 00 // client minor version
+ 01 00 // client lesser version
+ C0 0C // client build number
+ 55 00 00 00 // client distribution number
+
+ C7 01 A9 C4 C4 3E 00 00 5F 00
+ 5A 00 00 00 00 00 01 00 01 00 00 00 08 00 00 00 Z....... ........
+ 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 ........ ........
+ 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
+ 00 00 00 00 01 00 9F 00 00 00 00 00 00 00 00 00 ........ ........
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F1 AB ........ ........
+ C7 3E B7 1A 00 00 B6 16 00 00 00 00 00 00 60 0E .>...... ......`.
+ 00 00 9F 00 00 00 60 0E 00 00 A2 1A 00 00 A1 16 ......`. ........
+ 00 00 00 00 00 00 60 0E 00 00 9F 00 00 00 60 0E ......`. ......`.
+ 00 00 A2 1A 00 00 A1 16 00 00 00 00 00 00 60 0E ........ ......`.
+ 00 00 9F 00 00 00 60 0E 00 00 A2 1A 00 00 A1 16 ......`. ........
+ 00 00 00 00 00 00 60 0E 00 00 9F 00 00 00 60 0E ......`. ......`.
+ 00 00 03 00 F1 AB C7 3E F1 AB C7 3E 08 00 16 3C .......> ...>...<
+ 00 00 00 00 00 00 00 00 00 00 00 FC B4 00 7C 01 ........ ........
+ 00 04 D1 02 10 00 00 00 00 00 00 C0 E4 07 00 00 ........ ........
+ 00 00 00 00 05 02 00 11 ........
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/wanted/snac_15_02_07d0_0a96.html b/wanted/snac_15_02_07d0_0a96.html
new file mode 100644
index 0000000..408872f
--- /dev/null
+++ b/wanted/snac_15_02_07d0_0a96.html
@@ -0,0 +1,266 @@
+
+
+SNAC(15,02)/07D0/0A96 unknown request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0A96 |
+CLI_UNKNOWN_META |
+
+
+ |
+
+ |
+
+
+
+
+ Contains search url.
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| 96 0A |
+ |
+word (LE) |
+ |
+data subtype: META_UNKNOWN |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client major version |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client minor version |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client lesser version |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client build number |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+client distribution number |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+url string length |
+
+
+| xx .. xx 00 |
+ |
+asciiz str |
+ |
+url string |
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 3D 7C 00 7B 00 15 00 02 00 00 00 05 00 02 *.=|.{..........
+ 00 01 00 6D 6B 00 4E 61 BC 00 D0 07 06 00 96 0A ...mk.Na-.¦...Ö.
+ 04 00 3F 00 01 00 CF 0C 55 00 00 00 53 00 68 74 ..?...¦.U...S.ht
+ 74 70 3A 2F 2F 73 65 61 72 63 68 2E 69 63 71 2E tp://search.icq.
+ 63 6F 6D 2F 64 69 72 73 65 61 72 63 68 2E 61 64 com/dirsearch.ad
+ 70 3F 71 75 65 72 79 3D 52 45 50 4C 41 43 45 4D p?query=REPLACEM
+ 45 26 77 68 3D 61 6C 6C 26 75 73 65 72 73 3D 31 E&wh=all&users=1
+ 26 43 4C 49 45 4E 54 3D 69 63 71 32 30 30 30 62 &CLIENT=icq2000b
+ 00 .
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/wanted/snac_15_02_07d0_0aaa.html b/wanted/snac_15_02_07d0_0aaa.html
new file mode 100644
index 0000000..00d446e
--- /dev/null
+++ b/wanted/snac_15_02_07d0_0aaa.html
@@ -0,0 +1,310 @@
+
+
+SNAC(15,02)/07D0/0AAA unknown request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0AAA |
+CLI_UNKNOWN_META |
+
+
+ |
+
+ |
+
+
+
+
+ Shortcuts info?
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| AA 0A |
+ |
+word (LE) |
+ |
+data subtype: META_UNKNOWN |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client major version |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client minor version |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client lesser version |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client build number |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+client distribution number |
+
+
+
+ |
+
+
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+items count |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+items count (same?) |
+
+| |
+
+| xx xx |
+ |
+word (LE) |
+ |
+info string #1 length |
+
+
+| xx .. |
+ |
+string |
+ |
+info string #1 |
+
+
+| ... |
+ |
+... |
+ |
+... |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+info string #n length |
+
+
+| xx .. |
+ |
+string |
+ |
+info string #n |
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 3E 38 00 FD 00 15 00 02 00 00 00 4B 00 02 *.>8.¤.......K..
+ 00 01 00 EF ED 00 4E 61 BC 00 D0 07 4C 00 AA 0A ...ÿý.Na-.¦.L.ê.
+ 04 00 3F 00 01 00 CF 0C 55 00 00 00 0C 00 00 00 ..?...¦.U.......
+ 0C 00 10 00 49 43 51 20 48 6F 6D 65 70 61 67 65 ....ICQ Homepage
+ 2E 69 63 71 10 00 7B 30 30 46 36 32 38 30 32 7D .icq..{00F62802}
+ 2C 31 2E 69 63 71 10 00 7B 44 36 38 45 34 42 31 ,1.icq..{D68E4B1
+ 35 7D 2C 33 2E 69 63 71 10 00 7B 39 36 33 37 36 5},3.icq..{96376
+ 38 37 31 7D 2C 33 2E 69 63 71 10 00 7B 35 43 31 871},3.icq..{5C1
+ 45 31 45 35 44 7D 2C 30 2E 69 63 71 0D 00 48 65 E1E5D},0.icq..He
+ 6C 70 20 4D 65 6E 75 2E 69 63 71 10 00 53 68 6F lp Menu.icq..Sho
+ 77 2F 48 69 64 65 20 49 43 2E 69 63 71 10 00 7B w/Hide IC.icq..{
+ 45 44 32 44 45 44 34 31 7D 2C 31 2E 69 63 71 0C ED2DED41},1.icq.
+ 00 49 43 51 20 53 75 72 66 2E 69 63 71 10 00 56 .ICQ Surf.icq..V
+ 69 65 77 20 4D 79 20 32 77 61 79 2E 69 63 71 10 iew My 2way.icq.
+ 00 7B 42 34 46 45 45 46 34 32 7D 2C 33 2E 69 63 .{B4FEEF42},3.ic
+ 71 10 00 53 63 72 6F 6C 6C 20 74 6F 20 4E 6F 2E q..Scroll to No.
+ 69 63 71 icq
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/wanted/snac_15_02_07d0_0ab4.html b/wanted/snac_15_02_07d0_0ab4.html
new file mode 100644
index 0000000..3d0f5e9
--- /dev/null
+++ b/wanted/snac_15_02_07d0_0ab4.html
@@ -0,0 +1,254 @@
+
+
+SNAC(15,02)/07D0/0AB4 unknown request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0AB4 |
+CLI_UNKNOWN_META |
+
+
+ |
+
+ |
+
+
+
+
+ Stats report?
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| B4 0A |
+ |
+word (LE) |
+ |
+data subtype: META_UNKNOWN |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client major version |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client minor version |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client lesser version |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client build number |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+client distribution number |
+
+
+
+ |
+|
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 6C 64 00 2B 00 15 00 02 00 00 00 09 00 02 *.ld.+..........
+ 00 01 00 1D 1B 00 4E 61 BC 00 D0 07 0A 00 B4 0A ......Na-.¦...+.
+ 04 00 3F 00 01 00 CF 0C 55 00 00 00 84 7E 00 00 ..?...¦.U...Ä~..
+ 00 .
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/wanted/snac_15_02_07d0_0ab9.html b/wanted/snac_15_02_07d0_0ab9.html
new file mode 100644
index 0000000..93d3f5e
--- /dev/null
+++ b/wanted/snac_15_02_07d0_0ab9.html
@@ -0,0 +1,254 @@
+
+
+SNAC(15,02)/07D0/0AB9 unknown request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0AB9 |
+CLI_UNKNOWN_META |
+
+
+ |
+
+ |
+
+
+
+
+ Stats report?
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| B9 0A |
+ |
+word (LE) |
+ |
+data subtype: META_UNKNOWN |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client major version |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client minor version |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client lesser version |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client build number |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+client distribution number |
+
+
+
+ |
+|
+
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 34 86 00 2B 00 15 00 02 00 00 00 12 00 02 *.4Æ.+..........
+ 00 01 00 1D 1B 00 4E 61 BC 00 D0 07 14 00 B9 0A ......Na-.¦...¦.
+ 05 00 2D 00 01 00 C1 0E 55 00 00 00 CA 01 00 00 ..-...+.U...¦...
+ 00 .
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/wanted/snac_15_02_07d0_0abe.html b/wanted/snac_15_02_07d0_0abe.html
new file mode 100644
index 0000000..24d7b80
--- /dev/null
+++ b/wanted/snac_15_02_07d0_0abe.html
@@ -0,0 +1,85 @@
+
+
+SNAC(15,02)/07D0/0ABE unknown request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0ABE |
+CLI_UNKNOWN_META |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+ // look like stats report for plug-in or something related
+
+ 00 15 // SNAC family
+ 00 02 // SNAC subtype
+ 00 00 // SNAC flags
+ 00 05 00 02 // SNAC req-id
+ ------------------------------------------------
+ 00 01 // TLV.Type
+ 00 5C // TLV.Length
+ 5A 00 // data chunk size
+ 31 DE 0B 00 // sender uin
+ D0 07 // meta cmd
+ 06 00 // sequence
+ BE 0A // meta subcmd
+ ------------------------------------------------
+ 04 00 // client major version
+ 37 00 // client minor version
+ 01 00 // client lesser version
+ C0 0C // client build number
+ 55 00 00 00 // client distribution number
+
+ 90 7C 21 2C 91 4D D3 11 AD EB 00 04 AC 96 AA B2 // CLSID (phone info plugin)
+ 00 00 03 00 00 00 2C 00 01 00 00 01 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/wanted/snac_15_02_07d0_0ac8.html b/wanted/snac_15_02_07d0_0ac8.html
new file mode 100644
index 0000000..1740727
--- /dev/null
+++ b/wanted/snac_15_02_07d0_0ac8.html
@@ -0,0 +1,261 @@
+
+
+SNAC(15,02)/07D0/0AC8 unknown request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0AC8 |
+CLI_UNKNOWN_META |
+
+
+ |
+
+ |
+
+
+
+
+ Language, timezone and other locale info ?
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| C8 0A |
+ |
+word (LE) |
+ |
+data subtype: META_UNKNOWN |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client major version |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client minor version |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client lesser version |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client build number |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+client distribution number |
+
+
+
+ |
+
+
+
+ 00 00 00 00 00 00 01 00 00 01 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03
+ 00 00 00 19 04 00 00 00 CF 0C 00 00
+ 08 00 // timezone name len?
+ CC EE F1 EA EE E2 F1 EA // timezone name?
+ FD A9 A2 3D // time
+ 01 01 00 01 00 00 00 00 00 00 62 00 00 00 01 0A
+ 04 01
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 10 26 00 82 00 15 00 02 00 00 00 07 00 02 *..&.'..........
+ 00 01 00 74 72 00 4E 61 BC 00 D0 07 08 00 C8 0A ...tr.Na-.Ð...È.
+ 04 00 3F 00 01 00 CF 0C 55 00 00 00 00 00 00 00 ..?...Ï.U.......
+ 00 00 01 00 00 01 00 00 00 00 00 00 00 00 00 00 ................
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+ 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 19 ................
+ 04 00 00 00 CF 0C 00 00 08 00 CC EE F1 EA EE E2 ....Ï.....Ìîñêîâ
+ F1 EA FD A9 A2 3D 01 01 00 01 00 00 00 00 00 00 ñêýc¢=..........
+ 62 00 00 00 01 0A 04 01 b.......
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/wanted/snac_15_02_07d0_0acd.html b/wanted/snac_15_02_07d0_0acd.html
new file mode 100644
index 0000000..fcf3ca6
--- /dev/null
+++ b/wanted/snac_15_02_07d0_0acd.html
@@ -0,0 +1,265 @@
+
+
+SNAC(15,02)/07D0/0ACD unknown request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0ACD |
+CLI_UNKNOWN_META |
+
+
+ |
+
+ |
+
+
+
+
+ Language, timezone and other locale info ?
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| CD 0A |
+ |
+word (LE) |
+ |
+data subtype: META_UNKNOWN |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client major version |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client minor version |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client lesser version |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client build number |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+client distribution number |
+
+
+
+ |
+
+
+
+ 06 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 03
+ 00 00 00 19 04 00 00 00 3A 0E 00 00
+ 08 00 // timezone name len?
+ CC EE F1 EA EE E2 F1 EA // timezone name?
+ 39 CA AA 3D // time
+ 01 01 00 01 00 00 00 00 00 00 62 00 00 00 01 0A
+ 04 01 00 00 00 00 00 02 00 48 01 BD 01 01 00 00
+ 00 00 00 14 06 00 00 00 00 00 02 00 00 00 00 00
+ 00 00
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 4D 9B 00 A2 00 15 00 02 00 00 00 0F 00 02 *.M>.¢..........
+ 00 01 00 94 92 00 4E 61 BC 00 D0 07 10 00 CD 0A ..."'.Na?.Ð...Í.
+ 05 00 11 00 01 00 3A 0E 55 00 00 00 06 00 00 00 ......:.U.......
+ 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+ 01 00 00 00 00 00 00 00 00 00 00 03 00 00 00 19 ................
+ 04 00 00 00 3A 0E 00 00 08 00 CC EE F1 EA EE E2 ....:.....Ìîñêîâ
+ F1 EA 39 CA AA 3D 01 01 00 01 00 00 00 00 00 00 ñê9ʪ=..........
+ 62 00 00 00 01 0A 04 01 00 00 00 00 00 02 00 48 b..............H
+ 01 BD 01 01 00 00 00 00 00 14 06 00 00 00 00 00 .?..............
+ 02 00 00 00 00 00 00 00 ........
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/wanted/snac_15_02_07d0_0ad2.html b/wanted/snac_15_02_07d0_0ad2.html
new file mode 100644
index 0000000..970c802
--- /dev/null
+++ b/wanted/snac_15_02_07d0_0ad2.html
@@ -0,0 +1,115 @@
+
+
+SNAC(15,02)/07D0/0AD2 unknown request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0AD2 |
+CLI_UNKNOWN_META |
+
+
+ |
+
+ |
+
+
+
+
+
+
+
+ // stats for plugins/something ?
+
+ 00 15 // SNAC family
+ 00 02 // SNAC subtype
+ 00 00 // SNAC flags
+ 00 09 00 02 // SNAC req-id
+ ------------------------------------------------
+ 00 01 // TLV.Type
+ 01 28 // TLV.Length
+ 26 01 // data chunk size
+ 31 DE 0B 00 // sender uin
+ D0 07 // meta cmd
+ 0A 00 // sequence
+ D2 0A // meta subcmd
+ ------------------------------------------------
+ 04 00 // client major version number
+ 37 00 // client minor version number
+ 01 00 // client lesser version number
+ C0 0C // client build number
+ 55 00 00 00 // client distribution number
+
+ 08 00 00 00 // number of items ?
+
+ // item 1 (GUID + some unknown data) [phone info plugin]
+ 90 7C 21 2C 91 4D D3 11 AD EB 00 04 AC 96 AA B2
+ 03 00 01 00 01 00 00 00 00 00 00 00 33 00 00 00 00
+
+ // item 2 (GUID + some unknown data) [white search plugin]
+ 50 1E 1E 5C 9E DD D3 11 AB 1F 00 50 04 8E BC 8D
+ 00 00 00 00 02 00 00 00 00 00 00 00 0B 00 00 00 00
+
+ // item 3 (GUID + some unknown data)
+ F2 3E 9C 14 4F ED D3 11 AE 0A 00 90 27 1A 8B EA
+ 1A 00 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00
+
+ // item 4 (GUID + some unknown data)
+ 4A EF FE B4 FA D8 D3 11 BC EE 00 04 AC 96 9D C2
+ 00 00 00 00 02 00 00 00 00 00 00 00 1D 00 00 00 00
+
+ // item 5 (GUID + some unknown data)
+ 23 20 CB 11 92 46 D4 11 BD 15 00 06 29 EE 4D A1
+ 0A 00 64 00 01 00 00 00 00 00 00 00 45 00 00 00 00
+
+ // item 6 (GUID + some unknown data)
+ F2 3E 9C 14 4F ED D3 11 AE 0A 00 90 27 1A 8B EA
+ F4 01 00 00 01 00 00 00 00 00 00 00 11 00 00 00 00
+
+ // item 7 (GUID + some unknown data)
+ F2 3E 9C 14 4F ED D3 11 AE 0A 00 90 27 1A 8B EA
+ 04 00 00 00 01 00 00 00 00 00 00 00 09 00 00 00 00
+
+ // item 8 (GUID + some unknown data)
+ F2 3E 9C 14 4F ED D3 11 AE 0A 00 90 27 1A 8B EA
+ 08 00 01 00 02 00 00 00 00 00 00 00 08 00 00 00 00
+
+ A9 C4 C4 3E // some time (update time?)
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
diff --git a/wanted/snac_15_02_07d0_0ad7.html b/wanted/snac_15_02_07d0_0ad7.html
new file mode 100644
index 0000000..73f99bb
--- /dev/null
+++ b/wanted/snac_15_02_07d0_0ad7.html
@@ -0,0 +1,338 @@
+
+
+SNAC(15,02)/07D0/0AD7 unknown request
+
+
+
+
+
+
+
+
+
+| SNAC(15,02)/07D0/0AD7 |
+CLI_UNKNOWN_META |
+
+
+ |
+
+ |
+
+
+
+
+ Stats for plugins?
+
+
+
+
+
+
+| 00 15 |
+ |
+word |
+ |
+SNAC family |
+
+
+| 00 02 |
+ |
+word |
+ |
+SNAC subtype |
+
+
+| 00 00 |
+ |
+word |
+ |
+SNAC flags |
+
+
+| xx xx xx xx |
+ |
+dword |
+ |
+SNAC request-id |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| 00 01 |
+ |
+word |
+ |
+TLV.Type(1) - encapsulated META_DATA |
+
+
+| xx xx |
+ |
+word |
+ |
+TLV.Length |
+
+
+
+ |
+
+
+
+ |
+| |
+
+
+
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+data chunk size (TLV.Length-2) |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+request owner uin |
+
+
+| D0 07 |
+ |
+word (LE) |
+ |
+data type: META_DATA |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+request sequence number |
+
+
+| D7 0A |
+ |
+word (LE) |
+ |
+data subtype: META_UNKNOWN |
+
+
+
+ |
+
+
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client major version |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client minor version |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client lesser version |
+
+
+| xx xx |
+ |
+word (LE) |
+ |
+client build number |
+
+
+| xx xx xx xx |
+ |
+dword (LE) |
+ |
+client distribution number |
+
+
+
+ |
+
+
+
+
+| 0A 00 00 00 |
+ |
+dword (LE) |
+ |
+item count |
+
+
+
+
+ // item 1 (GUID + some unknown data)
+ F2 3E 9C 14 4F ED D3 11 AE 0A 00 90 27 1A 8B EA
+ BC 02 02 00 9B 00 00 00 00 00 00 00 06 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00
+
+ // item 2 (GUID + some unknown data)
+ F2 3E 9C 14 4F ED D3 11 AE 0A 00 90 27 1A 8B EA
+ BE 02 00 00 35 71 00 00 00 00 00 00 13 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00
+
+ // item 3 (GUID + some unknown data)
+ F2 3E 9C 14 4F ED D3 11 AE 0A 00 90 27 1A 8B EA
+ C3 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 35 71 00 00 00 00 00 00
+
+ // item 4 (GUID + some unknown data)
+ F2 3E 9C 14 4F ED D3 11 AE 0A 00 90 27 1A 8B EA
+ BE 02 01 00 A5 03 00 00 00 00 00 00 15 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00
+
+ // item 5 (GUID + some unknown data)
+ F2 3E 9C 14 4F ED D3 11 AE 0A 00 90 27 1A 8B EA
+ C3 02 01 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 94 03 00 00 02 00 00 00
+
+ // item 6 (GUID + some unknown data) [features list plugin]
+ 3B A1 F5 FD D2 6E 3F 40 86 E0 B4 84 6B 77 DF A7
+ 00 00 C9 0B 20 00 00 00 00 00 00 00 02 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00
+
+ // item 7 (GUID + some unknown data) [ext contacts plugin]
+ 1C 4B 8E D6 E7 02 D4 11 BC E8 00 04 AC 96 D9 05
+ 00 00 09 04 03 00 00 00 00 00 00 00 01 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00
+
+ // item 8 (GUID + some unknown data)
+ F2 3E 9C 14 4F ED D3 11 AE 0A 00 90 27 1A 8B EA
+ B6 03 00 00 B9 01 00 00 00 00 00 00 09 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00
+
+ // item 9 (GUID + some unknown data) [white search plugin]
+ 50 1E 1E 5C 9E DD D3 11 AB 1F 00 50 04 8E BC 8D
+ 00 00 3D 08 08 26 00 00 00 00 00 00 07 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00
+
+ // item 10 (GUID + some unknown data)
+ F2 3E 9C 14 4F ED D3 11 AE 0A 00 90 27 1A 8B EA
+ BC 02 01 00 1A 63 00 00 00 00 00 00 0A 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00
+
+ 39 CA AA 3D // some time (update time?)
+
+
+ |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+
+ |
+
+ | |
+
+| |
+
+
+ |
+ |
+ |
+
+
Example SNAC dump with flap header:
+
+
+
+
+
+ 2A 02 4D 9C 01 E6 00 15 00 02 00 00 00 10 00 02 *.MÜ.ö..........
+ 00 01 01 D8 D6 01 4E 61 BC 00 D0 07 11 00 D7 0A ...+ã.Na-.¦...+.
+ 05 00 11 00 01 00 3A 0E 55 00 00 00 0A 00 00 00 ......:.U.......
+ F2 3E 9C 14 4F ED D3 11 AE 0A 00 90 27 1A 8B EA ª>Ü.OýL.î..Ð'.Ëú
+ BC 02 02 00 9B 00 00 00 00 00 00 00 06 00 00 00 -...Û...........
+ 00 00 00 00 00 00 00 00 00 00 00 00 F2 3E 9C 14 ............ª>Ü.
+ 4F ED D3 11 AE 0A 00 90 27 1A 8B EA BE 02 00 00 OýL.î..Ð'.Ëú-...
+ 35 71 00 00 00 00 00 00 13 00 00 00 00 00 00 00 5q..............
+ 00 00 00 00 00 00 00 00 F2 3E 9C 14 4F ED D3 11 ........ª>Ü.OýL.
+ AE 0A 00 90 27 1A 8B EA C3 02 00 00 00 00 00 00 î..Ð'.Ëú+.......
+ 00 00 00 00 00 00 00 00 00 00 00 00 35 71 00 00 ............5q..
+ 00 00 00 00 F2 3E 9C 14 4F ED D3 11 AE 0A 00 90 ....ª>Ü.OýL.î..Ð
+ 27 1A 8B EA BE 02 01 00 A5 03 00 00 00 00 00 00 '.Ëú-...å.......
+ 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+ F2 3E 9C 14 4F ED D3 11 AE 0A 00 90 27 1A 8B EA ª>Ü.OýL.î..Ð'.Ëú
+ C3 02 01 00 00 00 00 00 00 00 00 00 00 00 00 00 +...............
+ 00 00 00 00 94 03 00 00 02 00 00 00 3B A1 F5 FD ....Ô.......;ῤ
+ D2 6E 3F 40 86 E0 B4 84 6B 77 DF A7 00 00 C9 0B Tn?@Æð+Äkw-ç..ã.
+ 20 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ...............
+ 00 00 00 00 00 00 00 00 1C 4B 8E D6 E7 02 D4 11 .........KÎã÷.L.
+ BC E8 00 04 AC 96 D9 05 00 00 09 04 03 00 00 00 -ø..ìÖ-.........
+ 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ................
+ 00 00 00 00 F2 3E 9C 14 4F ED D3 11 AE 0A 00 90 ....ª>Ü.OýL.î..Ð
+ 27 1A 8B EA B6 03 00 00 B9 01 00 00 00 00 00 00 '.Ëú¦...¦.......
+ 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+ 50 1E 1E 5C 9E DD D3 11 AB 1F 00 50 04 8E BC 8D P..\Þ¦L.ë..P.Î-Í
+ 00 00 3D 08 08 26 00 00 00 00 00 00 07 00 00 00 ..=..&..........
+ 00 00 00 00 00 00 00 00 00 00 00 00 F2 3E 9C 14 ............ª>Ü.
+ 4F ED D3 11 AE 0A 00 90 27 1A 8B EA BC 02 01 00 OýL.î..Ð'.Ëú-...
+ 1A 63 00 00 00 00 00 00 0A 00 00 00 00 00 00 00 .c..............
+ 00 00 00 00 00 00 00 00 39 CA AA 3D ........9¦ê=
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+