summaryrefslogtreecommitdiffstats
path: root/jacc.tar
blob: a037c8db452e24023909f7c225fa5902385b21db (plain) (blame)
ofshex dumpascii
0000 6a 61 63 63 2f 2f 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 jacc//..........................
0020 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 ................................
0040 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 ................................
0060 00 00 00 00 20 20 20 37 35 35 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......755.......0.......0......
0080 20 20 20 20 20 20 30 20 31 30 35 36 30 36 32 37 37 36 37 20 20 31 30 30 33 31 00 00 35 00 00 00 ......0.10560627767..10031..5...
00a0 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 ................................
00c0 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 ................................
00e0 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 ................................
0100 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
0120 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
0140 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 ................................
0160 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 ................................
0180 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 ................................
01a0 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 ................................
01c0 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 ................................
01e0 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 ................................
0200 6a 61 63 63 2f 2f 6a 61 63 63 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacc/.....................
0220 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 ................................
0240 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 ................................
0260 00 00 00 00 20 20 20 37 35 35 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......755.......0.......0......
0280 20 20 20 20 20 20 30 20 31 30 35 36 30 36 37 30 37 37 34 20 20 31 30 37 32 35 00 00 35 00 00 00 ......0.10560670774..10725..5...
02a0 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 ................................
02c0 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 ................................
02e0 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 ................................
0300 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
0320 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
0340 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 ................................
0360 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 ................................
0380 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 ................................
03a0 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 ................................
03c0 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 ................................
03e0 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 ................................
0400 6a 61 63 63 2f 2f 6a 61 63 63 2f 64 61 74 2e 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacc/dat.c................
0420 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 ................................
0440 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 ................................
0460 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
0480 20 20 31 30 35 34 31 20 31 30 35 36 30 36 32 37 37 36 36 20 20 31 31 36 36 35 00 00 00 00 00 00 ..10541.10560627766..11665......
04a0 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 ................................
04c0 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 ................................
04e0 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 ................................
0500 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
0520 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
0540 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 ................................
0560 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 ................................
0580 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 ................................
05a0 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 ................................
05c0 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 ................................
05e0 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 ................................
0600 2f 2a 0a 20 2a 20 43 6f 70 79 20 6d 65 20 69 66 20 79 6f 75 20 63 61 6e 2e 0a 20 2a 20 62 79 20 /*..*.Copy.me.if.you.can...*.by.
0620 32 30 68 0a 20 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 75 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20h..*/..#include.<u.h>.#include
0640 20 3c 6c 69 62 63 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 22 64 61 74 2e 68 22 0a 0a 63 68 61 72 .<libc.h>.#include."dat.h"..char
0660 20 2a 77 64 61 79 73 5b 5d 20 3d 20 7b 22 53 75 6e 22 2c 20 22 4d 6f 6e 22 2c 20 22 54 75 65 22 .*wdays[].=.{"Sun",."Mon",."Tue"
0680 2c 20 22 57 65 64 22 2c 20 22 54 68 75 22 2c 20 22 46 72 69 22 2c 20 22 53 61 74 22 2c 20 30 7d ,."Wed",."Thu",."Fri",."Sat",.0}
06a0 3b 0a 63 68 61 72 20 2a 6d 6f 6e 74 68 5b 5d 20 3d 20 7b 22 4a 61 6e 22 2c 20 22 46 65 62 22 2c ;.char.*month[].=.{"Jan",."Feb",
06c0 20 22 4d 61 72 22 2c 20 22 41 70 72 22 2c 20 22 4d 61 79 22 2c 20 22 4a 75 6e 22 2c 20 22 4a 75 ."Mar",."Apr",."May",."Jun",."Ju
06e0 6c 22 2c 20 22 41 75 67 22 2c 0a 09 09 09 20 20 20 22 53 65 70 22 2c 20 22 4f 63 74 22 2c 20 22 l",."Aug",......."Sep",."Oct",."
0700 4e 6f 76 22 2c 20 22 44 65 63 22 2c 20 30 7d 3b 0a 0a 69 6e 74 0a 66 69 6c 65 65 78 69 73 74 73 Nov",."Dec",.0};..int.fileexists
0720 28 63 68 61 72 20 2a 70 61 74 68 29 0a 7b 0a 09 75 63 68 61 72 20 62 75 66 5b 53 54 41 54 4d 41 (char.*path).{..uchar.buf[STATMA
0740 58 5d 3b 0a 09 69 6e 74 20 66 64 3b 0a 0a 09 66 64 20 3d 20 73 74 61 74 28 70 61 74 68 2c 20 62 X];..int.fd;...fd.=.stat(path,.b
0760 75 66 2c 20 53 54 41 54 4d 41 58 29 3b 0a 09 69 66 28 66 64 20 3c 20 30 29 0a 09 09 72 65 74 75 uf,.STATMAX);..if(fd.<.0)...retu
0780 72 6e 20 30 3b 0a 0a 09 63 6c 6f 73 65 28 66 64 29 3b 0a 09 72 65 74 75 72 6e 20 31 3b 0a 7d 0a rn.0;...close(fd);..return.1;.}.
07a0 0a 76 6f 69 64 0a 70 6c 61 79 6d 70 33 28 63 68 61 72 20 2a 66 69 6c 65 29 0a 7b 0a 09 63 68 61 .void.playmp3(char.*file).{..cha
07c0 72 20 63 6d 64 5b 32 35 36 5d 3b 0a 0a 09 69 66 28 21 66 69 6c 65 65 78 69 73 74 73 28 22 2f 64 r.cmd[256];...if(!fileexists("/d
07e0 65 76 2f 61 75 64 69 6f 22 29 29 0a 09 09 72 65 74 75 72 6e 3b 0a 0a 09 6d 65 6d 73 65 74 28 63 ev/audio"))...return;...memset(c
0800 6d 64 2c 20 30 2c 20 32 35 36 29 3b 0a 09 73 74 72 6e 63 70 79 28 63 6d 64 2c 20 66 69 6c 65 2c md,.0,.256);..strncpy(cmd,.file,
0820 20 32 35 35 29 3b 0a 09 69 66 28 67 65 74 65 6e 76 28 22 68 6f 6d 65 22 29 20 21 3d 20 6e 69 6c .255);..if(getenv("home").!=.nil
0840 29 7b 0a 09 09 73 6e 70 72 69 6e 74 28 63 6d 64 2c 20 32 35 35 2c 20 22 25 73 2f 61 75 64 69 6f ){...snprint(cmd,.255,."%s/audio
0860 2f 25 73 22 2c 20 67 65 74 65 6e 76 28 22 68 6f 6d 65 22 29 2c 20 66 69 6c 65 29 3b 0a 09 09 69 /%s",.getenv("home"),.file);...i
0880 66 28 21 66 69 6c 65 65 78 69 73 74 73 28 63 6d 64 29 29 0a 09 09 09 73 74 72 6e 63 70 79 28 63 f(!fileexists(cmd))....strncpy(c
08a0 6d 64 2c 20 66 69 6c 65 2c 20 32 35 35 29 3b 0a 09 7d 0a 09 69 66 28 21 66 69 6c 65 65 78 69 73 md,.file,.255);..}..if(!fileexis
08c0 74 73 28 63 6d 64 29 29 0a 09 09 72 65 74 75 72 6e 3b 0a 0a 09 69 66 28 66 6f 72 6b 28 29 20 3d ts(cmd))...return;...if(fork().=
08e0 3d 20 30 29 0a 09 09 65 78 65 63 6c 28 22 2f 62 69 6e 2f 6d 61 64 70 6c 61 79 22 2c 20 22 6d 61 =.0)...execl("/bin/madplay",."ma
0900 64 70 6c 61 79 22 2c 20 22 2d 51 22 2c 20 63 6d 64 2c 20 30 29 3b 0a 09 77 61 69 74 28 29 3b 0a dplay",."-Q",.cmd,.0);..wait();.
0920 7d 0a 0a 76 6f 69 64 20 2a 0a 72 65 61 6c 6c 6f 63 6a 28 76 6f 69 64 20 2a 70 2c 20 69 6e 74 20 }..void.*.reallocj(void.*p,.int.
0940 73 2c 20 73 68 6f 72 74 20 64 29 0a 7b 0a 09 70 20 3d 20 72 65 61 6c 6c 6f 63 28 70 2c 20 73 29 s,.short.d).{..p.=.realloc(p,.s)
0960 3b 0a 09 69 66 28 70 20 3d 3d 20 6e 69 6c 29 0a 09 09 73 79 73 66 61 74 61 6c 28 22 72 65 61 6c ;..if(p.==.nil)...sysfatal("real
0980 6c 6f 63 3a 20 25 72 22 29 3b 0a 0a 09 69 66 28 64 20 21 3d 20 30 29 0a 09 09 6d 65 6d 73 65 74 loc:.%r");...if(d.!=.0)...memset
09a0 28 70 2c 20 30 2c 20 73 29 3b 0a 0a 09 72 65 74 75 72 6e 20 28 76 6f 69 64 20 2a 29 70 3b 0a 7d (p,.0,.s);...return.(void.*)p;.}
09c0 0a 0a 76 6f 69 64 0a 6b 69 6c 6c 70 72 6f 63 28 69 6e 74 20 70 29 0a 7b 0a 09 63 68 61 72 20 2a ..void.killproc(int.p).{..char.*
09e0 65 3b 0a 09 69 6e 74 20 66 64 3b 0a 0a 09 65 20 3d 20 6d 61 6c 6c 6f 63 7a 28 36 35 2c 20 32 29 e;..int.fd;...e.=.mallocz(65,.2)
0a00 3b 0a 09 73 6e 70 72 69 6e 74 28 65 2c 20 36 34 2c 20 22 2f 70 72 6f 63 2f 25 64 2f 63 74 6c 22 ;..snprint(e,.64,."/proc/%d/ctl"
0a20 2c 20 70 29 3b 0a 0a 09 66 64 20 3d 20 6f 70 65 6e 28 65 2c 20 4f 57 52 49 54 45 29 3b 0a 09 69 ,.p);...fd.=.open(e,.OWRITE);..i
0a40 66 28 66 64 20 21 3d 20 2d 31 29 7b 0a 09 09 77 72 69 74 65 28 66 64 2c 20 22 6b 69 6c 6c 22 2c f(fd.!=.-1){...write(fd,."kill",
0a60 20 34 29 3b 0a 09 09 63 6c 6f 73 65 28 66 64 29 3b 0a 09 7d 0a 09 66 72 65 65 28 65 29 3b 0a 7d .4);...close(fd);..}..free(e);.}
0a80 0a 0a 63 68 61 72 20 2a 0a 73 65 74 77 69 6e 64 6f 77 6c 62 6c 28 63 68 61 72 20 2a 77 29 0a 7b ..char.*.setwindowlbl(char.*w).{
0aa0 0a 09 69 6e 74 20 73 3b 0a 0a 09 73 20 3d 20 6f 70 65 6e 28 22 2f 64 65 76 2f 6c 61 62 65 6c 22 ..int.s;...s.=.open("/dev/label"
0ac0 2c 20 4f 57 52 49 54 45 29 3b 0a 09 69 66 28 73 20 3c 20 30 29 0a 09 09 72 65 74 75 72 6e 20 6e ,.OWRITE);..if(s.<.0)...return.n
0ae0 69 6c 3b 0a 0a 09 77 72 69 74 65 28 73 2c 20 77 2c 20 73 74 72 6c 65 6e 28 77 29 29 3b 0a 0a 09 il;...write(s,.w,.strlen(w));...
0b00 63 6c 6f 73 65 28 73 29 3b 0a 09 72 65 74 75 72 6e 20 77 3b 0a 7d 0a 0a 63 68 61 72 20 2a 0a 67 close(s);..return.w;.}..char.*.g
0b20 65 74 77 69 6e 64 6f 77 6c 62 6c 28 76 6f 69 64 29 0a 7b 0a 09 69 6e 74 20 73 3b 0a 09 63 68 61 etwindowlbl(void).{..int.s;..cha
0b40 72 20 2a 72 65 74 3b 0a 09 73 68 6f 72 74 20 69 3b 0a 0a 09 73 20 3d 20 6f 70 65 6e 28 22 2f 64 r.*ret;..short.i;...s.=.open("/d
0b60 65 76 2f 6c 61 62 65 6c 22 2c 20 4f 52 45 41 44 29 3b 0a 09 69 66 28 73 20 3c 20 30 29 0a 09 09 ev/label",.OREAD);..if(s.<.0)...
0b80 72 65 74 75 72 6e 20 6e 69 6c 3b 0a 0a 09 69 20 3d 20 30 3b 0a 09 72 65 74 20 3d 20 6d 61 6c 6c return.nil;...i.=.0;..ret.=.mall
0ba0 6f 63 28 30 29 3b 0a 09 77 68 69 6c 65 28 72 65 61 6c 6c 6f 63 28 72 65 74 2c 20 2b 2b 69 29 20 oc(0);..while(realloc(ret,.++i).
0bc0 21 3d 20 6e 69 6c 20 26 26 20 72 65 61 64 28 73 2c 20 26 72 65 74 5b 69 20 2d 20 31 5d 2c 20 31 !=.nil.&&.read(s,.&ret[i.-.1],.1
0be0 29 20 3e 20 30 20 26 26 0a 09 09 09 69 20 3c 20 35 31 33 29 3b 0a 0a 09 72 65 74 5b 69 20 2d 20 ).>.0.&&....i.<.513);...ret[i.-.
0c00 31 5d 20 3d 20 27 5c 30 27 3b 0a 0a 09 63 6c 6f 73 65 28 73 29 3b 0a 09 72 65 74 75 72 6e 20 72 1].=.'\0';...close(s);..return.r
0c20 65 74 3b 0a 7d 0a 0a 63 68 61 72 20 2a 0a 6d 6b 74 6d 73 74 6d 70 28 63 68 61 72 20 62 6f 72 64 et;.}..char.*.mktmstmp(char.bord
0c40 2c 20 63 68 61 72 20 62 6f 72 64 5f 65 29 0a 7b 0a 09 54 6d 20 2a 74 69 6d 3b 0a 09 63 68 61 72 ,.char.bord_e).{..Tm.*tim;..char
0c60 20 2a 72 65 74 3b 0a 0a 09 72 65 74 20 3d 20 72 65 61 6c 6c 6f 63 6a 28 6e 69 6c 2c 20 33 32 2c .*ret;...ret.=.reallocj(nil,.32,
0c80 20 32 29 3b 0a 09 74 69 6d 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 74 69 6d 65 28 30 29 29 3b 0a .2);..tim.=.localtime(time(0));.
0ca0 09 73 6e 70 72 69 6e 74 28 72 65 74 2c 20 33 31 2c 20 22 25 63 25 2e 32 64 3a 25 2e 32 64 25 63 .snprint(ret,.31,."%c%.2d:%.2d%c
0cc0 20 22 2c 20 62 6f 72 64 2c 20 74 69 6d 2d 3e 68 6f 75 72 2c 20 74 69 6d 2d 3e 6d 69 6e 2c 20 62 .",.bord,.tim->hour,.tim->min,.b
0ce0 6f 72 64 5f 65 29 3b 0a 0a 09 72 65 74 75 72 6e 20 72 65 74 3b 0a 7d 0a 0a 63 68 61 72 20 2a 0a ord_e);...return.ret;.}..char.*.
0d00 73 65 74 63 68 61 6e 28 63 68 61 72 20 2a 6f 6c 64 2c 20 63 68 61 72 20 2a 6e 65 77 29 0a 7b 0a setchan(char.*old,.char.*new).{.
0d20 09 6f 6c 64 20 3d 20 72 65 61 6c 6c 6f 63 6a 28 6f 6c 64 2c 20 73 74 72 6c 65 6e 28 6e 65 77 29 .old.=.reallocj(old,.strlen(new)
0d40 20 2b 20 31 2c 20 32 29 3b 0a 09 73 74 72 63 70 79 28 6f 6c 64 2c 20 6e 65 77 29 3b 0a 0a 09 72 .+.1,.2);..strcpy(old,.new);...r
0d60 65 74 75 72 6e 20 6f 6c 64 3b 0a 7d 0a 0a 63 68 61 72 20 2a 0a 70 72 69 6e 74 6a 69 64 28 63 68 eturn.old;.}..char.*.printjid(ch
0d80 61 72 20 2a 75 73 65 72 2c 20 63 68 61 72 20 2a 73 65 72 76 2c 20 63 68 61 72 20 2a 72 65 73 6f ar.*user,.char.*serv,.char.*reso
0da0 29 0a 7b 0a 09 63 68 61 72 20 2a 72 65 74 3b 0a 09 69 6e 74 20 69 3b 0a 0a 09 69 66 28 75 73 65 ).{..char.*ret;..int.i;...if(use
0dc0 72 20 3d 3d 20 6e 69 6c 20 7c 7c 20 73 65 72 76 20 3d 3d 20 6e 69 6c 29 0a 09 09 72 65 74 75 72 r.==.nil.||.serv.==.nil)...retur
0de0 6e 20 6e 69 6c 3b 0a 0a 09 69 20 3d 20 73 74 72 6c 65 6e 28 75 73 65 72 29 20 2b 20 73 74 72 6c n.nil;...i.=.strlen(user).+.strl
0e00 65 6e 28 73 65 72 76 29 20 2b 20 33 20 2b 20 28 28 72 65 73 6f 20 21 3d 20 6e 69 6c 29 20 3f 20 en(serv).+.3.+.((reso.!=.nil).?.
0e20 73 74 72 6c 65 6e 28 72 65 73 6f 29 20 3a 20 30 29 3b 0a 0a 09 72 65 74 20 3d 20 72 65 61 6c 6c strlen(reso).:.0);...ret.=.reall
0e40 6f 63 6a 28 6e 69 6c 2c 20 69 2c 20 32 29 3b 0a 09 73 6e 70 72 69 6e 74 28 72 65 74 2c 20 69 2c ocj(nil,.i,.2);..snprint(ret,.i,
0e60 20 22 25 73 40 25 73 25 73 25 73 22 2c 20 75 73 65 72 2c 20 73 65 72 76 2c 20 28 72 65 73 6f 20 ."%s@%s%s%s",.user,.serv,.(reso.
0e80 21 3d 20 6e 69 6c 29 20 3f 20 22 2f 22 20 3a 20 22 5c 30 22 2c 0a 09 09 09 09 28 28 72 65 73 6f !=.nil).?."/".:."\0",.....((reso
0ea0 20 21 3d 20 6e 69 6c 29 20 3f 20 72 65 73 6f 20 3a 20 22 22 29 29 3b 0a 0a 09 72 65 74 75 72 6e .!=.nil).?.reso.:.""));...return
0ec0 20 72 65 74 3b 0a 7d 0a 0a 63 68 61 72 20 2a 0a 67 65 74 61 72 67 28 63 68 61 72 20 2a 62 2c 20 .ret;.}..char.*.getarg(char.*b,.
0ee0 63 68 61 72 20 6e 2c 20 63 68 61 72 20 74 29 0a 7b 0a 09 63 68 61 72 20 2a 72 65 74 2c 20 64 65 char.n,.char.t).{..char.*ret,.de
0f00 6c 69 6d 3b 0a 0a 09 72 65 74 20 3d 20 6e 69 6c 3b 0a 0a 09 77 68 69 6c 65 28 6e 2d 2d 20 3e 20 lim;...ret.=.nil;...while(n--.>.
0f20 30 29 7b 0a 09 09 69 66 28 2a 62 20 3d 3d 20 27 5c 27 27 20 7c 7c 20 2a 62 20 3d 3d 20 27 5c 22 0){...if(*b.==.'\''.||.*b.==.'\"
0f40 27 29 7b 0a 09 09 09 64 65 6c 69 6d 20 3d 20 2a 62 3b 0a 09 09 09 62 2b 2b 3b 0a 09 09 09 72 65 '){....delim.=.*b;....b++;....re
0f60 74 20 3d 20 73 74 72 63 68 72 28 62 2c 20 64 65 6c 69 6d 29 3b 0a 09 09 7d 20 65 6c 73 65 0a 09 t.=.strchr(b,.delim);...}.else..
0f80 09 09 72 65 74 20 3d 20 73 74 72 63 68 72 28 62 2c 20 27 20 27 29 3b 0a 09 09 69 66 28 72 65 74 ..ret.=.strchr(b,.'.');...if(ret
0fa0 20 3d 3d 20 6e 69 6c 29 0a 09 09 09 72 65 74 75 72 6e 20 6e 69 6c 3b 0a 0a 09 09 62 20 3d 20 72 .==.nil)....return.nil;....b.=.r
0fc0 65 74 20 2b 20 31 3b 0a 09 7d 0a 0a 09 69 66 28 74 20 3d 3d 20 30 29 0a 09 09 62 20 3d 20 73 74 et.+.1;..}...if(t.==.0)...b.=.st
0fe0 72 63 68 72 28 72 65 74 20 2b 20 31 2c 20 27 20 27 29 3b 0a 09 65 6c 73 65 0a 09 09 62 20 3d 20 rchr(ret.+.1,.'.');..else...b.=.
1000 6e 69 6c 3b 0a 0a 09 69 66 28 62 20 3d 3d 20 6e 69 6c 29 0a 09 09 72 65 74 20 3d 20 73 74 72 64 nil;...if(b.==.nil)...ret.=.strd
1020 75 70 28 72 65 74 20 2b 20 31 29 3b 0a 09 65 6c 73 65 20 7b 0a 09 09 6e 20 3d 20 2a 62 3b 0a 09 up(ret.+.1);..else.{...n.=.*b;..
1040 09 2a 62 20 3d 20 27 5c 30 27 3b 0a 09 09 72 65 74 20 3d 20 73 74 72 64 75 70 28 72 65 74 20 2b .*b.=.'\0';...ret.=.strdup(ret.+
1060 20 31 29 3b 0a 09 09 2a 62 20 3d 20 6e 3b 0a 09 7d 0a 0a 09 72 65 74 20 3d 20 66 69 6c 74 65 72 .1);...*b.=.n;..}...ret.=.filter
1080 68 69 6e 28 72 65 74 2c 20 32 29 3b 0a 0a 09 72 65 74 75 72 6e 20 72 65 74 3b 0a 7d 0a 0a 76 6f hin(ret,.2);...return.ret;.}..vo
10a0 69 64 0a 72 65 61 64 77 72 69 74 65 28 69 6e 74 20 73 6f 63 6b 2c 20 69 6e 74 20 66 64 29 0a 7b id.readwrite(int.sock,.int.fd).{
10c0 0a 09 63 68 61 72 20 2a 62 3b 0a 09 69 6e 74 20 6c 3b 0a 0a 09 6c 20 3d 20 32 30 34 38 3b 0a 09 ..char.*b;..int.l;...l.=.2048;..
10e0 62 20 3d 20 72 65 61 6c 6c 6f 63 6a 28 6e 69 6c 2c 20 32 30 34 38 2c 20 32 29 3b 0a 09 77 68 69 b.=.reallocj(nil,.2048,.2);..whi
1100 6c 65 28 6c 20 3d 3d 20 32 30 34 38 29 7b 0a 09 09 6c 20 3d 20 72 65 61 64 28 66 64 2c 20 62 2c le(l.==.2048){...l.=.read(fd,.b,
1120 20 32 30 34 38 29 3b 0a 09 09 69 66 28 6c 20 3e 20 30 29 0a 09 09 09 77 72 69 74 65 28 73 6f 63 .2048);...if(l.>.0)....write(soc
1140 6b 2c 20 62 2c 20 6c 29 3b 0a 09 7d 0a 0a 09 66 72 65 65 28 62 29 3b 0a 09 72 65 74 75 72 6e 3b k,.b,.l);..}...free(b);..return;
1160 0a 7d 0a 0a 63 68 61 72 20 2a 0a 67 65 74 6d 6f 6e 74 68 28 69 6e 74 20 6d 29 0a 7b 0a 09 69 66 .}..char.*.getmonth(int.m).{..if
1180 28 6d 20 3e 20 31 31 20 7c 7c 20 6d 20 3c 20 30 29 0a 09 09 72 65 74 75 72 6e 20 6e 69 6c 3b 0a (m.>.11.||.m.<.0)...return.nil;.
11a0 0a 09 72 65 74 75 72 6e 20 6d 6f 6e 74 68 5b 6d 5d 3b 0a 7d 0a 0a 63 68 61 72 20 2a 0a 67 65 74 ..return.month[m];.}..char.*.get
11c0 64 61 79 28 69 6e 74 20 64 29 0a 7b 0a 09 69 66 28 64 20 3e 20 36 20 7c 7c 20 64 20 3c 20 30 29 day(int.d).{..if(d.>.6.||.d.<.0)
11e0 0a 09 09 72 65 74 75 72 6e 20 6e 69 6c 3b 0a 0a 09 72 65 74 75 72 6e 20 77 64 61 79 73 5b 64 5d ...return.nil;...return.wdays[d]
1200 3b 0a 7d 0a 0a 63 68 61 72 20 2a 0a 66 69 6c 74 65 72 68 69 6e 28 63 68 61 72 20 2a 69 6e 2c 20 ;.}..char.*.filterhin(char.*in,.
1220 69 6e 74 20 61 29 0a 7b 0a 09 63 68 61 72 20 2a 72 65 74 2c 20 2a 7a 3b 0a 09 69 6e 74 20 6c 3b int.a).{..char.*ret,.*z;..int.l;
1240 0a 0a 09 6c 20 3d 20 30 3b 0a 09 72 65 74 20 3d 20 72 65 61 6c 6c 6f 63 6a 28 6e 69 6c 2c 20 31 ...l.=.0;..ret.=.reallocj(nil,.1
1260 2c 20 30 29 3b 0a 09 7a 20 3d 20 69 6e 3b 0a 0a 09 77 68 69 6c 65 28 2a 69 6e 20 21 3d 20 27 5c ,.0);..z.=.in;...while(*in.!=.'\
1280 30 27 29 7b 0a 09 09 73 77 69 74 63 68 28 2a 69 6e 29 7b 0a 09 09 63 61 73 65 20 27 3c 27 3a 0a 0'){...switch(*in){...case.'<':.
12a0 09 09 09 6c 20 2b 3d 20 34 3b 0a 09 09 09 72 65 74 20 3d 20 72 65 61 6c 6c 6f 63 6a 28 72 65 74 ...l.+=.4;....ret.=.reallocj(ret
12c0 2c 20 6c 20 2b 20 31 2c 20 30 29 3b 0a 09 09 09 73 74 72 6e 63 70 79 28 26 72 65 74 5b 6c 20 2d ,.l.+.1,.0);....strncpy(&ret[l.-
12e0 20 34 5d 2c 20 22 26 6c 74 3b 22 2c 20 34 29 3b 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 63 61 73 .4],."&lt;",.4);....break;...cas
1300 65 20 27 26 27 3a 0a 09 09 09 6c 20 2b 3d 20 35 3b 0a 09 09 09 72 65 74 20 3d 20 72 65 61 6c 6c e.'&':....l.+=.5;....ret.=.reall
1320 6f 63 6a 28 72 65 74 2c 20 6c 20 2b 20 31 2c 20 30 29 3b 0a 09 09 09 73 74 72 6e 63 70 79 28 26 ocj(ret,.l.+.1,.0);....strncpy(&
1340 72 65 74 5b 6c 20 2d 20 35 5d 2c 20 22 26 61 6d 70 3b 22 2c 20 35 29 3b 0a 09 09 09 62 72 65 61 ret[l.-.5],."&amp;",.5);....brea
1360 6b 3b 0a 09 09 63 61 73 65 20 27 3e 27 3a 0a 09 09 09 6c 20 2b 3d 20 34 3b 0a 09 09 09 72 65 74 k;...case.'>':....l.+=.4;....ret
1380 20 3d 20 72 65 61 6c 6c 6f 63 6a 28 72 65 74 2c 20 6c 20 2b 20 31 2c 20 30 29 3b 0a 09 09 09 73 .=.reallocj(ret,.l.+.1,.0);....s
13a0 74 72 6e 63 70 79 28 26 72 65 74 5b 6c 20 2d 20 34 5d 2c 20 22 26 67 74 3b 22 2c 20 34 29 3b 0a trncpy(&ret[l.-.4],."&gt;",.4);.
13c0 09 09 09 62 72 65 61 6b 3b 0a 09 09 63 61 73 65 20 27 22 27 3a 0a 09 09 09 6c 20 2b 3d 20 36 3b ...break;...case.'"':....l.+=.6;
13e0 0a 09 09 09 72 65 74 20 3d 20 72 65 61 6c 6c 6f 63 6a 28 72 65 74 2c 20 6c 20 2b 20 31 2c 20 30 ....ret.=.reallocj(ret,.l.+.1,.0
1400 29 3b 0a 09 09 09 73 74 72 6e 63 70 79 28 26 72 65 74 5b 6c 20 2d 20 36 5d 2c 20 22 26 71 75 6f );....strncpy(&ret[l.-.6],."&quo
1420 74 3b 22 2c 20 36 29 3b 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 64 65 66 61 75 6c 74 3a 0a 09 09 t;",.6);....break;...default:...
1440 09 72 65 74 20 3d 20 72 65 61 6c 6c 6f 63 6a 28 72 65 74 2c 20 2b 2b 6c 20 2b 20 31 2c 20 30 29 .ret.=.reallocj(ret,.++l.+.1,.0)
1460 3b 0a 09 09 09 72 65 74 5b 6c 20 2d 20 31 5d 20 3d 20 2a 69 6e 3b 0a 09 09 09 62 72 65 61 6b 3b ;....ret[l.-.1].=.*in;....break;
1480 0a 09 09 7d 0a 09 09 69 6e 2b 2b 3b 0a 09 7d 0a 09 72 65 74 5b 6c 5d 20 3d 20 27 5c 30 27 3b 0a ...}...in++;..}..ret[l].=.'\0';.
14a0 0a 09 69 66 28 61 20 21 3d 20 30 29 0a 09 09 66 72 65 65 28 7a 29 3b 0a 0a 09 72 65 74 75 72 6e ..if(a.!=.0)...free(z);...return
14c0 20 72 65 74 3b 0a 7d 0a 0a 63 68 61 72 20 2a 0a 66 69 6c 74 65 72 7a 75 72 28 63 68 61 72 20 2a .ret;.}..char.*.filterzur(char.*
14e0 6f 75 74 29 0a 7b 0a 09 63 68 61 72 20 2a 61 2c 20 2a 62 3b 0a 09 69 6e 74 20 63 68 61 6e 67 65 out).{..char.*a,.*b;..int.change
1500 64 3b 0a 0a 09 63 68 61 6e 67 65 64 20 3d 20 31 3b 0a 0a 09 77 68 69 6c 65 28 63 68 61 6e 67 65 d;...changed.=.1;...while(change
1520 64 29 7b 0a 09 09 63 68 61 6e 67 65 64 20 3d 20 30 3b 0a 09 09 69 66 28 28 61 20 3d 20 73 74 72 d){...changed.=.0;...if((a.=.str
1540 73 74 72 28 6f 75 74 2c 20 22 26 6c 74 3b 22 29 29 20 21 3d 20 6e 69 6c 29 20 7b 0a 09 09 09 2a str(out,."&lt;")).!=.nil).{....*
1560 61 20 3d 20 27 3c 27 3b 0a 09 09 09 73 74 72 63 70 79 28 61 20 2b 20 31 2c 20 61 20 2b 20 34 29 a.=.'<';....strcpy(a.+.1,.a.+.4)
1580 3b 0a 09 09 09 63 68 61 6e 67 65 64 20 3d 20 31 3b 0a 09 09 7d 0a 09 09 69 66 28 28 61 20 3d 20 ;....changed.=.1;...}...if((a.=.
15a0 73 74 72 73 74 72 28 6f 75 74 2c 20 22 26 67 74 3b 22 29 29 20 21 3d 20 6e 69 6c 29 20 7b 0a 09 strstr(out,."&gt;")).!=.nil).{..
15c0 09 09 2a 61 20 3d 20 27 3e 27 3b 0a 09 09 09 73 74 72 63 70 79 28 61 20 2b 20 31 2c 20 61 20 2b ..*a.=.'>';....strcpy(a.+.1,.a.+
15e0 20 34 29 3b 0a 09 09 09 63 68 61 6e 67 65 64 20 3d 20 31 3b 0a 09 09 7d 0a 09 09 69 66 28 28 61 .4);....changed.=.1;...}...if((a
1600 20 3d 20 73 74 72 73 74 72 28 6f 75 74 2c 20 22 26 71 75 6f 74 3b 22 29 29 20 21 3d 20 6e 69 6c .=.strstr(out,."&quot;")).!=.nil
1620 29 20 7b 0a 09 09 09 2a 61 20 3d 20 27 22 27 3b 0a 09 09 09 73 74 72 63 70 79 28 61 20 2b 20 31 ).{....*a.=.'"';....strcpy(a.+.1
1640 2c 20 61 20 2b 20 36 29 3b 0a 09 09 09 63 68 61 6e 67 65 64 20 3d 20 31 3b 0a 09 09 7d 0a 09 09 ,.a.+.6);....changed.=.1;...}...
1660 69 66 28 28 61 20 3d 20 73 74 72 73 74 72 28 6f 75 74 2c 20 22 26 61 6d 70 3b 22 29 29 20 21 3d if((a.=.strstr(out,."&amp;")).!=
1680 20 6e 69 6c 29 20 7b 0a 09 09 09 2a 61 20 3d 20 27 26 27 3b 0a 09 09 09 73 74 72 63 70 79 28 61 .nil).{....*a.=.'&';....strcpy(a
16a0 20 2b 20 31 2c 20 61 20 2b 20 35 29 3b 0a 09 09 09 63 68 61 6e 67 65 64 20 3d 20 31 3b 0a 09 09 .+.1,.a.+.5);....changed.=.1;...
16c0 7d 0a 09 09 69 66 28 28 61 20 3d 20 73 74 72 73 74 72 28 6f 75 74 2c 20 22 74 65 78 74 2f 78 2d }...if((a.=.strstr(out,."text/x-
16e0 61 6f 6c 72 74 66 3b 22 29 29 20 21 3d 20 6e 69 6c 29 20 7b 0a 09 09 09 62 20 3d 20 73 74 72 63 aolrtf;")).!=.nil).{....b.=.strc
1700 68 72 28 61 2c 20 27 3a 27 29 3b 0a 09 09 09 69 66 28 62 20 21 3d 20 6e 69 6c 29 20 7b 0a 09 09 hr(a,.':');....if(b.!=.nil).{...
1720 09 09 73 74 72 63 70 79 28 61 2c 20 62 20 2b 20 32 29 3b 0a 09 09 09 09 63 68 61 6e 67 65 64 20 ..strcpy(a,.b.+.2);.....changed.
1740 3d 20 31 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 7d 0a 0a 09 72 65 74 75 72 6e 20 6f 75 74 3b 0a 7d =.1;....}...}..}...return.out;.}
1760 0a 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 ................................
1780 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 ................................
17a0 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 ................................
17c0 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 ................................
17e0 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 ................................
1800 6a 61 63 63 2f 2f 6a 61 63 63 2f 64 61 74 2e 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacc/dat.h................
1820 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 ................................
1840 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 ................................
1860 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
1880 20 20 20 31 30 37 30 20 31 30 35 36 30 36 32 37 37 36 36 20 20 31 31 36 34 37 00 00 00 00 00 00 ...1070.10560627766..11647......
18a0 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 ................................
18c0 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 ................................
18e0 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 ................................
1900 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
1920 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
1940 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 ................................
1960 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 ................................
1980 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 ................................
19a0 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 ................................
19c0 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 ................................
19e0 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 ................................
1a00 23 69 66 6e 64 65 66 20 4a 44 41 54 5f 48 0a 23 64 65 66 69 6e 65 20 4a 44 41 54 5f 48 0a 0a 74 #ifndef.JDAT_H.#define.JDAT_H..t
1a20 79 70 65 64 65 66 20 73 74 72 75 63 74 20 63 6f 6d 6d 61 6e 64 20 63 6f 6d 6d 61 6e 64 3b 0a 73 ypedef.struct.command.command;.s
1a40 74 72 75 63 74 20 63 6f 6d 6d 61 6e 64 20 7b 0a 09 63 68 61 72 20 2a 2a 70 61 72 61 6d 73 3b 0a truct.command.{..char.**params;.
1a60 09 69 6e 74 20 6c 3b 0a 7d 3b 0a 0a 76 6f 69 64 20 70 6c 61 79 6d 70 33 28 63 68 61 72 20 2a 66 .int.l;.};..void.playmp3(char.*f
1a80 69 6c 65 29 3b 0a 76 6f 69 64 20 2a 72 65 61 6c 6c 6f 63 6a 28 76 6f 69 64 20 2a 70 2c 20 69 6e ile);.void.*reallocj(void.*p,.in
1aa0 74 20 73 2c 20 73 68 6f 72 74 20 64 29 3b 0a 76 6f 69 64 20 6b 69 6c 6c 70 72 6f 63 28 69 6e 74 t.s,.short.d);.void.killproc(int
1ac0 20 70 29 3b 0a 63 68 61 72 20 2a 73 65 74 77 69 6e 64 6f 77 6c 62 6c 28 63 68 61 72 20 2a 77 29 .p);.char.*setwindowlbl(char.*w)
1ae0 3b 0a 63 68 61 72 20 2a 67 65 74 77 69 6e 64 6f 77 6c 62 6c 28 76 6f 69 64 29 3b 0a 63 68 61 72 ;.char.*getwindowlbl(void);.char
1b00 20 2a 6d 6b 74 6d 73 74 6d 70 28 63 68 61 72 20 62 6f 72 64 2c 20 63 68 61 72 20 62 6f 72 64 5f .*mktmstmp(char.bord,.char.bord_
1b20 65 29 3b 0a 63 68 61 72 20 2a 73 65 74 63 68 61 6e 28 63 68 61 72 20 2a 6f 6c 64 2c 20 63 68 61 e);.char.*setchan(char.*old,.cha
1b40 72 20 2a 6e 65 77 29 3b 0a 63 68 61 72 20 2a 70 72 69 6e 74 6a 69 64 28 63 68 61 72 20 2a 75 73 r.*new);.char.*printjid(char.*us
1b60 65 72 2c 20 63 68 61 72 20 2a 73 65 72 76 2c 20 63 68 61 72 20 2a 72 65 73 6f 29 3b 0a 63 68 61 er,.char.*serv,.char.*reso);.cha
1b80 72 20 2a 67 65 74 61 72 67 28 63 68 61 72 20 2a 62 2c 20 63 68 61 72 20 6e 2c 20 63 68 61 72 20 r.*getarg(char.*b,.char.n,.char.
1ba0 74 29 3b 0a 76 6f 69 64 20 72 65 61 64 77 72 69 74 65 28 69 6e 74 20 73 6f 63 6b 2c 20 69 6e 74 t);.void.readwrite(int.sock,.int
1bc0 20 66 64 29 3b 0a 63 68 61 72 20 2a 67 65 74 6d 6f 6e 74 68 28 69 6e 74 20 6d 29 3b 0a 63 68 61 .fd);.char.*getmonth(int.m);.cha
1be0 72 20 2a 67 65 74 64 61 79 28 69 6e 74 20 64 29 3b 0a 63 68 61 72 20 2a 66 69 6c 74 65 72 68 69 r.*getday(int.d);.char.*filterhi
1c00 6e 28 63 68 61 72 20 2a 69 6e 2c 20 69 6e 74 20 61 29 3b 0a 63 68 61 72 20 2a 66 69 6c 74 65 72 n(char.*in,.int.a);.char.*filter
1c20 7a 75 72 28 63 68 61 72 20 2a 6f 75 74 29 3b 0a 0a 23 65 6e 64 69 66 0a 00 00 00 00 00 00 00 00 zur(char.*out);..#endif.........
1c40 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 ................................
1c60 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 ................................
1c80 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 ................................
1ca0 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 ................................
1cc0 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 ................................
1ce0 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 ................................
1d00 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 ................................
1d20 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 ................................
1d40 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 ................................
1d60 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 ................................
1d80 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 ................................
1da0 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 ................................
1dc0 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 ................................
1de0 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 ................................
1e00 6a 61 63 63 2f 2f 6a 61 63 63 2f 6a 61 63 63 2e 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacc/jacc.c...............
1e20 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 ................................
1e40 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 ................................
1e60 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
1e80 20 20 34 33 30 32 30 20 31 30 35 36 30 36 36 32 37 35 30 20 20 31 32 30 30 33 00 00 00 00 00 00 ..43020.10560662750..12003......
1ea0 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 ................................
1ec0 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 ................................
1ee0 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 ................................
1f00 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
1f20 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
1f40 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 ................................
1f60 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 ................................
1f80 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 ................................
1fa0 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 ................................
1fc0 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 ................................
1fe0 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 ................................
2000 2f 2a 0a 20 2a 20 43 6f 70 79 20 6d 65 20 69 66 20 79 6f 75 20 63 61 6e 2e 0a 20 2a 20 62 79 20 /*..*.Copy.me.if.you.can...*.by.
2020 32 30 68 0a 20 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 75 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20h..*/..#include.<u.h>.#include
2040 20 3c 6c 69 62 63 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 61 75 74 68 2e 68 3e 0a 23 69 6e 63 .<libc.h>.#include.<auth.h>.#inc
2060 6c 75 64 65 20 3c 6d 70 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 6c 69 62 73 65 63 2e 68 3e 0a lude.<mp.h>.#include.<libsec.h>.
2080 23 69 6e 63 6c 75 64 65 20 22 78 6d 6c 70 75 6c 6c 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 6a #include."xmlpull.h".#include."j
20a0 61 63 63 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 64 61 74 2e 68 22 0a 23 69 6e 63 6c 75 64 65 acc.h".#include."dat.h".#include
20c0 20 22 72 6f 73 74 65 72 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 72 65 63 76 2e 68 22 0a 0a 23 ."roster.h".#include."recv.h"..#
20e0 64 65 66 69 6e 65 20 4e 41 4d 45 20 22 6a 61 63 63 20 2d 20 4a 61 62 62 65 72 20 43 6c 69 65 6e define.NAME."jacc.-.Jabber.Clien
2100 74 20 66 6f 72 20 50 6c 61 6e 39 22 0a 23 64 65 66 69 6e 65 20 56 45 52 53 49 4f 4e 20 22 33 72 t.for.Plan9".#define.VERSION."3r
2120 64 20 65 64 22 0a 23 64 65 66 69 6e 65 20 4f 53 20 22 50 6c 61 6e 20 39 20 34 74 68 20 65 64 22 d.ed".#define.OS."Plan.9.4th.ed"
2140 0a 0a 65 78 74 65 72 6e 20 69 6e 74 20 64 6f 69 67 6e 6f 72 65 3b 0a 0a 69 6e 74 0a 78 6d 6c 6a ..extern.int.doignore;..int.xmlj
2160 61 63 63 28 69 6e 74 20 73 6f 63 6b 29 0a 7b 0a 09 72 65 74 75 72 6e 20 66 70 72 69 6e 74 28 73 acc(int.sock).{..return.fprint(s
2180 6f 63 6b 2c 20 22 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 5c 22 31 2e 30 5c 22 3f 3e 5c 6e 22 ock,."<?xml.version=\"1.0\"?>\n"
21a0 29 3b 0a 7d 0a 0a 69 6e 74 0a 6c 6f 67 69 6e 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 );.}..int.loginjacc(int.sock,.ch
21c0 61 72 20 2a 73 65 72 76 29 0a 7b 0a 09 72 65 74 75 72 6e 20 66 70 72 69 6e 74 28 73 6f 63 6b 2c ar.*serv).{..return.fprint(sock,
21e0 20 22 3c 73 74 72 65 61 6d 3a 73 74 72 65 61 6d 20 78 6d 6c 6e 73 3a 73 74 72 65 61 6d 3d 5c 22 ."<stream:stream.xmlns:stream=\"
2200 68 74 74 70 3a 2f 2f 65 74 68 65 72 78 2e 6a 61 62 62 65 72 2e 6f 72 67 2f 73 74 72 65 61 6d 73 http://etherx.jabber.org/streams
2220 5c 22 22 0a 09 09 09 09 09 09 22 20 78 6d 6c 6e 73 3d 5c 22 6a 61 62 62 65 72 3a 63 6c 69 65 6e \"".......".xmlns=\"jabber:clien
2240 74 5c 22 20 74 6f 3d 5c 22 25 73 5c 22 3e 5c 6e 22 2c 20 73 65 72 76 29 3b 0a 7d 0a 0a 69 6e 74 t\".to=\"%s\">\n",.serv);.}..int
2260 0a 75 73 65 72 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 75 73 65 72 2c 20 .userjacc(int.sock,.char.*user,.
2280 63 68 61 72 20 2a 70 61 73 73 2c 20 63 68 61 72 20 2a 72 65 73 29 0a 7b 0a 09 72 65 74 75 72 6e char.*pass,.char.*res).{..return
22a0 20 66 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c 69 71 20 74 79 70 65 3d 5c 22 73 65 74 5c 22 20 .fprint(sock,."<iq.type=\"set\".
22c0 69 64 3d 5c 22 61 75 74 68 5f 31 5c 22 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 71 75 65 72 79 20 id=\"auth_1\">\n"......."<query.
22e0 78 6d 6c 6e 73 3d 5c 22 6a 61 62 62 65 72 3a 69 71 3a 61 75 74 68 5c 22 3e 5c 6e 22 0a 09 09 09 xmlns=\"jabber:iq:auth\">\n"....
2300 09 09 09 22 3c 75 73 65 72 6e 61 6d 65 3e 25 73 3c 2f 75 73 65 72 6e 61 6d 65 3e 5c 6e 22 0a 09 ..."<username>%s</username>\n"..
2320 09 09 09 09 09 22 3c 70 61 73 73 77 6f 72 64 3e 25 73 3c 2f 70 61 73 73 77 6f 72 64 3e 5c 6e 22 ....."<password>%s</password>\n"
2340 0a 09 09 09 09 09 09 22 3c 72 65 73 6f 75 72 63 65 3e 25 73 3c 2f 72 65 73 6f 75 72 63 65 3e 5c ......."<resource>%s</resource>\
2360 6e 22 0a 09 09 09 09 09 09 22 3c 2f 71 75 65 72 79 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 2f 69 n"......."</query>\n"......."</i
2380 71 3e 5c 6e 22 2c 20 75 73 65 72 2c 20 70 61 73 73 2c 20 72 65 73 29 3b 0a 7d 0a 0a 69 6e 74 0a q>\n",.user,.pass,.res);.}..int.
23a0 76 65 72 73 69 6f 6e 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 66 72 6f 6d versionjacc(int.sock,.char.*from
23c0 2c 20 63 68 61 72 20 2a 74 6f 2c 20 63 68 61 72 20 2a 69 64 29 0a 7b 0a 09 72 65 74 75 72 6e 20 ,.char.*to,.char.*id).{..return.
23e0 66 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c 69 71 20 66 72 6f 6d 3d 5c 22 25 73 5c 22 20 74 79 fprint(sock,."<iq.from=\"%s\".ty
2400 70 65 3d 5c 22 72 65 73 75 6c 74 5c 22 20 69 64 3d 5c 22 25 73 5c 22 20 74 6f 3d 5c 22 25 73 5c pe=\"result\".id=\"%s\".to=\"%s\
2420 22 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 71 75 65 72 79 20 78 6d 6c 6e 73 3d 5c 22 6a 61 62 62 ">\n"......."<query.xmlns=\"jabb
2440 65 72 3a 69 71 3a 76 65 72 73 69 6f 6e 5c 22 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 6e 61 6d 65 er:iq:version\">\n"......."<name
2460 3e 22 20 4e 41 4d 45 20 22 3c 2f 6e 61 6d 65 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 76 65 72 73 >".NAME."</name>\n"......."<vers
2480 69 6f 6e 3e 22 20 56 45 52 53 49 4f 4e 20 22 3c 2f 76 65 72 73 69 6f 6e 3e 5c 6e 22 0a 09 09 09 ion>".VERSION."</version>\n"....
24a0 09 09 09 22 3c 6f 73 3e 22 20 4f 53 20 22 3c 2f 6f 73 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 2f ..."<os>".OS."</os>\n"......."</
24c0 71 75 65 72 79 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 2f 69 71 3e 5c 6e 22 2c 20 66 72 6f 6d 2c query>\n"......."</iq>\n",.from,
24e0 20 28 69 64 20 3d 3d 20 6e 69 6c 29 20 3f 20 22 22 20 3a 20 69 64 2c 20 74 6f 29 3b 0a 7d 0a 0a .(id.==.nil).?."".:.id,.to);.}..
2500 69 6e 74 0a 66 65 61 74 75 72 65 73 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 int.featuresjacc(int.sock,.char.
2520 2a 66 72 6f 6d 2c 20 63 68 61 72 20 2a 74 6f 2c 20 63 68 61 72 20 2a 69 64 29 0a 7b 0a 09 72 65 *from,.char.*to,.char.*id).{..re
2540 74 75 72 6e 20 66 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c 69 71 20 66 72 6f 6d 3d 5c 22 25 73 turn.fprint(sock,."<iq.from=\"%s
2560 5c 22 20 74 79 70 65 3d 5c 22 72 65 73 75 6c 74 5c 22 20 74 6f 3d 5c 22 25 73 5c 22 20 69 64 3d \".type=\"result\".to=\"%s\".id=
2580 5c 22 25 73 5c 22 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 71 75 65 72 79 20 78 6d 6c 6e 73 3d 5c \"%s\">\n"......."<query.xmlns=\
25a0 22 68 74 74 70 3a 2f 2f 6a 61 62 62 65 72 2e 6f 72 67 2f 70 72 6f 74 6f 63 6f 6c 2f 64 69 73 63 "http://jabber.org/protocol/disc
25c0 6f 23 69 6e 66 6f 5c 22 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 69 64 65 6e 74 69 74 79 20 63 61 o#info\">\n"......."<identity.ca
25e0 74 65 67 6f 72 79 3d 5c 22 63 6c 69 65 6e 74 5c 22 20 74 79 70 65 3d 5c 22 70 63 5c 22 2f 3e 5c tegory=\"client\".type=\"pc\"/>\
2600 6e 22 0a 09 09 09 09 09 09 22 3c 66 65 61 74 75 72 65 20 76 61 72 3d 5c 22 6a 61 62 62 65 72 3a n"......."<feature.var=\"jabber:
2620 69 71 3a 74 69 6d 65 5c 22 2f 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 66 65 61 74 75 72 65 20 76 iq:time\"/>\n"......."<feature.v
2640 61 72 3d 5c 22 6a 61 62 62 65 72 3a 69 71 3a 76 65 72 73 69 6f 6e 5c 22 2f 3e 5c 6e 22 0a 09 09 ar=\"jabber:iq:version\"/>\n"...
2660 09 09 09 09 22 3c 66 65 61 74 75 72 65 20 76 61 72 3d 5c 22 68 74 74 70 3a 2f 2f 6a 61 62 62 65 ...."<feature.var=\"http://jabbe
2680 72 2e 6f 72 67 2f 70 72 6f 74 6f 63 6f 6c 2f 6d 75 63 5c 22 2f 3e 5c 6e 22 0a 09 09 09 09 09 09 r.org/protocol/muc\"/>\n".......
26a0 22 3c 2f 71 75 65 72 79 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 2f 69 71 3e 5c 6e 22 2c 20 66 72 "</query>\n"......."</iq>\n",.fr
26c0 6f 6d 2c 20 74 6f 2c 20 28 69 64 20 3d 3d 20 6e 69 6c 29 20 3f 20 22 22 20 3a 20 69 64 29 3b 0a om,.to,.(id.==.nil).?."".:.id);.
26e0 7d 0a 0a 69 6e 74 0a 74 69 6d 65 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a }..int.timejacc(int.sock,.char.*
2700 66 72 6f 6d 2c 20 63 68 61 72 20 2a 74 6f 2c 20 63 68 61 72 20 2a 69 64 29 0a 7b 0a 09 54 6d 20 from,.char.*to,.char.*id).{..Tm.
2720 2a 6c 6f 2c 20 2a 67 6d 3b 0a 0a 09 6c 6f 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 74 69 6d 65 28 *lo,.*gm;...lo.=.localtime(time(
2740 30 29 29 3b 0a 09 67 6d 20 3d 20 67 6d 74 69 6d 65 28 74 69 6d 65 28 30 29 29 3b 0a 09 0a 09 72 0));..gm.=.gmtime(time(0));....r
2760 65 74 75 72 6e 20 66 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c 69 71 20 66 72 6f 6d 3d 5c 22 25 eturn.fprint(sock,."<iq.from=\"%
2780 73 5c 22 20 74 79 70 65 3d 5c 22 72 65 73 75 6c 74 5c 22 20 74 6f 3d 5c 22 25 73 5c 22 20 69 64 s\".type=\"result\".to=\"%s\".id
27a0 3d 5c 22 25 73 5c 22 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 71 75 65 72 79 20 78 6d 6c 6e 73 3d =\"%s\">\n"......."<query.xmlns=
27c0 5c 22 6a 61 62 62 65 72 3a 69 71 3a 74 69 6d 65 5c 22 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 75 \"jabber:iq:time\">\n"......."<u
27e0 74 63 3e 25 2e 34 64 25 2e 32 64 25 2e 32 64 54 25 2e 32 64 3a 25 2e 32 64 3a 25 2e 32 64 3c 2f tc>%.4d%.2d%.2dT%.2d:%.2d:%.2d</
2800 75 74 63 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 64 69 73 70 6c 61 79 3e 25 73 20 25 73 20 25 2e utc>\n"......."<display>%s.%s.%.
2820 32 64 20 25 2e 32 64 3a 25 2e 32 64 3a 25 2e 32 64 20 25 2e 34 64 3c 2f 64 69 73 70 6c 61 79 3e 2d.%.2d:%.2d:%.2d.%.4d</display>
2840 5c 6e 22 0a 09 09 09 09 09 09 22 3c 74 7a 3e 25 73 3c 2f 74 7a 3e 5c 6e 22 0a 09 09 09 09 09 09 \n"......."<tz>%s</tz>\n".......
2860 22 3c 2f 71 75 65 72 79 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 2f 69 71 3e 5c 6e 22 2c 20 66 72 "</query>\n"......."</iq>\n",.fr
2880 6f 6d 2c 20 74 6f 2c 20 28 69 64 20 3d 3d 20 6e 69 6c 29 20 3f 20 22 22 20 3a 20 69 64 2c 20 67 om,.to,.(id.==.nil).?."".:.id,.g
28a0 6d 2d 3e 79 65 61 72 20 2b 20 31 39 30 30 2c 20 0a 09 09 09 09 09 09 67 6d 2d 3e 6d 6f 6e 20 2b m->year.+.1900,........gm->mon.+
28c0 20 31 2c 20 67 6d 2d 3e 6d 64 61 79 2c 20 67 6d 2d 3e 68 6f 75 72 2c 20 67 6d 2d 3e 6d 69 6e 2c .1,.gm->mday,.gm->hour,.gm->min,
28e0 20 0a 09 09 09 09 09 09 67 6d 2d 3e 73 65 63 2c 20 67 65 74 64 61 79 28 6c 6f 2d 3e 77 64 61 79 ........gm->sec,.getday(lo->wday
2900 29 2c 20 67 65 74 6d 6f 6e 74 68 28 6c 6f 2d 3e 6d 6f 6e 29 2c 20 0a 09 09 09 09 09 09 6c 6f 2d ),.getmonth(lo->mon),........lo-
2920 3e 6d 64 61 79 2c 20 6c 6f 2d 3e 68 6f 75 72 2c 20 6c 6f 2d 3e 6d 69 6e 2c 20 6c 6f 2d 3e 73 65 >mday,.lo->hour,.lo->min,.lo->se
2940 63 2c 20 0a 09 09 09 09 09 09 6c 6f 2d 3e 79 65 61 72 20 2b 20 31 39 30 30 2c 20 6c 6f 2d 3e 7a c,........lo->year.+.1900,.lo->z
2960 6f 6e 65 29 3b 0a 7d 0a 0a 69 6e 74 0a 6c 61 73 74 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 one);.}..int.lastjacc(int.sock,.
2980 63 68 61 72 20 2a 66 72 6f 6d 2c 20 63 68 61 72 20 2a 74 6f 2c 20 63 68 61 72 20 2a 69 64 2c 20 char.*from,.char.*to,.char.*id,.
29a0 69 6e 74 20 64 29 0a 7b 0a 09 72 65 74 75 72 6e 20 66 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c int.d).{..return.fprint(sock,."<
29c0 69 71 20 66 72 6f 6d 3d 5c 22 25 73 5c 22 20 74 79 70 65 3d 5c 22 72 65 73 75 6c 74 5c 22 20 74 iq.from=\"%s\".type=\"result\".t
29e0 6f 3d 5c 22 25 73 5c 22 20 69 64 3d 5c 22 25 73 5c 22 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 71 o=\"%s\".id=\"%s\">\n"......."<q
2a00 75 65 72 79 20 78 6d 6c 6e 73 3d 5c 22 6a 61 62 62 65 72 3a 69 71 3a 6c 61 73 74 5c 22 20 73 65 uery.xmlns=\"jabber:iq:last\".se
2a20 63 6f 6e 64 73 3d 5c 22 25 64 5c 22 2f 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 2f 69 71 3e 5c 6e conds=\"%d\"/>\n"......."</iq>\n
2a40 22 2c 20 66 72 6f 6d 2c 20 74 6f 2c 20 28 69 64 20 3d 3d 20 6e 69 6c 29 20 3f 20 22 22 20 3a 20 ",.from,.to,.(id.==.nil).?."".:.
2a60 69 64 2c 20 64 29 3b 0a 7d 0a 0a 69 6e 74 0a 72 65 67 69 73 74 65 72 6a 61 63 63 28 69 6e 74 20 id,.d);.}..int.registerjacc(int.
2a80 73 6f 63 6b 2c 20 63 68 61 72 20 2a 73 65 72 76 2c 20 63 68 61 72 20 2a 75 73 65 72 2c 20 63 68 sock,.char.*serv,.char.*user,.ch
2aa0 61 72 20 2a 70 61 73 73 29 0a 7b 0a 09 72 65 74 75 72 6e 20 66 70 72 69 6e 74 28 73 6f 63 6b 2c ar.*pass).{..return.fprint(sock,
2ac0 20 22 3c 69 71 20 74 79 70 65 3d 5c 22 73 65 74 5c 22 20 69 64 3d 5c 22 72 65 71 5c 22 20 74 6f ."<iq.type=\"set\".id=\"req\".to
2ae0 3d 5c 22 25 73 5c 22 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 71 75 65 72 79 20 78 6d 6c 6e 73 3d =\"%s\">\n"......."<query.xmlns=
2b00 5c 22 6a 61 62 62 65 72 3a 69 71 3a 72 65 67 69 73 74 65 72 5c 22 3e 5c 6e 22 0a 09 09 09 09 09 \"jabber:iq:register\">\n"......
2b20 09 22 3c 75 73 65 72 6e 61 6d 65 3e 25 73 3c 2f 75 73 65 72 6e 61 6d 65 3e 5c 6e 22 0a 09 09 09 ."<username>%s</username>\n"....
2b40 09 09 09 22 3c 70 61 73 73 77 6f 72 64 3e 25 73 3c 2f 70 61 73 73 77 6f 72 64 3e 5c 6e 22 0a 09 ..."<password>%s</password>\n"..
2b60 09 09 09 09 09 22 3c 2f 71 75 65 72 79 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 2f 69 71 3e 5c 6e ....."</query>\n"......."</iq>\n
2b80 22 2c 20 73 65 72 76 2c 20 75 73 65 72 2c 20 70 61 73 73 29 3b 0a 7d 0a 0a 69 6e 74 0a 76 63 61 ",.serv,.user,.pass);.}..int.vca
2ba0 72 64 67 65 74 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 66 72 6f 6d 2c 20 rdgetjacc(int.sock,.char.*from,.
2bc0 63 68 61 72 20 2a 74 79 70 65 29 0a 7b 0a 09 72 65 74 75 72 6e 20 66 70 72 69 6e 74 28 73 6f 63 char.*type).{..return.fprint(soc
2be0 6b 2c 20 22 3c 69 71 20 25 73 3d 5c 22 25 73 5c 22 20 74 79 70 65 3d 5c 22 67 65 74 5c 22 20 69 k,."<iq.%s=\"%s\".type=\"get\".i
2c00 64 3d 5c 22 76 31 5c 22 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 76 43 61 72 64 20 78 6d 6c 6e 73 d=\"v1\">\n"......."<vCard.xmlns
2c20 3d 5c 22 76 63 61 72 64 2d 74 65 6d 70 5c 22 2f 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 2f 69 71 =\"vcard-temp\"/>\n"......."</iq
2c40 3e 5c 6e 22 2c 20 74 79 70 65 2c 20 66 72 6f 6d 29 3b 0a 7d 0a 0a 69 6e 74 0a 76 63 61 72 64 73 >\n",.type,.from);.}..int.vcards
2c60 65 74 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 66 72 6f 6d 2c 20 69 6e 74 etjacc(int.sock,.char.*from,.int
2c80 20 66 64 29 0a 7b 0a 09 66 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c 69 71 20 66 72 6f 6d 3d 5c .fd).{..fprint(sock,."<iq.from=\
2ca0 22 25 73 5c 22 20 74 79 70 65 3d 5c 22 73 65 74 5c 22 20 69 64 3d 5c 22 76 32 5c 22 3e 5c 6e 22 "%s\".type=\"set\".id=\"v2\">\n"
2cc0 0a 09 09 09 09 20 22 3c 76 43 61 72 64 20 78 6d 6c 6e 73 3d 5c 22 76 63 61 72 64 2d 74 65 6d 70 ......"<vCard.xmlns=\"vcard-temp
2ce0 5c 22 3e 5c 6e 22 2c 20 66 72 6f 6d 29 3b 0a 09 72 65 61 64 77 72 69 74 65 28 73 6f 63 6b 2c 20 \">\n",.from);..readwrite(sock,.
2d00 66 64 29 3b 0a 0a 09 72 65 74 75 72 6e 20 66 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c 2f 76 43 fd);...return.fprint(sock,."</vC
2d20 61 72 64 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 2f 69 71 3e 5c 6e 22 29 3b 0a 7d 0a 0a 69 6e 74 ard>\n"......."</iq>\n");.}..int
2d40 0a 70 72 65 73 65 6e 63 65 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 73 74 .presencejacc(int.sock,.char.*st
2d60 61 74 2c 20 63 68 61 72 20 2a 73 68 6f 77 2c 20 63 68 61 72 20 2a 66 72 6f 6d 2c 20 63 68 61 72 at,.char.*show,.char.*from,.char
2d80 20 2a 74 6f 29 0a 7b 0a 09 72 65 74 75 72 6e 20 66 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c 70 .*to).{..return.fprint(sock,."<p
2da0 72 65 73 65 6e 63 65 25 73 25 73 25 73 25 73 25 73 25 73 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c resence%s%s%s%s%s%s>\n"......."<
2dc0 73 68 6f 77 3e 25 73 3c 2f 73 68 6f 77 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 73 74 61 74 75 73 show>%s</show>\n"......."<status
2de0 3e 25 73 3c 2f 73 74 61 74 75 73 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 70 72 69 6f 72 69 74 79 >%s</status>\n"......."<priority
2e00 3e 39 3c 2f 70 72 69 6f 72 69 74 79 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 2f 70 72 65 73 65 6e >9</priority>\n"......."</presen
2e20 63 65 3e 5c 6e 22 2c 20 28 66 72 6f 6d 20 21 3d 20 6e 69 6c 29 20 3f 20 22 20 66 72 6f 6d 3d 5c ce>\n",.(from.!=.nil).?.".from=\
2e40 22 22 20 3a 20 22 22 2c 0a 09 09 09 09 09 09 09 09 09 09 20 28 66 72 6f 6d 20 21 3d 20 6e 69 6c "".:."",............(from.!=.nil
2e60 29 20 3f 20 66 72 6f 6d 20 3a 20 22 22 2c 0a 09 09 09 09 09 09 09 09 09 09 20 28 66 72 6f 6d 20 ).?.from.:."",............(from.
2e80 21 3d 20 6e 69 6c 29 20 3f 20 22 5c 22 22 20 3a 20 22 22 2c 0a 09 09 09 09 09 09 09 09 09 09 20 !=.nil).?."\"".:."",............
2ea0 28 74 6f 20 21 3d 20 6e 69 6c 29 20 3f 20 22 20 74 6f 3d 5c 22 22 20 3a 20 22 22 2c 0a 09 09 09 (to.!=.nil).?.".to=\"".:."",....
2ec0 09 09 09 09 09 09 09 20 28 74 6f 20 21 3d 20 6e 69 6c 29 20 3f 20 74 6f 20 3a 20 22 22 2c 0a 09 ........(to.!=.nil).?.to.:."",..
2ee0 09 09 09 09 09 09 09 09 09 20 28 74 6f 20 21 3d 20 6e 69 6c 29 20 3f 20 22 5c 22 22 20 3a 20 22 ..........(to.!=.nil).?."\"".:."
2f00 22 2c 20 0a 09 09 09 09 09 09 09 09 09 09 20 28 73 68 6f 77 20 21 3d 20 6e 69 6c 29 20 3f 20 73 ",.............(show.!=.nil).?.s
2f20 68 6f 77 20 3a 20 22 22 2c 0a 09 09 09 09 09 09 09 09 09 09 20 28 73 74 61 74 20 21 3d 20 6e 69 how.:."",............(stat.!=.ni
2f40 6c 29 20 3f 20 73 74 61 74 20 3a 20 22 22 29 3b 0a 7d 0a 0a 69 6e 74 0a 70 72 65 73 65 6e 63 65 l).?.stat.:."");.}..int.presence
2f60 74 79 70 65 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 66 72 6f 6d 2c 20 63 typejacc(int.sock,.char.*from,.c
2f80 68 61 72 20 2a 74 6f 2c 20 63 68 61 72 20 2a 74 79 70 65 29 0a 7b 0a 09 72 65 74 75 72 6e 20 66 har.*to,.char.*type).{..return.f
2fa0 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c 70 72 65 73 65 6e 63 65 20 74 79 70 65 3d 5c 22 25 73 print(sock,."<presence.type=\"%s
2fc0 5c 22 20 66 72 6f 6d 3d 5c 22 25 73 5c 22 20 74 6f 3d 5c 22 25 73 5c 22 2f 3e 5c 6e 22 2c 0a 09 \".from=\"%s\".to=\"%s\"/>\n",..
2fe0 09 09 09 09 09 74 79 70 65 2c 20 66 72 6f 6d 2c 20 74 6f 29 3b 0a 7d 0a 0a 69 6e 74 0a 72 6f 73 .....type,.from,.to);.}..int.ros
3000 74 65 72 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 29 0a 7b 0a 09 72 65 74 75 72 6e 20 66 70 72 69 terjacc(int.sock).{..return.fpri
3020 6e 74 28 73 6f 63 6b 2c 20 22 3c 69 71 20 74 79 70 65 3d 5c 22 67 65 74 5c 22 20 69 64 3d 5c 22 nt(sock,."<iq.type=\"get\".id=\"
3040 61 75 74 68 5f 32 5c 22 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 71 75 65 72 79 20 78 6d 6c 6e 73 auth_2\">\n"......."<query.xmlns
3060 3d 5c 22 6a 61 62 62 65 72 3a 69 71 3a 72 6f 73 74 65 72 5c 22 2f 3e 5c 6e 22 0a 09 09 09 09 09 =\"jabber:iq:roster\"/>\n"......
3080 09 22 3c 2f 69 71 3e 5c 6e 22 29 3b 0a 7d 0a 0a 69 6e 74 0a 6d 65 73 73 61 67 65 6a 61 63 63 28 ."</iq>\n");.}..int.messagejacc(
30a0 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 66 72 6f 6d 2c 20 63 68 61 72 20 2a 74 6f 2c 20 int.sock,.char.*from,.char.*to,.
30c0 63 68 61 72 20 2a 6d 73 67 2c 20 63 68 61 72 20 2a 74 79 70 65 29 0a 7b 0a 09 72 65 74 75 72 6e char.*msg,.char.*type).{..return
30e0 20 66 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c 6d 65 73 73 61 67 65 20 66 72 6f 6d 3d 5c 22 25 .fprint(sock,."<message.from=\"%
3100 73 5c 22 20 74 6f 3d 5c 22 25 73 5c 22 20 74 79 70 65 3d 5c 22 25 73 5c 22 3e 5c 6e 22 0a 09 09 s\".to=\"%s\".type=\"%s\">\n"...
3120 09 09 09 09 22 3c 62 6f 64 79 3e 25 73 3c 2f 62 6f 64 79 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c ...."<body>%s</body>\n"......."<
3140 2f 6d 65 73 73 61 67 65 3e 5c 6e 22 2c 20 66 72 6f 6d 2c 20 74 6f 2c 20 74 79 70 65 2c 20 6d 73 /message>\n",.from,.to,.type,.ms
3160 67 29 3b 0a 7d 0a 0a 69 6e 74 0a 61 64 64 62 75 64 64 79 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b g);.}..int.addbuddyjacc(int.sock
3180 2c 20 63 68 61 72 20 2a 6a 69 64 2c 20 63 68 61 72 20 2a 6e 61 2c 20 63 68 61 72 20 2a 67 72 6f ,.char.*jid,.char.*na,.char.*gro
31a0 75 70 29 0a 7b 0a 09 69 66 28 6e 61 20 3d 3d 20 6e 69 6c 29 7b 0a 09 09 6e 61 20 3d 20 6a 69 64 up).{..if(na.==.nil){...na.=.jid
31c0 3b 0a 09 09 6a 69 64 20 3d 20 73 74 72 63 68 72 28 6e 61 2c 20 27 40 27 29 3b 0a 09 0a 09 09 69 ;...jid.=.strchr(na,.'@');.....i
31e0 66 28 6a 69 64 20 3d 3d 20 6e 69 6c 29 0a 09 09 09 72 65 74 75 72 6e 20 2d 31 3b 0a 09 09 2a 6a f(jid.==.nil)....return.-1;...*j
3200 69 64 2b 2b 20 3d 20 27 5c 30 27 3b 0a 09 0a 09 09 72 65 74 75 72 6e 20 66 70 72 69 6e 74 28 73 id++.=.'\0';.....return.fprint(s
3220 6f 63 6b 2c 20 22 3c 69 71 20 74 79 70 65 3d 5c 22 73 65 74 5c 22 3e 5c 6e 22 0a 09 09 20 09 09 ock,."<iq.type=\"set\">\n"......
3240 09 20 22 3c 71 75 65 72 79 20 78 6d 6c 6e 73 3d 5c 22 6a 61 62 62 65 72 3a 69 71 3a 72 6f 73 74 .."<query.xmlns=\"jabber:iq:rost
3260 65 72 5c 22 3e 5c 6e 22 0a 09 09 09 09 09 20 22 3c 69 74 65 6d 20 6a 69 64 3d 5c 22 25 73 40 25 er\">\n"......."<item.jid=\"%s@%
3280 73 5c 22 20 6e 61 6d 65 3d 5c 22 25 73 5c 22 2f 3e 5c 6e 22 0a 09 09 09 09 09 20 22 25 73 25 73 s\".name=\"%s\"/>\n"......."%s%s
32a0 25 73 22 0a 09 09 09 09 09 20 22 3c 2f 71 75 65 72 79 3e 5c 6e 22 0a 09 09 09 09 09 20 22 3c 2f %s"......."</query>\n"......."</
32c0 69 71 3e 5c 6e 22 2c 20 6e 61 2c 20 6a 69 64 2c 20 6e 61 2c 0a 09 09 09 09 09 09 28 67 72 6f 75 iq>\n",.na,.jid,.na,.......(grou
32e0 70 20 21 3d 20 6e 69 6c 29 20 3f 20 22 3c 67 72 6f 75 70 3e 22 20 3a 20 22 22 2c 0a 09 09 09 09 p.!=.nil).?."<group>".:."",.....
3300 09 09 28 67 72 6f 75 70 20 21 3d 20 6e 69 6c 29 20 3f 20 67 72 6f 75 70 20 3a 20 22 22 2c 0a 09 ..(group.!=.nil).?.group.:."",..
3320 09 09 09 09 09 28 67 72 6f 75 70 20 21 3d 20 6e 69 6c 29 20 3f 20 22 3c 2f 67 72 6f 75 70 3e 5c .....(group.!=.nil).?."</group>\
3340 6e 22 20 3a 20 22 22 29 3b 0a 09 7d 0a 09 09 0a 09 72 65 74 75 72 6e 20 66 70 72 69 6e 74 28 73 n".:."");..}.....return.fprint(s
3360 6f 63 6b 2c 20 22 3c 69 71 20 74 79 70 65 3d 5c 22 73 65 74 5c 22 3e 5c 6e 22 0a 09 09 20 09 09 ock,."<iq.type=\"set\">\n"......
3380 20 22 3c 71 75 65 72 79 20 78 6d 6c 6e 73 3d 5c 22 6a 61 62 62 65 72 3a 69 71 3a 72 6f 73 74 65 ."<query.xmlns=\"jabber:iq:roste
33a0 72 5c 22 3e 5c 6e 22 0a 09 09 09 09 20 22 3c 69 74 65 6d 20 6a 69 64 3d 5c 22 25 73 5c 22 20 6e r\">\n"......"<item.jid=\"%s\".n
33c0 61 6d 65 3d 5c 22 25 73 5c 22 2f 3e 5c 6e 22 0a 09 09 09 09 20 22 25 73 25 73 25 73 22 0a 09 09 ame=\"%s\"/>\n"......"%s%s%s"...
33e0 09 09 20 22 3c 2f 71 75 65 72 79 3e 5c 6e 22 0a 09 09 09 09 20 22 3c 2f 69 71 3e 5c 6e 22 2c 20 ..."</query>\n"......"</iq>\n",.
3400 6a 69 64 2c 20 6e 61 2c 0a 09 09 09 09 09 09 28 67 72 6f 75 70 20 21 3d 20 6e 69 6c 29 20 3f 20 jid,.na,.......(group.!=.nil).?.
3420 22 3c 67 72 6f 75 70 3e 22 20 3a 20 22 22 2c 0a 09 09 09 09 09 09 28 67 72 6f 75 70 20 21 3d 20 "<group>".:."",.......(group.!=.
3440 6e 69 6c 29 20 3f 20 67 72 6f 75 70 20 3a 20 22 22 2c 0a 09 09 09 09 09 09 28 67 72 6f 75 70 20 nil).?.group.:."",.......(group.
3460 21 3d 20 6e 69 6c 29 20 3f 20 22 3c 2f 67 72 6f 75 70 3e 5c 6e 22 20 3a 20 22 22 29 3b 0a 7d 0a !=.nil).?."</group>\n".:."");.}.
3480 0a 69 6e 74 0a 64 65 6c 62 75 64 64 79 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 .int.delbuddyjacc(int.sock,.char
34a0 20 2a 6a 69 64 29 0a 7b 0a 09 72 65 74 75 72 6e 20 66 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c .*jid).{..return.fprint(sock,."<
34c0 69 71 20 74 79 70 65 3d 5c 22 73 65 74 5c 22 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 71 75 65 72 iq.type=\"set\">\n"......."<quer
34e0 79 20 78 6d 6c 6e 73 3d 5c 22 6a 61 62 62 65 72 3a 69 71 3a 72 6f 73 74 65 72 5c 22 3e 5c 6e 22 y.xmlns=\"jabber:iq:roster\">\n"
3500 0a 09 09 09 09 09 09 22 3c 69 74 65 6d 20 6a 69 64 3d 5c 22 25 73 5c 22 20 73 75 62 73 63 72 69 ......."<item.jid=\"%s\".subscri
3520 70 74 69 6f 6e 3d 5c 22 72 65 6d 6f 76 65 5c 22 2f 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 2f 71 ption=\"remove\"/>\n"......."</q
3540 75 65 72 79 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 2f 69 71 3e 5c 6e 22 2c 20 6a 69 64 29 3b 0a uery>\n"......."</iq>\n",.jid);.
3560 7d 0a 0a 69 6e 74 0a 78 6d 6c 6e 73 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 }..int.xmlnsjacc(int.sock,.char.
3580 2a 77 68 6f 2c 20 63 68 61 72 20 2a 74 2c 20 63 68 61 72 20 2a 69 64 29 0a 7b 0a 09 72 65 74 75 *who,.char.*t,.char.*id).{..retu
35a0 72 6e 20 66 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c 69 71 20 74 79 70 65 3d 5c 22 67 65 74 5c rn.fprint(sock,."<iq.type=\"get\
35c0 22 20 74 6f 3d 5c 22 25 73 5c 22 20 69 64 3d 5c 22 25 73 5c 22 3e 5c 6e 22 0a 09 09 09 09 09 09 ".to=\"%s\".id=\"%s\">\n".......
35e0 22 3c 71 75 65 72 79 20 78 6d 6c 6e 73 3d 5c 22 25 73 5c 22 2f 3e 5c 6e 22 0a 09 09 09 09 09 09 "<query.xmlns=\"%s\"/>\n".......
3600 22 3c 2f 69 71 3e 5c 6e 22 2c 20 77 68 6f 2c 20 69 64 2c 20 74 29 3b 0a 7d 0a 0a 76 6f 69 64 0a "</iq>\n",.who,.id,.t);.}..void.
3620 70 72 69 6e 74 72 6f 73 74 65 72 6e 28 72 6f 73 74 65 72 6e 20 2a 72 2c 20 63 68 61 72 20 2a 77 printrostern(rostern.*r,.char.*w
3640 29 0a 7b 0a 09 63 68 61 72 20 2a 74 6d 73 74 6d 70 3b 0a 0a 09 74 6d 73 74 6d 70 20 3d 20 6d 6b ).{..char.*tmstmp;...tmstmp.=.mk
3660 74 6d 73 74 6d 70 28 27 28 27 2c 20 27 29 27 29 3b 0a 09 77 68 69 6c 65 28 72 20 21 3d 20 6e 69 tmstmp('(',.')');..while(r.!=.ni
3680 6c 29 7b 0a 09 09 69 66 28 77 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 69 66 28 72 2d 3e 73 74 61 l){...if(w.!=.nil){....if(r->sta
36a0 74 75 73 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 72 2d 3e 73 74 tus.!=.nil).....if(!strcmp(r->st
36c0 61 74 75 73 2c 20 77 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 67 6f 74 5f 6f 6e 65 3b 0a 09 09 09 atus,.w))......goto.got_one;....
36e0 69 66 28 72 2d 3e 6e 61 6d 65 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d if(r->name.!=.nil).....if(!strcm
3700 70 28 72 2d 3e 6e 61 6d 65 2c 20 77 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 67 6f 74 5f 6f 6e 65 p(r->name,.w))......goto.got_one
3720 3b 0a 09 09 09 69 66 28 72 2d 3e 6a 69 64 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 69 66 28 21 73 ;....if(r->jid.!=.nil).....if(!s
3740 74 72 63 6d 70 28 72 2d 3e 6a 69 64 2c 20 77 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 67 6f 74 5f trcmp(r->jid,.w))......goto.got_
3760 6f 6e 65 3b 0a 09 09 09 69 66 28 72 2d 3e 73 68 6f 77 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 69 one;....if(r->show.!=.nil).....i
3780 66 28 21 73 74 72 63 6d 70 28 72 2d 3e 73 68 6f 77 2c 20 77 29 29 0a 09 09 09 09 09 67 6f 74 6f f(!strcmp(r->show,.w))......goto
37a0 20 67 6f 74 5f 6f 6e 65 3b 0a 09 09 09 69 66 28 72 2d 3e 67 72 6f 75 70 20 21 3d 20 6e 69 6c 29 .got_one;....if(r->group.!=.nil)
37c0 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 72 2d 3e 67 72 6f 75 70 2c 20 77 29 29 0a 09 09 .....if(!strcmp(r->group,.w))...
37e0 09 09 09 67 6f 74 6f 20 67 6f 74 5f 6f 6e 65 3b 0a 09 09 7d 20 65 6c 73 65 20 7b 0a 67 6f 74 5f ...goto.got_one;...}.else.{.got_
3800 6f 6e 65 3a 0a 09 09 09 70 72 69 6e 74 28 22 25 73 25 73 2f 25 73 20 6f 6e 20 25 73 20 2d 3e 20 one:....print("%s%s/%s.on.%s.->.
3820 25 73 2f 25 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 72 2d 3e 6e 61 6d 65 2c 20 72 2d 3e 6a 69 %s/%s\n",.tmstmp,.r->name,.r->ji
3840 64 2c 20 72 2d 3e 67 72 6f 75 70 2c 20 72 2d 3e 73 68 6f 77 2c 20 72 2d 3e 73 74 61 74 75 73 29 d,.r->group,.r->show,.r->status)
3860 3b 09 0a 09 09 7d 0a 0a 09 09 72 20 3d 20 72 2d 3e 6e 3b 0a 09 7d 0a 0a 09 72 65 74 75 72 6e 3b ;....}....r.=.r->n;..}...return;
3880 0a 7d 0a 0a 76 6f 69 64 0a 75 73 61 67 65 28 76 6f 69 64 29 0a 7b 0a 09 70 72 69 6e 74 28 22 75 .}..void.usage(void).{..print("u
38a0 73 61 67 65 3a 20 5b 2d 64 67 69 74 5d 20 5b 2d 72 20 72 65 73 5d 20 5b 2d 73 20 74 6f 73 72 76 sage:.[-dgit].[-r.res].[-s.tosrv
38c0 5d 20 5b 6e 65 74 21 5d 73 65 72 76 65 72 5b 21 70 6f 72 74 5d 5c 6e 22 29 3b 0a 09 65 78 69 74 ].[net!]server[!port]\n");..exit
38e0 73 28 30 29 3b 0a 7d 0a 0a 76 6f 69 64 20 61 64 6d 69 6e 20 28 69 6e 74 20 73 6f 63 6b 2c 20 63 s(0);.}..void.admin.(int.sock,.c
3900 68 61 72 20 2a 69 64 2c 20 63 68 61 72 20 2a 72 6f 6f 6d 2c 20 63 68 61 72 20 2a 69 74 65 6d 29 har.*id,.char.*room,.char.*item)
3920 0a 7b 0a 09 66 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c 69 71 20 69 64 3d 5c 22 25 73 5c 22 20 .{..fprint(sock,."<iq.id=\"%s\".
3940 74 6f 3d 5c 22 25 73 5c 22 20 74 79 70 65 3d 5c 22 73 65 74 5c 22 3e 3c 71 75 65 72 79 20 78 6d to=\"%s\".type=\"set\"><query.xm
3960 6c 6e 73 3d 5c 22 68 74 74 70 3a 2f 2f 6a 61 62 62 65 72 2e 6f 72 67 2f 70 72 6f 74 6f 63 6f 6c lns=\"http://jabber.org/protocol
3980 2f 6d 75 63 23 61 64 6d 69 6e 5c 22 3e 3c 69 74 65 6d 20 25 73 20 2f 3e 3c 2f 71 75 65 72 79 3e /muc#admin\"><item.%s./></query>
39a0 3c 2f 69 71 3e 22 2c 20 20 69 64 2c 20 72 6f 6f 6d 2c 20 69 74 65 6d 29 3b 0a 7d 0a 0a 0a 0a 69 </iq>",..id,.room,.item);.}....i
39c0 6e 74 0a 6d 61 69 6e 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 61 72 67 76 5b 5d 29 0a nt.main(int.argc,.char.*argv[]).
39e0 7b 0a 09 63 68 61 72 20 2a 73 65 72 76 65 72 2c 20 2a 75 73 65 72 2c 20 2a 6c 62 6c 2c 20 2a 62 {..char.*server,.*user,.*lbl,.*b
3a00 2c 20 2a 74 6d 73 74 6d 70 2c 20 2a 62 75 66 2c 20 2a 74 6f 73 65 72 76 65 72 2c 20 2a 72 6f 6c ,.*tmstmp,.*buf,.*toserver,.*rol
3a20 65 2c 20 2a 74 6d 70 3b 0a 09 69 6e 74 20 73 6f 63 6b 2c 20 74 73 2c 20 72 65 67 2c 20 64 65 62 e,.*tmp;..int.sock,.ts,.reg,.deb
3a40 75 67 2c 20 74 6c 73 3b 0a 09 55 73 65 72 50 61 73 73 77 64 20 2a 69 3b 0a 09 54 4c 53 63 6f 6e ug,.tls;..UserPasswd.*i;..TLScon
3a60 6e 20 63 6f 6e 6e 3b 0a 09 6a 61 62 62 65 72 63 20 2a 6d 65 3b 0a 0a 09 74 6c 73 20 3d 20 30 3b n.conn;..jabberc.*me;...tls.=.0;
3a80 0a 09 62 20 3d 20 6e 69 6c 3b 0a 09 72 65 67 20 3d 20 30 3b 0a 09 64 65 62 75 67 20 3d 20 30 3b ..b.=.nil;..reg.=.0;..debug.=.0;
3aa0 0a 09 74 6f 73 65 72 76 65 72 20 3d 20 6e 69 6c 3b 0a 0a 09 41 52 47 42 45 47 49 4e 20 7b 0a 09 ..toserver.=.nil;...ARGBEGIN.{..
3ac0 63 61 73 65 20 27 74 27 3a 0a 09 09 74 6c 73 20 3d 20 31 3b 0a 09 09 62 72 65 61 6b 3b 0a 09 63 case.'t':...tls.=.1;...break;..c
3ae0 61 73 65 20 27 72 27 3a 0a 09 09 62 20 3d 20 45 41 52 47 46 28 75 73 61 67 65 28 29 29 3b 0a 09 ase.'r':...b.=.EARGF(usage());..
3b00 09 62 72 65 61 6b 3b 0a 09 63 61 73 65 20 27 67 27 3a 0a 09 09 72 65 67 20 3d 20 31 3b 0a 09 09 .break;..case.'g':...reg.=.1;...
3b20 62 72 65 61 6b 3b 0a 09 63 61 73 65 20 27 64 27 3a 0a 09 09 64 65 62 75 67 20 3d 20 31 3b 0a 09 break;..case.'d':...debug.=.1;..
3b40 09 62 72 65 61 6b 3b 0a 09 63 61 73 65 20 27 69 27 3a 0a 09 09 64 6f 69 67 6e 6f 72 65 20 3d 20 .break;..case.'i':...doignore.=.
3b60 31 3b 0a 09 09 62 72 65 61 6b 3b 0a 09 63 61 73 65 20 27 73 27 3a 0a 09 09 74 6f 73 65 72 76 65 1;...break;..case.'s':...toserve
3b80 72 20 3d 20 45 41 52 47 46 28 75 73 61 67 65 28 29 29 3b 0a 09 09 62 72 65 61 6b 3b 0a 09 64 65 r.=.EARGF(usage());...break;..de
3ba0 66 61 75 6c 74 3a 0a 09 09 75 73 61 67 65 28 29 3b 0a 09 7d 20 41 52 47 45 4e 44 3b 0a 0a 09 69 fault:...usage();..}.ARGEND;...i
3bc0 66 28 61 72 67 63 20 3c 20 31 29 0a 09 09 75 73 61 67 65 28 29 3b 0a 09 73 65 72 76 65 72 20 3d f(argc.<.1)...usage();..server.=
3be0 20 73 74 72 64 75 70 28 61 72 67 76 5b 30 5d 29 3b 0a 0a 09 6c 62 6c 20 3d 20 67 65 74 77 69 6e .strdup(argv[0]);...lbl.=.getwin
3c00 64 6f 77 6c 62 6c 28 29 3b 0a 09 75 73 65 72 20 3d 20 72 65 61 6c 6c 6f 63 6a 28 6e 69 6c 2c 20 dowlbl();..user.=.reallocj(nil,.
3c20 73 74 72 6c 65 6e 28 73 65 72 76 65 72 29 20 2b 20 39 2c 20 32 29 3b 0a 09 73 6e 70 72 69 6e 74 strlen(server).+.9,.2);..snprint
3c40 28 75 73 65 72 2c 20 73 74 72 6c 65 6e 28 73 65 72 76 65 72 29 20 2b 20 38 2c 20 22 6a 61 63 63 (user,.strlen(server).+.8,."jacc
3c60 20 2d 20 25 73 22 2c 20 73 65 72 76 65 72 29 3b 0a 09 73 65 74 77 69 6e 64 6f 77 6c 62 6c 28 75 .-.%s",.server);..setwindowlbl(u
3c80 73 65 72 29 3b 0a 09 66 72 65 65 28 75 73 65 72 29 3b 0a 0a 09 69 20 3d 20 61 75 74 68 5f 67 65 ser);..free(user);...i.=.auth_ge
3ca0 74 75 73 65 72 70 61 73 73 77 64 28 61 75 74 68 5f 67 65 74 6b 65 79 2c 20 22 70 72 6f 74 6f 3d tuserpasswd(auth_getkey,."proto=
3cc0 70 61 73 73 20 73 65 72 76 65 72 3d 25 73 20 73 65 72 76 69 63 65 3d 6a 61 62 62 65 72 22 2c 20 pass.server=%s.service=jabber",.
3ce0 73 65 72 76 65 72 29 3b 0a 09 69 66 28 69 20 3d 3d 20 6e 69 6c 29 0a 09 09 73 79 73 66 61 74 61 server);..if(i.==.nil)...sysfata
3d00 6c 28 22 61 75 74 68 5f 67 65 74 75 73 65 72 70 61 73 73 77 64 3a 20 25 72 22 29 3b 0a 0a 09 73 l("auth_getuserpasswd:.%r");...s
3d20 6f 63 6b 20 3d 20 64 69 61 6c 28 6e 65 74 6d 6b 61 64 64 72 28 73 65 72 76 65 72 2c 20 22 74 63 ock.=.dial(netmkaddr(server,."tc
3d40 70 22 2c 20 74 6c 73 20 3f 20 22 35 32 32 33 22 20 3a 20 22 35 32 32 32 22 29 2c 20 30 2c 20 30 p",.tls.?."5223".:."5222"),.0,.0
3d60 2c 20 30 29 3b 0a 09 69 66 28 73 6f 63 6b 20 3c 20 30 29 0a 09 09 73 79 73 66 61 74 61 6c 28 22 ,.0);..if(sock.<.0)...sysfatal("
3d80 64 69 61 6c 3a 20 25 72 22 29 3b 0a 0a 09 69 66 28 74 6c 73 29 7b 0a 09 09 74 73 20 3d 20 74 6c dial:.%r");...if(tls){...ts.=.tl
3da0 73 43 6c 69 65 6e 74 28 73 6f 63 6b 2c 20 26 63 6f 6e 6e 29 3b 0a 09 09 69 66 28 74 73 20 3c 20 sClient(sock,.&conn);...if(ts.<.
3dc0 30 29 0a 09 09 09 73 79 73 66 61 74 61 6c 28 22 74 6c 73 43 6c 69 65 6e 74 3a 20 25 72 22 29 3b 0)....sysfatal("tlsClient:.%r");
3de0 0a 09 09 73 6f 63 6b 20 3d 20 74 73 3b 0a 0a 09 09 69 66 28 63 6f 6e 6e 2e 63 65 72 74 20 21 3d ...sock.=.ts;....if(conn.cert.!=
3e00 20 6e 69 6c 29 0a 09 09 09 66 72 65 65 28 63 6f 6e 6e 2e 63 65 72 74 29 3b 0a 09 7d 0a 0a 09 62 .nil)....free(conn.cert);..}...b
3e20 75 66 20 3d 20 73 74 72 63 68 72 28 73 65 72 76 65 72 2c 20 27 21 27 29 3b 0a 09 69 66 28 62 75 uf.=.strchr(server,.'!');..if(bu
3e40 66 20 21 3d 20 6e 69 6c 29 20 7b 0a 09 09 2a 62 75 66 2b 2b 20 3d 20 27 5c 30 27 3b 0a 09 09 75 f.!=.nil).{...*buf++.=.'\0';...u
3e60 73 65 72 20 3d 20 73 74 72 63 68 72 28 62 75 66 2c 20 27 21 27 29 3b 0a 09 09 69 66 28 75 73 65 ser.=.strchr(buf,.'!');...if(use
3e80 72 20 21 3d 20 6e 69 6c 29 0a 09 09 09 2a 75 73 65 72 20 3d 20 27 5c 30 27 3b 0a 09 09 75 73 65 r.!=.nil)....*user.=.'\0';...use
3ea0 72 20 3d 20 73 74 72 64 75 70 28 62 75 66 29 3b 0a 09 09 66 72 65 65 28 73 65 72 76 65 72 29 3b r.=.strdup(buf);...free(server);
3ec0 0a 09 09 73 65 72 76 65 72 20 3d 20 75 73 65 72 3b 0a 09 7d 0a 0a 09 69 66 28 74 6f 73 65 72 76 ...server.=.user;..}...if(toserv
3ee0 65 72 20 3d 3d 20 6e 69 6c 29 0a 09 09 74 6f 73 65 72 76 65 72 20 3d 20 73 65 72 76 65 72 3b 0a er.==.nil)...toserver.=.server;.
3f00 0a 09 6d 65 20 3d 20 6d 6b 6a 61 62 62 65 72 63 28 29 3b 0a 09 6d 65 2d 3e 73 68 6f 77 20 3d 20 ..me.=.mkjabberc();..me->show.=.
3f20 73 74 72 64 75 70 28 22 4f 6e 6c 69 6e 65 22 29 3b 0a 09 6d 65 2d 3e 73 74 61 74 20 3d 20 73 74 strdup("Online");..me->stat.=.st
3f40 72 64 75 70 28 22 4f 6e 6c 69 6e 65 22 29 3b 0a 09 6d 65 2d 3e 6e 61 6d 65 20 3d 20 73 74 72 64 rdup("Online");..me->name.=.strd
3f60 75 70 28 69 2d 3e 75 73 65 72 29 3b 0a 09 6d 65 2d 3e 73 65 72 76 20 3d 20 73 74 72 64 75 70 28 up(i->user);..me->serv.=.strdup(
3f80 74 6f 73 65 72 76 65 72 29 3b 0a 0a 09 69 66 28 62 20 21 3d 20 6e 69 6c 29 0a 09 09 6d 65 2d 3e toserver);...if(b.!=.nil)...me->
3fa0 72 65 73 6f 20 3d 20 73 74 72 64 75 70 28 62 29 3b 0a 09 65 6c 73 65 0a 09 09 6d 65 2d 3e 72 65 reso.=.strdup(b);..else...me->re
3fc0 73 6f 20 3d 20 73 74 72 64 75 70 28 22 50 6c 61 6e 39 22 29 3b 0a 09 6d 65 2d 3e 6a 69 64 20 3d so.=.strdup("Plan9");..me->jid.=
3fe0 20 70 72 69 6e 74 6a 69 64 28 6d 65 2d 3e 6e 61 6d 65 2c 20 6d 65 2d 3e 73 65 72 76 2c 20 6d 65 .printjid(me->name,.me->serv,.me
4000 2d 3e 72 65 73 6f 29 3b 0a 09 6d 65 2d 3e 64 65 62 75 67 20 3d 20 64 65 62 75 67 3b 0a 09 6d 65 ->reso);..me->debug.=.debug;..me
4020 2d 3e 72 65 67 20 3d 20 72 65 67 3b 0a 09 6d 65 2d 3e 6c 61 73 74 20 3d 20 74 69 6d 65 28 30 29 ->reg.=.reg;..me->last.=.time(0)
4040 3b 0a 0a 09 66 72 65 65 28 73 65 72 76 65 72 29 3b 0a 0a 09 74 73 20 3d 20 67 65 74 70 69 64 28 ;...free(server);...ts.=.getpid(
4060 29 3b 0a 0a 23 69 66 64 65 66 20 50 4c 41 4e 39 50 4f 52 54 0a 09 73 77 69 74 63 68 28 66 6f 72 );..#ifdef.PLAN9PORT..switch(for
4080 6b 28 29 29 20 7b 0a 23 65 6e 64 69 66 0a 23 69 66 6e 64 65 66 20 50 4c 41 4e 39 50 4f 52 54 0a k()).{.#endif.#ifndef.PLAN9PORT.
40a0 09 73 77 69 74 63 68 28 72 66 6f 72 6b 28 52 46 50 52 4f 43 7c 52 46 46 44 47 7c 52 46 4d 45 4d .switch(rfork(RFPROC|RFFDG|RFMEM
40c0 29 29 20 7b 0a 23 65 6e 64 69 66 0a 09 63 61 73 65 20 2d 31 3a 0a 09 09 73 79 73 66 61 74 61 6c )).{.#endif..case.-1:...sysfatal
40e0 28 22 66 6f 72 6b 3a 20 25 72 22 29 3b 0a 09 63 61 73 65 20 30 3a 0a 09 09 69 66 28 72 65 63 76 ("fork:.%r");..case.0:...if(recv
4100 6a 61 63 63 28 73 6f 63 6b 2c 20 6d 65 2c 20 69 2d 3e 70 61 73 73 77 64 29 20 3c 20 30 29 0a 09 jacc(sock,.me,.i->passwd).<.0)..
4120 09 09 70 65 72 72 6f 72 28 22 72 65 63 76 6a 61 63 63 22 29 3b 0a 0a 09 09 69 66 28 6c 62 6c 20 ..perror("recvjacc");....if(lbl.
4140 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 73 65 74 77 69 6e 64 6f 77 6c 62 6c 28 6c 62 6c 29 3b 0a 09 !=.nil){....setwindowlbl(lbl);..
4160 09 09 6c 62 6c 20 3d 20 6e 69 6c 3b 0a 09 09 09 66 72 65 65 28 6c 62 6c 29 3b 0a 09 09 7d 0a 09 ..lbl.=.nil;....free(lbl);...}..
4180 09 6b 69 6c 6c 70 72 6f 63 28 74 73 29 3b 0a 09 09 65 78 69 74 73 28 30 29 3b 0a 09 64 65 66 61 .killproc(ts);...exits(0);..defa
41a0 75 6c 74 3a 0a 09 09 75 73 65 72 20 3d 20 72 65 61 6c 6c 6f 63 6a 28 6e 69 6c 2c 20 31 30 32 35 ult:...user.=.reallocj(nil,.1025
41c0 2c 20 32 29 3b 0a 09 09 62 75 66 20 3d 20 6e 69 6c 3b 0a 09 09 77 68 69 6c 65 28 73 6f 63 6b 20 ,.2);...buf.=.nil;...while(sock.
41e0 3e 20 30 20 26 26 20 75 73 65 72 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 74 73 20 3d 20 2d 31 3b >.0.&&.user.!=.nil){....ts.=.-1;
4200 0a 09 09 09 6d 65 6d 73 65 74 28 75 73 65 72 2c 20 30 2c 20 31 30 32 35 29 3b 0a 0a 09 09 09 77 ....memset(user,.0,.1025);.....w
4220 68 69 6c 65 28 72 65 61 64 28 30 2c 20 26 75 73 65 72 5b 2b 2b 74 73 5d 2c 20 31 29 20 26 26 20 hile(read(0,.&user[++ts],.1).&&.
4240 74 73 20 3c 20 31 30 32 34 20 26 26 20 73 6f 63 6b 20 3e 20 30 29 0a 09 09 09 09 69 66 28 75 73 ts.<.1024.&&.sock.>.0).....if(us
4260 65 72 5b 74 73 5d 20 3d 3d 20 27 5c 6e 27 29 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 75 er[ts].==.'\n')......break;....u
4280 73 65 72 5b 74 73 5d 20 3d 20 27 5c 30 27 3b 0a 09 09 09 6d 65 2d 3e 6c 61 73 74 20 3d 20 74 69 ser[ts].=.'\0';....me->last.=.ti
42a0 6d 65 28 30 29 3b 0a 0a 09 09 09 74 6d 73 74 6d 70 20 3d 20 6d 6b 74 6d 73 74 6d 70 28 27 28 27 me(0);.....tmstmp.=.mktmstmp('('
42c0 2c 20 27 29 27 29 3b 0a 09 09 09 69 66 28 75 73 65 72 5b 30 5d 20 21 3d 20 27 2f 27 29 7b 0a 09 ,.')');....if(user[0].!=.'/'){..
42e0 09 09 09 69 66 28 62 75 66 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 62 20 3d 20 66 69 6c 74 ...if(buf.!=.nil){......b.=.filt
4300 65 72 68 69 6e 28 75 73 65 72 2c 20 30 29 3b 0a 09 09 09 09 09 6d 65 73 73 61 67 65 6a 61 63 63 erhin(user,.0);......messagejacc
4320 28 73 6f 63 6b 2c 20 6d 65 2d 3e 6a 69 64 2c 20 62 75 66 2c 20 62 2c 20 22 63 68 61 74 22 29 3b (sock,.me->jid,.buf,.b,."chat");
4340 0a 09 09 09 09 09 70 72 69 6e 74 28 22 25 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 ......print("%s\n",.tmstmp);....
4360 09 09 66 72 65 65 28 62 29 3b 0a 09 09 09 09 7d 0a 09 09 09 09 66 72 65 65 28 74 6d 73 74 6d 70 ..free(b);.....}.....free(tmstmp
4380 29 3b 0a 09 09 09 09 63 6f 6e 74 69 6e 75 65 3b 0a 09 09 09 7d 0a 09 09 09 69 66 20 28 75 73 65 );.....continue;....}....if.(use
43a0 72 5b 31 5d 20 3d 3d 20 27 78 27 29 7b 0a 09 09 09 09 62 20 3d 20 67 65 74 61 72 67 28 75 73 65 r[1].==.'x'){.....b.=.getarg(use
43c0 72 2c 20 31 2c 20 30 29 3b 0a 09 09 09 09 69 66 28 62 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 r,.1,.0);.....if(b.!=.nil){.....
43e0 09 69 66 20 28 73 74 72 63 6d 70 28 62 2c 20 22 6a 6f 69 6e 22 29 20 3d 3d 20 30 29 7b 0a 09 09 .if.(strcmp(b,."join").==.0){...
4400 09 09 09 09 66 72 65 65 28 62 29 3b 0a 0a 09 09 09 09 09 09 73 65 72 76 65 72 20 3d 20 67 65 74 ....free(b);........server.=.get
4420 61 72 67 28 75 73 65 72 2c 20 32 2c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 arg(user,.2,.0);................
4440 20 20 0a 09 09 09 09 09 09 69 66 28 73 65 72 76 65 72 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 .........if(server.!=.nil){.....
4460 09 09 09 62 20 3d 20 67 65 74 61 72 67 28 75 73 65 72 2c 20 33 2c 20 30 29 3b 20 20 20 20 20 20 ...b.=.getarg(user,.3,.0);......
4480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 09 09 09 09 09 09 09 69 66 28 62 20 ...........................if(b.
44a0 3d 3d 20 6e 69 6c 29 0a 09 09 09 09 09 09 09 09 62 20 3d 20 73 74 72 64 75 70 28 6d 65 2d 3e 6e ==.nil).........b.=.strdup(me->n
44c0 61 6d 65 29 3b 0a 0a 09 09 09 09 09 09 09 66 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c 70 72 65 ame);.........fprint(sock,."<pre
44e0 73 65 6e 63 65 20 74 6f 3d 5c 22 25 73 2f 25 73 5c 22 2f 3e 22 2c 20 20 73 65 72 76 65 72 2c 20 sence.to=\"%s/%s\"/>",..server,.
4500 62 29 3b 0a 09 09 09 09 09 09 09 66 72 65 65 20 28 73 65 72 76 65 72 29 3b 0a 09 09 09 09 09 09 b);........free.(server);.......
4520 09 66 72 65 65 28 62 29 3b 0a 09 09 09 09 09 09 7d 0a 09 09 09 09 09 7d 20 0a 09 09 09 09 09 65 .free(b);.......}......}.......e
4540 6c 73 65 0a 09 09 09 09 09 69 66 20 28 73 74 72 63 6d 70 28 62 2c 20 22 6c 65 61 76 65 22 29 20 lse......if.(strcmp(b,."leave").
4560 3d 3d 20 30 29 7b 0a 09 09 09 09 09 09 66 72 65 65 28 62 29 3b 09 09 09 09 0a 09 09 09 09 09 09 ==.0){.......free(b);...........
4580 73 65 72 76 65 72 20 3d 20 67 65 74 61 72 67 28 75 73 65 72 2c 20 32 2c 20 30 29 3b 20 0a 09 09 server.=.getarg(user,.2,.0);....
45a0 09 09 09 09 69 66 28 73 65 72 76 65 72 20 21 3d 20 6e 69 6c 29 20 7b 0a 09 09 09 09 09 09 09 66 ....if(server.!=.nil).{........f
45c0 70 72 69 6e 74 28 73 6f 63 6b 2c 0a 09 09 09 09 09 09 09 09 22 3c 70 72 65 73 65 6e 63 65 20 74 print(sock,........."<presence.t
45e0 6f 3d 27 25 73 27 20 74 79 70 65 3d 27 75 6e 61 76 61 69 6c 61 62 6c 65 27 2f 3e 22 2c 20 20 73 o='%s'.type='unavailable'/>",..s
4600 65 72 76 65 72 29 3b 0a 09 09 09 09 09 09 09 66 72 65 65 20 28 73 65 72 76 65 72 29 3b 0a 09 09 erver);........free.(server);...
4620 09 09 09 09 7d 0a 09 09 09 09 09 09 09 09 09 09 09 0a 09 09 09 09 09 7d 0a 09 09 09 09 09 65 6c ....}..................}......el
4640 73 65 0a 09 09 09 09 09 69 66 20 28 73 74 72 63 6d 70 28 62 2c 20 22 73 61 79 22 29 20 3d 3d 20 se......if.(strcmp(b,."say").==.
4660 30 29 7b 0a 09 09 09 09 09 09 66 72 65 65 28 62 29 3b 0a 09 09 09 09 09 09 73 65 72 76 65 72 20 0){.......free(b);.......server.
4680 3d 20 67 65 74 61 72 67 28 75 73 65 72 2c 20 32 2c 20 30 29 3b 20 20 20 20 20 20 20 20 20 20 20 =.getarg(user,.2,.0);...........
46a0 20 20 20 20 20 20 20 20 20 0a 09 09 09 09 09 09 69 66 28 73 65 72 76 65 72 20 21 3d 20 6e 69 6c ................if(server.!=.nil
46c0 29 7b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ){..............................
46e0 20 0a 09 09 09 09 09 09 09 62 20 3d 20 67 65 74 61 72 67 28 75 73 65 72 2c 20 33 2c 20 32 29 3b .........b.=.getarg(user,.3,.2);
4700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 09 09 09 09 09 09 ................................
4720 09 69 66 28 62 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 09 09 09 6d 65 73 73 61 67 65 6a 61 .if(b.!=.nil){.........messageja
4740 63 63 28 73 6f 63 6b 2c 0a 09 09 09 09 09 09 09 09 09 20 09 6d 65 2d 3e 6a 69 64 2c 20 73 65 72 cc(sock,............me->jid,.ser
4760 76 65 72 2c 20 62 2c 20 22 67 72 6f 75 70 63 68 61 74 22 29 3b 0a 09 09 09 09 09 09 09 09 66 72 ver,.b,."groupchat");.........fr
4780 65 65 28 62 29 3b 09 09 0a 09 09 09 09 09 09 09 7d 0a 09 09 09 09 09 09 09 66 72 65 65 28 73 65 ee(b);..........}........free(se
47a0 72 76 65 72 29 3b 0a 09 09 09 09 09 09 7d 0a 09 09 09 09 09 7d 0a 09 09 09 09 09 65 6c 73 65 0a rver);.......}......}......else.
47c0 09 09 09 09 09 69 66 20 28 73 74 72 63 6d 70 28 62 2c 20 22 70 72 69 76 22 29 20 3d 3d 20 30 29 .....if.(strcmp(b,."priv").==.0)
47e0 7b 0a 09 09 09 09 09 09 66 72 65 65 28 62 29 3b 0a 09 09 09 09 09 09 73 65 72 76 65 72 20 3d 20 {.......free(b);.......server.=.
4800 67 65 74 61 72 67 28 75 73 65 72 2c 20 32 2c 20 30 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 getarg(user,.2,.0);.............
4820 20 20 20 20 20 20 20 0a 09 09 09 09 09 09 69 66 28 73 65 72 76 65 72 20 21 3d 20 6e 69 6c 29 7b ..............if(server.!=.nil){
4840 0a 09 09 09 09 09 09 09 72 6f 6c 65 20 3d 20 67 65 74 61 72 67 28 75 73 65 72 2c 20 33 2c 20 30 ........role.=.getarg(user,.3,.0
4860 29 3b 0a 09 09 09 09 09 09 09 69 66 28 72 6f 6c 65 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 );........if(role.!=.nil){......
4880 09 09 09 62 20 3d 20 67 65 74 61 72 67 28 75 73 65 72 2c 20 34 2c 20 32 29 3b 0a 09 09 09 09 09 ...b.=.getarg(user,.4,.2);......
48a0 09 09 09 69 66 28 62 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 09 09 09 09 74 6d 70 20 3d 20 ...if(b.!=.nil){..........tmp.=.
48c0 73 65 72 76 65 72 3b 0a 09 09 09 09 09 09 09 09 09 73 65 72 76 65 72 20 3d 20 73 6d 70 72 69 6e server;..........server.=.smprin
48e0 74 28 22 25 73 2f 25 73 22 2c 20 73 65 72 76 65 72 2c 20 72 6f 6c 65 29 3b 0a 09 09 09 09 09 09 t("%s/%s",.server,.role);.......
4900 09 09 09 66 72 65 65 28 74 6d 70 29 3b 0a 0a 09 09 09 09 09 09 09 09 09 6d 65 73 73 61 67 65 6a ...free(tmp);...........messagej
4920 61 63 63 28 73 6f 63 6b 2c 0a 09 09 09 09 09 09 09 09 09 20 09 09 6d 65 2d 3e 6a 69 64 2c 20 73 acc(sock,.............me->jid,.s
4940 65 72 76 65 72 2c 20 62 2c 20 22 63 68 61 74 22 29 3b 0a 09 09 09 09 09 09 09 09 09 66 72 65 65 erver,.b,."chat");..........free
4960 28 62 29 3b 09 09 0a 09 09 09 09 09 09 09 09 7d 0a 09 09 09 09 09 09 09 09 66 72 65 65 28 72 6f (b);...........}.........free(ro
4980 6c 65 29 3b 0a 09 09 09 09 09 09 09 7d 0a 09 09 09 09 09 09 09 66 72 65 65 28 73 65 72 76 65 72 le);........}........free(server
49a0 29 3b 0a 09 09 09 09 09 09 7d 0a 09 09 09 09 09 7d 0a 09 09 09 09 09 65 6c 73 65 0a 09 09 09 09 );.......}......}......else.....
49c0 09 69 66 20 28 73 74 72 63 6d 70 28 62 2c 20 22 72 6f 6c 65 22 29 20 3d 3d 20 30 29 7b 0a 09 09 .if.(strcmp(b,."role").==.0){...
49e0 09 09 09 09 66 72 65 65 28 62 29 3b 0a 09 09 09 09 09 09 73 65 72 76 65 72 20 3d 20 67 65 74 61 ....free(b);.......server.=.geta
4a00 72 67 28 75 73 65 72 2c 20 32 2c 20 30 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a rg(user,.2,.0);.................
4a20 09 09 09 09 09 09 69 66 28 73 65 72 76 65 72 20 21 3d 20 6e 69 6c 29 7b 20 20 20 20 0a 20 20 20 ......if(server.!=.nil){........
4a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 09 09 09 72 6f 6c 65 ............................role
4a60 20 3d 20 67 65 74 61 72 67 28 75 73 65 72 2c 20 33 2c 20 30 29 3b 0a 09 09 09 09 09 09 09 69 66 .=.getarg(user,.3,.0);........if
4a80 28 72 6f 6c 65 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 09 09 09 62 20 3d 20 67 65 74 61 72 (role.!=.nil){.........b.=.getar
4aa0 67 28 75 73 65 72 2c 20 34 2c 20 32 29 3b 0a 09 09 09 09 09 09 09 09 69 66 28 62 20 21 3d 20 6e g(user,.4,.2);.........if(b.!=.n
4ac0 69 6c 29 7b 0a 09 09 09 09 09 09 09 09 09 74 6d 70 20 3d 20 62 3b 09 09 09 09 09 09 09 09 0a 09 il){..........tmp.=.b;..........
4ae0 09 09 09 09 09 09 09 09 62 20 3d 20 73 6d 70 72 69 6e 74 28 22 6e 69 63 6b 3d 27 25 73 27 20 72 ........b.=.smprint("nick='%s'.r
4b00 6f 6c 65 3d 27 25 73 27 22 2c 20 62 2c 20 72 6f 6c 65 29 3b 0a 09 09 09 09 09 09 09 09 09 66 72 ole='%s'",.b,.role);..........fr
4b20 65 65 28 74 6d 70 29 3b 0a 0a 09 09 09 09 09 09 09 09 09 61 64 6d 69 6e 28 73 6f 63 6b 2c 20 72 ee(tmp);...........admin(sock,.r
4b40 6f 6c 65 2c 20 73 65 72 76 65 72 2c 20 62 29 3b 0a 09 09 09 09 09 09 09 09 09 66 72 65 65 28 62 ole,.server,.b);..........free(b
4b60 29 3b 09 09 09 09 09 0a 09 09 09 09 09 09 09 09 7d 0a 09 09 09 09 09 09 09 09 66 72 65 65 28 72 );..............}.........free(r
4b80 6f 6c 65 29 3b 0a 09 09 09 09 09 09 09 7d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ole);........}..................
4ba0 20 20 0a 09 09 09 09 09 09 09 66 72 65 65 28 73 65 72 76 65 72 29 3b 0a 09 09 09 09 09 09 7d 0a ..........free(server);.......}.
4bc0 09 09 09 09 09 7d 0a 09 09 09 09 09 65 6c 73 65 0a 09 09 09 09 09 69 66 20 28 73 74 72 63 6d 70 .....}......else......if.(strcmp
4be0 28 62 2c 20 22 61 66 66 69 6c 22 29 20 3d 3d 20 30 29 7b 0a 09 09 09 09 09 09 66 72 65 65 28 62 (b,."affil").==.0){.......free(b
4c00 29 3b 0a 09 09 09 09 09 09 73 65 72 76 65 72 20 3d 20 67 65 74 61 72 67 28 75 73 65 72 2c 20 32 );.......server.=.getarg(user,.2
4c20 2c 20 30 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 09 09 09 09 09 09 ,.0);...........................
4c40 69 66 28 73 65 72 76 65 72 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 09 09 72 6f 6c 65 20 3d if(server.!=.nil){........role.=
4c60 20 67 65 74 61 72 67 28 75 73 65 72 2c 20 33 2c 20 30 29 3b 0a 09 09 09 09 09 09 09 69 66 28 72 .getarg(user,.3,.0);........if(r
4c80 6f 6c 65 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 09 09 09 62 20 3d 20 67 65 74 61 72 67 28 ole.!=.nil){.........b.=.getarg(
4ca0 75 73 65 72 2c 20 34 2c 20 32 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 user,.4,.2);....................
4cc0 20 20 20 20 20 0a 09 09 09 09 09 09 09 09 69 66 28 62 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 ..............if(b.!=.nil){.....
4ce0 09 09 09 09 09 74 6d 70 20 3d 20 62 3b 0a 09 09 09 09 09 09 09 09 09 62 20 3d 20 73 6d 70 72 69 .....tmp.=.b;..........b.=.smpri
4d00 6e 74 28 22 6a 69 64 3d 27 25 73 27 20 61 66 66 69 6c 69 61 74 69 6f 6e 3d 27 25 73 27 22 2c 20 nt("jid='%s'.affiliation='%s'",.
4d20 62 2c 20 72 6f 6c 65 29 3b 0a 09 09 09 09 09 09 09 09 09 66 72 65 65 28 74 6d 70 29 3b 0a 0a 09 b,.role);..........free(tmp);...
4d40 09 09 09 09 09 09 09 09 61 64 6d 69 6e 28 73 6f 63 6b 2c 20 72 6f 6c 65 2c 20 73 65 72 76 65 72 ........admin(sock,.role,.server
4d60 2c 20 62 29 3b 0a 09 09 09 09 09 09 09 09 09 66 72 65 65 28 62 29 3b 09 09 09 09 09 0a 09 09 09 ,.b);..........free(b);.........
4d80 09 09 09 09 09 7d 0a 09 09 09 09 09 09 09 09 66 72 65 65 28 72 6f 6c 65 29 3b 0a 09 09 09 09 09 .....}.........free(role);......
4da0 09 09 7d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 09 09 09 09 09 09 09 66 ..}............................f
4dc0 72 65 65 28 73 65 72 76 65 72 29 3b 0a 09 09 09 09 09 09 7d 0a 09 09 09 09 09 7d 0a 09 09 09 09 ree(server);.......}......}.....
4de0 09 65 6c 73 65 0a 09 09 09 09 09 09 66 72 65 65 28 62 29 3b 0a 09 09 09 09 7d 0a 09 09 09 7d 0a .else.......free(b);.....}....}.
4e00 09 09 09 65 6c 73 65 0a 09 09 09 73 77 69 74 63 68 28 75 73 65 72 5b 31 5d 29 7b 0a 09 09 09 63 ...else....switch(user[1]){....c
4e20 61 73 65 20 27 68 27 3a 0a 09 09 09 63 61 73 65 20 27 48 27 3a 0a 09 09 09 09 70 72 69 6e 74 28 ase.'h':....case.'H':.....print(
4e40 22 25 73 48 65 6c 70 20 66 6f 72 20 6a 61 63 63 3a 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 "%sHelp.for.jacc:\n",.tmstmp);..
4e60 09 09 09 70 72 69 6e 74 28 22 25 73 20 20 2f 61 20 5b 2b 7c 2d 7c 2a 5d 6a 69 64 20 2d 20 61 75 ...print("%s../a.[+|-|*]jid.-.au
4e80 74 68 65 6e 74 69 63 61 74 65 20 6a 69 64 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 thenticate.jid\n",.tmstmp);.....
4ea0 70 72 69 6e 74 28 22 25 73 20 20 2f 62 20 2d 20 74 75 72 6e 20 64 65 62 75 67 67 69 6e 67 20 6f print("%s../b.-.turn.debugging.o
4ec0 6e 20 6f 72 20 6f 66 66 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 70 72 69 6e 74 28 n.or.off\n",.tmstmp);.....print(
4ee0 22 25 73 20 20 2f 63 20 66 69 6c 65 20 2d 20 73 65 74 20 76 63 61 72 64 20 6f 6e 20 73 65 72 76 "%s../c.file.-.set.vcard.on.serv
4f00 65 72 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 20 20 2f er\n",.tmstmp);.....print("%s../
4f20 64 20 6a 69 64 20 5b 66 65 61 74 5d 20 2d 20 64 6f 20 61 20 64 69 73 63 6f 76 65 72 79 20 72 65 d.jid.[feat].-.do.a.discovery.re
4f40 71 75 65 73 74 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 quest\n",.tmstmp);.....print("%s
4f60 20 20 2f 65 20 6a 69 64 20 2d 20 67 65 74 20 74 69 6d 65 20 66 72 6f 6d 20 6a 69 64 5c 6e 22 2c ../e.jid.-.get.time.from.jid\n",
4f80 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 20 20 2f 67 20 6a 69 64 20 .tmstmp);.....print("%s../g.jid.
4fa0 2d 20 67 65 74 20 61 67 65 6e 74 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 6a 69 -.get.agents.information.from.ji
4fc0 64 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 20 20 2f 68 d\n",.tmstmp);.....print("%s../h
4fe0 20 2d 20 70 72 69 6e 74 20 6f 75 74 20 74 68 69 73 20 68 65 6c 70 5c 6e 22 2c 20 74 6d 73 74 6d .-.print.out.this.help\n",.tmstm
5000 70 29 3b 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 20 20 2f 69 20 6a 69 64 20 2d 20 67 65 74 20 p);.....print("%s../i.jid.-.get.
5020 76 65 72 73 69 6f 6e 20 6f 66 20 6a 69 64 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 version.of.jid\n",.tmstmp);.....
5040 70 72 69 6e 74 28 22 25 73 20 20 2f 6c 20 5b 73 74 61 74 75 73 7c 6a 69 64 7c 75 73 65 72 5d 20 print("%s../l.[status|jid|user].
5060 2d 20 6c 69 73 74 20 74 68 65 20 72 6f 73 74 65 72 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 -.list.the.roster\n",.tmstmp);..
5080 09 09 09 70 72 69 6e 74 28 22 25 73 20 20 2f 6d 20 6a 69 64 20 2d 20 73 65 6e 64 20 61 20 6d 65 ...print("%s../m.jid.-.send.a.me
50a0 73 73 61 67 65 20 74 6f 20 6a 69 64 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 70 72 ssage.to.jid\n",.tmstmp);.....pr
50c0 69 6e 74 28 22 25 73 20 20 2f 70 20 5b 73 68 6f 77 5d 20 5b 73 74 61 74 75 73 5d 20 2d 20 73 65 int("%s../p.[show].[status].-.se
50e0 74 20 73 74 61 74 75 73 20 61 6e 64 20 73 68 6f 77 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 t.status.and.show\n",.tmstmp);..
5100 09 09 09 70 72 69 6e 74 28 22 25 73 20 20 2f 71 20 2d 20 71 75 69 74 20 6a 61 63 63 5c 6e 22 2c ...print("%s../q.-.quit.jacc\n",
5120 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 20 20 2f 73 20 5b 6a 69 64 .tmstmp);.....print("%s../s.[jid
5140 5d 20 2d 20 73 65 74 20 61 63 74 69 76 65 20 6a 69 64 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a ].-.set.active.jid\n",.tmstmp);.
5160 09 09 09 09 70 72 69 6e 74 28 22 25 73 20 20 2f 74 20 6a 69 64 20 2d 20 67 65 74 20 69 64 6c 65 ....print("%s../t.jid.-.get.idle
5180 20 74 69 6d 65 20 6f 66 20 6a 69 64 5c 6e 22 2c 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 70 72 69 .time.of.jid\n",tmstmp);.....pri
51a0 6e 74 28 22 25 73 20 20 2f 75 20 5b 2b 7c 2d 5d 6a 69 64 20 5b 61 6c 69 61 73 5d 20 2d 20 6d 61 nt("%s../u.[+|-]jid.[alias].-.ma
51c0 6e 61 67 65 20 72 6f 73 74 65 72 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 70 72 69 nage.roster\n",.tmstmp);.....pri
51e0 6e 74 28 22 25 73 20 20 2f 76 20 5b 6a 69 64 5d 20 2d 20 67 65 74 20 76 63 61 72 64 20 66 72 6f nt("%s../v.[jid].-.get.vcard.fro
5200 6d 20 6a 69 64 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 0a 09 09 09 09 70 72 69 6e 74 28 22 25 m.jid\n",.tmstmp);......print("%
5220 73 20 20 2f 78 20 63 6f 6d 6d 61 6e 64 20 2d 20 6f 70 65 72 61 74 65 20 77 69 74 68 20 67 72 6f s../x.command.-.operate.with.gro
5240 75 70 63 68 61 74 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 70 72 69 6e 74 28 22 25 upchat\n",.tmstmp);.....print("%
5260 73 20 20 20 20 63 6f 6d 6d 61 6e 64 73 3a 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 s....commands:\n",.tmstmp);.....
5280 70 72 69 6e 74 28 22 25 73 20 20 67 72 6f 75 70 63 68 61 74 20 2d 20 6c 65 61 76 65 20 67 72 6f print("%s..groupchat.-.leave.gro
52a0 75 70 63 68 61 74 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 70 72 69 6e 74 28 22 25 upchat\n",.tmstmp);.....print("%
52c0 73 20 20 6a 6f 69 6e 20 67 72 6f 75 70 63 68 61 74 20 5b 6e 69 63 6b 5d 20 2d 20 6a 6f 69 6e 20 s..join.groupchat.[nick].-.join.
52e0 74 6f 20 74 68 65 20 67 72 6f 75 70 63 68 61 74 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 2f 2f to.the.groupchat\n",.tmstmp);.//
5300 09 09 09 09 70 72 69 6e 74 28 22 25 73 20 20 6e 61 6d 65 73 20 67 72 6f 75 70 63 68 61 74 20 2d ....print("%s..names.groupchat.-
5320 20 6f 63 63 75 70 61 6e 74 73 27 20 6c 69 73 74 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 .occupants'.list\n",.tmstmp);...
5340 09 09 70 72 69 6e 74 28 22 25 73 20 20 73 61 79 20 67 72 6f 75 70 63 68 61 74 20 2d 20 73 65 6e ..print("%s..say.groupchat.-.sen
5360 64 20 61 20 6d 65 73 73 61 67 65 20 74 6f 20 67 72 6f 75 70 63 68 61 74 5c 6e 22 2c 20 74 6d 73 d.a.message.to.groupchat\n",.tms
5380 74 6d 70 29 3b 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 20 20 70 72 69 76 20 67 72 6f 75 70 63 tmp);.....print("%s..priv.groupc
53a0 68 61 74 20 6e 69 63 6b 20 2d 20 73 65 6e 64 20 61 20 70 72 69 76 61 74 65 20 6d 65 73 73 61 67 hat.nick.-.send.a.private.messag
53c0 65 20 74 6f 20 6f 63 63 75 70 61 6e 74 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 70 e.to.occupant\n",.tmstmp);.....p
53e0 72 69 6e 74 28 22 25 73 20 20 6c 65 61 76 65 20 67 72 6f 75 70 63 68 61 74 20 2d 20 6c 65 61 76 rint("%s..leave.groupchat.-.leav
5400 65 20 67 72 6f 75 70 63 68 61 74 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 70 72 69 e.groupchat\n",.tmstmp);.....pri
5420 6e 74 28 22 25 73 20 20 61 66 66 69 6c 20 67 72 6f 75 70 63 68 61 74 20 61 66 66 69 6c 61 74 69 nt("%s..affil.groupchat.affilati
5440 6f 6e 20 6a 69 64 20 2d 20 73 65 74 20 61 66 66 69 6c 61 74 69 6f 6e 5c 6e 22 2c 20 74 6d 73 74 on.jid.-.set.affilation\n",.tmst
5460 6d 70 29 3b 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 20 20 72 6f 6c 65 20 67 72 6f 75 70 63 68 mp);.....print("%s..role.groupch
5480 61 74 20 72 6f 6c 65 20 6e 69 63 6b 20 2d 20 73 65 74 20 72 6f 6c 65 5c 6e 22 2c 20 74 6d 73 74 at.role.nick.-.set.role\n",.tmst
54a0 6d 70 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 0a 09 09 09 63 61 73 65 20 27 71 27 3a 0a 09 09 mp);.....break;.....case.'q':...
54c0 09 63 61 73 65 20 27 51 27 3a 0a 09 09 09 09 66 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c 70 72 .case.'Q':.....fprint(sock,."<pr
54e0 65 73 65 6e 63 65 20 66 72 6f 6d 3d 5c 22 25 73 5c 22 20 74 79 70 65 3d 5c 22 75 6e 61 76 61 69 esence.from=\"%s\".type=\"unavai
5500 6c 61 62 6c 65 5c 22 2f 3e 22 2c 0a 09 09 09 09 09 09 09 09 6d 65 2d 3e 6a 69 64 29 3b 0a 09 09 lable\"/>",.........me->jid);...
5520 09 09 66 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c 2f 73 74 72 65 61 6d 3a 73 74 72 65 61 6d 3e ..fprint(sock,."</stream:stream>
5540 22 29 3b 0a 09 09 09 09 66 72 65 65 28 75 73 65 72 29 3b 0a 09 09 09 09 75 73 65 72 20 3d 20 6e ");.....free(user);.....user.=.n
5560 69 6c 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 27 73 27 3a 0a 09 09 09 63 il;.....break;....case.'s':....c
5580 61 73 65 20 27 53 27 3a 0a 09 09 09 09 73 65 72 76 65 72 20 3d 20 67 65 74 61 72 67 28 75 73 65 ase.'S':.....server.=.getarg(use
55a0 72 2c 20 31 2c 20 30 29 3b 0a 09 09 09 09 69 66 28 73 65 72 76 65 72 20 3d 3d 20 6e 69 6c 29 7b r,.1,.0);.....if(server.==.nil){
55c0 0a 09 09 09 09 09 70 72 69 6e 74 28 22 25 73 25 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 28 62 ......print("%s%s\n",.tmstmp,.(b
55e0 75 66 20 21 3d 20 6e 69 6c 29 20 3f 20 62 75 66 20 3a 20 22 3c 6e 69 6c 3e 22 29 3b 0a 09 09 09 uf.!=.nil).?.buf.:."<nil>");....
5600 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 7d 0a 0a 09 09 09 09 62 75 66 20 3d 20 73 65 74 63 68 61 ..break;.....}......buf.=.setcha
5620 6e 28 62 75 66 2c 20 6e 61 6d 65 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c 20 6e 69 6c n(buf,.namerostern(me->rost,.nil
5640 2c 20 73 65 72 76 65 72 29 29 3b 0a 09 09 09 09 66 72 65 65 28 73 65 72 76 65 72 29 3b 0a 09 09 ,.server));.....free(server);...
5660 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 27 6c 27 3a 0a 09 09 09 63 61 73 65 20 27 ...break;....case.'l':....case.'
5680 4c 27 3a 0a 09 09 09 09 73 65 72 76 65 72 20 3d 20 67 65 74 61 72 67 28 75 73 65 72 2c 20 31 2c L':.....server.=.getarg(user,.1,
56a0 20 30 29 3b 0a 0a 09 09 09 09 70 72 69 6e 74 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c .0);......printrostern(me->rost,
56c0 20 73 65 72 76 65 72 29 3b 0a 0a 09 09 09 09 69 66 28 73 65 72 76 65 72 20 21 3d 20 6e 69 6c 29 .server);......if(server.!=.nil)
56e0 0a 09 09 09 09 09 66 72 65 65 28 73 65 72 76 65 72 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 ......free(server);.....break;..
5700 09 09 63 61 73 65 20 27 6d 27 3a 0a 09 09 09 63 61 73 65 20 27 4d 27 3a 0a 09 09 09 09 73 65 72 ..case.'m':....case.'M':.....ser
5720 76 65 72 20 3d 20 67 65 74 61 72 67 28 75 73 65 72 2c 20 31 2c 20 30 29 3b 0a 09 09 09 09 69 66 ver.=.getarg(user,.1,.0);.....if
5740 28 73 65 72 76 65 72 20 21 3d 20 6e 69 6c 29 7b 0a 0a 09 09 09 09 09 62 20 3d 20 67 65 74 61 72 (server.!=.nil){.......b.=.getar
5760 67 28 75 73 65 72 2c 20 32 2c 20 32 29 3b 0a 09 09 09 09 09 69 66 28 62 20 21 3d 20 6e 69 6c 29 g(user,.2,.2);......if(b.!=.nil)
5780 7b 0a 09 09 09 09 09 09 6d 65 73 73 61 67 65 6a 61 63 63 28 73 6f 63 6b 2c 20 6d 65 2d 3e 6a 69 {.......messagejacc(sock,.me->ji
57a0 64 2c 20 6e 61 6d 65 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c 20 6e 69 6c 2c 20 73 65 d,.namerostern(me->rost,.nil,.se
57c0 72 76 65 72 29 2c 20 62 2c 20 22 6e 6f 72 6d 61 6c 22 29 3b 0a 09 09 09 09 09 09 66 72 65 65 28 rver),.b,."normal");.......free(
57e0 62 29 3b 0a 09 09 09 09 09 7d 0a 0a 09 09 09 09 09 66 72 65 65 28 73 65 72 76 65 72 29 3b 0a 09 b);......}.......free(server);..
5800 09 09 09 7d 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 27 70 27 3a 0a 09 09 09 ...}.....break;....case.'p':....
5820 63 61 73 65 20 27 50 27 3a 0a 09 09 09 09 73 65 72 76 65 72 20 3d 20 67 65 74 61 72 67 28 75 73 case.'P':.....server.=.getarg(us
5840 65 72 2c 20 31 2c 20 30 29 3b 0a 09 09 09 09 69 66 28 73 65 72 76 65 72 20 3d 3d 20 6e 69 6c 29 er,.1,.0);.....if(server.==.nil)
5860 7b 0a 09 09 09 09 09 70 72 69 6e 74 28 22 25 73 25 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 6d {......print("%s%s\n",.tmstmp,.m
5880 65 2d 3e 73 74 61 74 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 7d 0a 0a 09 09 09 e->stat);......break;.....}.....
58a0 09 62 20 3d 20 67 65 74 61 72 67 28 75 73 65 72 2c 20 32 2c 20 32 29 3b 0a 09 09 09 09 69 66 28 .b.=.getarg(user,.2,.2);.....if(
58c0 62 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 70 72 65 73 65 6e 63 65 6a 61 63 63 28 73 6f 63 b.!=.nil){......presencejacc(soc
58e0 6b 2c 20 62 2c 20 73 65 72 76 65 72 2c 20 6e 69 6c 2c 20 6e 69 6c 29 3b 0a 09 09 09 09 09 66 72 k,.b,.server,.nil,.nil);......fr
5900 65 65 28 6d 65 2d 3e 73 74 61 74 29 3b 0a 09 09 09 09 09 6d 65 2d 3e 73 74 61 74 20 3d 20 73 74 ee(me->stat);......me->stat.=.st
5920 72 64 75 70 28 62 29 3b 0a 09 09 09 09 7d 20 65 6c 73 65 0a 09 09 09 09 09 70 72 65 73 65 6e 63 rdup(b);.....}.else......presenc
5940 65 6a 61 63 63 28 73 6f 63 6b 2c 20 6e 69 6c 2c 20 73 65 72 76 65 72 2c 20 6e 69 6c 2c 20 6e 69 ejacc(sock,.nil,.server,.nil,.ni
5960 6c 29 3b 0a 09 09 09 09 66 72 65 65 28 6d 65 2d 3e 73 68 6f 77 29 3b 0a 09 09 09 09 6d 65 2d 3e l);.....free(me->show);.....me->
5980 73 68 6f 77 20 3d 20 73 74 72 64 75 70 28 73 65 72 76 65 72 29 3b 0a 09 09 09 09 73 74 61 74 75 show.=.strdup(server);.....statu
59a0 73 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c 20 6d 65 2d 3e 6a 69 64 2c 20 6d 65 2d 3e srostern(me->rost,.me->jid,.me->
59c0 6a 69 64 2c 20 73 65 72 76 65 72 2c 20 62 29 3b 0a 09 09 09 09 66 72 65 65 28 73 65 72 76 65 72 jid,.server,.b);.....free(server
59e0 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 27 63 27 3a 0a 09 09 09 63 61 );.....break;....case.'c':....ca
5a00 73 65 20 27 43 27 3a 0a 09 09 09 09 73 65 72 76 65 72 20 3d 20 67 65 74 61 72 67 28 75 73 65 72 se.'C':.....server.=.getarg(user
5a20 2c 20 31 2c 20 30 29 3b 0a 09 09 09 09 69 66 28 73 65 72 76 65 72 20 21 3d 20 6e 69 6c 29 7b 0a ,.1,.0);.....if(server.!=.nil){.
5a40 09 09 09 09 09 74 73 20 3d 20 6f 70 65 6e 28 73 65 72 76 65 72 2c 20 4f 52 45 41 44 29 3b 0a 09 .....ts.=.open(server,.OREAD);..
5a60 09 09 09 09 69 66 28 74 73 20 3e 3d 20 30 29 7b 0a 09 09 09 09 09 09 76 63 61 72 64 73 65 74 6a ....if(ts.>=.0){.......vcardsetj
5a80 61 63 63 28 73 6f 63 6b 2c 20 6d 65 2d 3e 6a 69 64 2c 20 74 73 29 3b 0a 09 09 09 09 09 09 63 6c acc(sock,.me->jid,.ts);.......cl
5aa0 6f 73 65 28 74 73 29 3b 0a 09 09 09 09 09 7d 0a 09 09 09 09 09 66 72 65 65 28 73 65 72 76 65 72 ose(ts);......}......free(server
5ac0 29 3b 0a 09 09 09 09 7d 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 27 76 27 3a );.....}.....break;....case.'v':
5ae0 0a 09 09 09 63 61 73 65 20 27 56 27 3a 0a 09 09 09 09 73 65 72 76 65 72 20 3d 20 67 65 74 61 72 ....case.'V':.....server.=.getar
5b00 67 28 75 73 65 72 2c 20 31 2c 20 30 29 3b 0a 09 09 09 09 69 66 28 73 65 72 76 65 72 20 3d 3d 20 g(user,.1,.0);.....if(server.==.
5b20 6e 69 6c 29 7b 0a 09 09 09 09 09 76 63 61 72 64 67 65 74 6a 61 63 63 28 73 6f 63 6b 2c 20 6d 65 nil){......vcardgetjacc(sock,.me
5b40 2d 3e 6a 69 64 2c 20 22 66 72 6f 6d 22 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 ->jid,."from");......break;.....
5b60 7d 0a 0a 09 09 09 09 76 63 61 72 64 67 65 74 6a 61 63 63 28 73 6f 63 6b 2c 20 6e 61 6d 65 72 6f }......vcardgetjacc(sock,.namero
5b80 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c 20 6e 69 6c 2c 20 73 65 72 76 65 72 29 2c 20 22 74 stern(me->rost,.nil,.server),."t
5ba0 6f 22 29 3b 0a 09 09 09 09 70 72 69 6e 74 28 22 56 63 61 72 64 20 6f 66 3a 20 25 73 5c 6e 22 2c o");.....print("Vcard.of:.%s\n",
5bc0 20 6e 61 6d 65 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c 20 6e 69 6c 2c 20 73 65 72 76 .namerostern(me->rost,.nil,.serv
5be0 65 72 29 29 3b 0a 09 09 09 09 66 72 65 65 28 73 65 72 76 65 72 29 3b 0a 09 09 09 09 62 72 65 61 er));.....free(server);.....brea
5c00 6b 3b 0a 09 09 09 63 61 73 65 20 27 75 27 3a 0a 09 09 09 63 61 73 65 20 27 55 27 3a 0a 09 09 09 k;....case.'u':....case.'U':....
5c20 09 73 65 72 76 65 72 20 3d 20 67 65 74 61 72 67 28 75 73 65 72 2c 20 31 2c 20 30 29 3b 0a 09 09 .server.=.getarg(user,.1,.0);...
5c40 09 09 69 66 28 73 65 72 76 65 72 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 69 66 28 73 65 72 ..if(server.!=.nil){......if(ser
5c60 76 65 72 5b 30 5d 20 3d 3d 20 27 2d 27 29 0a 09 09 09 09 09 09 64 65 6c 62 75 64 64 79 6a 61 63 ver[0].==.'-').......delbuddyjac
5c80 63 28 73 6f 63 6b 2c 20 6e 61 6d 65 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c 20 73 65 c(sock,.namerostern(me->rost,.se
5ca0 72 76 65 72 20 2b 20 31 2c 20 73 65 72 76 65 72 20 2b 20 31 29 29 3b 0a 09 09 09 09 09 65 6c 73 rver.+.1,.server.+.1));......els
5cc0 65 20 7b 0a 09 09 09 09 09 09 62 20 3d 20 67 65 74 61 72 67 28 75 73 65 72 2c 20 32 2c 20 30 29 e.{.......b.=.getarg(user,.2,.0)
5ce0 3b 0a 09 09 09 09 09 09 69 66 28 73 65 72 76 65 72 5b 30 5d 20 3d 3d 20 27 2b 27 29 0a 09 09 09 ;.......if(server[0].==.'+')....
5d00 09 09 09 09 61 64 64 62 75 64 64 79 6a 61 63 63 28 73 6f 63 6b 2c 20 73 65 72 76 65 72 20 2b 20 ....addbuddyjacc(sock,.server.+.
5d20 31 2c 20 62 2c 20 6e 69 6c 29 3b 0a 09 09 09 09 09 09 65 6c 73 65 0a 09 09 09 09 09 09 09 61 64 1,.b,.nil);.......else........ad
5d40 64 62 75 64 64 79 6a 61 63 63 28 73 6f 63 6b 2c 20 73 65 72 76 65 72 2c 20 62 2c 20 6e 69 6c 29 dbuddyjacc(sock,.server,.b,.nil)
5d60 3b 0a 09 09 09 09 09 7d 0a 09 09 09 09 09 66 72 65 65 28 73 65 72 76 65 72 29 3b 0a 09 09 09 09 ;......}......free(server);.....
5d80 7d 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 27 61 27 3a 0a 09 09 09 63 61 73 }.....break;....case.'a':....cas
5da0 65 20 27 41 27 3a 0a 09 09 09 09 73 65 72 76 65 72 20 3d 20 67 65 74 61 72 67 28 75 73 65 72 2c e.'A':.....server.=.getarg(user,
5dc0 20 31 2c 20 30 29 3b 0a 09 09 09 09 69 66 28 73 65 72 76 65 72 20 21 3d 20 6e 69 6c 29 7b 0a 09 .1,.0);.....if(server.!=.nil){..
5de0 09 09 09 09 73 77 69 74 63 68 28 73 65 72 76 65 72 5b 30 5d 29 7b 0a 09 09 09 09 09 63 61 73 65 ....switch(server[0]){......case
5e00 20 27 2b 27 3a 0a 09 09 09 09 09 09 70 72 65 73 65 6e 63 65 74 79 70 65 6a 61 63 63 28 73 6f 63 .'+':.......presencetypejacc(soc
5e20 6b 2c 20 6d 65 2d 3e 6a 69 64 2c 20 6e 61 6d 65 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 k,.me->jid,.namerostern(me->rost
5e40 2c 20 6e 69 6c 2c 20 73 65 72 76 65 72 20 2b 20 31 29 2c 20 22 73 75 62 73 63 72 69 62 65 64 22 ,.nil,.server.+.1),."subscribed"
5e60 29 3b 0a 09 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 09 63 61 73 65 20 27 2d 27 3a 0a 09 );.......break;......case.'-':..
5e80 09 09 09 09 09 70 72 65 73 65 6e 63 65 74 79 70 65 6a 61 63 63 28 73 6f 63 6b 2c 20 6d 65 2d 3e .....presencetypejacc(sock,.me->
5ea0 6a 69 64 2c 20 6e 61 6d 65 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c 20 6e 69 6c 2c 20 jid,.namerostern(me->rost,.nil,.
5ec0 73 65 72 76 65 72 20 2b 20 31 29 2c 20 22 75 6e 73 75 62 73 63 72 69 62 65 22 29 3b 0a 09 09 09 server.+.1),."unsubscribe");....
5ee0 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 09 63 61 73 65 20 27 2a 27 3a 0a 09 09 09 09 09 09 70 ...break;......case.'*':.......p
5f00 72 65 73 65 6e 63 65 74 79 70 65 6a 61 63 63 28 73 6f 63 6b 2c 20 6d 65 2d 3e 6a 69 64 2c 20 6e resencetypejacc(sock,.me->jid,.n
5f20 61 6d 65 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c 20 6e 69 6c 2c 20 73 65 72 76 65 72 amerostern(me->rost,.nil,.server
5f40 20 2b 20 31 29 2c 20 22 73 75 62 73 63 72 69 62 65 22 29 3b 0a 09 09 09 09 09 09 62 72 65 61 6b .+.1),."subscribe");.......break
5f60 3b 0a 09 09 09 09 09 64 65 66 61 75 6c 74 3a 0a 09 09 09 09 09 09 70 72 65 73 65 6e 63 65 74 79 ;......default:.......presencety
5f80 70 65 6a 61 63 63 28 73 6f 63 6b 2c 20 6d 65 2d 3e 6a 69 64 2c 20 6e 61 6d 65 72 6f 73 74 65 72 pejacc(sock,.me->jid,.nameroster
5fa0 6e 28 6d 65 2d 3e 72 6f 73 74 2c 20 6e 69 6c 2c 20 73 65 72 76 65 72 29 2c 20 22 73 75 62 73 63 n(me->rost,.nil,.server),."subsc
5fc0 72 69 62 65 64 22 29 3b 0a 09 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 09 7d 0a 09 09 09 ribed");.......break;......}....
5fe0 09 09 66 72 65 65 28 73 65 72 76 65 72 29 3b 0a 09 09 09 09 7d 0a 09 09 09 09 62 72 65 61 6b 3b ..free(server);.....}.....break;
6000 0a 09 09 09 63 61 73 65 20 27 64 27 3a 0a 09 09 09 63 61 73 65 20 27 44 27 3a 0a 09 09 09 09 73 ....case.'d':....case.'D':.....s
6020 65 72 76 65 72 20 3d 20 67 65 74 61 72 67 28 75 73 65 72 2c 20 31 2c 20 30 29 3b 0a 09 09 09 09 erver.=.getarg(user,.1,.0);.....
6040 69 66 28 73 65 72 76 65 72 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 62 20 3d 20 67 65 74 61 if(server.!=.nil){......b.=.geta
6060 72 67 28 75 73 65 72 2c 20 32 2c 20 32 29 3b 0a 09 09 09 09 09 69 66 28 62 20 3d 3d 20 6e 69 6c rg(user,.2,.2);......if(b.==.nil
6080 29 0a 09 09 09 09 09 09 62 20 3d 20 73 74 72 64 75 70 28 22 69 6e 66 6f 22 29 3b 0a 0a 09 09 09 ).......b.=.strdup("info");.....
60a0 09 09 66 72 65 65 28 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 09 74 6d 73 74 6d 70 20 3d 20 72 65 ..free(tmstmp);......tmstmp.=.re
60c0 61 6c 6c 6f 63 6a 28 6e 69 6c 2c 20 33 35 20 2b 20 73 74 72 6c 65 6e 28 62 29 2c 20 32 29 3b 0a allocj(nil,.35.+.strlen(b),.2);.
60e0 09 09 09 09 09 73 70 72 69 6e 74 28 74 6d 73 74 6d 70 2c 20 22 68 74 74 70 3a 2f 2f 6a 61 62 62 .....sprint(tmstmp,."http://jabb
6100 65 72 2e 6f 72 67 2f 70 72 6f 74 6f 63 6f 6c 2f 64 69 73 63 6f 23 25 73 22 2c 20 62 29 3b 0a 0a er.org/protocol/disco#%s",.b);..
6120 09 09 09 09 09 78 6d 6c 6e 73 6a 61 63 63 28 73 6f 63 6b 2c 20 73 65 72 76 65 72 2c 20 74 6d 73 .....xmlnsjacc(sock,.server,.tms
6140 74 6d 70 2c 20 22 64 69 73 63 6f 30 22 29 3b 0a 09 09 09 09 09 66 72 65 65 28 62 29 3b 0a 09 09 tmp,."disco0");......free(b);...
6160 09 09 09 66 72 65 65 28 73 65 72 76 65 72 29 3b 0a 09 09 09 09 7d 0a 09 09 09 09 62 72 65 61 6b ...free(server);.....}.....break
6180 3b 0a 09 09 09 63 61 73 65 20 27 62 27 3a 0a 09 09 09 63 61 73 65 20 27 42 27 3a 0a 09 09 09 09 ;....case.'b':....case.'B':.....
61a0 69 66 28 6d 65 2d 3e 64 65 62 75 67 20 3d 3d 20 30 29 0a 09 09 09 09 09 6d 65 2d 3e 64 65 62 75 if(me->debug.==.0)......me->debu
61c0 67 20 3d 20 31 3b 0a 09 09 09 09 65 6c 73 65 0a 09 09 09 09 09 6d 65 2d 3e 64 65 62 75 67 20 3d g.=.1;.....else......me->debug.=
61e0 20 30 3b 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 44 65 62 75 67 3a 20 25 63 5c 6e 22 2c 20 74 .0;.....print("%sDebug:.%c\n",.t
6200 6d 73 74 6d 70 2c 20 6d 65 2d 3e 64 65 62 75 67 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 mstmp,.me->debug);.....break;...
6220 09 63 61 73 65 20 27 74 27 3a 0a 09 09 09 63 61 73 65 20 27 54 27 3a 0a 09 09 09 09 73 65 72 76 .case.'t':....case.'T':.....serv
6240 65 72 20 3d 20 67 65 74 61 72 67 28 75 73 65 72 2c 20 31 2c 20 30 29 3b 0a 09 09 09 09 69 66 28 er.=.getarg(user,.1,.0);.....if(
6260 73 65 72 76 65 72 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 78 6d 6c 6e 73 6a 61 63 63 28 73 server.!=.nil){......xmlnsjacc(s
6280 6f 63 6b 2c 20 6e 61 6d 65 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c 20 6e 69 6c 2c 20 ock,.namerostern(me->rost,.nil,.
62a0 73 65 72 76 65 72 29 2c 20 22 6a 61 62 62 65 72 3a 69 71 3a 6c 61 73 74 22 2c 20 22 6c 61 73 74 server),."jabber:iq:last",."last
62c0 30 22 29 3b 0a 09 09 09 09 09 66 72 65 65 28 73 65 72 76 65 72 29 3b 0a 09 09 09 09 7d 0a 09 09 0");......free(server);.....}...
62e0 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 27 69 27 3a 0a 09 09 09 63 61 73 65 20 27 49 ..break;....case.'i':....case.'I
6300 27 3a 0a 09 09 09 09 73 65 72 76 65 72 20 3d 20 67 65 74 61 72 67 28 75 73 65 72 2c 20 31 2c 20 ':.....server.=.getarg(user,.1,.
6320 30 29 3b 0a 09 09 09 09 69 66 28 73 65 72 76 65 72 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 0);.....if(server.!=.nil){......
6340 78 6d 6c 6e 73 6a 61 63 63 28 73 6f 63 6b 2c 20 6e 61 6d 65 72 6f 73 74 65 72 6e 28 6d 65 2d 3e xmlnsjacc(sock,.namerostern(me->
6360 72 6f 73 74 2c 20 6e 69 6c 2c 20 73 65 72 76 65 72 29 2c 20 22 6a 61 62 62 65 72 3a 69 71 3a 76 rost,.nil,.server),."jabber:iq:v
6380 65 72 73 69 6f 6e 22 2c 20 22 76 65 72 73 69 6f 6e 30 22 29 3b 0a 09 09 09 09 09 66 72 65 65 28 ersion",."version0");......free(
63a0 73 65 72 76 65 72 29 3b 0a 09 09 09 09 7d 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 server);.....}.....break;....cas
63c0 65 20 27 65 27 3a 0a 09 09 09 63 61 73 65 20 27 45 27 3a 0a 09 09 09 09 73 65 72 76 65 72 20 3d e.'e':....case.'E':.....server.=
63e0 20 67 65 74 61 72 67 28 75 73 65 72 2c 20 31 2c 20 30 29 3b 0a 09 09 09 09 69 66 28 73 65 72 76 .getarg(user,.1,.0);.....if(serv
6400 65 72 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 78 6d 6c 6e 73 6a 61 63 63 28 73 6f 63 6b 2c er.!=.nil){......xmlnsjacc(sock,
6420 20 6e 61 6d 65 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c 20 6e 69 6c 2c 20 73 65 72 76 .namerostern(me->rost,.nil,.serv
6440 65 72 29 2c 20 22 6a 61 62 62 65 72 3a 69 71 3a 74 69 6d 65 22 2c 20 22 74 69 6d 65 30 22 29 3b er),."jabber:iq:time",."time0");
6460 0a 09 09 09 09 09 66 72 65 65 28 73 65 72 76 65 72 29 3b 0a 09 09 09 09 7d 0a 09 09 09 09 62 72 ......free(server);.....}.....br
6480 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 27 67 27 3a 0a 09 09 09 63 61 73 65 20 27 47 27 3a 0a 09 eak;....case.'g':....case.'G':..
64a0 09 09 09 73 65 72 76 65 72 20 3d 20 67 65 74 61 72 67 28 75 73 65 72 2c 20 31 2c 20 30 29 3b 0a ...server.=.getarg(user,.1,.0);.
64c0 09 09 09 09 69 66 28 73 65 72 76 65 72 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 78 6d 6c 6e ....if(server.!=.nil){......xmln
64e0 73 6a 61 63 63 28 73 6f 63 6b 2c 20 6e 61 6d 65 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 sjacc(sock,.namerostern(me->rost
6500 2c 20 6e 69 6c 2c 20 73 65 72 76 65 72 29 2c 20 22 6a 61 62 62 65 72 3a 69 71 3a 61 67 65 6e 74 ,.nil,.server),."jabber:iq:agent
6520 73 22 2c 20 22 61 67 65 6e 74 73 30 22 29 3b 0a 09 09 09 09 09 66 72 65 65 28 73 65 72 76 65 72 s",."agents0");......free(server
6540 29 3b 0a 09 09 09 09 7d 0a 09 09 09 09 62 72 65 61 6b 3b 0a 0a 09 09 09 64 65 66 61 75 6c 74 3a );.....}.....break;.....default:
6560 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 66 72 65 65 28 74 6d 73 74 6d 70 29 .....break;....}....free(tmstmp)
6580 3b 0a 09 09 7d 0a 0a 09 09 77 61 69 74 28 29 3b 0a 09 09 69 66 28 6c 62 6c 20 21 3d 20 6e 69 6c ;...}....wait();...if(lbl.!=.nil
65a0 29 7b 0a 09 09 09 73 65 74 77 69 6e 64 6f 77 6c 62 6c 28 6c 62 6c 29 3b 0a 09 09 09 6c 62 6c 20 ){....setwindowlbl(lbl);....lbl.
65c0 3d 20 6e 69 6c 3b 0a 09 09 09 66 72 65 65 28 6c 62 6c 29 3b 0a 09 09 7d 0a 09 09 62 72 65 61 6b =.nil;....free(lbl);...}...break
65e0 3b 0a 09 7d 0a 0a 09 66 72 65 65 6a 61 62 62 65 72 63 28 6d 65 29 3b 0a 09 65 78 69 74 73 28 30 ;..}...freejabberc(me);..exits(0
6600 29 3b 0a 09 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 6e 6e 2e 63 65 72 74 29 3b 0a 09 7d 0a 0a 09 62 );..return.0;.}.nn.cert);..}...b
6620 75 66 20 3d 20 73 74 72 63 68 72 28 73 65 72 76 65 72 2c 20 27 21 27 29 3b 0a 09 69 66 28 62 75 uf.=.strchr(server,.'!');..if(bu
6640 66 20 21 3d 20 6e 69 6c 29 20 7b 0a 09 09 2a 62 75 66 2b 2b 20 3d 20 27 5c 30 27 3b 0a 09 09 75 f.!=.nil).{...*buf++.=.'\0';...u
6660 73 65 72 20 3d 20 73 74 72 63 68 72 28 62 75 66 2c 20 27 21 27 29 3b 0a 09 09 69 66 28 75 73 65 ser.=.strchr(buf,.'!');...if(use
6680 72 20 21 3d 20 6e 69 6c 29 0a 09 09 09 2a 75 73 65 72 20 3d 20 27 5c 30 27 3b 0a 09 09 75 73 65 r.!=.nil)....*user.=.'\0';...use
66a0 72 20 3d 20 73 74 72 64 75 70 28 62 75 66 29 3b 0a 09 09 66 72 65 65 28 73 65 72 76 65 72 29 3b r.=.strdup(buf);...free(server);
66c0 0a 09 09 73 65 72 76 65 72 20 3d 20 75 73 65 72 3b 0a 09 7d 0a 0a 09 69 66 28 74 6f 73 65 72 76 ...server.=.user;..}...if(toserv
66e0 65 72 20 3d 3d 20 6e 69 6c 29 0a 09 09 74 6f 73 65 72 76 65 72 20 3d 20 73 65 72 76 65 72 3b 0a er.==.nil)...toserver.=.server;.
6700 0a 09 6d 65 20 3d 20 6d 6b 6a 61 62 62 65 72 63 28 29 3b 0a 09 6d 65 2d 3e 73 68 6f 77 20 3d 20 ..me.=.mkjabberc();..me->show.=.
6720 73 74 72 64 75 70 28 22 4f 6e 6c 69 6e 65 22 29 3b 0a 09 6d 65 2d 3e 73 74 61 74 20 3d 20 73 74 strdup("Online");..me->stat.=.st
6740 72 64 75 70 28 22 4f 6e 6c 69 6e 65 22 29 3b 0a 09 6d 65 2d 3e 6e 61 6d 65 20 3d 20 73 74 72 64 rdup("Online");..me->name.=.strd
6760 75 70 28 69 2d 3e 75 73 65 72 29 3b 0a 09 6d 65 2d 3e 73 65 72 76 20 3d 20 73 74 72 64 75 70 28 up(i->user);..me->serv.=.strdup(
6780 74 6f 73 65 72 76 65 72 29 3b 0a 0a 09 69 66 28 62 20 21 3d 20 6e 69 6c 29 0a 09 09 6d 65 2d 3e toserver);...if(b.!=.nil)...me->
67a0 72 65 73 6f 20 3d 20 73 74 72 64 75 70 28 62 29 3b 0a 09 65 6c 73 65 0a 09 09 6d 65 2d 3e 72 65 reso.=.strdup(b);..else...me->re
67c0 73 6f 20 3d 20 73 74 72 64 75 70 28 22 50 6c 61 6e 39 22 29 3b 0a 09 6d 65 2d 3e 6a 69 64 20 3d so.=.strdup("Plan9");..me->jid.=
67e0 20 70 72 69 6e 74 6a 69 64 28 6d 65 2d 3e 6e 61 6d 65 2c 20 6d 65 2d 3e 73 65 72 76 2c 20 6d 65 .printjid(me->name,.me->serv,.me
6800 6a 61 63 63 2f 2f 6a 61 63 63 2f 6a 61 63 63 2e 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacc/jacc.h...............
6820 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 ................................
6840 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 ................................
6860 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
6880 20 20 20 33 30 30 37 20 31 30 35 36 30 36 32 37 37 36 36 20 20 31 32 30 30 31 00 00 00 00 00 00 ...3007.10560627766..12001......
68a0 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 ................................
68c0 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 ................................
68e0 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 ................................
6900 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
6920 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
6940 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 ................................
6960 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 ................................
6980 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 ................................
69a0 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 ................................
69c0 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 ................................
69e0 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 ................................
6a00 23 69 66 6e 64 65 66 20 4a 41 43 43 5f 48 0a 23 64 65 66 69 6e 65 20 4a 41 43 43 5f 48 0a 0a 65 #ifndef.JACC_H.#define.JACC_H..e
6a20 6e 75 6d 20 7b 0a 09 4e 4f 4e 45 20 09 3d 20 30 78 30 30 2c 0a 09 53 54 52 45 41 4d 2c 0a 09 41 num.{..NONE..=.0x00,..STREAM,..A
6a40 55 54 48 2c 0a 09 45 52 52 4f 52 2c 0a 09 4d 45 53 53 41 47 45 2c 0a 09 4d 45 53 53 41 47 45 5f UTH,..ERROR,..MESSAGE,..MESSAGE_
6a60 49 4e 4e 45 52 2c 0a 09 4d 45 53 53 41 47 45 5f 48 54 4d 4c 2c 0a 09 50 52 45 53 45 4e 43 45 2c INNER,..MESSAGE_HTML,..PRESENCE,
6a80 0a 09 50 52 45 53 45 4e 43 45 5f 53 54 41 54 55 53 2c 0a 09 50 52 45 53 45 4e 43 45 5f 53 48 4f ..PRESENCE_STATUS,..PRESENCE_SHO
6aa0 57 2c 0a 09 50 52 45 53 45 4e 43 45 5f 45 52 52 4f 52 2c 0a 09 50 52 45 53 45 4e 43 45 5f 58 2c W,..PRESENCE_ERROR,..PRESENCE_X,
6ac0 0a 09 50 52 45 53 45 4e 43 45 5f 53 45 54 2c 0a 09 49 51 2c 0a 09 49 51 5f 49 4e 4e 45 52 2c 0a ..PRESENCE_SET,..IQ,..IQ_INNER,.
6ae0 09 49 51 5f 49 54 45 4d 2c 0a 09 49 51 5f 47 52 4f 55 50 2c 0a 09 49 51 5f 56 43 41 52 44 2c 0a .IQ_ITEM,..IQ_GROUP,..IQ_VCARD,.
6b00 09 49 51 5f 56 43 41 52 44 5f 49 4e 4e 45 52 2c 0a 09 49 51 5f 45 52 52 4f 52 2c 0a 09 49 51 5f .IQ_VCARD_INNER,..IQ_ERROR,..IQ_
6b20 44 49 53 43 4f 2c 0a 09 49 51 5f 44 49 53 43 4f 5f 49 44 45 4e 54 2c 0a 09 49 51 5f 44 49 53 43 DISCO,..IQ_DISCO_IDENT,..IQ_DISC
6b40 4f 5f 46 45 41 54 55 2c 0a 09 49 51 5f 44 49 53 43 4f 5f 49 54 45 4d 2c 0a 09 49 51 5f 44 49 53 O_FEATU,..IQ_DISCO_ITEM,..IQ_DIS
6b60 43 4f 5f 45 4d 50 54 59 2c 0a 09 49 51 5f 56 45 52 53 49 4f 4e 2c 0a 09 49 51 5f 56 45 52 53 49 CO_EMPTY,..IQ_VERSION,..IQ_VERSI
6b80 4f 4e 5f 4f 53 2c 0a 09 49 51 5f 56 45 52 53 49 4f 4e 5f 4e 41 4d 45 2c 0a 09 49 51 5f 56 45 52 ON_OS,..IQ_VERSION_NAME,..IQ_VER
6ba0 53 49 4f 4e 5f 56 45 52 2c 0a 09 49 51 5f 54 49 4d 45 2c 0a 09 49 51 5f 54 49 4d 45 5f 55 54 43 SION_VER,..IQ_TIME,..IQ_TIME_UTC
6bc0 2c 0a 09 49 51 5f 54 49 4d 45 5f 54 5a 2c 0a 09 49 51 5f 54 49 4d 45 5f 44 49 53 50 4c 41 59 2c ,..IQ_TIME_TZ,..IQ_TIME_DISPLAY,
6be0 0a 09 49 51 5f 41 47 45 4e 54 53 2c 0a 09 49 51 5f 41 47 45 4e 54 53 5f 41 47 45 4e 54 2c 0a 09 ..IQ_AGENTS,..IQ_AGENTS_AGENT,..
6c00 49 51 5f 41 47 45 4e 54 53 5f 4e 41 4d 45 2c 0a 09 49 51 5f 41 47 45 4e 54 53 5f 44 45 53 43 2c IQ_AGENTS_NAME,..IQ_AGENTS_DESC,
6c20 0a 09 49 51 5f 41 47 45 4e 54 53 5f 53 45 52 56 2c 0a 09 49 51 5f 4c 41 53 54 2c 0a 09 52 4f 53 ..IQ_AGENTS_SERV,..IQ_LAST,..ROS
6c40 54 45 52 2c 0a 09 52 4f 53 54 45 52 5f 49 4e 4e 45 52 2c 0a 09 52 4f 53 54 45 52 5f 47 52 4f 55 TER,..ROSTER_INNER,..ROSTER_GROU
6c60 50 2c 0a 09 45 4e 44 0a 7d 3b 0a 0a 69 6e 74 20 78 6d 6c 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b P,..END.};..int.xmljacc(int.sock
6c80 29 3b 0a 69 6e 74 20 6c 6f 67 69 6e 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 );.int.loginjacc(int.sock,.char.
6ca0 2a 73 65 72 76 29 3b 0a 69 6e 74 20 75 73 65 72 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 *serv);.int.userjacc(int.sock,.c
6cc0 68 61 72 20 2a 75 73 65 72 2c 20 63 68 61 72 20 2a 70 61 73 73 2c 20 63 68 61 72 20 2a 72 65 73 har.*user,.char.*pass,.char.*res
6ce0 29 3b 0a 69 6e 74 20 76 65 72 73 69 6f 6e 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 );.int.versionjacc(int.sock,.cha
6d00 72 20 2a 66 72 6f 6d 2c 20 63 68 61 72 20 2a 74 6f 2c 20 63 68 61 72 20 2a 69 64 29 3b 0a 69 6e r.*from,.char.*to,.char.*id);.in
6d20 74 20 66 65 61 74 75 72 65 73 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 66 t.featuresjacc(int.sock,.char.*f
6d40 72 6f 6d 2c 20 63 68 61 72 20 2a 74 6f 2c 20 63 68 61 72 20 2a 69 64 29 3b 0a 69 6e 74 20 74 69 rom,.char.*to,.char.*id);.int.ti
6d60 6d 65 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 66 72 6f 6d 2c 20 63 68 61 mejacc(int.sock,.char.*from,.cha
6d80 72 20 2a 74 6f 2c 20 63 68 61 72 20 2a 69 64 29 3b 0a 69 6e 74 20 6c 61 73 74 6a 61 63 63 28 69 r.*to,.char.*id);.int.lastjacc(i
6da0 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 66 72 6f 6d 2c 20 63 68 61 72 20 2a 74 6f 2c 20 63 nt.sock,.char.*from,.char.*to,.c
6dc0 68 61 72 20 2a 69 64 2c 20 69 6e 74 20 64 29 3b 0a 69 6e 74 20 72 65 67 69 73 74 65 72 6a 61 63 har.*id,.int.d);.int.registerjac
6de0 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 73 65 72 76 2c 20 63 68 61 72 20 2a 75 73 c(int.sock,.char.*serv,.char.*us
6e00 65 72 2c 20 63 68 61 72 20 2a 70 61 73 73 29 3b 0a 69 6e 74 20 76 63 61 72 64 67 65 74 6a 61 63 er,.char.*pass);.int.vcardgetjac
6e20 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 66 72 6f 6d 2c 20 63 68 61 72 20 2a 74 79 c(int.sock,.char.*from,.char.*ty
6e40 70 65 29 3b 0a 69 6e 74 20 76 63 61 72 64 73 65 74 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 pe);.int.vcardsetjacc(int.sock,.
6e60 63 68 61 72 20 2a 66 72 6f 6d 2c 20 69 6e 74 20 66 64 29 3b 0a 69 6e 74 20 70 72 65 73 65 6e 63 char.*from,.int.fd);.int.presenc
6e80 65 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 73 74 61 74 2c 20 63 68 61 72 ejacc(int.sock,.char.*stat,.char
6ea0 20 2a 73 68 6f 77 2c 20 63 68 61 72 20 2a 66 72 6f 6d 2c 20 63 68 61 72 20 2a 74 6f 29 3b 0a 69 .*show,.char.*from,.char.*to);.i
6ec0 6e 74 20 70 72 65 73 65 6e 63 65 74 79 70 65 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 nt.presencetypejacc(int.sock,.ch
6ee0 61 72 20 2a 66 72 6f 6d 2c 20 63 68 61 72 20 2a 74 6f 2c 20 63 68 61 72 20 2a 74 79 70 65 29 3b ar.*from,.char.*to,.char.*type);
6f00 0a 69 6e 74 20 72 6f 73 74 65 72 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 29 3b 0a 69 6e 74 20 6d .int.rosterjacc(int.sock);.int.m
6f20 65 73 73 61 67 65 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 66 72 6f 6d 2c essagejacc(int.sock,.char.*from,
6f40 20 63 68 61 72 20 2a 74 6f 2c 20 63 68 61 72 20 2a 6d 73 67 2c 20 63 68 61 72 20 2a 74 79 70 65 .char.*to,.char.*msg,.char.*type
6f60 29 3b 0a 69 6e 74 20 61 64 64 62 75 64 64 79 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 );.int.addbuddyjacc(int.sock,.ch
6f80 61 72 20 2a 6a 69 64 2c 20 63 68 61 72 20 2a 6e 61 2c 20 63 68 61 72 20 2a 74 79 70 65 29 3b 0a ar.*jid,.char.*na,.char.*type);.
6fa0 69 6e 74 20 64 65 6c 62 75 64 64 79 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 int.delbuddyjacc(int.sock,.char.
6fc0 2a 6a 69 64 29 3b 0a 69 6e 74 20 78 6d 6c 6e 73 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 *jid);.int.xmlnsjacc(int.sock,.c
6fe0 68 61 72 20 2a 77 68 6f 2c 20 63 68 61 72 20 2a 74 2c 20 63 68 61 72 20 2a 69 64 29 3b 0a 0a 23 har.*who,.char.*t,.char.*id);..#
7000 65 6e 64 69 66 0a 0a 75 73 65 72 2c 20 32 2c 20 30 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 endif..user,.2,.0);.............
7020 20 20 20 20 20 20 20 0a 09 09 09 09 09 09 69 66 28 73 65 72 76 65 72 20 21 3d 20 6e 69 6c 29 7b ..............if(server.!=.nil){
7040 0a 09 09 09 09 09 09 09 72 6f 6c 65 20 3d 20 67 65 74 61 72 67 28 75 73 65 72 2c 20 33 2c 20 30 ........role.=.getarg(user,.3,.0
7060 29 3b 0a 09 09 09 09 09 09 09 69 66 28 72 6f 6c 65 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 );........if(role.!=.nil){......
7080 09 09 09 62 20 3d 20 67 65 74 61 72 67 28 75 73 65 72 2c 20 34 2c 20 32 29 3b 0a 09 09 09 09 09 ...b.=.getarg(user,.4,.2);......
70a0 09 09 09 69 66 28 62 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 09 09 09 09 74 6d 70 20 3d 20 ...if(b.!=.nil){..........tmp.=.
70c0 73 65 72 76 65 72 3b 0a 09 09 09 09 09 09 09 09 09 73 65 72 76 65 72 20 3d 20 73 6d 70 72 69 6e server;..........server.=.smprin
70e0 74 28 22 25 73 2f 25 73 22 2c 20 73 65 72 76 65 72 2c 20 72 6f 6c 65 29 3b 0a 09 09 09 09 09 09 t("%s/%s",.server,.role);.......
7100 09 09 09 66 72 65 65 28 74 6d 70 29 3b 0a 0a 09 09 09 09 09 09 09 09 09 6d 65 73 73 61 67 65 6a ...free(tmp);...........messagej
7120 61 63 63 28 73 6f 63 6b 2c 0a 09 09 09 09 09 09 09 09 09 20 09 09 6d 65 2d 3e 6a 69 64 2c 20 73 acc(sock,.............me->jid,.s
7140 65 72 76 65 72 2c 20 62 2c 20 22 63 68 61 74 22 29 3b 0a 09 09 09 09 09 09 09 09 09 66 72 65 65 erver,.b,."chat");..........free
7160 28 62 29 3b 09 09 0a 09 09 09 09 09 09 09 09 7d 0a 09 09 09 09 09 09 09 09 66 72 65 65 28 72 6f (b);...........}.........free(ro
7180 6c 65 29 3b 0a 09 09 09 09 09 09 09 7d 0a 09 09 09 09 09 09 09 66 72 65 65 28 73 65 72 76 65 72 le);........}........free(server
71a0 29 3b 0a 09 09 09 09 09 09 7d 0a 09 09 09 09 09 7d 0a 09 09 09 09 09 65 6c 73 65 0a 09 09 09 09 );.......}......}......else.....
71c0 09 69 66 20 28 73 74 72 63 6d 70 28 62 2c 20 22 72 6f 6c 65 22 29 20 3d 3d 20 30 29 7b 0a 09 09 .if.(strcmp(b,."role").==.0){...
71e0 09 09 09 09 66 72 65 65 28 62 29 3b 0a 09 09 09 09 09 09 73 65 72 76 65 72 20 3d 20 67 65 74 61 ....free(b);.......server.=.geta
7200 6a 61 63 63 2f 2f 6a 61 63 63 2f 6d 6b 66 69 6c 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacc/mkfile...............
7220 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 ................................
7240 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 ................................
7260 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
7280 20 20 20 20 33 36 34 20 31 30 35 36 30 36 32 37 37 36 36 20 20 31 32 31 30 35 00 00 00 00 00 00 ....364.10560627766..12105......
72a0 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 ................................
72c0 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 ................................
72e0 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 ................................
7300 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
7320 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
7340 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 ................................
7360 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 ................................
7380 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 ................................
73a0 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 ................................
73c0 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 ................................
73e0 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 ................................
7400 3c 2f 24 6f 62 6a 74 79 70 65 2f 6d 6b 66 69 6c 65 0a 42 49 4e 3d 2f 24 6f 62 6a 74 79 70 65 2f </$objtype/mkfile.BIN=/$objtype/
7420 62 69 6e 0a 0a 54 41 52 47 3d 6a 61 63 63 0a 4f 46 49 4c 45 53 3d 5c 0a 09 64 61 74 2e 24 4f 5c bin..TARG=jacc.OFILES=\..dat.$O\
7440 0a 09 72 6f 73 74 65 72 2e 24 4f 5c 0a 09 72 65 63 76 2e 24 4f 5c 0a 09 6a 61 63 63 2e 24 4f 5c ..roster.$O\..recv.$O\..jacc.$O\
7460 0a 0a 48 46 49 4c 45 53 3d 5c 0a 09 72 6f 73 74 65 72 2e 68 5c 0a 09 64 61 74 2e 68 5c 0a 09 72 ..HFILES=\..roster.h\..dat.h\..r
7480 65 63 76 2e 68 5c 0a 09 6a 61 63 63 2e 68 5c 0a 0a 55 50 44 41 54 45 3d 5c 0a 09 6d 6b 66 69 6c ecv.h\..jacc.h\..UPDATE=\..mkfil
74a0 65 5c 0a 09 24 48 46 49 4c 45 53 5c 0a 09 24 7b 4f 46 49 4c 45 53 3a 25 2e 24 4f 3d 25 2e 63 7d e\..$HFILES\..${OFILES:%.$O=%.c}
74c0 5c 0a 09 24 7b 54 41 52 47 3a 25 3d 2f 24 63 70 75 74 79 70 65 2f 62 69 6e 2f 25 7d 5c 0a 0a 3c \..${TARG:%=/$cputype/bin/%}\..<
74e0 2f 73 79 73 2f 73 72 63 2f 63 6d 64 2f 6d 6b 6f 6e 65 0a 0a 00 00 00 00 00 00 00 00 00 00 00 00 /sys/src/cmd/mkone..............
7500 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 ................................
7520 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 ................................
7540 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 ................................
7560 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 ................................
7580 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 ................................
75a0 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 ................................
75c0 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 ................................
75e0 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 ................................
7600 6a 61 63 63 2f 2f 6a 61 63 63 2f 6d 6b 66 69 6c 65 2e 70 6c 61 6e 39 70 6f 72 74 00 00 00 00 00 jacc//jacc/mkfile.plan9port.....
7620 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 ................................
7640 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 ................................
7660 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
7680 20 20 20 20 34 32 31 20 31 30 35 36 30 36 32 37 37 36 36 20 20 31 34 30 32 36 00 00 00 00 00 00 ....421.10560627766..14026......
76a0 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 ................................
76c0 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 ................................
76e0 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 ................................
7700 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
7720 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
7740 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 ................................
7760 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 ................................
7780 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 ................................
77a0 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 ................................
77c0 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 ................................
77e0 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 ................................
7800 3c 2f 24 50 4c 41 4e 39 2f 73 72 63 2f 6d 6b 68 64 72 0a 42 49 4e 3d 24 50 4c 41 4e 39 2f 62 69 </$PLAN9/src/mkhdr.BIN=$PLAN9/bi
7820 6e 0a 0a 4c 44 46 4c 41 47 53 3d 2d 6c 78 6d 6c 70 75 6c 6c 0a 43 46 4c 41 47 53 3d 2d 44 50 4c n..LDFLAGS=-lxmlpull.CFLAGS=-DPL
7840 41 4e 39 50 4f 52 54 0a 54 41 52 47 3d 6a 61 63 63 0a 4f 46 49 4c 45 53 3d 5c 0a 09 64 61 74 2e AN9PORT.TARG=jacc.OFILES=\..dat.
7860 24 4f 5c 0a 09 72 6f 73 74 65 72 2e 24 4f 5c 0a 09 72 65 63 76 2e 24 4f 5c 0a 09 6a 61 63 63 2e $O\..roster.$O\..recv.$O\..jacc.
7880 24 4f 5c 0a 0a 48 46 49 4c 45 53 3d 5c 0a 09 72 6f 73 74 65 72 2e 68 5c 0a 09 64 61 74 2e 68 5c $O\..HFILES=\..roster.h\..dat.h\
78a0 0a 09 72 65 63 76 2e 68 5c 0a 09 6a 61 63 63 2e 68 5c 0a 0a 55 50 44 41 54 45 3d 5c 0a 09 6d 6b ..recv.h\..jacc.h\..UPDATE=\..mk
78c0 66 69 6c 65 5c 0a 09 24 48 46 49 4c 45 53 5c 0a 09 24 7b 4f 46 49 4c 45 53 3a 25 2e 24 4f 3d 25 file\..$HFILES\..${OFILES:%.$O=%
78e0 2e 63 7d 5c 0a 09 24 7b 54 41 52 47 3a 25 3d 24 50 4c 41 4e 39 2f 62 69 6e 2f 25 7d 5c 0a 0a 3c .c}\..${TARG:%=$PLAN9/bin/%}\..<
7900 24 50 4c 41 4e 39 2f 73 72 63 2f 6d 6b 6f 6e 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 $PLAN9/src/mkone................
7920 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 ................................
7940 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 ................................
7960 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 ................................
7980 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 ................................
79a0 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 ................................
79c0 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 ................................
79e0 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 ................................
7a00 6a 61 63 63 2f 2f 6a 61 63 63 2f 72 65 63 76 2e 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacc/recv.c...............
7a20 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 ................................
7a40 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 ................................
7a60 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
7a80 20 20 35 32 35 31 32 20 31 30 35 36 30 36 32 37 37 36 37 20 20 31 32 30 36 31 00 00 00 00 00 00 ..52512.10560627767..12061......
7aa0 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 ................................
7ac0 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 ................................
7ae0 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 ................................
7b00 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
7b20 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
7b40 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 ................................
7b60 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 ................................
7b80 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 ................................
7ba0 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 ................................
7bc0 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 ................................
7be0 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 ................................
7c00 2f 2a 0a 20 2a 20 43 6f 70 79 20 6d 65 20 69 66 20 79 6f 75 20 63 61 6e 2e 0a 20 2a 20 62 79 20 /*..*.Copy.me.if.you.can...*.by.
7c20 32 30 68 0a 20 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 75 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20h..*/..#include.<u.h>.#include
7c40 20 3c 6c 69 62 63 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 22 78 6d 6c 70 75 6c 6c 2e 68 22 0a 23 .<libc.h>.#include."xmlpull.h".#
7c60 69 6e 63 6c 75 64 65 20 22 6a 61 63 63 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 64 61 74 2e 68 include."jacc.h".#include."dat.h
7c80 22 0a 23 69 6e 63 6c 75 64 65 20 22 72 6f 73 74 65 72 2e 68 22 0a 0a 69 6e 74 20 64 6f 69 67 6e ".#include."roster.h"..int.doign
7ca0 6f 72 65 3b 0a 0a 69 6e 74 0a 72 65 63 76 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 6a 61 62 ore;..int.recvjacc(int.sock,.jab
7cc0 62 65 72 63 20 2a 6d 65 2c 20 63 68 61 72 20 2a 70 61 73 73 29 0a 7b 0a 09 78 6d 6c 70 75 6c 6c berc.*me,.char.*pass).{..xmlpull
7ce0 20 2a 78 2c 20 2a 62 3b 0a 09 63 68 61 72 20 2a 69 64 2c 20 2a 74 6f 2c 20 2a 66 72 6f 6d 2c 20 .*x,.*b;..char.*id,.*to,.*from,.
7d00 2a 74 6d 73 74 6d 70 2c 20 73 74 2c 20 2a 74 79 70 65 2c 20 2a 76 61 2c 20 2a 78 6d 3b 0a 09 72 *tmstmp,.st,.*type,.*va,.*xm;..r
7d20 6f 73 74 65 72 6e 20 2a 61 63 2c 20 2a 70 3b 0a 0a 09 74 79 70 65 20 3d 20 6e 69 6c 3b 0a 09 69 ostern.*ac,.*p;...type.=.nil;..i
7d40 64 20 3d 20 6e 69 6c 3b 0a 09 66 72 6f 6d 20 3d 20 6e 69 6c 3b 0a 09 74 6f 20 3d 20 6e 69 6c 3b d.=.nil;..from.=.nil;..to.=.nil;
7d60 0a 09 78 6d 20 3d 20 6e 69 6c 3b 0a 09 76 61 20 3d 20 6e 69 6c 3b 0a 09 73 74 20 3d 20 4e 4f 4e ..xm.=.nil;..va.=.nil;..st.=.NON
7d80 45 3b 0a 09 61 63 20 3d 20 6d 65 2d 3e 72 6f 73 74 3b 0a 0a 09 69 66 28 78 6d 6c 6a 61 63 63 28 E;..ac.=.me->rost;...if(xmljacc(
7da0 73 6f 63 6b 29 20 3c 20 30 29 0a 09 09 72 65 74 75 72 6e 20 2d 31 3b 0a 09 69 66 28 6c 6f 67 69 sock).<.0)...return.-1;..if(logi
7dc0 6e 6a 61 63 63 28 73 6f 63 6b 2c 20 6d 65 2d 3e 73 65 72 76 29 20 3c 20 30 29 0a 09 09 72 65 74 njacc(sock,.me->serv).<.0)...ret
7de0 75 72 6e 20 2d 31 3b 0a 0a 09 78 20 3d 20 6f 70 65 6e 78 6d 6c 70 75 6c 6c 28 73 6f 63 6b 29 3b urn.-1;...x.=.openxmlpull(sock);
7e00 0a 09 77 68 69 6c 65 28 28 62 20 3d 20 6e 65 78 74 78 6d 6c 70 75 6c 6c 28 78 29 29 20 21 3d 20 ..while((b.=.nextxmlpull(x)).!=.
7e20 6e 69 6c 20 26 26 20 73 74 20 21 3d 20 45 4e 44 29 7b 0a 09 09 74 6d 73 74 6d 70 20 3d 20 6d 6b nil.&&.st.!=.END){...tmstmp.=.mk
7e40 74 6d 73 74 6d 70 28 27 28 27 2c 20 27 29 27 29 3b 0a 09 09 69 66 28 78 2d 3e 6e 61 20 21 3d 20 tmstmp('(',.')');...if(x->na.!=.
7e60 6e 69 6c 29 0a 09 09 09 78 2d 3e 6e 61 20 3d 20 66 69 6c 74 65 72 7a 75 72 28 78 2d 3e 6e 61 29 nil)....x->na.=.filterzur(x->na)
7e80 3b 0a 09 09 69 66 28 78 2d 3e 76 61 20 21 3d 20 6e 69 6c 29 0a 09 09 09 78 2d 3e 76 61 20 3d 20 ;...if(x->va.!=.nil)....x->va.=.
7ea0 66 69 6c 74 65 72 7a 75 72 28 78 2d 3e 76 61 29 3b 0a 09 09 73 77 69 74 63 68 28 62 2d 3e 65 76 filterzur(x->va);...switch(b->ev
7ec0 29 7b 0a 09 09 63 61 73 65 20 53 54 41 52 54 5f 44 4f 43 55 4d 45 4e 54 3a 0a 09 09 09 69 66 28 ){...case.START_DOCUMENT:....if(
7ee0 6d 65 2d 3e 64 65 62 75 67 29 0a 09 09 09 09 70 72 69 6e 74 28 22 53 74 61 72 74 2e 5c 6e 22 29 me->debug).....print("Start.\n")
7f00 3b 0a 09 09 09 73 74 20 3d 20 4e 4f 4e 45 3b 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 63 61 73 65 ;....st.=.NONE;....break;...case
7f20 20 53 54 41 52 54 5f 54 41 47 3a 0a 09 09 09 69 66 28 6d 65 2d 3e 64 65 62 75 67 29 0a 09 09 09 .START_TAG:....if(me->debug)....
7f40 09 70 72 69 6e 74 28 22 54 61 67 3a 20 25 73 5c 6e 22 2c 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 69 .print("Tag:.%s\n",.x->na);....i
7f60 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 73 74 72 65 61 6d 3a 73 74 72 65 61 6d 22 f(!strcmp(x->na,."stream:stream"
7f80 29 29 7b 0a 09 09 09 09 73 74 20 3d 20 53 54 52 45 41 4d 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a )){.....st.=.STREAM;.....break;.
7fa0 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 73 74 72 65 61 ...}....if(!strcmp(x->na,."strea
7fc0 6d 3a 65 72 72 6f 72 22 29 29 7b 0a 09 09 09 09 73 74 20 3d 20 45 52 52 4f 52 3b 0a 09 09 09 09 m:error")){.....st.=.ERROR;.....
7fe0 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 73 74 20 3d 3d 20 45 52 52 4f 52 29 7b 0a break;....}....if(st.==.ERROR){.
8000 09 09 09 09 69 66 28 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 74 65 78 74 22 29 29 0a 09 09 ....if(strcmp(x->na,."text"))...
8020 09 09 09 66 70 72 69 6e 74 28 32 2c 20 22 25 73 65 72 72 6f 72 3a 20 25 73 5c 6e 22 2c 20 74 6d ...fprint(2,."%serror:.%s\n",.tm
8040 73 74 6d 70 2c 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 stmp,.x->na);.....break;....}...
8060 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 6d 65 73 73 61 67 65 22 29 29 7b 0a .if(!strcmp(x->na,."message")){.
8080 09 09 09 09 73 74 20 3d 20 4d 45 53 53 41 47 45 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 ....st.=.MESSAGE;.....break;....
80a0 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 70 72 65 73 65 6e 63 65 }....if(!strcmp(x->na,."presence
80c0 22 29 29 7b 0a 09 09 09 09 69 64 20 3d 20 6e 69 6c 3b 0a 09 09 09 09 73 74 20 3d 20 50 52 45 53 ")){.....id.=.nil;.....st.=.PRES
80e0 45 4e 43 45 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 ENCE;.....break;....}....if(!str
8100 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 69 71 22 29 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 3b 0a cmp(x->na,."iq")){.....st.=.IQ;.
8120 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d ....break;....}....if(!strcmp(x-
8140 3e 6e 61 2c 20 22 76 43 61 72 64 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 29 7b 0a 09 09 09 09 >na,."vCard").&&.st.==.IQ){.....
8160 73 74 20 3d 20 49 51 5f 56 43 41 52 44 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 st.=.IQ_VCARD;.....break;....}..
8180 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 65 72 72 6f 72 22 29 20 26 26 20 ..if(!strcmp(x->na,."error").&&.
81a0 73 74 20 3d 3d 20 49 51 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 45 52 52 4f 52 3b 0a 09 09 st.==.IQ){.....st.=.IQ_ERROR;...
81c0 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e ..break;....}....if(!strcmp(x->n
81e0 61 2c 20 22 62 6f 64 79 22 29 20 26 26 20 73 74 20 3d 3d 20 4d 45 53 53 41 47 45 29 7b 0a 09 09 a,."body").&&.st.==.MESSAGE){...
8200 09 09 73 74 20 3d 20 4d 45 53 53 41 47 45 5f 49 4e 4e 45 52 3b 0a 09 09 09 09 62 72 65 61 6b 3b ..st.=.MESSAGE_INNER;.....break;
8220 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 68 74 6d 6c ....}....if(!strcmp(x->na,."html
8240 22 29 20 26 26 20 73 74 20 3d 3d 20 4d 45 53 53 41 47 45 29 7b 0a 09 09 09 09 73 74 20 3d 20 4d ").&&.st.==.MESSAGE){.....st.=.M
8260 45 53 53 41 47 45 5f 48 54 4d 4c 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 ESSAGE_HTML;.....break;....}....
8280 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 73 74 61 74 75 73 22 29 20 26 26 20 28 if(!strcmp(x->na,."status").&&.(
82a0 73 74 20 3d 3d 20 50 52 45 53 45 4e 43 45 20 7c 7c 20 73 74 20 3d 3d 20 50 52 45 53 45 4e 43 45 st.==.PRESENCE.||.st.==.PRESENCE
82c0 5f 53 45 54 29 29 7b 0a 09 09 09 09 73 74 20 3d 20 50 52 45 53 45 4e 43 45 5f 53 54 41 54 55 53 _SET)){.....st.=.PRESENCE_STATUS
82e0 3b 0a 09 09 09 09 62 72 65 61 6b 3b 09 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 ;.....break;.....}....if(!strcmp
8300 28 78 2d 3e 6e 61 2c 20 22 73 68 6f 77 22 29 20 26 26 20 28 73 74 20 3d 3d 20 50 52 45 53 45 4e (x->na,."show").&&.(st.==.PRESEN
8320 43 45 20 7c 7c 20 73 74 20 3d 3d 20 50 52 45 53 45 4e 43 45 5f 53 45 54 29 29 7b 0a 09 09 09 09 CE.||.st.==.PRESENCE_SET)){.....
8340 73 74 20 3d 20 50 52 45 53 45 4e 43 45 5f 53 48 4f 57 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 st.=.PRESENCE_SHOW;.....break;..
8360 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 65 72 72 6f 72 22 ..}....if(!strcmp(x->na,."error"
8380 29 20 26 26 20 28 73 74 20 3d 3d 20 50 52 45 53 45 4e 43 45 20 7c 7c 20 73 74 20 3d 3d 20 50 52 ).&&.(st.==.PRESENCE.||.st.==.PR
83a0 45 53 45 4e 43 45 5f 53 45 54 29 29 7b 0a 09 09 09 09 73 74 20 3d 20 50 52 45 53 45 4e 43 45 5f ESENCE_SET)){.....st.=.PRESENCE_
83c0 45 52 52 4f 52 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 ERROR;.....break;....}....if(!st
83e0 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 78 22 29 20 26 26 20 73 74 20 3d 3d 20 50 52 45 53 45 4e rcmp(x->na,."x").&&.st.==.PRESEN
8400 43 45 29 7b 0a 09 09 09 09 73 74 20 3d 20 50 52 45 53 45 4e 43 45 5f 58 3b 0a 09 09 09 09 62 72 CE){.....st.=.PRESENCE_X;.....br
8420 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 eak;....}....if(!strcmp(x->na,."
8440 69 74 65 6d 22 29 20 26 26 20 73 74 20 3d 3d 20 52 4f 53 54 45 52 29 7b 0a 09 09 09 09 69 66 28 item").&&.st.==.ROSTER){.....if(
8460 6d 65 2d 3e 72 6f 73 74 20 3d 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 6d 65 2d 3e 72 6f 73 74 20 me->rost.==.nil){......me->rost.
8480 3d 20 6d 6b 72 6f 73 74 65 72 6e 28 29 3b 0a 09 09 09 09 09 61 63 20 3d 20 6d 6b 72 6f 73 74 65 =.mkrostern();......ac.=.mkroste
84a0 72 6e 28 29 3b 0a 09 09 09 09 09 6d 65 2d 3e 72 6f 73 74 2d 3e 6e 20 3d 20 61 63 3b 0a 09 09 09 rn();......me->rost->n.=.ac;....
84c0 09 09 6d 65 2d 3e 72 6f 73 74 2d 3e 70 20 3d 20 6e 69 6c 3b 0a 09 09 09 09 09 6d 65 2d 3e 72 6f ..me->rost->p.=.nil;......me->ro
84e0 73 74 2d 3e 6e 61 6d 65 20 3d 20 73 74 72 64 75 70 28 6d 65 2d 3e 6e 61 6d 65 29 3b 0a 09 09 09 st->name.=.strdup(me->name);....
8500 09 09 6d 65 2d 3e 72 6f 73 74 2d 3e 6a 69 64 20 3d 20 73 74 72 64 75 70 28 6d 65 2d 3e 6a 69 64 ..me->rost->jid.=.strdup(me->jid
8520 29 3b 0a 09 09 09 09 09 6d 65 2d 3e 72 6f 73 74 2d 3e 73 74 61 74 75 73 20 3d 20 73 74 72 64 75 );......me->rost->status.=.strdu
8540 70 28 6d 65 2d 3e 73 74 61 74 29 3b 0a 09 09 09 09 09 6d 65 2d 3e 72 6f 73 74 2d 3e 73 68 6f 77 p(me->stat);......me->rost->show
8560 20 3d 20 73 74 72 64 75 70 28 6d 65 2d 3e 73 68 6f 77 29 3b 0a 09 09 09 09 09 6d 65 2d 3e 72 6f .=.strdup(me->show);......me->ro
8580 73 74 2d 3e 73 75 62 73 63 20 3d 20 73 74 72 64 75 70 28 22 73 65 6c 66 22 29 3b 0a 09 09 09 09 st->subsc.=.strdup("self");.....
85a0 09 6d 65 2d 3e 72 6f 73 74 2d 3e 67 72 6f 75 70 20 3d 20 73 74 72 64 75 70 28 22 73 65 6c 66 22 .me->rost->group.=.strdup("self"
85c0 29 3b 0a 09 09 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 09 09 61 63 2d 3e 6e 20 3d 20 6d 6b 72 );.....}.else.{......ac->n.=.mkr
85e0 6f 73 74 65 72 6e 28 29 3b 0a 09 09 09 09 09 61 63 2d 3e 6e 2d 3e 70 20 3d 20 61 63 3b 0a 09 09 ostern();......ac->n->p.=.ac;...
8600 09 09 09 61 63 20 3d 20 61 63 2d 3e 6e 3b 0a 09 09 09 09 09 61 63 2d 3e 6e 20 3d 20 6e 69 6c 3b ...ac.=.ac->n;......ac->n.=.nil;
8620 0a 09 09 09 09 7d 0a 09 09 09 09 09 0a 09 09 09 09 73 74 20 3d 20 52 4f 53 54 45 52 5f 49 4e 4e .....}...........st.=.ROSTER_INN
8640 45 52 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d ER;.....break;....}....if(!strcm
8660 70 28 78 2d 3e 6e 61 2c 20 22 71 75 65 72 79 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 29 7b 0a p(x->na,."query").&&.st.==.IQ){.
8680 09 09 09 09 73 74 20 3d 20 49 51 5f 49 4e 4e 45 52 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 ....st.=.IQ_INNER;.....break;...
86a0 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 69 74 65 6d 22 29 20 .}....if(!strcmp(x->na,."item").
86c0 26 26 20 73 74 20 3d 3d 20 49 51 5f 49 4e 4e 45 52 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f &&.st.==.IQ_INNER){.....st.=.IQ_
86e0 49 54 45 4d 3b 0a 09 09 09 09 61 63 20 3d 20 6d 6b 72 6f 73 74 65 72 6e 28 29 3b 0a 09 09 09 09 ITEM;.....ac.=.mkrostern();.....
8700 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c break;....}....if(!strcmp(x->na,
8720 20 22 67 72 6f 75 70 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 49 54 45 4d 29 7b 0a 09 09 09 ."group").&&.st.==.IQ_ITEM){....
8740 09 73 74 20 3d 20 49 51 5f 47 52 4f 55 50 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a .st.=.IQ_GROUP;.....break;....}.
8760 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 67 72 6f 75 70 22 29 20 26 26 ...if(!strcmp(x->na,."group").&&
8780 20 73 74 20 3d 3d 20 52 4f 53 54 45 52 5f 49 4e 4e 45 52 29 7b 0a 09 09 09 09 73 74 20 3d 20 52 .st.==.ROSTER_INNER){.....st.=.R
87a0 4f 53 54 45 52 5f 47 52 4f 55 50 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 OSTER_GROUP;.....break;....}....
87c0 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 75 74 63 22 29 20 26 26 20 73 74 20 3d if(!strcmp(x->na,."utc").&&.st.=
87e0 3d 20 49 51 5f 54 49 4d 45 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 54 49 4d 45 5f 55 54 43 =.IQ_TIME){.....st.=.IQ_TIME_UTC
8800 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 ;.....break;....}....if(!strcmp(
8820 78 2d 3e 6e 61 2c 20 22 74 7a 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 54 49 4d 45 29 7b 0a x->na,."tz").&&.st.==.IQ_TIME){.
8840 09 09 09 09 73 74 20 3d 20 49 51 5f 54 49 4d 45 5f 54 5a 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a ....st.=.IQ_TIME_TZ;.....break;.
8860 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 64 69 73 70 6c ...}....if(!strcmp(x->na,."displ
8880 61 79 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 54 49 4d 45 29 7b 0a 09 09 09 09 73 74 20 3d ay").&&.st.==.IQ_TIME){.....st.=
88a0 20 49 51 5f 54 49 4d 45 5f 44 49 53 50 4c 41 59 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 .IQ_TIME_DISPLAY;.....break;....
88c0 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 69 74 65 6d 22 29 20 26 }....if(!strcmp(x->na,."item").&
88e0 26 20 73 74 20 3d 3d 20 49 51 5f 44 49 53 43 4f 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 44 &.st.==.IQ_DISCO){.....st.=.IQ_D
8900 49 53 43 4f 5f 49 54 45 4d 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 ISCO_ITEM;.....break;....}....if
8920 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 69 64 65 6e 74 69 74 79 22 29 20 26 26 20 73 (!strcmp(x->na,."identity").&&.s
8940 74 20 3d 3d 20 49 51 5f 44 49 53 43 4f 29 7b 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 73 65 72 t.==.IQ_DISCO){.....print("%sser
8960 76 65 72 20 69 64 65 6e 74 69 74 79 3a 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 73 ver.identity:\n",.tmstmp);.....s
8980 74 20 3d 20 49 51 5f 44 49 53 43 4f 5f 49 44 45 4e 54 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 t.=.IQ_DISCO_IDENT;.....break;..
89a0 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 66 65 61 74 75 72 ..}....if(!strcmp(x->na,."featur
89c0 65 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 44 49 53 43 4f 29 7b 0a 09 09 09 09 73 74 20 3d e").&&.st.==.IQ_DISCO){.....st.=
89e0 20 49 51 5f 44 49 53 43 4f 5f 46 45 41 54 55 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d .IQ_DISCO_FEATU;.....break;....}
8a00 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 65 6d 70 74 79 22 29 20 26 ....if(!strcmp(x->na,."empty").&
8a20 26 20 73 74 20 3d 3d 20 49 51 5f 44 49 53 43 4f 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 44 &.st.==.IQ_DISCO){.....st.=.IQ_D
8a40 49 53 43 4f 5f 45 4d 50 54 59 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 ISCO_EMPTY;.....break;....}....i
8a60 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 76 65 72 73 69 6f 6e 22 29 20 26 26 20 73 f(!strcmp(x->na,."version").&&.s
8a80 74 20 3d 3d 20 49 51 5f 56 45 52 53 49 4f 4e 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 56 45 t.==.IQ_VERSION){.....st.=.IQ_VE
8aa0 52 53 49 4f 4e 5f 56 45 52 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 RSION_VER;.....break;....}....if
8ac0 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 6f 73 22 29 20 26 26 20 73 74 20 3d 3d 20 49 (!strcmp(x->na,."os").&&.st.==.I
8ae0 51 5f 56 45 52 53 49 4f 4e 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 56 45 52 53 49 4f 4e 5f Q_VERSION){.....st.=.IQ_VERSION_
8b00 4f 53 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d OS;.....break;....}....if(!strcm
8b20 70 28 78 2d 3e 6e 61 2c 20 22 6e 61 6d 65 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 56 45 52 p(x->na,."name").&&.st.==.IQ_VER
8b40 53 49 4f 4e 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 56 45 52 53 49 4f 4e 5f 4e 41 4d 45 3b SION){.....st.=.IQ_VERSION_NAME;
8b60 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 .....break;....}....if(!strcmp(x
8b80 2d 3e 6e 61 2c 20 22 61 67 65 6e 74 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 41 47 45 4e 54 ->na,."agent").&&.st.==.IQ_AGENT
8ba0 53 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 41 47 45 4e 54 53 5f 41 47 45 4e 54 3b 0a 09 09 S){.....st.=.IQ_AGENTS_AGENT;...
8bc0 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e ..break;....}....if(!strcmp(x->n
8be0 61 2c 20 22 6e 61 6d 65 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 41 47 45 4e 54 53 5f 41 47 a,."name").&&.st.==.IQ_AGENTS_AG
8c00 45 4e 54 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 41 47 45 4e 54 53 5f 4e 41 4d 45 3b 0a 09 ENT){.....st.=.IQ_AGENTS_NAME;..
8c20 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e ...break;....}....if(!strcmp(x->
8c40 6e 61 2c 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 41 na,."description").&&.st.==.IQ_A
8c60 47 45 4e 54 53 5f 41 47 45 4e 54 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 41 47 45 4e 54 53 GENTS_AGENT){.....st.=.IQ_AGENTS
8c80 5f 44 45 53 43 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 _DESC;.....break;....}....if(!st
8ca0 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 74 72 61 6e 73 70 6f 72 74 22 29 20 26 26 20 73 74 20 3d rcmp(x->na,."transport").&&.st.=
8cc0 3d 20 49 51 5f 41 47 45 4e 54 53 5f 41 47 45 4e 54 29 7b 0a 09 09 09 09 70 72 69 6e 74 28 22 25 =.IQ_AGENTS_AGENT){.....print("%
8ce0 73 20 20 54 68 69 73 20 69 73 20 61 20 74 72 61 6e 73 70 6f 72 74 2e 5c 6e 22 2c 20 74 6d 73 74 s..This.is.a.transport.\n",.tmst
8d00 6d 70 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 mp);.....break;....}....if(!strc
8d20 6d 70 28 78 2d 3e 6e 61 2c 20 22 67 72 6f 75 70 63 68 61 74 22 29 20 26 26 20 73 74 20 3d 3d 20 mp(x->na,."groupchat").&&.st.==.
8d40 49 51 5f 41 47 45 4e 54 53 5f 41 47 45 4e 54 29 7b 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 20 IQ_AGENTS_AGENT){.....print("%s.
8d60 20 59 6f 75 20 63 61 6e 20 67 72 6f 75 70 63 68 61 74 20 68 65 72 65 2e 5c 6e 22 2c 20 74 6d 73 .You.can.groupchat.here.\n",.tms
8d80 74 6d 70 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 tmp);.....break;....}....if(!str
8da0 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 73 65 72 76 69 63 65 22 29 20 26 26 20 73 74 20 3d 3d 20 49 cmp(x->na,."service").&&.st.==.I
8dc0 51 5f 41 47 45 4e 54 53 5f 41 47 45 4e 54 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 41 47 45 Q_AGENTS_AGENT){.....st.=.IQ_AGE
8de0 4e 54 53 5f 53 45 52 56 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 NTS_SERV;.....break;....}....if(
8e00 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 72 65 67 69 73 74 65 72 22 29 20 26 26 20 73 74 !strcmp(x->na,."register").&&.st
8e20 20 3d 3d 20 49 51 5f 41 47 45 4e 54 53 5f 41 47 45 4e 54 29 7b 0a 09 09 09 09 70 72 69 6e 74 28 .==.IQ_AGENTS_AGENT){.....print(
8e40 22 25 73 20 20 59 6f 75 20 63 61 6e 20 72 65 67 69 73 74 65 72 20 68 65 72 65 2e 5c 6e 22 2c 20 "%s..You.can.register.here.\n",.
8e60 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 tmstmp);.....break;....}....if(!
8e80 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 73 65 61 72 63 68 22 29 20 26 26 20 73 74 20 3d 3d strcmp(x->na,."search").&&.st.==
8ea0 20 49 51 5f 41 47 45 4e 54 53 5f 41 47 45 4e 54 29 7b 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 .IQ_AGENTS_AGENT){.....print("%s
8ec0 20 20 59 6f 75 20 63 61 6e 20 73 65 61 72 63 68 20 68 65 72 65 2e 5c 6e 22 2c 20 74 6d 73 74 6d ..You.can.search.here.\n",.tmstm
8ee0 70 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 73 74 20 3d 3d 20 p);.....break;....}....if(st.==.
8f00 49 51 5f 56 43 41 52 44 29 7b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c IQ_VCARD){.....if(!strcmp(x->na,
8f20 20 22 46 4e 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 ."FN"))......goto.is_vcard_inner
8f40 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 47 49 56 45 4e 22 29 ;.....if(!strcmp(x->na,."GIVEN")
8f60 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 )......goto.is_vcard_inner;.....
8f80 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 46 41 4d 49 4c 59 22 29 29 0a 09 09 09 if(!strcmp(x->na,."FAMILY"))....
8fa0 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 69 66 28 21 73 ..goto.is_vcard_inner;.....if(!s
8fc0 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 4d 49 44 44 4c 45 22 29 29 0a 09 09 09 09 09 67 6f 74 trcmp(x->na,."MIDDLE"))......got
8fe0 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 o.is_vcard_inner;.....if(!strcmp
9000 28 78 2d 3e 6e 61 2c 20 22 50 52 45 46 49 58 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f (x->na,."PREFIX"))......goto.is_
9020 76 63 61 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e vcard_inner;.....if(!strcmp(x->n
9040 61 2c 20 22 53 55 46 46 49 58 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 a,."SUFFIX"))......goto.is_vcard
9060 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 56 _inner;.....if(!strcmp(x->na,."V
9080 45 52 53 49 4f 4e 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e ERSION"))......goto.is_vcard_inn
90a0 65 72 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 4e 49 43 4b 4e er;.....if(!strcmp(x->na,."NICKN
90c0 41 4d 45 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 3b AME"))......goto.is_vcard_inner;
90e0 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 50 48 4f 54 4f 22 29 29 .....if(!strcmp(x->na,."PHOTO"))
9100 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 69 ......goto.is_vcard_inner;.....i
9120 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 42 44 41 59 22 29 29 0a 09 09 09 09 09 67 f(!strcmp(x->na,."BDAY"))......g
9140 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 oto.is_vcard_inner;.....if(!strc
9160 6d 70 28 78 2d 3e 6e 61 2c 20 22 50 4f 42 4f 58 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 mp(x->na,."POBOX"))......goto.is
9180 5f 76 63 61 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e _vcard_inner;.....if(!strcmp(x->
91a0 6e 61 2c 20 22 45 58 54 41 44 52 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 na,."EXTADR"))......goto.is_vcar
91c0 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 d_inner;.....if(!strcmp(x->na,."
91e0 53 54 52 45 45 54 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e STREET"))......goto.is_vcard_inn
9200 65 72 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 4c 4f 43 41 4c er;.....if(!strcmp(x->na,."LOCAL
9220 49 54 59 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 3b ITY"))......goto.is_vcard_inner;
9240 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 52 45 47 49 4f 4e 22 29 .....if(!strcmp(x->na,."REGION")
9260 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 )......goto.is_vcard_inner;.....
9280 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 50 43 4f 44 45 22 29 29 0a 09 09 09 09 if(!strcmp(x->na,."PCODE")).....
92a0 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 69 66 28 21 73 74 .goto.is_vcard_inner;.....if(!st
92c0 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 43 54 52 59 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 rcmp(x->na,."CTRY"))......goto.i
92e0 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d s_vcard_inner;.....if(!strcmp(x-
9300 3e 6e 61 2c 20 22 4e 55 4d 42 45 52 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 >na,."NUMBER"))......goto.is_vca
9320 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 rd_inner;.....if(!strcmp(x->na,.
9340 22 55 53 45 52 49 44 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e "USERID"))......goto.is_vcard_in
9360 6e 65 72 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 4a 41 42 42 ner;.....if(!strcmp(x->na,."JABB
9380 45 52 49 44 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 ERID"))......goto.is_vcard_inner
93a0 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 4d 41 49 4c 45 52 22 ;.....if(!strcmp(x->na,."MAILER"
93c0 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 ))......goto.is_vcard_inner;....
93e0 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 4c 41 54 22 29 29 0a 09 09 09 09 09 .if(!strcmp(x->na,."LAT"))......
9400 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 69 66 28 21 73 74 72 goto.is_vcard_inner;.....if(!str
9420 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 4c 4f 4e 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f cmp(x->na,."LON"))......goto.is_
9440 76 63 61 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e vcard_inner;.....if(!strcmp(x->n
9460 61 2c 20 22 54 49 54 4c 45 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f a,."TITLE"))......goto.is_vcard_
9480 69 6e 6e 65 72 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 52 4f inner;.....if(!strcmp(x->na,."RO
94a0 4c 45 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 3b 0a LE"))......goto.is_vcard_inner;.
94c0 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 41 47 45 4e 54 22 29 29 0a ....if(!strcmp(x->na,."AGENT")).
94e0 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 69 66 .....goto.is_vcard_inner;.....if
9500 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 4f 52 47 4e 41 4d 45 22 29 29 0a 09 09 09 09 (!strcmp(x->na,."ORGNAME")).....
9520 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 69 66 28 21 73 74 .goto.is_vcard_inner;.....if(!st
9540 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 4f 52 47 55 4e 49 54 22 29 29 0a 09 09 09 09 09 67 6f 74 rcmp(x->na,."ORGUNIT"))......got
9560 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 o.is_vcard_inner;.....if(!strcmp
9580 28 78 2d 3e 6e 61 2c 20 22 4e 4f 54 45 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 (x->na,."NOTE"))......goto.is_vc
95a0 61 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c ard_inner;.....if(!strcmp(x->na,
95c0 20 22 50 52 4f 44 49 44 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 ."PRODID"))......goto.is_vcard_i
95e0 6e 6e 65 72 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 52 45 56 nner;.....if(!strcmp(x->na,."REV
9600 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 "))......goto.is_vcard_inner;...
9620 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 50 48 4f 4e 45 54 49 43 22 29 29 ..if(!strcmp(x->na,."PHONETIC"))
9640 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 69 ......goto.is_vcard_inner;.....i
9660 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 44 45 53 43 22 29 29 0a 09 09 09 09 09 67 f(!strcmp(x->na,."DESC"))......g
9680 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 oto.is_vcard_inner;.....if(!strc
96a0 6d 70 28 78 2d 3e 6e 61 2c 20 22 43 52 45 44 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f mp(x->na,."CRED"))......goto.is_
96c0 76 63 61 72 64 5f 69 6e 6e 65 72 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e vcard_inner;.....if(!strcmp(x->n
96e0 61 2c 20 22 48 4f 4d 45 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 65 a,."HOME"))......goto.is_vcard_e
9700 6e 64 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 57 4f 52 4b 22 nd;.....if(!strcmp(x->na,."WORK"
9720 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 65 6e 64 3b 0a 09 09 09 09 69 ))......goto.is_vcard_end;.....i
9740 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 50 4f 53 54 41 4c 22 29 29 0a 09 09 09 09 f(!strcmp(x->na,."POSTAL")).....
9760 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 65 6e 64 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 .goto.is_vcard_end;.....if(!strc
9780 6d 70 28 78 2d 3e 6e 61 2c 20 22 50 41 52 43 45 4c 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 mp(x->na,."PARCEL"))......goto.i
97a0 73 5f 76 63 61 72 64 5f 65 6e 64 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e s_vcard_end;.....if(!strcmp(x->n
97c0 61 2c 20 22 44 4f 4d 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 65 6e a,."DOM"))......goto.is_vcard_en
97e0 64 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 49 4e 54 4c 22 29 d;.....if(!strcmp(x->na,."INTL")
9800 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 65 6e 64 3b 0a 09 09 09 09 69 66 )......goto.is_vcard_end;.....if
9820 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 50 52 45 46 22 29 29 0a 09 09 09 09 09 67 6f (!strcmp(x->na,."PREF"))......go
9840 74 6f 20 69 73 5f 76 63 61 72 64 5f 65 6e 64 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 to.is_vcard_end;.....if(!strcmp(
9860 78 2d 3e 6e 61 2c 20 22 56 4f 49 43 45 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 x->na,."VOICE"))......goto.is_vc
9880 61 72 64 5f 65 6e 64 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 ard_end;.....if(!strcmp(x->na,."
98a0 46 41 58 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 65 6e 64 3b 0a 09 FAX"))......goto.is_vcard_end;..
98c0 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 50 41 47 45 52 22 29 29 0a 09 ...if(!strcmp(x->na,."PAGER"))..
98e0 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 65 6e 64 3b 0a 09 09 09 09 69 66 28 21 73 ....goto.is_vcard_end;.....if(!s
9900 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 4d 53 47 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 trcmp(x->na,."MSG"))......goto.i
9920 73 5f 76 63 61 72 64 5f 65 6e 64 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e s_vcard_end;.....if(!strcmp(x->n
9940 61 2c 20 22 43 45 4c 4c 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 65 a,."CELL"))......goto.is_vcard_e
9960 6e 64 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 56 49 44 45 4f nd;.....if(!strcmp(x->na,."VIDEO
9980 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 65 6e 64 3b 0a 09 09 09 09 "))......goto.is_vcard_end;.....
99a0 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 42 42 53 22 29 29 0a 09 09 09 09 09 67 if(!strcmp(x->na,."BBS"))......g
99c0 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 65 6e 64 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 oto.is_vcard_end;.....if(!strcmp
99e0 28 78 2d 3e 6e 61 2c 20 22 4d 4f 44 45 4d 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 (x->na,."MODEM"))......goto.is_v
9a00 63 61 72 64 5f 65 6e 64 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 card_end;.....if(!strcmp(x->na,.
9a20 22 49 53 44 4e 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 65 6e 64 3b "ISDN"))......goto.is_vcard_end;
9a40 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 50 43 53 22 29 29 0a 09 .....if(!strcmp(x->na,."PCS"))..
9a60 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 65 6e 64 3b 0a 09 09 09 09 69 66 28 21 73 ....goto.is_vcard_end;.....if(!s
9a80 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 49 4e 54 45 52 4e 45 54 22 29 29 0a 09 09 09 09 09 67 trcmp(x->na,."INTERNET"))......g
9aa0 6f 74 6f 20 69 73 5f 76 63 61 72 64 5f 65 6e 64 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 oto.is_vcard_end;.....if(!strcmp
9ac0 28 78 2d 3e 6e 61 2c 20 22 58 34 30 30 22 29 29 0a 09 09 09 09 09 67 6f 74 6f 20 69 73 5f 76 63 (x->na,."X400"))......goto.is_vc
9ae0 61 72 64 5f 65 6e 64 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 69 73 5f 76 63 61 72 64 5f 65 6e 64 ard_end;.....break;.is_vcard_end
9b00 3a 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 25 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 78 2d :.....print("%s%s\n",.tmstmp,.x-
9b20 3e 6e 61 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 69 73 5f 76 63 61 72 64 5f 69 6e 6e 65 72 3a >na);.....break;.is_vcard_inner:
9b40 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 25 73 20 3d 20 22 2c 20 74 6d 73 74 6d 70 2c 20 78 2d .....print("%s%s.=.",.tmstmp,.x-
9b60 3e 6e 61 29 3b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 56 43 41 52 44 5f 49 4e 4e 45 52 3b 0a 09 >na);.....st.=.IQ_VCARD_INNER;..
9b80 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 63 61 73 65 20 ...break;....}....break;...case.
9ba0 53 54 41 52 54 5f 45 4e 44 5f 54 41 47 3a 0a 09 09 09 69 66 28 6d 65 2d 3e 64 65 62 75 67 29 0a START_END_TAG:....if(me->debug).
9bc0 09 09 09 09 70 72 69 6e 74 28 22 53 74 61 72 74 65 6e 64 3a 20 25 73 5c 6e 22 2c 20 78 2d 3e 6e ....print("Startend:.%s\n",.x->n
9be0 61 29 3b 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 65 6d 70 74 79 22 a);....if(!strcmp(x->na,."empty"
9c00 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 44 49 53 43 4f 29 7b 0a 09 09 09 09 70 72 69 6e 74 28 ).&&.st.==.IQ_DISCO){.....print(
9c20 22 25 73 20 3c 65 6d 70 74 79 3e 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 62 72 65 "%s.<empty>\n",.tmstmp);.....bre
9c40 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 74 ak;....}....if(!strcmp(x->na,."t
9c60 72 61 6e 73 70 6f 72 74 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 41 47 45 4e 54 53 5f 41 47 ransport").&&.st.==.IQ_AGENTS_AG
9c80 45 4e 54 29 7b 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 20 20 54 68 69 73 20 69 73 20 61 20 74 ENT){.....print("%s..This.is.a.t
9ca0 72 61 6e 73 70 6f 72 74 2e 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 62 72 65 61 6b ransport.\n",.tmstmp);.....break
9cc0 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 67 72 6f ;....}....if(!strcmp(x->na,."gro
9ce0 75 70 63 68 61 74 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 41 47 45 4e 54 53 5f 41 47 45 4e upchat").&&.st.==.IQ_AGENTS_AGEN
9d00 54 29 7b 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 20 20 59 6f 75 20 63 61 6e 20 67 72 6f 75 70 T){.....print("%s..You.can.group
9d20 63 68 61 74 20 68 65 72 65 2e 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 62 72 65 61 chat.here.\n",.tmstmp);.....brea
9d40 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 72 65 k;....}....if(!strcmp(x->na,."re
9d60 67 69 73 74 65 72 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 41 47 45 4e 54 53 5f 41 47 45 4e gister").&&.st.==.IQ_AGENTS_AGEN
9d80 54 29 7b 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 20 20 59 6f 75 20 63 61 6e 20 72 65 67 69 73 T){.....print("%s..You.can.regis
9da0 74 65 72 20 68 65 72 65 2e 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 62 72 65 61 6b ter.here.\n",.tmstmp);.....break
9dc0 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 73 65 61 ;....}....if(!strcmp(x->na,."sea
9de0 72 63 68 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 41 47 45 4e 54 53 5f 41 47 45 4e 54 29 7b rch").&&.st.==.IQ_AGENTS_AGENT){
9e00 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 20 20 59 6f 75 20 63 61 6e 20 73 65 61 72 63 68 20 68 .....print("%s..You.can.search.h
9e20 65 72 65 2e 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 ere.\n",.tmstmp);.....break;....
9e40 7d 0a 09 09 09 69 66 28 73 74 20 3d 3d 20 45 52 52 4f 52 20 7c 7c 20 73 74 20 3d 3d 20 50 52 45 }....if(st.==.ERROR.||.st.==.PRE
9e60 53 45 4e 43 45 5f 45 52 52 4f 52 20 7c 7c 20 73 74 20 3d 3d 20 49 51 5f 45 52 52 4f 52 29 7b 0a SENCE_ERROR.||.st.==.IQ_ERROR){.
9e80 09 09 09 09 66 70 72 69 6e 74 28 32 2c 20 22 25 73 65 72 72 6f 72 3a 20 25 73 5c 6e 22 2c 20 74 ....fprint(2,."%serror:.%s\n",.t
9ea0 6d 73 74 6d 70 2c 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 09 09 mstmp,.x->na);.....break;....}..
9ec0 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 63 61 73 65 20 54 45 58 54 3a 0a 09 09 09 69 66 28 6d 65 ....break;...case.TEXT:....if(me
9ee0 2d 3e 64 65 62 75 67 29 0a 09 09 09 09 70 72 69 6e 74 28 22 54 65 78 74 3a 20 25 73 5c 6e 22 2c ->debug).....print("Text:.%s\n",
9f00 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 73 77 69 74 63 68 28 73 74 29 7b 0a 09 09 09 63 61 73 65 20 .x->na);....switch(st){....case.
9f20 4d 45 53 53 41 47 45 5f 49 4e 4e 45 52 3a 0a 09 09 09 09 74 79 70 65 20 3d 20 73 74 72 64 75 70 MESSAGE_INNER:.....type.=.strdup
9f40 28 78 2d 3e 6e 61 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 50 52 45 53 (x->na);.....break;....case.PRES
9f60 45 4e 43 45 5f 53 48 4f 57 3a 0a 09 09 09 09 69 66 28 74 79 70 65 20 3d 3d 20 6e 69 6c 20 7c 7c ENCE_SHOW:.....if(type.==.nil.||
9f80 20 28 74 79 70 65 20 21 3d 20 6e 69 6c 20 26 26 20 73 74 72 63 6d 70 28 74 79 70 65 2c 20 22 65 .(type.!=.nil.&&.strcmp(type,."e
9fa0 72 72 6f 72 22 29 29 29 0a 09 09 09 09 09 69 66 28 73 74 61 74 75 73 72 6f 73 74 65 72 6e 28 6d rror")))......if(statusrostern(m
9fc0 65 2d 3e 72 6f 73 74 2c 20 66 72 6f 6d 2c 20 66 72 6f 6d 2c 20 6e 69 6c 2c 20 78 2d 3e 6e 61 29 e->rost,.from,.from,.nil,.x->na)
9fe0 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 09 70 72 69 6e 74 28 22 25 73 25 73 3e 20 25 73 5c 6e .!=.nil).......print("%s%s>.%s\n
a000 22 2c 20 74 6d 73 74 6d 70 2c 20 6e 61 6d 65 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c ",.tmstmp,.namerostern(me->rost,
a020 20 66 72 6f 6d 2c 20 6e 69 6c 29 2c 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a .from,.nil),.x->na);.....break;.
a040 09 09 09 63 61 73 65 20 50 52 45 53 45 4e 43 45 5f 53 54 41 54 55 53 3a 0a 09 09 09 09 69 66 28 ...case.PRESENCE_STATUS:.....if(
a060 74 79 70 65 20 3d 3d 20 6e 69 6c 20 7c 7c 20 28 74 79 70 65 20 21 3d 20 6e 69 6c 20 26 26 20 73 type.==.nil.||.(type.!=.nil.&&.s
a080 74 72 63 6d 70 28 74 79 70 65 2c 20 22 65 72 72 6f 72 22 29 29 29 0a 09 09 09 09 09 69 66 28 73 trcmp(type,."error")))......if(s
a0a0 74 61 74 75 73 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c 20 66 72 6f 6d 2c 20 66 72 6f tatusrostern(me->rost,.from,.fro
a0c0 6d 2c 20 78 2d 3e 6e 61 2c 20 6e 69 6c 29 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 09 70 72 69 m,.x->na,.nil).!=.nil).......pri
a0e0 6e 74 28 22 25 73 25 73 3e 20 25 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 6e 61 6d 65 72 6f 73 nt("%s%s>.%s\n",.tmstmp,.nameros
a100 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c 20 66 72 6f 6d 2c 20 6e 69 6c 29 2c 20 78 2d 3e 6e 61 tern(me->rost,.from,.nil),.x->na
a120 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 50 52 45 53 45 4e 43 45 5f 45 );.....break;....case.PRESENCE_E
a140 52 52 4f 52 3a 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 25 73 23 20 25 73 5c 6e 22 2c 20 74 6d RROR:.....print("%s%s#.%s\n",.tm
a160 73 74 6d 70 2c 20 6e 61 6d 65 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c 20 66 72 6f 6d stmp,.namerostern(me->rost,.from
a180 2c 20 6e 69 6c 29 2c 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 09 66 72 65 65 28 74 79 70 65 29 3b 0a ,.nil),.x->na);.....free(type);.
a1a0 09 09 09 09 74 79 70 65 20 3d 20 73 74 72 64 75 70 28 22 69 73 64 6f 6e 65 22 29 3b 0a 09 09 09 ....type.=.strdup("isdone");....
a1c0 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 52 4f 53 54 45 52 5f 47 52 4f 55 50 3a 0a 09 09 .break;....case.ROSTER_GROUP:...
a1e0 09 09 69 66 28 61 63 2d 3e 67 72 6f 75 70 20 3d 3d 20 6e 69 6c 29 0a 09 09 09 09 09 61 63 2d 3e ..if(ac->group.==.nil)......ac->
a200 67 72 6f 75 70 20 3d 20 73 74 72 64 75 70 28 78 2d 3e 6e 61 29 3b 0a 09 09 09 09 62 72 65 61 6b group.=.strdup(x->na);.....break
a220 3b 0a 09 09 09 63 61 73 65 20 49 51 5f 47 52 4f 55 50 3a 0a 09 09 09 09 69 66 28 61 63 2d 3e 67 ;....case.IQ_GROUP:.....if(ac->g
a240 72 6f 75 70 20 3d 3d 20 6e 69 6c 29 0a 09 09 09 09 09 61 63 2d 3e 67 72 6f 75 70 20 3d 20 73 74 roup.==.nil)......ac->group.=.st
a260 72 64 75 70 28 78 2d 3e 6e 61 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 rdup(x->na);.....break;....case.
a280 49 51 5f 45 52 52 4f 52 3a 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 49 51 2d 45 72 72 6f 72 3a IQ_ERROR:.....print("%sIQ-Error:
a2a0 20 25 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 09 62 72 65 61 .%s\n",.tmstmp,.x->na);.....brea
a2c0 6b 3b 0a 09 09 09 63 61 73 65 20 49 51 5f 56 43 41 52 44 5f 49 4e 4e 45 52 3a 0a 09 09 09 09 70 k;....case.IQ_VCARD_INNER:.....p
a2e0 72 69 6e 74 28 22 25 73 5c 6e 22 2c 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a rint("%s\n",.x->na);.....break;.
a300 09 09 09 63 61 73 65 20 49 51 5f 56 45 52 53 49 4f 4e 5f 4f 53 3a 0a 09 09 09 09 70 72 69 6e 74 ...case.IQ_VERSION_OS:.....print
a320 28 22 25 73 20 20 6f 73 20 3d 20 25 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 78 2d 3e 6e 61 29 ("%s..os.=.%s\n",.tmstmp,.x->na)
a340 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 49 51 5f 56 45 52 53 49 4f 4e 5f ;.....break;....case.IQ_VERSION_
a360 4e 41 4d 45 3a 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 20 20 6e 61 6d 65 20 3d 20 25 73 5c 6e NAME:.....print("%s..name.=.%s\n
a380 22 2c 20 74 6d 73 74 6d 70 2c 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 ",.tmstmp,.x->na);.....break;...
a3a0 09 63 61 73 65 20 49 51 5f 56 45 52 53 49 4f 4e 5f 56 45 52 3a 0a 09 09 09 09 70 72 69 6e 74 28 .case.IQ_VERSION_VER:.....print(
a3c0 22 25 73 20 20 76 65 72 73 69 6f 6e 20 3d 20 25 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 78 2d "%s..version.=.%s\n",.tmstmp,.x-
a3e0 3e 6e 61 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 49 51 5f 54 49 4d 45 >na);.....break;....case.IQ_TIME
a400 5f 55 54 43 3a 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 75 74 63 20 3d 20 25 73 5c 6e 22 2c 20 _UTC:.....print("%sutc.=.%s\n",.
a420 74 6d 73 74 6d 70 2c 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 tmstmp,.x->na);.....break;....ca
a440 73 65 20 49 51 5f 54 49 4d 45 5f 54 5a 3a 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 74 7a 20 3d se.IQ_TIME_TZ:.....print("%stz.=
a460 20 25 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 09 62 72 65 61 .%s\n",.tmstmp,.x->na);.....brea
a480 6b 3b 0a 09 09 09 63 61 73 65 20 49 51 5f 54 49 4d 45 5f 44 49 53 50 4c 41 59 3a 0a 09 09 09 09 k;....case.IQ_TIME_DISPLAY:.....
a4a0 70 72 69 6e 74 28 22 25 73 64 69 73 70 6c 61 79 20 3d 20 25 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 print("%sdisplay.=.%s\n",.tmstmp
a4c0 2c 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 49 51 5f ,.x->na);.....break;....case.IQ_
a4e0 41 47 45 4e 54 53 5f 4e 41 4d 45 3a 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 20 20 6e 61 6d 65 AGENTS_NAME:.....print("%s..name
a500 20 3d 20 25 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 09 62 72 .=.%s\n",.tmstmp,.x->na);.....br
a520 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 49 51 5f 41 47 45 4e 54 53 5f 44 45 53 43 3a 0a 09 09 09 eak;....case.IQ_AGENTS_DESC:....
a540 09 70 72 69 6e 74 28 22 25 73 20 20 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 25 73 5c 6e 22 2c .print("%s..description.=.%s\n",
a560 20 74 6d 73 74 6d 70 2c 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 .tmstmp,.x->na);.....break;....c
a580 61 73 65 20 49 51 5f 41 47 45 4e 54 53 5f 53 45 52 56 3a 0a 09 09 09 09 70 72 69 6e 74 28 22 25 ase.IQ_AGENTS_SERV:.....print("%
a5a0 73 20 20 73 65 72 76 69 63 65 20 3d 20 25 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 78 2d 3e 6e s..service.=.%s\n",.tmstmp,.x->n
a5c0 61 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 64 65 66 61 75 6c 74 3a 0a 09 09 09 09 62 a);.....break;....default:.....b
a5e0 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 63 61 73 65 20 41 54 54 52 reak;....}....break;...case.ATTR
a600 3a 0a 09 09 09 69 66 28 6d 65 2d 3e 64 65 62 75 67 29 0a 09 09 09 09 70 72 69 6e 74 28 22 41 74 :....if(me->debug).....print("At
a620 74 72 3a 20 25 73 20 3d 20 25 73 5c 6e 22 2c 20 78 2d 3e 6e 61 2c 20 78 2d 3e 76 61 29 3b 0a 09 tr:.%s.=.%s\n",.x->na,.x->va);..
a640 09 09 73 77 69 74 63 68 28 73 74 29 7b 0a 09 09 09 63 61 73 65 20 53 54 52 45 41 4d 3a 0a 09 09 ..switch(st){....case.STREAM:...
a660 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 69 64 22 29 29 7b 0a 09 09 09 09 ..if(!strcmp(x->na,."id")){.....
a680 09 73 74 20 3d 20 4e 4f 4e 45 3b 0a 09 09 09 09 09 69 66 28 6d 65 2d 3e 72 65 67 29 7b 0a 09 09 .st.=.NONE;......if(me->reg){...
a6a0 09 09 09 09 72 65 67 69 73 74 65 72 6a 61 63 63 28 73 6f 63 6b 2c 20 6d 65 2d 3e 73 65 72 76 2c ....registerjacc(sock,.me->serv,
a6c0 20 6d 65 2d 3e 6e 61 6d 65 2c 20 70 61 73 73 29 3b 0a 09 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 .me->name,.pass);.......break;..
a6e0 09 09 09 09 7d 0a 09 09 09 09 09 69 66 28 75 73 65 72 6a 61 63 63 28 73 6f 63 6b 2c 20 6d 65 2d ....}......if(userjacc(sock,.me-
a700 3e 6e 61 6d 65 2c 20 70 61 73 73 2c 20 6d 65 2d 3e 72 65 73 6f 29 20 3c 20 30 29 20 7b 0a 09 09 >name,.pass,.me->reso).<.0).{...
a720 09 09 09 09 6d 65 6d 73 65 74 28 70 61 73 73 2c 20 30 2c 20 73 74 72 6c 65 6e 28 70 61 73 73 29 ....memset(pass,.0,.strlen(pass)
a740 29 3b 0a 09 09 09 09 09 09 73 74 20 3d 20 41 55 54 48 3b 0a 09 09 09 09 09 09 62 72 65 61 6b 3b );.......st.=.AUTH;.......break;
a760 0a 09 09 09 09 09 7d 0a 09 09 09 09 7d 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 ......}.....}.....break;....case
a780 20 4d 45 53 53 41 47 45 3a 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 .MESSAGE:.....if(!strcmp(x->na,.
a7a0 22 66 72 6f 6d 22 29 29 0a 09 09 09 09 09 66 72 6f 6d 20 3d 20 73 74 72 64 75 70 28 78 2d 3e 76 "from"))......from.=.strdup(x->v
a7c0 61 29 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 74 6f 22 29 29 a);.....if(!strcmp(x->na,."to"))
a7e0 0a 09 09 09 09 09 74 6f 20 3d 20 73 74 72 64 75 70 28 78 2d 3e 76 61 29 3b 0a 09 09 09 09 69 66 ......to.=.strdup(x->va);.....if
a800 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 74 79 70 65 22 29 29 0a 09 09 09 09 09 74 79 (!strcmp(x->na,."type"))......ty
a820 70 65 20 3d 20 73 74 72 64 75 70 28 78 2d 3e 76 61 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 pe.=.strdup(x->va);.....break;..
a840 09 09 63 61 73 65 20 50 52 45 53 45 4e 43 45 3a 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 ..case.PRESENCE:.....if(!strcmp(
a860 78 2d 3e 6e 61 2c 20 22 66 72 6f 6d 22 29 29 0a 09 09 09 09 09 66 72 6f 6d 20 3d 20 73 74 72 64 x->na,."from"))......from.=.strd
a880 75 70 28 78 2d 3e 76 61 29 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c up(x->va);.....if(!strcmp(x->na,
a8a0 20 22 74 79 70 65 22 29 29 0a 09 09 09 09 09 74 79 70 65 20 3d 20 73 74 72 64 75 70 28 78 2d 3e ."type"))......type.=.strdup(x->
a8c0 76 61 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 49 51 3a 0a 09 09 09 09 va);.....break;....case.IQ:.....
a8e0 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 69 64 22 29 29 7b 0a 09 09 09 09 09 69 if(!strcmp(x->na,."id")){......i
a900 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 76 61 2c 20 22 61 75 74 68 5f 31 22 29 29 0a 09 09 09 09 f(!strcmp(x->va,."auth_1")).....
a920 09 09 72 6f 73 74 65 72 6a 61 63 63 28 73 6f 63 6b 29 3b 0a 09 09 09 09 09 69 66 28 21 73 74 72 ..rosterjacc(sock);......if(!str
a940 63 6d 70 28 78 2d 3e 76 61 2c 20 22 61 75 74 68 5f 32 22 29 29 0a 09 09 09 09 09 09 73 74 20 3d cmp(x->va,."auth_2")).......st.=
a960 20 52 4f 53 54 45 52 3b 0a 09 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 76 61 2c 20 .ROSTER;......if(!strcmp(x->va,.
a980 22 64 69 73 63 6f 30 22 29 29 0a 09 09 09 09 09 09 73 74 20 3d 20 49 51 5f 44 49 53 43 4f 3b 0a "disco0")).......st.=.IQ_DISCO;.
a9a0 09 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 76 61 2c 20 22 74 69 6d 65 30 22 29 29 .....if(!strcmp(x->va,."time0"))
a9c0 0a 09 09 09 09 09 09 73 74 20 3d 20 49 51 5f 54 49 4d 45 3b 0a 09 09 09 09 09 69 66 28 21 73 74 .......st.=.IQ_TIME;......if(!st
a9e0 72 63 6d 70 28 78 2d 3e 76 61 2c 20 22 61 67 65 6e 74 73 30 22 29 29 0a 09 09 09 09 09 09 73 74 rcmp(x->va,."agents0")).......st
aa00 20 3d 20 49 51 5f 41 47 45 4e 54 53 3b 0a 09 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d .=.IQ_AGENTS;......if(!strcmp(x-
aa20 3e 76 61 2c 20 22 6c 61 73 74 30 22 29 29 0a 09 09 09 09 09 09 73 74 20 3d 20 49 51 5f 4c 41 53 >va,."last0")).......st.=.IQ_LAS
aa40 54 3b 0a 09 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 76 61 2c 20 22 76 65 72 73 69 T;......if(!strcmp(x->va,."versi
aa60 6f 6e 30 22 29 29 0a 09 09 09 09 09 09 73 74 20 3d 20 49 51 5f 56 45 52 53 49 4f 4e 3b 0a 09 09 on0")).......st.=.IQ_VERSION;...
aa80 09 09 09 69 64 20 3d 20 73 74 72 64 75 70 28 78 2d 3e 76 61 29 3b 0a 09 09 09 09 7d 0a 09 09 09 ...id.=.strdup(x->va);.....}....
aaa0 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 66 72 6f 6d 22 29 29 0a 09 09 09 09 .if(!strcmp(x->na,."from")).....
aac0 09 66 72 6f 6d 20 3d 20 73 74 72 64 75 70 28 78 2d 3e 76 61 29 3b 0a 09 09 09 09 69 66 28 21 73 .from.=.strdup(x->va);.....if(!s
aae0 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 74 6f 22 29 29 0a 09 09 09 09 09 74 6f 20 3d 20 73 74 trcmp(x->na,."to"))......to.=.st
ab00 72 64 75 70 28 78 2d 3e 76 61 29 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e rdup(x->va);.....if(!strcmp(x->n
ab20 61 2c 20 22 74 79 70 65 22 29 29 0a 09 09 09 09 09 74 79 70 65 20 3d 20 73 74 72 64 75 70 28 78 a,."type"))......type.=.strdup(x
ab40 2d 3e 76 61 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 52 4f 53 54 45 52 ->va);.....break;....case.ROSTER
ab60 5f 49 4e 4e 45 52 3a 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 6e _INNER:.....if(!strcmp(x->na,."n
ab80 61 6d 65 22 29 29 7b 0a 09 09 09 09 09 61 63 2d 3e 6e 61 6d 65 20 3d 20 73 74 72 64 75 70 28 78 ame")){......ac->name.=.strdup(x
aba0 2d 3e 76 61 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 7d 0a 09 09 09 09 69 66 28 ->va);......break;.....}.....if(
abc0 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 6a 69 64 22 29 29 7b 0a 09 09 09 09 09 61 63 2d !strcmp(x->na,."jid")){......ac-
abe0 3e 6a 69 64 20 3d 20 73 74 72 64 75 70 28 78 2d 3e 76 61 29 3b 0a 09 09 09 09 09 62 72 65 61 6b >jid.=.strdup(x->va);......break
ac00 3b 0a 09 09 09 09 7d 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 49 51 5f 49 4e ;.....}.....break;....case.IQ_IN
ac20 4e 45 52 3a 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 78 6d 6c 6e NER:.....if(!strcmp(x->na,."xmln
ac40 73 22 29 29 7b 0a 09 09 09 09 09 69 66 28 78 6d 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 09 66 s")){......if(xm.!=.nil).......f
ac60 72 65 65 28 78 6d 29 3b 0a 09 09 09 09 09 78 6d 20 3d 20 73 74 72 64 75 70 28 78 2d 3e 76 61 29 ree(xm);......xm.=.strdup(x->va)
ac80 3b 0a 09 09 09 09 7d 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 6e ;.....}.....if(!strcmp(x->na,."n
aca0 61 6d 65 22 29 29 7b 0a 09 09 09 09 09 69 66 28 76 61 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 ame")){......if(va.!=.nil)......
acc0 09 66 72 65 65 28 76 61 29 3b 0a 09 09 09 09 09 76 61 20 3d 20 73 74 72 64 75 70 28 78 2d 3e 76 .free(va);......va.=.strdup(x->v
ace0 61 29 3b 0a 09 09 09 09 7d 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 49 51 5f a);.....}.....break;....case.IQ_
ad00 49 54 45 4d 3a 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 73 75 62 ITEM:.....if(!strcmp(x->na,."sub
ad20 73 63 72 69 70 74 69 6f 6e 22 29 29 7b 0a 09 09 09 09 09 61 63 2d 3e 73 75 62 73 63 20 3d 20 73 scription")){......ac->subsc.=.s
ad40 74 72 64 75 70 28 78 2d 3e 76 61 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 7d 0a trdup(x->va);......break;.....}.
ad60 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 6a 69 64 22 29 29 7b 0a 09 ....if(!strcmp(x->na,."jid")){..
ad80 09 09 09 09 61 63 2d 3e 6a 69 64 20 3d 20 73 74 72 64 75 70 28 78 2d 3e 76 61 29 3b 0a 09 09 09 ....ac->jid.=.strdup(x->va);....
ada0 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 7d 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d ..break;.....}.....if(!strcmp(x-
adc0 3e 6e 61 2c 20 22 6e 61 6d 65 22 29 29 7b 0a 09 09 09 09 09 61 63 2d 3e 6e 61 6d 65 20 3d 20 73 >na,."name")){......ac->name.=.s
ade0 74 72 64 75 70 28 78 2d 3e 76 61 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 7d 0a trdup(x->va);......break;.....}.
ae00 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 49 51 5f 44 49 53 43 4f 5f 49 44 45 4e ....break;....case.IQ_DISCO_IDEN
ae20 54 3a 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 25 73 20 3d 20 25 73 5c 6e 22 2c 20 74 6d 73 74 T:.....print("%s%s.=.%s\n",.tmst
ae40 6d 70 2c 20 78 2d 3e 6e 61 2c 20 78 2d 3e 76 61 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 mp,.x->na,.x->va);.....break;...
ae60 09 63 61 73 65 20 49 51 5f 44 49 53 43 4f 5f 46 45 41 54 55 3a 0a 09 09 09 09 70 72 69 6e 74 28 .case.IQ_DISCO_FEATU:.....print(
ae80 22 25 73 20 20 25 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 78 2d 3e 76 61 29 3b 0a 09 09 09 09 "%s..%s\n",.tmstmp,.x->va);.....
aea0 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 49 51 5f 44 49 53 43 4f 5f 49 54 45 4d 3a 0a 09 09 break;....case.IQ_DISCO_ITEM:...
aec0 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 6e 61 6d 65 22 29 29 7b 0a 09 09 ..if(!strcmp(x->na,."name")){...
aee0 09 09 09 69 66 28 69 64 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 09 66 72 65 65 28 69 64 29 3b ...if(id.!=.nil).......free(id);
af00 0a 09 09 09 09 09 69 64 20 3d 20 73 74 72 64 75 70 28 78 2d 3e 76 61 29 3b 0a 09 09 09 09 7d 0a ......id.=.strdup(x->va);.....}.
af20 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 6a 69 64 22 29 29 7b 0a 09 ....if(!strcmp(x->na,."jid")){..
af40 09 09 09 09 69 66 28 74 6f 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 09 66 72 65 65 28 74 6f 29 ....if(to.!=.nil).......free(to)
af60 3b 0a 09 09 09 09 09 74 6f 20 3d 20 73 74 72 64 75 70 28 78 2d 3e 76 61 29 3b 0a 09 09 09 09 7d ;......to.=.strdup(x->va);.....}
af80 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 49 51 5f 41 47 45 4e 54 53 5f 41 47 .....break;....case.IQ_AGENTS_AG
afa0 45 4e 54 3a 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 6a 69 64 22 ENT:.....if(!strcmp(x->na,."jid"
afc0 29 29 0a 09 09 09 09 09 70 72 69 6e 74 28 22 25 73 25 73 3a 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c ))......print("%s%s:\n",.tmstmp,
afe0 20 78 2d 3e 76 61 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 49 51 5f 4c .x->va);.....break;....case.IQ_L
b000 41 53 54 3a 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 73 65 63 6f AST:.....if(!strcmp(x->na,."seco
b020 6e 64 73 22 29 29 0a 09 09 09 09 09 70 72 69 6e 74 28 22 25 73 25 73 3e 20 25 73 73 20 61 77 61 nds"))......print("%s%s>.%ss.awa
b040 79 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 6e 61 6d 65 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f y\n",.tmstmp,.namerostern(me->ro
b060 73 74 2c 20 6e 69 6c 2c 20 66 72 6f 6d 29 2c 20 78 2d 3e 76 61 29 3b 0a 09 09 09 09 62 72 65 61 st,.nil,.from),.x->va);.....brea
b080 6b 3b 0a 09 09 09 64 65 66 61 75 6c 74 3a 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 k;....default:.....break;....}..
b0a0 09 09 62 72 65 61 6b 3b 0a 09 09 63 61 73 65 20 45 4e 44 5f 54 41 47 3a 0a 09 09 09 69 66 28 6d ..break;...case.END_TAG:....if(m
b0c0 65 2d 3e 64 65 62 75 67 29 0a 09 09 09 09 70 72 69 6e 74 28 22 45 6e 64 74 61 67 3a 20 25 73 5c e->debug).....print("Endtag:.%s\
b0e0 6e 22 2c 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c n",.x->na);....if(!strcmp(x->na,
b100 20 22 73 74 72 65 61 6d 3a 73 74 72 65 61 6d 22 29 29 7b 0a 09 09 09 09 73 74 20 3d 20 45 4e 44 ."stream:stream")){.....st.=.END
b120 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 ;.....break;....}....if(!strcmp(
b140 78 2d 3e 6e 61 2c 20 22 73 74 72 65 61 6d 3a 65 72 72 6f 72 22 29 20 26 26 20 73 74 20 3d 3d 20 x->na,."stream:error").&&.st.==.
b160 45 52 52 4f 52 29 7b 0a 09 09 09 09 73 74 20 3d 20 4e 4f 4e 45 3b 0a 09 09 09 09 62 72 65 61 6b ERROR){.....st.=.NONE;.....break
b180 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 73 74 20 3d 3d 20 45 52 52 4f 52 29 0a 09 09 09 09 62 72 ;....}....if(st.==.ERROR).....br
b1a0 65 61 6b 3b 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 6d 65 73 73 61 eak;....if(!strcmp(x->na,."messa
b1c0 67 65 22 29 20 26 26 20 73 74 20 3d 3d 20 4d 45 53 53 41 47 45 29 7b 0a 09 09 09 09 69 66 28 74 ge").&&.st.==.MESSAGE){.....if(t
b1e0 79 70 65 20 21 3d 20 6e 69 6c 29 20 7b 0a 09 09 09 09 09 70 72 69 6e 74 28 22 25 73 28 25 73 2d ype.!=.nil).{......print("%s(%s-
b200 25 73 29 25 25 20 25 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 0a 09 09 09 09 09 09 09 09 09 28 66 %s)%%.%s\n",.tmstmp,..........(f
b220 72 6f 6d 20 21 3d 20 6e 69 6c 29 20 3f 20 6e 61 6d 65 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f rom.!=.nil).?.namerostern(me->ro
b240 73 74 2c 20 66 72 6f 6d 2c 20 6e 69 6c 29 20 3a 20 22 3c 6e 69 6c 3e 22 2c 0a 09 09 09 09 09 09 st,.from,.nil).:."<nil>",.......
b260 09 09 09 28 74 6f 20 21 3d 20 6e 69 6c 29 20 3f 20 6e 61 6d 65 72 6f 73 74 65 72 6e 28 6d 65 2d ...(to.!=.nil).?.namerostern(me-
b280 3e 72 6f 73 74 2c 20 74 6f 2c 20 6e 69 6c 29 20 3a 20 22 3c 6e 69 6c 3e 22 2c 0a 09 09 09 09 09 >rost,.to,.nil).:."<nil>",......
b2a0 09 09 09 09 74 79 70 65 29 3b 0a 09 09 09 09 09 70 6c 61 79 6d 70 33 28 22 6a 61 63 63 5f 67 6f ....type);......playmp3("jacc_go
b2c0 74 6d 65 73 73 61 67 65 2e 6d 70 33 22 29 3b 0a 09 09 09 09 7d 0a 09 09 09 09 69 66 28 66 72 6f tmessage.mp3");.....}.....if(fro
b2e0 6d 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 66 72 65 65 28 66 72 6f 6d 29 3b 0a 09 09 09 09 69 m.!=.nil)......free(from);.....i
b300 66 28 74 6f 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 66 72 65 65 28 74 6f 29 3b 0a 09 09 09 09 f(to.!=.nil)......free(to);.....
b320 69 66 28 74 79 70 65 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 66 72 65 65 28 74 79 70 65 29 3b if(type.!=.nil)......free(type);
b340 0a 09 09 09 09 66 72 6f 6d 20 3d 20 6e 69 6c 3b 0a 09 09 09 09 74 6f 20 3d 20 6e 69 6c 3b 0a 09 .....from.=.nil;.....to.=.nil;..
b360 09 09 09 74 79 70 65 20 3d 20 6e 69 6c 3b 0a 09 09 09 09 73 74 20 3d 20 4e 4f 4e 45 3b 0a 09 09 ...type.=.nil;.....st.=.NONE;...
b380 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e ..break;....}....if(!strcmp(x->n
b3a0 61 2c 20 22 70 72 65 73 65 6e 63 65 22 29 20 26 26 20 73 74 20 3d 3d 20 50 52 45 53 45 4e 43 45 a,."presence").&&.st.==.PRESENCE
b3c0 5f 53 45 54 29 7b 0a 09 09 09 09 69 66 28 74 79 70 65 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 _SET){.....if(type.!=.nil)......
b3e0 66 72 65 65 28 74 79 70 65 29 3b 0a 09 09 09 09 69 66 28 66 72 6f 6d 20 21 3d 20 6e 69 6c 29 0a free(type);.....if(from.!=.nil).
b400 09 09 09 09 09 66 72 65 65 28 66 72 6f 6d 29 3b 0a 09 09 09 09 74 79 70 65 20 3d 20 6e 69 6c 3b .....free(from);.....type.=.nil;
b420 0a 09 09 09 09 66 72 6f 6d 20 3d 20 6e 69 6c 3b 0a 09 09 09 09 73 74 20 3d 20 4e 4f 4e 45 3b 0a .....from.=.nil;.....st.=.NONE;.
b440 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d ....break;....}....if(!strcmp(x-
b460 3e 6e 61 2c 20 22 70 72 65 73 65 6e 63 65 22 29 20 26 26 20 73 74 20 3d 3d 20 50 52 45 53 45 4e >na,."presence").&&.st.==.PRESEN
b480 43 45 29 7b 0a 09 09 09 09 69 66 28 74 79 70 65 20 21 3d 20 6e 69 6c 20 26 26 20 66 72 6f 6d 20 CE){.....if(type.!=.nil.&&.from.
b4a0 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 74 79 70 65 2c 20 22 !=.nil){......if(!strcmp(type,."
b4c0 75 6e 61 76 61 69 6c 61 62 6c 65 22 29 20 7c 7c 20 21 73 74 72 63 6d 70 28 74 79 70 65 2c 20 22 unavailable").||.!strcmp(type,."
b4e0 65 72 72 6f 72 22 29 29 7b 0a 09 09 09 09 09 09 69 66 28 73 74 61 74 75 73 72 6f 73 74 65 72 6e error")){.......if(statusrostern
b500 28 6d 65 2d 3e 72 6f 73 74 2c 20 66 72 6f 6d 2c 20 66 72 6f 6d 2c 20 6e 69 6c 2c 20 22 4f 66 66 (me->rost,.from,.from,.nil,."Off
b520 6c 69 6e 65 22 29 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 09 09 70 72 69 6e 74 28 22 25 73 25 line").!=.nil)........print("%s%
b540 73 3e 20 4f 66 66 6c 69 6e 65 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 6e 61 6d 65 72 6f 73 74 65 s>.Offline\n",.tmstmp,.nameroste
b560 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c 20 66 72 6f 6d 2c 20 6e 69 6c 29 29 3b 0a 09 09 09 09 09 09 rn(me->rost,.from,.nil));.......
b580 67 6f 74 6f 20 70 72 65 73 65 6e 63 65 5f 73 74 72 63 6d 70 3b 0a 09 09 09 09 09 7d 0a 09 09 09 goto.presence_strcmp;......}....
b5a0 09 09 69 66 28 21 73 74 72 63 6d 70 28 74 79 70 65 2c 20 22 70 72 6f 62 65 22 29 29 7b 0a 09 09 ..if(!strcmp(type,."probe")){...
b5c0 09 09 09 09 70 72 65 73 65 6e 63 65 6a 61 63 63 28 73 6f 63 6b 2c 20 6d 65 2d 3e 73 74 61 74 2c ....presencejacc(sock,.me->stat,
b5e0 20 6d 65 2d 3e 73 68 6f 77 2c 20 6d 65 2d 3e 6a 69 64 2c 20 66 72 6f 6d 29 3b 0a 09 09 09 09 09 .me->show,.me->jid,.from);......
b600 09 67 6f 74 6f 20 70 72 65 73 65 6e 63 65 5f 73 74 72 63 6d 70 3b 0a 09 09 09 09 09 7d 0a 09 09 .goto.presence_strcmp;......}...
b620 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 74 79 70 65 2c 20 22 73 75 62 73 63 72 69 62 65 22 29 ...if(!strcmp(type,."subscribe")
b640 29 7b 0a 09 09 09 09 09 09 73 74 61 74 75 73 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c ){.......statusrostern(me->rost,
b660 20 66 72 6f 6d 2c 20 66 72 6f 6d 2c 20 6e 69 6c 2c 20 22 4f 6e 6c 69 6e 65 22 29 3b 0a 09 09 09 .from,.from,.nil,."Online");....
b680 09 09 09 70 72 69 6e 74 28 22 25 73 25 73 20 77 61 6e 74 73 20 74 6f 20 73 75 62 73 63 72 69 62 ...print("%s%s.wants.to.subscrib
b6a0 65 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 6e 61 6d 65 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f e\n",.tmstmp,.namerostern(me->ro
b6c0 73 74 2c 20 66 72 6f 6d 2c 20 6e 69 6c 29 29 3b 0a 09 09 09 09 09 09 67 6f 74 6f 20 70 72 65 73 st,.from,.nil));.......goto.pres
b6e0 65 6e 63 65 5f 73 74 72 63 6d 70 3b 0a 09 09 09 09 09 7d 0a 09 09 09 09 09 69 66 28 21 73 74 72 ence_strcmp;......}......if(!str
b700 63 6d 70 28 74 79 70 65 2c 20 22 75 6e 73 75 62 73 63 72 69 62 65 22 29 29 7b 0a 09 09 09 09 09 cmp(type,."unsubscribe")){......
b720 09 69 66 28 73 74 61 74 75 73 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c 20 66 72 6f 6d .if(statusrostern(me->rost,.from
b740 2c 20 66 72 6f 6d 2c 20 6e 69 6c 2c 20 22 4f 66 66 6c 69 6e 65 22 29 20 21 3d 20 6e 69 6c 29 0a ,.from,.nil,."Offline").!=.nil).
b760 09 09 09 09 09 09 09 70 72 69 6e 74 28 22 25 73 25 73 20 77 61 6e 74 73 20 74 6f 20 75 6e 73 75 .......print("%s%s.wants.to.unsu
b780 62 73 63 72 69 62 65 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 6e 61 6d 65 72 6f 73 74 65 72 6e 28 bscribe\n",.tmstmp,.namerostern(
b7a0 6d 65 2d 3e 72 6f 73 74 2c 20 66 72 6f 6d 2c 20 6e 69 6c 29 29 3b 0a 09 09 09 09 09 09 67 6f 74 me->rost,.from,.nil));.......got
b7c0 6f 20 70 72 65 73 65 6e 63 65 5f 73 74 72 63 6d 70 3b 0a 09 09 09 09 09 7d 0a 09 09 09 09 09 69 o.presence_strcmp;......}......i
b7e0 66 28 21 73 74 72 63 6d 70 28 74 79 70 65 2c 20 22 73 75 62 73 63 72 69 62 65 64 22 29 29 7b 0a f(!strcmp(type,."subscribed")){.
b800 09 09 09 09 09 09 70 72 69 6e 74 28 22 25 73 25 73 20 68 61 73 20 61 63 63 65 70 74 65 64 20 74 ......print("%s%s.has.accepted.t
b820 68 65 20 73 75 62 73 63 72 69 70 74 69 6f 6e 20 72 65 71 75 65 73 74 5c 6e 22 2c 20 74 6d 73 74 he.subscription.request\n",.tmst
b840 6d 70 2c 20 6e 61 6d 65 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c 20 66 72 6f 6d 2c 20 mp,.namerostern(me->rost,.from,.
b860 6e 69 6c 29 29 3b 0a 09 09 09 09 09 09 67 6f 74 6f 20 70 72 65 73 65 6e 63 65 5f 73 74 72 63 6d nil));.......goto.presence_strcm
b880 70 3b 0a 09 09 09 09 09 7d 0a 09 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 74 79 70 65 2c 20 p;......}......if(!strcmp(type,.
b8a0 22 69 73 64 6f 6e 65 22 29 29 0a 09 09 09 09 09 09 67 6f 74 6f 20 70 72 65 73 65 6e 63 65 5f 73 "isdone")).......goto.presence_s
b8c0 74 72 63 6d 70 3b 0a 09 09 09 09 7d 0a 09 09 09 09 69 66 28 66 72 6f 6d 20 21 3d 20 6e 69 6c 29 trcmp;.....}.....if(from.!=.nil)
b8e0 20 7b 0a 09 09 09 09 09 73 74 61 74 75 73 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c 20 .{......statusrostern(me->rost,.
b900 66 72 6f 6d 2c 20 66 72 6f 6d 2c 20 6e 69 6c 2c 20 22 4f 6e 6c 69 6e 65 22 29 3b 0a 09 09 09 09 from,.from,.nil,."Online");.....
b920 09 70 72 69 6e 74 28 22 25 73 25 73 3e 20 4f 6e 6c 69 6e 65 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c .print("%s%s>.Online\n",.tmstmp,
b940 20 6e 61 6d 65 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c 20 66 72 6f 6d 2c 20 6e 69 6c .namerostern(me->rost,.from,.nil
b960 29 29 3b 0a 09 09 09 09 7d 0a 70 72 65 73 65 6e 63 65 5f 73 74 72 63 6d 70 3a 0a 09 09 09 09 69 ));.....}.presence_strcmp:.....i
b980 66 28 74 79 70 65 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 66 72 65 65 28 74 79 70 65 29 3b 0a f(type.!=.nil)......free(type);.
b9a0 09 09 09 09 69 66 28 66 72 6f 6d 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 66 72 65 65 28 66 72 ....if(from.!=.nil)......free(fr
b9c0 6f 6d 29 3b 0a 09 09 09 09 74 79 70 65 20 3d 20 6e 69 6c 3b 0a 09 09 09 09 66 72 6f 6d 20 3d 20 om);.....type.=.nil;.....from.=.
b9e0 6e 69 6c 3b 0a 0a 09 09 09 09 73 74 20 3d 20 4e 4f 4e 45 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a nil;......st.=.NONE;.....break;.
ba00 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 69 71 22 29 20 ...}....if(!strcmp(x->na,."iq").
ba20 26 26 20 28 73 74 20 3d 3d 20 49 51 20 7c 7c 20 73 74 20 3d 3d 20 49 51 5f 44 49 53 43 4f 29 29 &&.(st.==.IQ.||.st.==.IQ_DISCO))
ba40 7b 0a 09 09 09 09 69 66 28 66 72 6f 6d 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 66 72 65 65 28 {.....if(from.!=.nil)......free(
ba60 66 72 6f 6d 29 3b 0a 09 09 09 09 69 66 28 74 6f 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 66 72 from);.....if(to.!=.nil)......fr
ba80 65 65 28 74 6f 29 3b 0a 09 09 09 09 69 66 28 74 79 70 65 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 ee(to);.....if(type.!=.nil).....
baa0 09 66 72 65 65 28 74 79 70 65 29 3b 0a 09 09 09 09 69 66 28 69 64 20 21 3d 20 6e 69 6c 29 0a 09 .free(type);.....if(id.!=.nil)..
bac0 09 09 09 09 66 72 65 65 28 69 64 29 3b 0a 09 09 09 09 69 66 28 76 61 20 21 3d 20 6e 69 6c 29 0a ....free(id);.....if(va.!=.nil).
bae0 09 09 09 09 09 66 72 65 65 28 76 61 29 3b 0a 09 09 09 09 69 66 28 78 6d 20 21 3d 20 6e 69 6c 29 .....free(va);.....if(xm.!=.nil)
bb00 0a 09 09 09 09 09 66 72 65 65 28 78 6d 29 3b 0a 09 09 09 09 66 72 6f 6d 20 3d 20 6e 69 6c 3b 0a ......free(xm);.....from.=.nil;.
bb20 09 09 09 09 74 6f 20 3d 20 6e 69 6c 3b 0a 09 09 09 09 69 64 20 3d 20 6e 69 6c 3b 0a 09 09 09 09 ....to.=.nil;.....id.=.nil;.....
bb40 74 79 70 65 20 3d 20 6e 69 6c 3b 0a 09 09 09 09 76 61 20 3d 20 6e 69 6c 3b 0a 09 09 09 09 78 6d type.=.nil;.....va.=.nil;.....xm
bb60 20 3d 20 6e 69 6c 3b 0a 09 09 09 09 73 74 20 3d 20 4e 4f 4e 45 3b 0a 09 09 09 09 62 72 65 61 6b .=.nil;.....st.=.NONE;.....break
bb80 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 69 71 22 ;....}....if(!strcmp(x->na,."iq"
bba0 29 20 26 26 20 73 74 20 3d 3d 20 52 4f 53 54 45 52 29 7b 0a 09 09 09 09 69 66 28 66 72 6f 6d 20 ).&&.st.==.ROSTER){.....if(from.
bbc0 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 66 72 65 65 28 66 72 6f 6d 29 3b 0a 09 09 09 09 69 66 28 !=.nil)......free(from);.....if(
bbe0 74 6f 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 66 72 65 65 28 74 6f 29 3b 0a 09 09 09 09 69 66 to.!=.nil)......free(to);.....if
bc00 28 74 79 70 65 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 66 72 65 65 28 74 79 70 65 29 3b 0a 09 (type.!=.nil)......free(type);..
bc20 09 09 09 69 66 28 69 64 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 66 72 65 65 28 69 64 29 3b 0a ...if(id.!=.nil)......free(id);.
bc40 09 09 09 09 66 72 6f 6d 20 3d 20 6e 69 6c 3b 0a 09 09 09 09 74 6f 20 3d 20 6e 69 6c 3b 0a 09 09 ....from.=.nil;.....to.=.nil;...
bc60 09 09 69 64 20 3d 20 6e 69 6c 3b 0a 09 09 09 09 74 79 70 65 20 3d 20 6e 69 6c 3b 0a 09 09 09 09 ..id.=.nil;.....type.=.nil;.....
bc80 70 72 65 73 65 6e 63 65 6a 61 63 63 28 73 6f 63 6b 2c 20 6d 65 2d 3e 73 74 61 74 2c 20 6d 65 2d presencejacc(sock,.me->stat,.me-
bca0 3e 73 68 6f 77 2c 20 6e 69 6c 2c 20 6e 69 6c 29 3b 0a 09 09 09 09 73 74 20 3d 20 4e 4f 4e 45 3b >show,.nil,.nil);.....st.=.NONE;
bcc0 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 .....break;....}....if(!strcmp(x
bce0 2d 3e 6e 61 2c 20 22 76 43 61 72 64 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 56 43 41 52 44 ->na,."vCard").&&.st.==.IQ_VCARD
bd00 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a ){.....st.=.IQ;.....break;....}.
bd20 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 65 72 72 6f 72 22 29 20 26 26 ...if(!strcmp(x->na,."error").&&
bd40 20 73 74 20 3d 3d 20 49 51 5f 45 52 52 4f 52 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 3b 0a 09 .st.==.IQ_ERROR){.....st.=.IQ;..
bd60 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e ...break;....}....if(!strcmp(x->
bd80 6e 61 2c 20 22 62 6f 64 79 22 29 20 26 26 20 73 74 20 3d 3d 20 4d 45 53 53 41 47 45 5f 49 4e 4e na,."body").&&.st.==.MESSAGE_INN
bda0 45 52 29 7b 0a 09 09 09 09 73 74 20 3d 20 4d 45 53 53 41 47 45 3b 0a 09 09 09 09 62 72 65 61 6b ER){.....st.=.MESSAGE;.....break
bdc0 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 68 74 6d ;....}....if(!strcmp(x->na,."htm
bde0 6c 22 29 20 26 26 20 73 74 20 3d 3d 20 4d 45 53 53 41 47 45 5f 48 54 4d 4c 29 7b 0a 09 09 09 09 l").&&.st.==.MESSAGE_HTML){.....
be00 73 74 20 3d 20 4d 45 53 53 41 47 45 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 st.=.MESSAGE;.....break;....}...
be20 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 73 74 61 74 75 73 22 29 20 26 26 20 .if(!strcmp(x->na,."status").&&.
be40 73 74 20 3d 3d 20 50 52 45 53 45 4e 43 45 5f 53 54 41 54 55 53 29 7b 0a 09 09 09 09 73 74 20 3d st.==.PRESENCE_STATUS){.....st.=
be60 20 50 52 45 53 45 4e 43 45 5f 53 45 54 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 .PRESENCE_SET;.....break;....}..
be80 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 73 68 6f 77 22 29 20 26 26 20 73 ..if(!strcmp(x->na,."show").&&.s
bea0 74 20 3d 3d 20 50 52 45 53 45 4e 43 45 5f 53 48 4f 57 29 7b 0a 09 09 09 09 73 74 20 3d 20 50 52 t.==.PRESENCE_SHOW){.....st.=.PR
bec0 45 53 45 4e 43 45 5f 53 45 54 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 ESENCE_SET;.....break;....}....i
bee0 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 78 22 29 20 26 26 20 73 74 20 3d 3d 20 50 f(!strcmp(x->na,."x").&&.st.==.P
bf00 52 45 53 45 4e 43 45 5f 58 29 7b 0a 09 09 09 09 73 74 20 3d 20 50 52 45 53 45 4e 43 45 3b 0a 09 RESENCE_X){.....st.=.PRESENCE;..
bf20 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e ...break;....}....if(!strcmp(x->
bf40 6e 61 2c 20 22 65 72 72 6f 72 22 29 20 26 26 20 73 74 20 3d 3d 20 50 52 45 53 45 4e 43 45 5f 45 na,."error").&&.st.==.PRESENCE_E
bf60 52 52 4f 52 29 7b 0a 09 09 09 09 73 74 20 3d 20 50 52 45 53 45 4e 43 45 3b 0a 09 09 09 09 62 72 RROR){.....st.=.PRESENCE;.....br
bf80 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 eak;....}....if(!strcmp(x->na,."
bfa0 69 74 65 6d 22 29 20 26 26 20 73 74 20 3d 3d 20 52 4f 53 54 45 52 5f 49 4e 4e 45 52 29 7b 0a 09 item").&&.st.==.ROSTER_INNER){..
bfc0 09 09 09 69 66 28 21 64 6f 69 67 6e 6f 72 65 29 0a 09 09 09 09 09 70 72 69 6e 74 28 22 25 73 41 ...if(!doignore)......print("%sA
bfe0 64 64 65 64 20 75 73 65 72 3a 20 25 73 2f 25 73 2f 25 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 dded.user:.%s/%s/%s\n",.tmstmp,.
c000 61 63 2d 3e 6e 61 6d 65 2c 20 61 63 2d 3e 6a 69 64 2c 20 61 63 2d 3e 67 72 6f 75 70 29 3b 0a 09 ac->name,.ac->jid,.ac->group);..
c020 09 09 09 73 74 20 3d 20 52 4f 53 54 45 52 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a ...st.=.ROSTER;.....break;....}.
c040 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 71 75 65 72 79 22 29 20 26 26 ...if(!strcmp(x->na,."query").&&
c060 20 28 73 74 20 3d 3d 20 49 51 5f 49 4e 4e 45 52 20 7c 7c 20 73 74 20 3d 3d 20 49 51 5f 56 45 52 .(st.==.IQ_INNER.||.st.==.IQ_VER
c080 53 49 4f 4e 20 7c 7c 20 73 74 20 3d 3d 20 49 51 5f 54 49 4d 45 20 7c 7c 20 73 74 20 3d 3d 20 49 SION.||.st.==.IQ_TIME.||.st.==.I
c0a0 51 5f 4c 41 53 54 20 7c 7c 20 73 74 20 3d 3d 20 49 51 5f 41 47 45 4e 54 53 29 29 7b 0a 09 09 09 Q_LAST.||.st.==.IQ_AGENTS)){....
c0c0 09 69 66 28 73 74 20 3d 3d 20 49 51 5f 49 4e 4e 45 52 20 26 26 20 78 6d 20 21 3d 20 6e 69 6c 29 .if(st.==.IQ_INNER.&&.xm.!=.nil)
c0e0 7b 0a 09 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 6d 2c 20 22 6a 61 62 62 65 72 3a 69 71 {......if(!strcmp(xm,."jabber:iq
c100 3a 76 65 72 73 69 6f 6e 22 29 29 7b 0a 09 09 09 09 09 09 69 66 28 73 74 72 63 6d 70 28 74 6f 2c :version")){.......if(strcmp(to,
c120 20 6d 65 2d 3e 6a 69 64 29 29 0a 09 09 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 09 09 65 .me->jid))........break;.......e
c140 6c 73 65 0a 09 09 09 09 09 09 09 76 65 72 73 69 6f 6e 6a 61 63 63 28 73 6f 63 6b 2c 20 6d 65 2d lse........versionjacc(sock,.me-
c160 3e 6a 69 64 2c 20 66 72 6f 6d 2c 20 69 64 29 3b 0a 09 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 >jid,.from,.id);.......break;...
c180 09 09 09 7d 0a 09 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 6d 2c 20 22 6a 61 62 62 65 72 ...}......if(!strcmp(xm,."jabber
c1a0 3a 69 71 3a 6c 61 73 74 22 29 29 0a 09 09 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 6d 65 2d :iq:last")).......if(!strcmp(me-
c1c0 3e 6a 69 64 2c 20 74 6f 29 29 0a 09 09 09 09 09 09 09 6c 61 73 74 6a 61 63 63 28 73 6f 63 6b 2c >jid,.to))........lastjacc(sock,
c1e0 20 74 6f 2c 20 66 72 6f 6d 2c 20 69 64 2c 20 74 69 6d 65 28 30 29 20 2d 20 6d 65 2d 3e 6c 61 73 .to,.from,.id,.time(0).-.me->las
c200 74 29 3b 0a 09 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 6d 2c 20 22 68 74 74 70 3a 2f 2f t);......if(!strcmp(xm,."http://
c220 6a 61 62 62 65 72 2e 6f 72 67 2f 70 72 6f 74 6f 63 6f 6c 2f 64 69 73 63 6f 23 69 6e 66 6f 22 29 jabber.org/protocol/disco#info")
c240 29 0a 09 09 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 6d 65 2d 3e 6a 69 64 2c 20 74 6f 29 29 ).......if(!strcmp(me->jid,.to))
c260 0a 09 09 09 09 09 09 09 69 66 28 69 64 20 21 3d 20 6e 69 6c 20 26 26 20 73 74 72 63 6d 70 28 69 ........if(id.!=.nil.&&.strcmp(i
c280 64 2c 20 22 68 74 74 70 3a 2f 2f 6a 61 62 62 65 72 2e 6f 72 67 2f 70 72 6f 74 6f 63 6f 6c 2f 6d d,."http://jabber.org/protocol/m
c2a0 75 63 23 72 6f 6f 6d 73 22 29 29 0a 09 09 09 09 09 09 09 09 66 65 61 74 75 72 65 73 6a 61 63 63 uc#rooms")).........featuresjacc
c2c0 28 73 6f 63 6b 2c 20 74 6f 2c 20 66 72 6f 6d 2c 20 69 64 29 3b 0a 09 09 09 09 09 69 66 28 21 73 (sock,.to,.from,.id);......if(!s
c2e0 74 72 63 6d 70 28 78 6d 2c 20 22 6a 61 62 62 65 72 3a 69 71 3a 74 69 6d 65 22 29 29 0a 09 09 09 trcmp(xm,."jabber:iq:time"))....
c300 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 6d 65 2d 3e 6a 69 64 2c 20 74 6f 29 29 0a 09 09 09 09 ...if(!strcmp(me->jid,.to)).....
c320 09 09 09 74 69 6d 65 6a 61 63 63 28 73 6f 63 6b 2c 20 74 6f 2c 20 66 72 6f 6d 2c 20 69 64 29 3b ...timejacc(sock,.to,.from,.id);
c340 0a 09 09 09 09 7d 0a 09 09 09 09 73 74 20 3d 20 49 51 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 .....}.....st.=.IQ;.....break;..
c360 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 69 74 65 6d 22 29 ..}....if(!strcmp(x->na,."item")
c380 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 49 54 45 4d 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f .&&.st.==.IQ_ITEM){.....st.=.IQ_
c3a0 49 4e 4e 45 52 3b 0a 09 09 09 09 69 66 28 61 63 20 21 3d 20 6e 69 6c 20 26 26 20 61 63 2d 3e 73 INNER;.....if(ac.!=.nil.&&.ac->s
c3c0 75 62 73 63 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 61 63 ubsc.!=.nil){......if(!strcmp(ac
c3e0 2d 3e 73 75 62 73 63 2c 20 22 72 65 6d 6f 76 65 22 29 29 7b 0a 09 09 09 09 09 09 6d 65 2d 3e 72 ->subsc,."remove")){.......me->r
c400 6f 73 74 20 3d 20 64 65 6c 6e 61 6d 65 28 6d 65 2d 3e 72 6f 73 74 2c 20 61 63 2d 3e 6e 61 6d 65 ost.=.delname(me->rost,.ac->name
c420 2c 20 61 63 2d 3e 6a 69 64 29 3b 0a 09 09 09 09 09 09 70 72 69 6e 74 28 22 25 73 72 65 6d 6f 76 ,.ac->jid);.......print("%sremov
c440 65 64 3a 20 25 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 61 63 2d 3e 6a 69 64 29 3b 0a 09 09 09 ed:.%s\n",.tmstmp,.ac->jid);....
c460 09 09 09 66 72 65 65 72 6f 73 74 65 72 6e 28 61 63 29 3b 0a 09 09 09 09 09 09 62 72 65 61 6b 3b ...freerostern(ac);.......break;
c480 0a 09 09 09 09 09 7d 0a 09 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 61 63 2d 3e 73 75 62 73 ......}......if(!strcmp(ac->subs
c4a0 63 2c 20 22 62 6f 74 68 22 29 20 7c 7c 20 21 73 74 72 63 6d 70 28 61 63 2d 3e 73 75 62 73 63 2c c,."both").||.!strcmp(ac->subsc,
c4c0 20 22 74 6f 22 29 20 7c 7c 0a 09 09 09 09 09 20 20 20 21 73 74 72 63 6d 70 28 61 63 2d 3e 73 75 ."to").||.........!strcmp(ac->su
c4e0 62 73 63 2c 20 22 66 72 6f 6d 22 29 20 7c 7c 20 21 73 74 72 63 6d 70 28 61 63 2d 3e 73 75 62 73 bsc,."from").||.!strcmp(ac->subs
c500 63 2c 20 22 6e 6f 6e 65 22 29 20 7c 7c 0a 09 09 09 09 09 20 20 20 21 73 74 72 63 6d 70 28 61 63 c,."none").||.........!strcmp(ac
c520 2d 3e 73 75 62 73 63 2c 20 22 61 73 6b 22 29 29 7b 0a 09 09 09 09 09 09 69 66 28 21 73 74 72 63 ->subsc,."ask")){.......if(!strc
c540 6d 70 28 61 63 2d 3e 73 75 62 73 63 2c 20 22 61 73 6b 22 29 29 0a 09 09 09 09 09 09 09 70 72 69 mp(ac->subsc,."ask"))........pri
c560 6e 74 28 22 25 73 25 73 20 61 73 6b 73 20 66 6f 72 20 61 75 74 68 6f 72 69 73 61 74 69 6f 6e 2e nt("%s%s.asks.for.authorisation.
c580 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 61 63 2d 3e 6a 69 64 29 3b 0a 09 09 09 09 09 09 69 66 28 \n",.tmstmp,.ac->jid);.......if(
c5a0 28 70 20 3d 20 73 65 61 72 63 68 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c 20 61 63 2d (p.=.searchrostern(me->rost,.ac-
c5c0 3e 6e 61 6d 65 2c 20 61 63 2d 3e 6a 69 64 29 29 20 3d 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 09 >name,.ac->jid)).==.nil){.......
c5e0 09 61 63 2d 3e 73 75 62 73 63 20 3d 20 73 74 72 64 75 70 28 61 63 2d 3e 73 75 62 73 63 29 3b 0a .ac->subsc.=.strdup(ac->subsc);.
c600 09 09 09 09 09 09 09 61 64 64 72 6f 73 74 65 72 6e 28 6d 65 2d 3e 72 6f 73 74 2c 20 61 63 29 3b .......addrostern(me->rost,.ac);
c620 0a 09 09 09 09 09 09 09 69 66 28 73 74 72 63 6d 70 28 61 63 2d 3e 73 75 62 73 63 2c 20 22 61 73 ........if(strcmp(ac->subsc,."as
c640 6b 22 29 29 0a 09 09 09 09 09 09 09 09 70 72 69 6e 74 28 22 25 73 61 64 64 65 64 3a 20 25 73 5c k")).........print("%sadded:.%s\
c660 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 61 63 2d 3e 6a 69 64 29 3b 0a 09 09 09 09 09 09 7d 20 65 6c n",.tmstmp,.ac->jid);.......}.el
c680 73 65 20 7b 0a 09 09 09 09 09 09 09 69 66 28 70 2d 3e 6a 69 64 20 21 3d 20 6e 69 6c 29 0a 09 09 se.{........if(p->jid.!=.nil)...
c6a0 09 09 09 09 09 09 66 72 65 65 28 70 2d 3e 6a 69 64 29 3b 0a 09 09 09 09 09 09 09 69 66 28 61 63 ......free(p->jid);........if(ac
c6c0 2d 3e 6a 69 64 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 09 09 09 70 2d 3e 6a 69 64 20 3d 20 73 ->jid.!=.nil).........p->jid.=.s
c6e0 74 72 64 75 70 28 61 63 2d 3e 6a 69 64 29 3b 0a 09 09 09 09 09 09 09 65 6c 73 65 0a 09 09 09 09 trdup(ac->jid);........else.....
c700 09 09 09 09 70 2d 3e 6a 69 64 20 3d 20 6e 69 6c 3b 0a 0a 09 09 09 09 09 09 09 69 66 28 70 2d 3e ....p->jid.=.nil;.........if(p->
c720 6e 61 6d 65 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 09 09 09 66 72 65 65 28 70 2d 3e 6e 61 6d name.!=.nil).........free(p->nam
c740 65 29 3b 0a 09 09 09 09 09 09 09 69 66 28 61 63 2d 3e 6e 61 6d 65 20 21 3d 20 6e 69 6c 29 0a 09 e);........if(ac->name.!=.nil)..
c760 09 09 09 09 09 09 09 70 2d 3e 6e 61 6d 65 20 3d 20 73 74 72 64 75 70 28 61 63 2d 3e 6e 61 6d 65 .......p->name.=.strdup(ac->name
c780 29 3b 0a 09 09 09 09 09 09 09 65 6c 73 65 0a 09 09 09 09 09 09 09 09 70 2d 3e 6e 61 6d 65 20 3d );........else.........p->name.=
c7a0 20 6e 69 6c 3b 0a 0a 09 09 09 09 09 09 09 69 66 28 70 2d 3e 73 75 62 73 63 20 21 3d 20 6e 69 6c .nil;.........if(p->subsc.!=.nil
c7c0 29 0a 09 09 09 09 09 09 09 09 66 72 65 65 28 70 2d 3e 73 75 62 73 63 29 3b 0a 09 09 09 09 09 09 ).........free(p->subsc);.......
c7e0 09 69 66 28 61 63 2d 3e 73 75 62 73 63 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 09 09 09 70 2d .if(ac->subsc.!=.nil).........p-
c800 3e 73 75 62 73 63 20 3d 20 73 74 72 64 75 70 28 61 63 2d 3e 73 75 62 73 63 29 3b 0a 09 09 09 09 >subsc.=.strdup(ac->subsc);.....
c820 09 09 09 65 6c 73 65 0a 09 09 09 09 09 09 09 09 70 2d 3e 73 75 62 73 63 20 3d 20 6e 69 6c 3b 0a ...else.........p->subsc.=.nil;.
c840 0a 09 09 09 09 09 09 09 70 72 69 6e 74 28 22 25 73 75 70 64 61 74 65 3a 20 25 73 2f 25 73 5c 6e ........print("%supdate:.%s/%s\n
c860 22 2c 20 74 6d 73 74 6d 70 2c 20 28 61 63 2d 3e 6e 61 6d 65 20 3d 3d 20 6e 69 6c 29 20 3f 20 22 ",.tmstmp,.(ac->name.==.nil).?."
c880 3c 6e 69 6c 3e 22 20 3a 20 61 63 2d 3e 6e 61 6d 65 0a 09 09 09 09 09 09 09 09 09 09 2c 20 28 61 <nil>".:.ac->name...........,.(a
c8a0 63 2d 3e 6a 69 64 20 3d 3d 20 6e 69 6c 29 20 3f 20 22 3c 6e 69 6c 3e 22 20 3a 20 61 63 2d 3e 6a c->jid.==.nil).?."<nil>".:.ac->j
c8c0 69 64 29 3b 0a 09 09 09 09 09 09 09 66 72 65 65 72 6f 73 74 65 72 6e 28 61 63 29 3b 0a 09 09 09 id);........freerostern(ac);....
c8e0 09 09 09 7d 0a 09 09 09 09 09 7d 0a 09 09 09 09 7d 0a 09 09 09 09 61 63 20 3d 20 6e 69 6c 3b 0a ...}......}.....}.....ac.=.nil;.
c900 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d ....break;....}....if(!strcmp(x-
c920 3e 6e 61 2c 20 22 67 72 6f 75 70 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 47 52 4f 55 50 29 >na,."group").&&.st.==.IQ_GROUP)
c940 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 49 54 45 4d 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 {.....st.=.IQ_ITEM;.....break;..
c960 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 67 72 6f 75 70 22 ..}....if(!strcmp(x->na,."group"
c980 29 20 26 26 20 73 74 20 3d 3d 20 52 4f 53 54 45 52 5f 47 52 4f 55 50 29 7b 0a 09 09 09 09 73 74 ).&&.st.==.ROSTER_GROUP){.....st
c9a0 20 3d 20 52 4f 53 54 45 52 5f 49 4e 4e 45 52 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d .=.ROSTER_INNER;.....break;....}
c9c0 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 69 74 65 6d 22 29 20 26 26 ....if(!strcmp(x->na,."item").&&
c9e0 20 73 74 20 3d 3d 20 49 51 5f 44 49 53 43 4f 5f 49 54 45 4d 29 7b 0a 09 09 09 09 70 72 69 6e 74 .st.==.IQ_DISCO_ITEM){.....print
ca00 28 22 25 73 20 20 25 73 20 7c 20 25 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 74 6f 2c 20 69 64 ("%s..%s.|.%s\n",.tmstmp,.to,.id
ca20 29 3b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 44 49 53 43 4f 3b 0a 09 09 09 09 62 72 65 61 6b 3b );.....st.=.IQ_DISCO;.....break;
ca40 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 69 64 65 6e ....}....if(!strcmp(x->na,."iden
ca60 74 69 74 79 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 44 49 53 43 4f 5f 49 44 45 4e 54 29 7b tity").&&.st.==.IQ_DISCO_IDENT){
ca80 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 66 65 61 74 75 72 65 73 3a 5c 6e 22 2c 20 74 6d 73 74 .....print("%sfeatures:\n",.tmst
caa0 6d 70 29 3b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 44 49 53 43 4f 3b 0a 09 09 09 09 62 72 65 61 mp);.....st.=.IQ_DISCO;.....brea
cac0 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 66 65 k;....}....if(!strcmp(x->na,."fe
cae0 61 74 75 72 65 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 44 49 53 43 4f 5f 46 45 41 54 55 29 ature").&&.st.==.IQ_DISCO_FEATU)
cb00 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 44 49 53 43 4f 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a {.....st.=.IQ_DISCO;.....break;.
cb20 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 65 6d 70 74 79 ...}....if(!strcmp(x->na,."empty
cb40 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 44 49 53 43 4f 5f 45 4d 50 54 59 29 7b 0a 09 09 09 ").&&.st.==.IQ_DISCO_EMPTY){....
cb60 09 73 74 20 3d 20 49 51 5f 44 49 53 43 4f 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a .st.=.IQ_DISCO;.....break;....}.
cb80 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 75 74 63 22 29 20 26 26 20 73 ...if(!strcmp(x->na,."utc").&&.s
cba0 74 20 3d 3d 20 49 51 5f 54 49 4d 45 5f 55 54 43 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 54 t.==.IQ_TIME_UTC){.....st.=.IQ_T
cbc0 49 4d 45 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 IME;.....break;....}....if(!strc
cbe0 6d 70 28 78 2d 3e 6e 61 2c 20 22 74 7a 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 54 49 4d 45 mp(x->na,."tz").&&.st.==.IQ_TIME
cc00 5f 54 5a 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 54 49 4d 45 3b 0a 09 09 09 09 62 72 65 61 _TZ){.....st.=.IQ_TIME;.....brea
cc20 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 64 69 k;....}....if(!strcmp(x->na,."di
cc40 73 70 6c 61 79 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 54 49 4d 45 5f 44 49 53 50 4c 41 59 splay").&&.st.==.IQ_TIME_DISPLAY
cc60 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 54 49 4d 45 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a ){.....st.=.IQ_TIME;.....break;.
cc80 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 76 65 72 73 69 ...}....if(!strcmp(x->na,."versi
cca0 6f 6e 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 56 45 52 53 49 4f 4e 5f 56 45 52 29 7b 0a 09 on").&&.st.==.IQ_VERSION_VER){..
ccc0 09 09 09 73 74 20 3d 20 49 51 5f 56 45 52 53 49 4f 4e 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 ...st.=.IQ_VERSION;.....break;..
cce0 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 6e 61 6d 65 22 29 ..}....if(!strcmp(x->na,."name")
cd00 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 56 45 52 53 49 4f 4e 5f 4e 41 4d 45 29 7b 0a 09 09 09 09 .&&.st.==.IQ_VERSION_NAME){.....
cd20 73 74 20 3d 20 49 51 5f 56 45 52 53 49 4f 4e 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d st.=.IQ_VERSION;.....break;....}
cd40 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 6f 73 22 29 20 26 26 20 73 ....if(!strcmp(x->na,."os").&&.s
cd60 74 20 3d 3d 20 49 51 5f 56 45 52 53 49 4f 4e 5f 4f 53 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 t.==.IQ_VERSION_OS){.....st.=.IQ
cd80 5f 56 45 52 53 49 4f 4e 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 _VERSION;.....break;....}....if(
cda0 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 61 67 65 6e 74 22 29 20 26 26 20 73 74 20 3d 3d !strcmp(x->na,."agent").&&.st.==
cdc0 20 49 51 5f 41 47 45 4e 54 53 5f 41 47 45 4e 54 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 41 .IQ_AGENTS_AGENT){.....st.=.IQ_A
cde0 47 45 4e 54 53 3b 0a 09 09 09 09 70 72 69 6e 74 28 22 25 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 GENTS;.....print("%s\n",.tmstmp)
ce00 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 ;.....break;....}....if(!strcmp(
ce20 78 2d 3e 6e 61 2c 20 22 6e 61 6d 65 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 41 47 45 4e 54 x->na,."name").&&.st.==.IQ_AGENT
ce40 53 5f 4e 41 4d 45 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 41 47 45 4e 54 53 5f 41 47 45 4e S_NAME){.....st.=.IQ_AGENTS_AGEN
ce60 54 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 T;.....break;....}....if(!strcmp
ce80 28 78 2d 3e 6e 61 2c 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 29 20 26 26 20 73 74 20 3d 3d 20 (x->na,."description").&&.st.==.
cea0 49 51 5f 41 47 45 4e 54 53 5f 44 45 53 43 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 41 47 45 IQ_AGENTS_DESC){.....st.=.IQ_AGE
cec0 4e 54 53 5f 41 47 45 4e 54 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 NTS_AGENT;.....break;....}....if
cee0 28 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 74 72 61 6e 73 70 6f 72 74 22 29 20 7c 7c ((!strcmp(x->na,."transport").||
cf00 20 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 67 72 6f 75 70 63 68 61 74 22 29 0a 09 09 09 .!strcmp(x->na,."groupchat")....
cf20 09 09 7c 7c 20 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 72 65 67 69 73 74 65 72 22 29 20 ..||.!strcmp(x->na,."register").
cf40 7c 7c 20 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 73 65 61 72 63 68 22 29 29 20 26 26 0a ||.!strcmp(x->na,."search")).&&.
cf60 09 09 09 09 09 73 74 20 3d 3d 20 49 51 5f 41 47 45 4e 54 53 5f 41 47 45 4e 54 29 0a 09 09 09 09 .....st.==.IQ_AGENTS_AGENT).....
cf80 62 72 65 61 6b 3b 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 73 65 72 break;....if(!strcmp(x->na,."ser
cfa0 76 69 63 65 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 41 47 45 4e 54 53 5f 53 45 52 56 29 7b vice").&&.st.==.IQ_AGENTS_SERV){
cfc0 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 41 47 45 4e 54 53 5f 41 47 45 4e 54 3b 0a 09 09 09 09 62 .....st.=.IQ_AGENTS_AGENT;.....b
cfe0 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 73 74 20 3d 3d 20 49 51 5f 56 43 41 52 44 5f reak;....}....if(st.==.IQ_VCARD_
d000 49 4e 4e 45 52 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 56 43 41 52 44 3b 0a 09 09 09 09 62 INNER){.....st.=.IQ_VCARD;.....b
d020 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 63 61 73 65 20 45 4e 44 5f reak;....}....break;...case.END_
d040 44 4f 43 55 4d 45 4e 54 3a 0a 09 09 09 69 66 28 6d 65 2d 3e 64 65 62 75 67 29 0a 09 09 09 09 70 DOCUMENT:....if(me->debug).....p
d060 72 69 6e 74 28 22 44 6f 63 75 6d 65 6e 74 65 6e 64 2e 5c 6e 22 29 3b 0a 09 09 09 73 74 20 3d 20 rint("Documentend.\n");....st.=.
d080 45 4e 44 3b 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 64 65 66 61 75 6c 74 3a 0a 09 09 09 70 72 69 END;....break;...default:....pri
d0a0 6e 74 28 22 50 6c 65 61 73 65 20 63 6f 6e 74 61 63 74 20 74 68 65 20 78 6d 6c 70 75 6c 6c 20 61 nt("Please.contact.the.xmlpull.a
d0c0 75 74 68 6f 72 20 61 62 6f 75 74 20 74 68 69 73 2e 20 25 78 5c 6e 22 2c 20 62 2d 3e 65 76 29 3b uthor.about.this..%x\n",.b->ev);
d0e0 0a 09 09 09 73 74 20 3d 20 45 4e 44 3b 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 7d 0a 09 09 66 72 ....st.=.END;....break;...}...fr
d100 65 65 28 74 6d 73 74 6d 70 29 3b 0a 09 7d 0a 0a 09 69 66 28 69 64 20 21 3d 20 6e 69 6c 29 0a 09 ee(tmstmp);..}...if(id.!=.nil)..
d120 09 66 72 65 65 28 69 64 29 3b 0a 09 66 72 65 65 78 6d 6c 70 75 6c 6c 28 78 29 3b 0a 0a 09 72 65 .free(id);..freexmlpull(x);...re
d140 74 75 72 6e 20 30 3b 0a 7d 0a 20 22 61 75 74 68 5f 32 22 29 29 0a 09 09 09 09 09 09 73 74 20 3d turn.0;.}.."auth_2")).......st.=
d160 20 52 4f 53 54 45 52 3b 0a 09 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 76 61 2c 20 .ROSTER;......if(!strcmp(x->va,.
d180 22 64 69 73 63 6f 30 22 29 29 0a 09 09 09 09 09 09 73 74 20 3d 20 49 51 5f 44 49 53 43 4f 3b 0a "disco0")).......st.=.IQ_DISCO;.
d1a0 09 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 76 61 2c 20 22 74 69 6d 65 30 22 29 29 .....if(!strcmp(x->va,."time0"))
d1c0 0a 09 09 09 09 09 09 73 74 20 3d 20 49 51 5f 54 49 4d 45 3b 0a 09 09 09 09 09 69 66 28 21 73 74 .......st.=.IQ_TIME;......if(!st
d1e0 72 63 6d 70 28 78 2d 3e 76 61 2c 20 22 61 67 65 6e 74 73 30 22 29 29 0a 09 09 09 09 09 09 73 74 rcmp(x->va,."agents0")).......st
d200 6a 61 63 63 2f 2f 6a 61 63 63 2f 72 65 63 76 2e 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacc/recv.h...............
d220 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 ................................
d240 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 ................................
d260 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
d280 20 20 20 20 31 33 30 20 31 30 35 36 30 36 32 37 37 36 37 20 20 31 32 30 31 33 00 00 00 00 00 00 ....130.10560627767..12013......
d2a0 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 ................................
d2c0 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 ................................
d2e0 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 ................................
d300 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
d320 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
d340 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 ................................
d360 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 ................................
d380 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 ................................
d3a0 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 ................................
d3c0 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 ................................
d3e0 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 ................................
d400 23 69 66 6e 64 65 66 20 52 45 43 56 5f 48 0a 23 64 65 66 69 6e 65 20 52 45 43 56 5f 48 0a 0a 69 #ifndef.RECV_H.#define.RECV_H..i
d420 6e 74 20 72 65 63 76 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 6a 61 62 62 65 72 63 20 2a 6d nt.recvjacc(int.sock,.jabberc.*m
d440 65 2c 20 63 68 61 72 20 2a 70 61 73 73 29 3b 0a 0a 23 65 6e 64 69 66 0a 00 00 00 00 00 00 00 00 e,.char.*pass);..#endif.........
d460 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 ................................
d480 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 ................................
d4a0 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 ................................
d4c0 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 ................................
d4e0 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 ................................
d500 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 ................................
d520 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 ................................
d540 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 ................................
d560 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 ................................
d580 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 ................................
d5a0 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 ................................
d5c0 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 ................................
d5e0 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 ................................
d600 6a 61 63 63 2f 2f 6a 61 63 63 2f 72 6f 73 74 65 72 2e 63 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacc/roster.c.............
d620 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 ................................
d640 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 ................................
d660 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
d680 20 20 20 36 30 33 31 20 31 30 35 36 30 36 32 37 37 36 37 20 20 31 32 34 31 33 00 00 00 00 00 00 ...6031.10560627767..12413......
d6a0 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 ................................
d6c0 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 ................................
d6e0 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 ................................
d700 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
d720 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
d740 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 ................................
d760 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 ................................
d780 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 ................................
d7a0 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 ................................
d7c0 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 ................................
d7e0 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 ................................
d800 2f 2a 0a 20 2a 20 43 6f 70 79 20 6d 65 20 69 66 20 79 6f 75 20 63 61 6e 2e 0a 20 2a 20 62 79 20 /*..*.Copy.me.if.you.can...*.by.
d820 32 30 68 0a 20 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 75 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20h..*/..#include.<u.h>.#include
d840 20 3c 6c 69 62 63 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 22 64 61 74 2e 68 22 0a 23 69 6e 63 6c .<libc.h>.#include."dat.h".#incl
d860 75 64 65 20 22 72 6f 73 74 65 72 2e 68 22 0a 0a 76 6f 69 64 0a 66 72 65 65 72 6f 73 74 65 72 6e ude."roster.h"..void.freerostern
d880 28 72 6f 73 74 65 72 6e 20 2a 72 29 0a 7b 0a 09 69 66 28 72 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 (rostern.*r).{..if(r.!=.nil){...
d8a0 69 66 28 72 2d 3e 6e 61 6d 65 20 21 3d 20 6e 69 6c 29 0a 09 09 09 66 72 65 65 28 72 2d 3e 6e 61 if(r->name.!=.nil)....free(r->na
d8c0 6d 65 29 3b 0a 09 09 69 66 28 72 2d 3e 6a 69 64 20 21 3d 20 6e 69 6c 29 0a 09 09 09 66 72 65 65 me);...if(r->jid.!=.nil)....free
d8e0 28 72 2d 3e 6a 69 64 29 3b 0a 09 09 69 66 28 72 2d 3e 73 74 61 74 75 73 20 21 3d 20 6e 69 6c 29 (r->jid);...if(r->status.!=.nil)
d900 0a 09 09 09 66 72 65 65 28 72 2d 3e 73 74 61 74 75 73 29 3b 0a 09 09 69 66 28 72 2d 3e 67 72 6f ....free(r->status);...if(r->gro
d920 75 70 20 21 3d 20 6e 69 6c 29 0a 09 09 09 66 72 65 65 28 72 2d 3e 67 72 6f 75 70 29 3b 0a 09 09 up.!=.nil)....free(r->group);...
d940 69 66 28 72 2d 3e 73 68 6f 77 20 21 3d 20 6e 69 6c 29 0a 09 09 09 66 72 65 65 28 72 2d 3e 73 68 if(r->show.!=.nil)....free(r->sh
d960 6f 77 29 3b 0a 09 09 69 66 28 72 2d 3e 73 75 62 73 63 20 21 3d 20 6e 69 6c 29 0a 09 09 09 66 72 ow);...if(r->subsc.!=.nil)....fr
d980 65 65 28 72 2d 3e 73 75 62 73 63 29 3b 0a 09 09 66 72 65 65 28 72 29 3b 0a 09 7d 0a 09 72 65 74 ee(r->subsc);...free(r);..}..ret
d9a0 75 72 6e 3b 0a 7d 0a 0a 76 6f 69 64 0a 66 72 65 65 72 6f 73 74 65 72 6c 28 72 6f 73 74 65 72 6e urn;.}..void.freerosterl(rostern
d9c0 20 2a 72 29 0a 7b 0a 09 72 6f 73 74 65 72 6e 20 2a 62 3b 0a 0a 09 69 66 28 72 20 21 3d 20 6e 69 .*r).{..rostern.*b;...if(r.!=.ni
d9e0 6c 29 7b 0a 09 09 77 68 69 6c 65 28 72 2d 3e 6e 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 62 20 3d l){...while(r->n.!=.nil){....b.=
da00 20 72 2d 3e 6e 3b 0a 09 09 09 66 72 65 65 72 6f 73 74 65 72 6e 28 72 29 3b 0a 09 09 09 72 20 3d .r->n;....freerostern(r);....r.=
da20 20 62 3b 0a 09 09 7d 0a 09 09 66 72 65 65 72 6f 73 74 65 72 6e 28 72 29 3b 0a 09 7d 0a 0a 09 72 .b;...}...freerostern(r);..}...r
da40 65 74 75 72 6e 3b 0a 7d 0a 0a 76 6f 69 64 0a 66 72 65 65 6a 61 62 62 65 72 63 28 6a 61 62 62 65 eturn;.}..void.freejabberc(jabbe
da60 72 63 20 2a 6a 29 0a 7b 0a 0a 09 69 66 28 6a 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 69 66 28 6a 2d rc.*j).{...if(j.!=.nil){...if(j-
da80 3e 73 74 61 74 20 21 3d 20 6e 69 6c 29 0a 09 09 09 66 72 65 65 28 6a 2d 3e 73 74 61 74 29 3b 0a >stat.!=.nil)....free(j->stat);.
daa0 09 09 69 66 28 6a 2d 3e 6e 61 6d 65 20 21 3d 20 6e 69 6c 29 0a 09 09 09 66 72 65 65 28 6a 2d 3e ..if(j->name.!=.nil)....free(j->
dac0 6e 61 6d 65 29 3b 0a 09 09 69 66 28 6a 2d 3e 72 65 73 6f 20 21 3d 20 6e 69 6c 29 0a 09 09 09 66 name);...if(j->reso.!=.nil)....f
dae0 72 65 65 28 6a 2d 3e 72 65 73 6f 29 3b 0a 09 09 69 66 28 6a 2d 3e 73 65 72 76 20 21 3d 20 6e 69 ree(j->reso);...if(j->serv.!=.ni
db00 6c 29 0a 09 09 09 66 72 65 65 28 6a 2d 3e 73 65 72 76 29 3b 0a 09 09 69 66 28 6a 2d 3e 6a 69 64 l)....free(j->serv);...if(j->jid
db20 20 21 3d 20 6e 69 6c 29 0a 09 09 09 66 72 65 65 28 6a 2d 3e 6a 69 64 29 3b 0a 09 09 69 66 28 6a .!=.nil)....free(j->jid);...if(j
db40 2d 3e 72 6f 73 74 20 21 3d 20 6e 69 6c 29 0a 09 09 09 66 72 65 65 72 6f 73 74 65 72 6c 28 6a 2d ->rost.!=.nil)....freerosterl(j-
db60 3e 72 6f 73 74 29 3b 0a 09 09 69 66 28 6a 2d 3e 73 68 6f 77 20 21 3d 20 6e 69 6c 29 0a 09 09 09 >rost);...if(j->show.!=.nil)....
db80 66 72 65 65 28 6a 2d 3e 73 68 6f 77 29 3b 0a 09 09 66 72 65 65 28 6a 29 3b 0a 09 7d 0a 09 72 65 free(j->show);...free(j);..}..re
dba0 74 75 72 6e 3b 0a 7d 0a 0a 72 6f 73 74 65 72 6e 20 2a 0a 6d 6b 72 6f 73 74 65 72 6e 28 76 6f 69 turn;.}..rostern.*.mkrostern(voi
dbc0 64 29 0a 7b 0a 09 72 65 74 75 72 6e 20 72 65 61 6c 6c 6f 63 6a 28 6e 69 6c 2c 20 73 69 7a 65 6f d).{..return.reallocj(nil,.sizeo
dbe0 66 28 72 6f 73 74 65 72 6e 29 2c 20 32 29 3b 0a 7d 0a 0a 6a 61 62 62 65 72 63 20 2a 0a 6d 6b 6a f(rostern),.2);.}..jabberc.*.mkj
dc00 61 62 62 65 72 63 28 76 6f 69 64 29 0a 7b 0a 09 72 65 74 75 72 6e 20 72 65 61 6c 6c 6f 63 6a 28 abberc(void).{..return.reallocj(
dc20 6e 69 6c 2c 20 73 69 7a 65 6f 66 28 6a 61 62 62 65 72 63 29 2c 20 32 29 3b 0a 7d 0a 0a 72 6f 73 nil,.sizeof(jabberc),.2);.}..ros
dc40 74 65 72 6e 20 2a 0a 64 65 6c 72 6f 73 74 65 72 6e 28 72 6f 73 74 65 72 6e 20 2a 72 29 0a 7b 0a tern.*.delrostern(rostern.*r).{.
dc60 09 72 6f 73 74 65 72 6e 20 2a 72 65 74 3b 0a 09 0a 09 72 65 74 20 3d 20 6e 69 6c 3b 0a 0a 09 2f .rostern.*ret;....ret.=.nil;.../
dc80 2f 70 72 69 6e 74 28 22 64 65 6c 72 6f 73 74 65 72 6e 3a 20 25 78 20 72 2d 3e 6e 3a 20 25 78 20 /print("delrostern:.%x.r->n:.%x.
dca0 72 2d 3e 70 3a 20 25 78 5c 6e 22 2c 20 72 2c 20 72 2d 3e 6e 2c 20 72 2d 3e 70 29 3b 0a 09 69 66 r->p:.%x\n",.r,.r->n,.r->p);..if
dcc0 28 72 2d 3e 6e 20 21 3d 20 6e 69 6c 20 26 26 20 72 2d 3e 70 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 (r->n.!=.nil.&&.r->p.!=.nil){...
dce0 72 2d 3e 6e 2d 3e 70 20 3d 20 72 2d 3e 70 3b 0a 09 09 72 2d 3e 70 2d 3e 6e 20 3d 20 72 2d 3e 6e r->n->p.=.r->p;...r->p->n.=.r->n
dd00 3b 0a 09 09 72 65 74 20 3d 20 72 2d 3e 70 3b 0a 09 7d 20 65 6c 73 65 20 7b 0a 09 09 69 66 28 72 ;...ret.=.r->p;..}.else.{...if(r
dd20 2d 3e 6e 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 72 2d 3e 6e 2d 3e 70 20 3d 20 6e 69 6c 3b 0a 09 ->n.!=.nil){....r->n->p.=.nil;..
dd40 09 09 72 65 74 20 3d 20 72 2d 3e 6e 3b 0a 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 69 66 28 72 ..ret.=.r->n;...}.else.{....if(r
dd60 2d 3e 70 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 72 2d 3e 70 2d 3e 6e 20 3d 20 6e 69 6c 3b 0a ->p.!=.nil){.....r->p->n.=.nil;.
dd80 09 09 09 09 72 65 74 20 3d 20 72 2d 3e 70 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 7d 0a 09 66 72 65 ....ret.=.r->p;....}...}..}..fre
dda0 65 72 6f 73 74 65 72 6e 28 72 29 3b 0a 0a 09 72 65 74 75 72 6e 20 72 65 74 3b 0a 7d 0a 0a 72 6f erostern(r);...return.ret;.}..ro
ddc0 73 74 65 72 6e 20 2a 0a 6c 61 73 74 72 6f 73 74 65 72 6e 28 72 6f 73 74 65 72 6e 20 2a 72 29 0a stern.*.lastrostern(rostern.*r).
dde0 7b 0a 09 77 68 69 6c 65 28 72 2d 3e 6e 20 21 3d 20 6e 69 6c 29 0a 09 09 72 20 3d 20 72 2d 3e 6e {..while(r->n.!=.nil)...r.=.r->n
de00 3b 0a 0a 09 72 65 74 75 72 6e 20 72 3b 0a 7d 0a 0a 72 6f 73 74 65 72 6e 20 2a 0a 61 64 64 72 6f ;...return.r;.}..rostern.*.addro
de20 73 74 65 72 6e 28 72 6f 73 74 65 72 6e 20 2a 72 2c 20 72 6f 73 74 65 72 6e 20 2a 6e 29 0a 7b 0a stern(rostern.*r,.rostern.*n).{.
de40 09 72 6f 73 74 65 72 6e 20 2a 72 65 74 3b 0a 0a 09 2f 2f 70 72 69 6e 74 28 22 61 64 64 72 6f 73 .rostern.*ret;...//print("addros
de60 74 65 72 6e 3a 20 25 78 20 25 78 20 25 78 5c 6e 22 2c 20 72 2c 20 6e 2c 20 6e 2d 3e 6a 69 64 29 tern:.%x.%x.%x\n",.r,.n,.n->jid)
de80 3b 0a 09 72 65 74 20 3d 20 6c 61 73 74 72 6f 73 74 65 72 6e 28 72 29 3b 0a 09 72 65 74 2d 3e 6e ;..ret.=.lastrostern(r);..ret->n
dea0 20 3d 20 6e 3b 0a 09 6e 2d 3e 70 20 3d 20 72 65 74 3b 0a 09 6e 2d 3e 6e 20 3d 20 6e 69 6c 3b 0a .=.n;..n->p.=.ret;..n->n.=.nil;.
dec0 0a 09 72 65 74 75 72 6e 20 6e 3b 0a 7d 0a 0a 72 6f 73 74 65 72 6e 20 2a 0a 73 74 61 74 75 73 72 ..return.n;.}..rostern.*.statusr
dee0 6f 73 74 65 72 6e 28 72 6f 73 74 65 72 6e 20 2a 72 2c 20 63 68 61 72 20 2a 6e 61 6d 65 2c 20 63 ostern(rostern.*r,.char.*name,.c
df00 68 61 72 20 2a 6a 69 64 2c 20 63 68 61 72 20 2a 73 74 61 74 75 73 2c 20 63 68 61 72 20 2a 73 68 har.*jid,.char.*status,.char.*sh
df20 6f 77 29 0a 7b 0a 09 72 20 3d 20 73 65 61 72 63 68 72 6f 73 74 65 72 6e 28 72 2c 20 6e 61 6d 65 ow).{..r.=.searchrostern(r,.name
df40 2c 20 6a 69 64 29 3b 0a 09 69 66 28 72 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 69 66 28 73 68 6f 77 ,.jid);..if(r.!=.nil){...if(show
df60 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 69 66 28 72 2d 3e 73 68 6f 77 20 21 3d 20 6e 69 6c 29 0a .!=.nil){....if(r->show.!=.nil).
df80 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 72 2d 3e 73 68 6f 77 2c 20 73 68 6f 77 29 29 0a 09 ....if(!strcmp(r->show,.show))..
dfa0 09 09 09 09 72 65 74 75 72 6e 20 6e 69 6c 3b 0a 09 09 09 69 66 28 72 2d 3e 73 68 6f 77 20 21 3d ....return.nil;....if(r->show.!=
dfc0 20 6e 69 6c 29 0a 09 09 09 09 66 72 65 65 28 72 2d 3e 73 68 6f 77 29 3b 0a 09 09 09 72 2d 3e 73 .nil).....free(r->show);....r->s
dfe0 68 6f 77 20 3d 20 73 74 72 64 75 70 28 73 68 6f 77 29 3b 0a 09 09 7d 0a 09 09 69 66 28 73 74 61 how.=.strdup(show);...}...if(sta
e000 74 75 73 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 69 66 28 72 2d 3e 73 74 61 74 75 73 20 21 3d 20 tus.!=.nil){....if(r->status.!=.
e020 6e 69 6c 29 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 72 2d 3e 73 74 61 74 75 73 2c 20 73 nil).....if(!strcmp(r->status,.s
e040 74 61 74 75 73 29 29 0a 09 09 09 09 09 72 65 74 75 72 6e 20 6e 69 6c 3b 0a 09 09 09 69 66 28 72 tatus))......return.nil;....if(r
e060 2d 3e 73 74 61 74 75 73 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 66 72 65 65 28 72 2d 3e 73 74 61 ->status.!=.nil).....free(r->sta
e080 74 75 73 29 3b 0a 09 09 09 72 2d 3e 73 74 61 74 75 73 20 3d 20 73 74 72 64 75 70 28 73 74 61 74 tus);....r->status.=.strdup(stat
e0a0 75 73 29 3b 0a 09 09 7d 0a 09 7d 0a 0a 09 72 65 74 75 72 6e 20 72 3b 0a 7d 0a 0a 63 68 61 72 20 us);...}..}...return.r;.}..char.
e0c0 2a 0a 6e 61 6d 65 72 6f 73 74 65 72 6e 28 72 6f 73 74 65 72 6e 20 2a 72 2c 20 63 68 61 72 20 2a *.namerostern(rostern.*r,.char.*
e0e0 6a 69 64 2c 20 63 68 61 72 20 2a 6e 61 6d 65 29 0a 7b 0a 0a 09 72 20 3d 20 73 65 61 72 63 68 72 jid,.char.*name).{...r.=.searchr
e100 6f 73 74 65 72 6e 28 72 2c 20 6e 61 6d 65 2c 20 6a 69 64 29 3b 0a 09 69 66 28 72 20 21 3d 20 6e ostern(r,.name,.jid);..if(r.!=.n
e120 69 6c 29 7b 0a 09 09 69 66 28 6a 69 64 20 21 3d 20 6e 69 6c 29 0a 09 09 09 69 66 28 72 2d 3e 6e il){...if(jid.!=.nil)....if(r->n
e140 61 6d 65 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 72 65 74 75 72 6e 20 72 2d 3e 6e 61 6d 65 3b 0a ame.!=.nil).....return.r->name;.
e160 09 09 69 66 28 6e 61 6d 65 20 21 3d 20 6e 69 6c 29 0a 09 09 09 69 66 28 72 2d 3e 6a 69 64 20 21 ..if(name.!=.nil)....if(r->jid.!
e180 3d 20 6e 69 6c 29 0a 09 09 09 09 72 65 74 75 72 6e 20 72 2d 3e 6a 69 64 3b 0a 09 7d 0a 0a 09 69 =.nil).....return.r->jid;..}...i
e1a0 66 28 6a 69 64 20 21 3d 20 6e 69 6c 29 0a 09 09 72 65 74 75 72 6e 20 6a 69 64 3b 0a 09 72 65 74 f(jid.!=.nil)...return.jid;..ret
e1c0 75 72 6e 20 6e 61 6d 65 3b 0a 7d 0a 0a 72 6f 73 74 65 72 6e 20 2a 0a 73 65 61 72 63 68 72 6f 73 urn.name;.}..rostern.*.searchros
e1e0 74 65 72 6e 28 72 6f 73 74 65 72 6e 20 2a 72 2c 20 63 68 61 72 20 2a 6e 61 6d 65 2c 20 63 68 61 tern(rostern.*r,.char.*name,.cha
e200 72 20 2a 6a 69 64 29 0a 7b 0a 0a 09 2f 2f 70 72 69 6e 74 28 22 73 65 61 72 63 68 72 6f 73 74 65 r.*jid).{...//print("searchroste
e220 72 6e 3a 20 72 3a 20 25 78 20 6e 3a 20 25 78 20 6a 3a 20 25 78 5c 6e 22 2c 20 72 2c 20 6e 61 6d rn:.r:.%x.n:.%x.j:.%x\n",.r,.nam
e240 65 2c 20 6a 69 64 29 3b 0a 09 77 68 69 6c 65 28 72 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 69 66 28 e,.jid);..while(r.!=.nil){...if(
e260 6e 61 6d 65 20 21 3d 20 6e 69 6c 20 26 26 20 72 2d 3e 6e 61 6d 65 20 21 3d 20 6e 69 6c 29 0a 09 name.!=.nil.&&.r->name.!=.nil)..
e280 09 09 69 66 28 21 73 74 72 63 6d 70 28 6e 61 6d 65 2c 20 72 2d 3e 6e 61 6d 65 29 29 0a 09 09 09 ..if(!strcmp(name,.r->name))....
e2a0 09 72 65 74 75 72 6e 20 72 3b 0a 09 09 69 66 28 6a 69 64 20 21 3d 20 6e 69 6c 20 26 26 20 72 2d .return.r;...if(jid.!=.nil.&&.r-
e2c0 3e 6a 69 64 20 21 3d 20 6e 69 6c 29 0a 09 09 09 69 66 28 21 73 74 72 6e 63 6d 70 28 6a 69 64 2c >jid.!=.nil)....if(!strncmp(jid,
e2e0 20 72 2d 3e 6a 69 64 2c 20 73 74 72 6c 65 6e 28 6a 69 64 29 29 20 7c 7c 20 21 73 74 72 6e 63 6d .r->jid,.strlen(jid)).||.!strncm
e300 70 28 6a 69 64 2c 20 72 2d 3e 6a 69 64 2c 20 73 74 72 6c 65 6e 28 72 2d 3e 6a 69 64 29 29 29 0a p(jid,.r->jid,.strlen(r->jid))).
e320 09 09 09 09 72 65 74 75 72 6e 20 72 3b 0a 09 09 72 20 3d 20 72 2d 3e 6e 3b 0a 09 7d 0a 0a 09 72 ....return.r;...r.=.r->n;..}...r
e340 65 74 75 72 6e 20 6e 69 6c 3b 0a 7d 0a 0a 72 6f 73 74 65 72 6e 20 2a 0a 64 65 6c 6e 61 6d 65 28 eturn.nil;.}..rostern.*.delname(
e360 72 6f 73 74 65 72 6e 20 2a 72 2c 20 63 68 61 72 20 2a 6e 61 6d 65 2c 20 63 68 61 72 20 2a 6a 69 rostern.*r,.char.*name,.char.*ji
e380 64 29 0a 7b 0a 09 72 6f 73 74 65 72 6e 20 2a 72 65 74 3b 0a 0a 09 72 65 74 20 3d 20 73 65 61 72 d).{..rostern.*ret;...ret.=.sear
e3a0 63 68 72 6f 73 74 65 72 6e 28 72 2c 20 6e 61 6d 65 2c 20 6a 69 64 29 3b 0a 09 69 66 28 72 65 74 chrostern(r,.name,.jid);..if(ret
e3c0 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 69 66 28 72 65 74 20 3d 3d 20 72 29 0a 09 09 09 72 65 74 75 .!=.nil){...if(ret.==.r)....retu
e3e0 72 6e 20 64 65 6c 72 6f 73 74 65 72 6e 28 72 65 74 29 3b 0a 0a 09 09 64 65 6c 72 6f 73 74 65 72 rn.delrostern(ret);....delroster
e400 6e 28 72 65 74 29 3b 0a 09 7d 0a 0a 09 72 65 74 75 72 6e 20 72 3b 0a 7d 0a 79 70 65 29 3b 0a 09 n(ret);..}...return.r;.}.ype);..
e420 09 09 09 69 66 28 69 64 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 66 72 65 65 28 69 64 29 3b 0a ...if(id.!=.nil)......free(id);.
e440 09 09 09 09 66 72 6f 6d 20 3d 20 6e 69 6c 3b 0a 09 09 09 09 74 6f 20 3d 20 6e 69 6c 3b 0a 09 09 ....from.=.nil;.....to.=.nil;...
e460 09 09 69 64 20 3d 20 6e 69 6c 3b 0a 09 09 09 09 74 79 70 65 20 3d 20 6e 69 6c 3b 0a 09 09 09 09 ..id.=.nil;.....type.=.nil;.....
e480 70 72 65 73 65 6e 63 65 6a 61 63 63 28 73 6f 63 6b 2c 20 6d 65 2d 3e 73 74 61 74 2c 20 6d 65 2d presencejacc(sock,.me->stat,.me-
e4a0 3e 73 68 6f 77 2c 20 6e 69 6c 2c 20 6e 69 6c 29 3b 0a 09 09 09 09 73 74 20 3d 20 4e 4f 4e 45 3b >show,.nil,.nil);.....st.=.NONE;
e4c0 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 .....break;....}....if(!strcmp(x
e4e0 2d 3e 6e 61 2c 20 22 76 43 61 72 64 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 56 43 41 52 44 ->na,."vCard").&&.st.==.IQ_VCARD
e500 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a ){.....st.=.IQ;.....break;....}.
e520 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 65 72 72 6f 72 22 29 20 26 26 ...if(!strcmp(x->na,."error").&&
e540 20 73 74 20 3d 3d 20 49 51 5f 45 52 52 4f 52 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 3b 0a 09 .st.==.IQ_ERROR){.....st.=.IQ;..
e560 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e ...break;....}....if(!strcmp(x->
e580 6e 61 2c 20 22 62 6f 64 79 22 29 20 26 26 20 73 74 20 3d 3d 20 4d 45 53 53 41 47 45 5f 49 4e 4e na,."body").&&.st.==.MESSAGE_INN
e5a0 45 52 29 7b 0a 09 09 09 09 73 74 20 3d 20 4d 45 53 53 41 47 45 3b 0a 09 09 09 09 62 72 65 61 6b ER){.....st.=.MESSAGE;.....break
e5c0 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 68 74 6d ;....}....if(!strcmp(x->na,."htm
e5e0 6c 22 29 20 26 26 20 73 74 20 3d 3d 20 4d 45 53 53 41 47 45 5f 48 54 4d 4c 29 7b 0a 09 09 09 09 l").&&.st.==.MESSAGE_HTML){.....
e600 6a 61 63 63 2f 2f 6a 61 63 63 2f 72 6f 73 74 65 72 2e 68 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacc/roster.h.............
e620 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 ................................
e640 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 ................................
e660 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
e680 20 20 20 31 35 36 37 20 31 30 35 36 30 36 32 37 37 36 37 20 20 31 32 34 33 31 00 00 00 00 00 00 ...1567.10560627767..12431......
e6a0 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 ................................
e6c0 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 ................................
e6e0 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 ................................
e700 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
e720 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
e740 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 ................................
e760 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 ................................
e780 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 ................................
e7a0 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 ................................
e7c0 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 ................................
e7e0 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 ................................
e800 23 69 66 6e 64 65 66 20 52 4f 53 54 45 52 5f 48 0a 23 64 65 66 69 6e 65 20 52 4f 53 54 45 52 5f #ifndef.ROSTER_H.#define.ROSTER_
e820 48 0a 0a 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 72 6f 73 74 65 72 6e 20 72 6f 73 74 65 72 H..typedef.struct.rostern.roster
e840 6e 3b 0a 73 74 72 75 63 74 20 72 6f 73 74 65 72 6e 20 7b 0a 09 72 6f 73 74 65 72 6e 20 2a 6e 3b n;.struct.rostern.{..rostern.*n;
e860 0a 09 72 6f 73 74 65 72 6e 20 2a 70 3b 0a 09 63 68 61 72 20 2a 6e 61 6d 65 3b 0a 09 63 68 61 72 ..rostern.*p;..char.*name;..char
e880 20 2a 6a 69 64 3b 0a 09 63 68 61 72 20 2a 73 74 61 74 75 73 3b 0a 09 63 68 61 72 20 2a 73 68 6f .*jid;..char.*status;..char.*sho
e8a0 77 3b 0a 09 63 68 61 72 20 2a 73 75 62 73 63 3b 0a 09 63 68 61 72 20 2a 67 72 6f 75 70 3b 0a 7d w;..char.*subsc;..char.*group;.}
e8c0 3b 0a 0a 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 6a 61 62 62 65 72 63 20 6a 61 62 62 65 72 ;..typedef.struct.jabberc.jabber
e8e0 63 3b 0a 73 74 72 75 63 74 20 6a 61 62 62 65 72 63 20 7b 0a 09 63 68 61 72 20 2a 73 74 61 74 3b c;.struct.jabberc.{..char.*stat;
e900 0a 09 63 68 61 72 20 2a 73 68 6f 77 3b 0a 09 63 68 61 72 20 2a 6e 61 6d 65 3b 0a 09 63 68 61 72 ..char.*show;..char.*name;..char
e920 20 2a 72 65 73 6f 3b 0a 09 63 68 61 72 20 2a 73 65 72 76 3b 0a 09 63 68 61 72 20 2a 6a 69 64 3b .*reso;..char.*serv;..char.*jid;
e940 0a 09 69 6e 74 20 64 65 62 75 67 3b 0a 09 69 6e 74 20 72 65 67 3b 0a 09 69 6e 74 20 6c 61 73 74 ..int.debug;..int.reg;..int.last
e960 3b 0a 09 72 6f 73 74 65 72 6e 20 2a 72 6f 73 74 3b 0a 7d 3b 0a 0a 76 6f 69 64 20 66 72 65 65 72 ;..rostern.*rost;.};..void.freer
e980 6f 73 74 65 72 6e 28 72 6f 73 74 65 72 6e 20 2a 72 29 3b 0a 76 6f 69 64 20 66 72 65 65 72 6f 73 ostern(rostern.*r);.void.freeros
e9a0 74 65 72 6c 28 72 6f 73 74 65 72 6e 20 2a 72 29 3b 0a 76 6f 69 64 20 66 72 65 65 6a 61 62 62 65 terl(rostern.*r);.void.freejabbe
e9c0 72 63 28 6a 61 62 62 65 72 63 20 2a 6a 29 3b 0a 72 6f 73 74 65 72 6e 20 2a 6d 6b 72 6f 73 74 65 rc(jabberc.*j);.rostern.*mkroste
e9e0 72 6e 28 76 6f 69 64 29 3b 0a 6a 61 62 62 65 72 63 20 2a 6d 6b 6a 61 62 62 65 72 63 28 76 6f 69 rn(void);.jabberc.*mkjabberc(voi
ea00 64 29 3b 0a 72 6f 73 74 65 72 6e 20 2a 64 65 6c 72 6f 73 74 65 72 6e 28 72 6f 73 74 65 72 6e 20 d);.rostern.*delrostern(rostern.
ea20 2a 72 29 3b 0a 72 6f 73 74 65 72 6e 20 2a 6c 61 73 74 72 6f 73 74 65 72 6e 28 72 6f 73 74 65 72 *r);.rostern.*lastrostern(roster
ea40 6e 20 2a 72 29 3b 0a 72 6f 73 74 65 72 6e 20 2a 61 64 64 72 6f 73 74 65 72 6e 28 72 6f 73 74 65 n.*r);.rostern.*addrostern(roste
ea60 72 6e 20 2a 72 2c 20 72 6f 73 74 65 72 6e 20 2a 6e 29 3b 0a 72 6f 73 74 65 72 6e 20 2a 73 74 61 rn.*r,.rostern.*n);.rostern.*sta
ea80 74 75 73 72 6f 73 74 65 72 6e 28 72 6f 73 74 65 72 6e 20 2a 72 2c 20 63 68 61 72 20 2a 6e 61 6d tusrostern(rostern.*r,.char.*nam
eaa0 65 2c 20 63 68 61 72 20 2a 6a 69 64 2c 20 63 68 61 72 20 2a 73 74 61 74 75 73 2c 20 63 68 61 72 e,.char.*jid,.char.*status,.char
eac0 20 2a 73 68 6f 77 29 3b 0a 63 68 61 72 20 2a 6e 61 6d 65 72 6f 73 74 65 72 6e 28 72 6f 73 74 65 .*show);.char.*namerostern(roste
eae0 72 6e 20 2a 72 2c 20 63 68 61 72 20 2a 6a 69 64 2c 20 63 68 61 72 20 2a 6e 61 6d 65 29 3b 0a 72 rn.*r,.char.*jid,.char.*name);.r
eb00 6f 73 74 65 72 6e 20 2a 73 65 61 72 63 68 72 6f 73 74 65 72 6e 28 72 6f 73 74 65 72 6e 20 2a 72 ostern.*searchrostern(rostern.*r
eb20 2c 20 63 68 61 72 20 2a 6e 61 6d 65 2c 20 63 68 61 72 20 2a 6a 69 64 29 3b 0a 72 6f 73 74 65 72 ,.char.*name,.char.*jid);.roster
eb40 6e 20 2a 64 65 6c 6e 61 6d 65 28 72 6f 73 74 65 72 6e 20 2a 72 2c 20 63 68 61 72 20 2a 6e 61 6d n.*delname(rostern.*r,.char.*nam
eb60 65 2c 20 63 68 61 72 20 2a 6a 69 64 29 3b 0a 0a 23 65 6e 64 69 66 0a 2c 20 22 69 74 65 6d 22 29 e,.char.*jid);..#endif.,."item")
eb80 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 49 54 45 4d 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f .&&.st.==.IQ_ITEM){.....st.=.IQ_
eba0 49 4e 4e 45 52 3b 0a 09 09 09 09 69 66 28 61 63 20 21 3d 20 6e 69 6c 20 26 26 20 61 63 2d 3e 73 INNER;.....if(ac.!=.nil.&&.ac->s
ebc0 75 62 73 63 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 61 63 ubsc.!=.nil){......if(!strcmp(ac
ebe0 2d 3e 73 75 62 73 63 2c 20 22 72 65 6d 6f 76 65 22 29 29 7b 0a 09 09 09 09 09 09 6d 65 2d 3e 72 ->subsc,."remove")){.......me->r
ec00 6a 61 63 63 2f 2f 6a 61 63 63 2f 78 6d 6c 70 75 6c 6c 2e 68 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacc/xmlpull.h............
ec20 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 ................................
ec40 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 ................................
ec60 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
ec80 20 20 20 31 32 30 33 20 31 30 35 36 30 36 32 37 37 36 37 20 20 31 32 35 37 33 00 00 00 00 00 00 ...1203.10560627767..12573......
eca0 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 ................................
ecc0 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 ................................
ece0 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 ................................
ed00 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
ed20 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
ed40 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 ................................
ed60 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 ................................
ed80 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 ................................
eda0 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 ................................
edc0 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 ................................
ede0 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 ................................
ee00 2f 2a 0a 20 2a 20 43 6f 70 79 20 6d 65 20 69 66 20 79 6f 75 20 63 61 6e 2e 0a 20 2a 20 62 79 20 /*..*.Copy.me.if.you.can...*.by.
ee20 32 30 68 0a 20 2a 2f 0a 0a 23 69 66 64 65 66 20 6e 69 6c 0a 23 70 72 61 67 6d 61 20 6c 69 62 20 20h..*/..#ifdef.nil.#pragma.lib.
ee40 22 6c 69 62 78 6d 6c 70 75 6c 6c 2e 61 22 0a 23 65 6e 64 69 66 0a 0a 23 69 66 6e 64 65 66 20 58 "libxmlpull.a".#endif..#ifndef.X
ee60 4d 4c 50 55 4c 4c 5f 48 0a 23 64 65 66 69 6e 65 20 58 4d 4c 50 55 4c 4c 5f 48 0a 0a 23 69 66 6e MLPULL_H.#define.XMLPULL_H..#ifn
ee80 64 65 66 20 6e 69 6c 0a 23 64 65 66 69 6e 65 20 6e 69 6c 20 4e 55 4c 4c 0a 23 64 65 66 69 6e 65 def.nil.#define.nil.NULL.#define
eea0 20 70 72 69 6e 74 20 70 72 69 6e 74 66 0a 23 64 65 66 69 6e 65 20 73 6e 70 72 69 6e 74 20 73 6e .print.printf.#define.snprint.sn
eec0 70 72 69 6e 74 66 0a 23 64 65 66 69 6e 65 20 65 78 69 74 73 20 72 65 74 75 72 6e 0a 23 65 6e 64 printf.#define.exits.return.#end
eee0 69 66 0a 0a 65 6e 75 6d 20 7b 20 0a 09 53 54 41 52 54 5f 44 4f 43 55 4d 45 4e 54 20 3d 20 30 78 if..enum.{...START_DOCUMENT.=.0x
ef00 30 2c 0a 09 53 54 41 52 54 5f 54 41 47 2c 0a 09 53 54 41 52 54 5f 45 4e 44 5f 54 41 47 2c 0a 09 0,..START_TAG,..START_END_TAG,..
ef20 54 45 58 54 2c 0a 09 54 45 58 54 5f 43 2c 0a 09 41 54 54 52 2c 0a 09 45 4e 44 5f 54 41 47 2c 0a TEXT,..TEXT_C,..ATTR,..END_TAG,.
ef40 09 45 4e 44 5f 54 41 47 5f 53 2c 0a 09 45 4e 44 5f 54 41 47 5f 4e 2c 0a 09 45 4e 44 5f 44 4f 43 .END_TAG_S,..END_TAG_N,..END_DOC
ef60 55 4d 45 4e 54 2c 0a 7d 3b 0a 0a 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 78 6d 6c 70 75 6c UMENT,.};..typedef.struct.xmlpul
ef80 6c 20 78 6d 6c 70 75 6c 6c 3b 0a 73 74 72 75 63 74 20 78 6d 6c 70 75 6c 6c 20 7b 0a 09 69 6e 74 l.xmlpull;.struct.xmlpull.{..int
efa0 20 66 64 3b 0a 09 63 68 61 72 20 65 76 3b 0a 09 63 68 61 72 20 6e 65 76 3b 0a 09 63 68 61 72 20 .fd;..char.ev;..char.nev;..char.
efc0 2a 6c 6d 3b 0a 09 63 68 61 72 20 2a 6e 61 3b 0a 09 63 68 61 72 20 2a 76 61 3b 0a 09 69 6e 74 20 *lm;..char.*na;..char.*va;..int.
efe0 6c 61 3b 0a 09 69 6e 74 20 6c 76 3b 0a 09 69 6e 74 20 6c 6e 3b 0a 7d 3b 0a 0a 76 6f 69 64 20 66 la;..int.lv;..int.ln;.};..void.f
f000 72 65 65 78 6d 6c 70 75 6c 6c 28 78 6d 6c 70 75 6c 6c 20 2a 78 29 3b 0a 78 6d 6c 70 75 6c 6c 20 reexmlpull(xmlpull.*x);.xmlpull.
f020 2a 6f 70 65 6e 78 6d 6c 70 75 6c 6c 28 69 6e 74 20 66 64 29 3b 0a 78 6d 6c 70 75 6c 6c 20 2a 6e *openxmlpull(int.fd);.xmlpull.*n
f040 65 78 74 78 6d 6c 70 75 6c 6c 28 78 6d 6c 70 75 6c 6c 20 2a 78 29 3b 0a 78 6d 6c 70 75 6c 6c 20 extxmlpull(xmlpull.*x);.xmlpull.
f060 2a 77 72 69 74 65 78 6d 6c 70 75 6c 6c 28 78 6d 6c 70 75 6c 6c 20 2a 78 29 3b 0a 0a 23 65 6e 64 *writexmlpull(xmlpull.*x);..#end
f080 69 66 0a 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 if..............................
f0a0 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 ................................
f0c0 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 ................................
f0e0 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 ................................
f100 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 ................................
f120 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 ................................
f140 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 ................................
f160 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 ................................
f180 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 ................................
f1a0 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 ................................
f1c0 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 ................................
f1e0 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 ................................
f200 6a 61 63 63 2f 2f 6a 61 63 73 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacs/.....................
f220 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 ................................
f240 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 ................................
f260 00 00 00 00 20 20 20 37 35 35 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......755.......0.......0......
f280 20 20 20 20 20 20 30 20 31 30 35 36 30 36 32 37 37 36 37 20 20 31 30 37 35 31 00 00 35 00 00 00 ......0.10560627767..10751..5...
f2a0 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 ................................
f2c0 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 ................................
f2e0 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 ................................
f300 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
f320 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
f340 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 ................................
f360 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 ................................
f380 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 ................................
f3a0 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 ................................
f3c0 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 ................................
f3e0 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 ................................
f400 6a 61 63 63 2f 2f 6a 61 63 73 2f 64 61 74 2e 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacs/dat.c................
f420 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 ................................
f440 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 ................................
f460 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
f480 20 20 20 32 33 31 34 20 31 30 35 36 30 36 32 37 37 36 37 20 20 31 31 36 36 35 00 00 00 00 00 00 ...2314.10560627767..11665......
f4a0 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 ................................
f4c0 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 ................................
f4e0 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 ................................
f500 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
f520 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
f540 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 ................................
f560 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 ................................
f580 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 ................................
f5a0 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 ................................
f5c0 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 ................................
f5e0 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 ................................
f600 2f 2a 0a 20 2a 20 43 6f 70 79 20 6d 65 20 69 66 20 79 6f 75 20 63 61 6e 2e 0a 20 2a 20 62 79 20 /*..*.Copy.me.if.you.can...*.by.
f620 32 30 68 0a 20 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 75 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20h..*/..#include.<u.h>.#include
f640 20 3c 6c 69 62 63 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 22 64 61 74 2e 68 22 0a 0a 76 6f 69 64 .<libc.h>.#include."dat.h"..void
f660 20 2a 0a 72 65 61 6c 6c 6f 63 6a 28 76 6f 69 64 20 2a 70 2c 20 69 6e 74 20 73 2c 20 73 68 6f 72 .*.reallocj(void.*p,.int.s,.shor
f680 74 20 64 29 0a 7b 0a 09 70 20 3d 20 72 65 61 6c 6c 6f 63 28 70 2c 20 73 29 3b 0a 09 69 66 28 70 t.d).{..p.=.realloc(p,.s);..if(p
f6a0 20 3d 3d 20 6e 69 6c 29 0a 09 09 73 79 73 66 61 74 61 6c 28 22 72 65 61 6c 6c 6f 63 3a 20 25 72 .==.nil)...sysfatal("realloc:.%r
f6c0 22 29 3b 0a 0a 09 69 66 28 64 20 21 3d 20 30 29 0a 09 09 6d 65 6d 73 65 74 28 70 2c 20 30 2c 20 ");...if(d.!=.0)...memset(p,.0,.
f6e0 73 29 3b 0a 0a 09 72 65 74 75 72 6e 20 28 76 6f 69 64 20 2a 29 70 3b 0a 7d 0a 0a 63 68 61 72 20 s);...return.(void.*)p;.}..char.
f700 2a 0a 73 65 74 77 69 6e 64 6f 77 6c 62 6c 28 63 68 61 72 20 2a 77 29 0a 7b 0a 09 69 6e 74 20 73 *.setwindowlbl(char.*w).{..int.s
f720 3b 0a 0a 09 73 20 3d 20 6f 70 65 6e 28 22 2f 64 65 76 2f 6c 61 62 65 6c 22 2c 20 4f 57 52 49 54 ;...s.=.open("/dev/label",.OWRIT
f740 45 29 3b 0a 09 69 66 28 73 20 3c 20 30 29 0a 09 09 72 65 74 75 72 6e 20 6e 69 6c 3b 0a 0a 09 77 E);..if(s.<.0)...return.nil;...w
f760 72 69 74 65 28 73 2c 20 77 2c 20 73 74 72 6c 65 6e 28 77 29 29 3b 0a 0a 09 63 6c 6f 73 65 28 73 rite(s,.w,.strlen(w));...close(s
f780 29 3b 0a 09 72 65 74 75 72 6e 20 77 3b 0a 7d 0a 0a 63 68 61 72 20 2a 0a 67 65 74 77 69 6e 64 6f );..return.w;.}..char.*.getwindo
f7a0 77 6c 62 6c 28 76 6f 69 64 29 0a 7b 0a 09 69 6e 74 20 73 3b 0a 09 63 68 61 72 20 2a 72 65 74 3b wlbl(void).{..int.s;..char.*ret;
f7c0 0a 09 73 68 6f 72 74 20 69 3b 0a 0a 09 73 20 3d 20 6f 70 65 6e 28 22 2f 64 65 76 2f 6c 61 62 65 ..short.i;...s.=.open("/dev/labe
f7e0 6c 22 2c 20 4f 52 45 41 44 29 3b 0a 09 69 66 28 73 20 3c 20 30 29 0a 09 09 72 65 74 75 72 6e 20 l",.OREAD);..if(s.<.0)...return.
f800 6e 69 6c 3b 0a 0a 09 69 20 3d 20 30 3b 0a 09 72 65 74 20 3d 20 6d 61 6c 6c 6f 63 28 30 29 3b 0a nil;...i.=.0;..ret.=.malloc(0);.
f820 09 77 68 69 6c 65 28 72 65 61 6c 6c 6f 63 28 72 65 74 2c 20 2b 2b 69 29 20 21 3d 20 6e 69 6c 20 .while(realloc(ret,.++i).!=.nil.
f840 26 26 20 72 65 61 64 28 73 2c 20 26 72 65 74 5b 69 20 2d 20 31 5d 2c 20 31 29 20 3e 20 30 20 26 &&.read(s,.&ret[i.-.1],.1).>.0.&
f860 26 0a 09 09 09 69 20 3c 20 35 31 33 29 3b 0a 0a 09 72 65 74 5b 69 20 2d 20 31 5d 20 3d 20 27 5c &....i.<.513);...ret[i.-.1].=.'\
f880 30 27 3b 0a 0a 09 63 6c 6f 73 65 28 73 29 3b 0a 09 72 65 74 75 72 6e 20 72 65 74 3b 0a 7d 0a 0a 0';...close(s);..return.ret;.}..
f8a0 63 68 61 72 20 2a 0a 6d 6b 74 6d 73 74 6d 70 28 63 68 61 72 20 62 6f 72 64 2c 20 63 68 61 72 20 char.*.mktmstmp(char.bord,.char.
f8c0 62 6f 72 64 5f 65 29 0a 7b 0a 09 54 6d 20 2a 74 69 6d 3b 0a 09 63 68 61 72 20 2a 72 65 74 3b 0a bord_e).{..Tm.*tim;..char.*ret;.
f8e0 0a 09 72 65 74 20 3d 20 72 65 61 6c 6c 6f 63 6a 28 6e 69 6c 2c 20 33 32 2c 20 32 29 3b 0a 09 74 ..ret.=.reallocj(nil,.32,.2);..t
f900 69 6d 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 74 69 6d 65 28 30 29 29 3b 0a 09 73 6e 70 72 69 6e im.=.localtime(time(0));..snprin
f920 74 28 72 65 74 2c 20 33 31 2c 20 22 25 63 25 2e 32 64 3a 25 2e 32 64 25 63 20 22 2c 20 62 6f 72 t(ret,.31,."%c%.2d:%.2d%c.",.bor
f940 64 2c 20 74 69 6d 2d 3e 68 6f 75 72 2c 20 74 69 6d 2d 3e 6d 69 6e 2c 20 62 6f 72 64 5f 65 29 3b d,.tim->hour,.tim->min,.bord_e);
f960 0a 0a 09 72 65 74 75 72 6e 20 72 65 74 3b 0a 7d 0a 0a 63 68 61 72 20 2a 0a 70 72 69 6e 74 6a 69 ...return.ret;.}..char.*.printji
f980 64 28 63 68 61 72 20 2a 75 73 65 72 2c 20 63 68 61 72 20 2a 73 65 72 76 2c 20 63 68 61 72 20 2a d(char.*user,.char.*serv,.char.*
f9a0 72 65 73 6f 29 0a 7b 0a 09 63 68 61 72 20 2a 72 65 74 3b 0a 09 69 6e 74 20 69 3b 0a 0a 09 69 66 reso).{..char.*ret;..int.i;...if
f9c0 28 75 73 65 72 20 3d 3d 20 6e 69 6c 20 7c 7c 20 73 65 72 76 20 3d 3d 20 6e 69 6c 29 0a 09 09 72 (user.==.nil.||.serv.==.nil)...r
f9e0 65 74 75 72 6e 20 6e 69 6c 3b 0a 0a 09 69 20 3d 20 73 74 72 6c 65 6e 28 75 73 65 72 29 20 2b 20 eturn.nil;...i.=.strlen(user).+.
fa00 73 74 72 6c 65 6e 28 73 65 72 76 29 20 2b 20 33 20 2b 20 28 28 72 65 73 6f 20 21 3d 20 6e 69 6c strlen(serv).+.3.+.((reso.!=.nil
fa20 29 20 3f 20 73 74 72 6c 65 6e 28 72 65 73 6f 29 20 3a 20 30 29 3b 0a 0a 09 72 65 74 20 3d 20 72 ).?.strlen(reso).:.0);...ret.=.r
fa40 65 61 6c 6c 6f 63 6a 28 6e 69 6c 2c 20 69 2c 20 32 29 3b 0a 09 73 6e 70 72 69 6e 74 28 72 65 74 eallocj(nil,.i,.2);..snprint(ret
fa60 2c 20 69 2c 20 22 25 73 40 25 73 25 73 25 73 22 2c 20 75 73 65 72 2c 20 73 65 72 76 2c 20 28 72 ,.i,."%s@%s%s%s",.user,.serv,.(r
fa80 65 73 6f 20 21 3d 20 6e 69 6c 29 20 3f 20 22 2f 22 20 3a 20 22 5c 30 22 2c 0a 09 09 09 09 28 28 eso.!=.nil).?."/".:."\0",.....((
faa0 72 65 73 6f 20 21 3d 20 6e 69 6c 29 20 3f 20 72 65 73 6f 20 3a 20 22 22 29 29 3b 0a 0a 09 72 65 reso.!=.nil).?.reso.:.""));...re
fac0 74 75 72 6e 20 72 65 74 3b 0a 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 turn.ret;.}.....................
fae0 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 ................................
fb00 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
fb20 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
fb40 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 ................................
fb60 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 ................................
fb80 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 ................................
fba0 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 ................................
fbc0 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 ................................
fbe0 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 ................................
fc00 6a 61 63 63 2f 2f 6a 61 63 73 2f 64 61 74 2e 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacs/dat.h................
fc20 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 ................................
fc40 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 ................................
fc60 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
fc80 20 20 20 20 33 34 33 20 31 30 35 36 30 36 32 37 37 36 37 20 20 31 31 36 35 32 00 00 00 00 00 00 ....343.10560627767..11652......
fca0 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 ................................
fcc0 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 ................................
fce0 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 ................................
fd00 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
fd20 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
fd40 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 ................................
fd60 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 ................................
fd80 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 ................................
fda0 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 ................................
fdc0 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 ................................
fde0 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 ................................
fe00 23 69 66 6e 64 65 66 20 4a 44 41 54 5f 48 0a 23 64 65 66 69 6e 65 20 4a 44 41 54 5f 48 0a 0a 76 #ifndef.JDAT_H.#define.JDAT_H..v
fe20 6f 69 64 20 2a 72 65 61 6c 6c 6f 63 6a 28 76 6f 69 64 20 2a 70 2c 20 69 6e 74 20 73 2c 20 73 68 oid.*reallocj(void.*p,.int.s,.sh
fe40 6f 72 74 20 64 29 3b 0a 63 68 61 72 20 2a 73 65 74 77 69 6e 64 6f 77 6c 62 6c 28 63 68 61 72 20 ort.d);.char.*setwindowlbl(char.
fe60 2a 77 29 3b 0a 63 68 61 72 20 2a 67 65 74 77 69 6e 64 6f 77 6c 62 6c 28 76 6f 69 64 29 3b 0a 63 *w);.char.*getwindowlbl(void);.c
fe80 68 61 72 20 2a 6d 6b 74 6d 73 74 6d 70 28 63 68 61 72 20 62 6f 72 64 2c 20 63 68 61 72 20 62 6f har.*mktmstmp(char.bord,.char.bo
fea0 72 64 5f 65 29 3b 0a 63 68 61 72 20 2a 70 72 69 6e 74 6a 69 64 28 63 68 61 72 20 2a 75 73 65 72 rd_e);.char.*printjid(char.*user
fec0 2c 20 63 68 61 72 20 2a 73 65 72 76 2c 20 63 68 61 72 20 2a 72 65 73 6f 29 3b 0a 0a 23 65 6e 64 ,.char.*serv,.char.*reso);..#end
fee0 69 66 0a 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 if..............................
ff00 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 ................................
ff20 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 ................................
ff40 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 ................................
ff60 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 ................................
ff80 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 ................................
ffa0 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 ................................
ffc0 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 ................................
ffe0 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 ................................
10000 6a 61 63 63 2f 2f 6a 61 63 73 2f 6a 61 63 73 2e 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacs/jacs.c...............
10020 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 ................................
10040 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 ................................
10060 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
10080 20 20 31 31 32 33 34 20 31 30 35 36 30 36 32 37 37 36 37 20 20 31 32 30 35 36 00 00 00 00 00 00 ..11234.10560627767..12056......
100a0 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 ................................
100c0 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 ................................
100e0 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 ................................
10100 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
10120 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
10140 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 ................................
10160 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 ................................
10180 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 ................................
101a0 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 ................................
101c0 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 ................................
101e0 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 ................................
10200 2f 2a 0a 20 2a 20 43 6f 70 79 20 6d 65 20 69 66 20 79 6f 75 20 63 61 6e 2e 0a 20 2a 20 62 79 20 /*..*.Copy.me.if.you.can...*.by.
10220 32 30 68 0a 20 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 75 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20h..*/..#include.<u.h>.#include
10240 20 3c 6c 69 62 63 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 61 75 74 68 2e 68 3e 0a 23 69 6e 63 .<libc.h>.#include.<auth.h>.#inc
10260 6c 75 64 65 20 3c 6d 70 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 6c 69 62 73 65 63 2e 68 3e 0a lude.<mp.h>.#include.<libsec.h>.
10280 23 69 6e 63 6c 75 64 65 20 22 78 6d 6c 70 75 6c 6c 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 6a #include."xmlpull.h".#include."j
102a0 61 63 73 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 64 61 74 2e 68 22 0a 23 69 6e 63 6c 75 64 65 acs.h".#include."dat.h".#include
102c0 20 22 72 6f 73 74 65 72 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 72 65 63 76 2e 68 22 0a 0a 23 ."roster.h".#include."recv.h"..#
102e0 64 65 66 69 6e 65 20 4e 41 4d 45 20 22 6a 61 63 73 20 2d 20 4a 61 62 62 65 72 20 53 65 72 76 69 define.NAME."jacs.-.Jabber.Servi
10300 63 65 20 52 65 67 69 73 74 72 79 20 66 6f 72 20 50 6c 61 6e 39 22 0a 23 64 65 66 69 6e 65 20 56 ce.Registry.for.Plan9".#define.V
10320 45 52 53 49 4f 4e 20 22 32 6e 64 20 65 64 22 0a 23 64 65 66 69 6e 65 20 4f 53 20 22 50 6c 61 6e ERSION."2nd.ed".#define.OS."Plan
10340 39 20 34 74 68 20 65 64 22 0a 0a 69 6e 74 0a 78 6d 6c 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 29 9.4th.ed"..int.xmljacc(int.sock)
10360 0a 7b 0a 09 72 65 74 75 72 6e 20 66 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c 3f 78 6d 6c 20 76 .{..return.fprint(sock,."<?xml.v
10380 65 72 73 69 6f 6e 3d 5c 22 31 2e 30 5c 22 3f 3e 5c 6e 22 29 3b 0a 7d 0a 0a 69 6e 74 0a 6c 6f 67 ersion=\"1.0\"?>\n");.}..int.log
103a0 69 6e 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 73 65 72 76 29 0a 7b 0a 09 injacc(int.sock,.char.*serv).{..
103c0 72 65 74 75 72 6e 20 66 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c 73 74 72 65 61 6d 3a 73 74 72 return.fprint(sock,."<stream:str
103e0 65 61 6d 20 78 6d 6c 6e 73 3a 73 74 72 65 61 6d 3d 5c 22 68 74 74 70 3a 2f 2f 65 74 68 65 72 78 eam.xmlns:stream=\"http://etherx
10400 2e 6a 61 62 62 65 72 2e 6f 72 67 2f 73 74 72 65 61 6d 73 5c 22 22 0a 09 09 09 09 09 09 22 20 78 .jabber.org/streams\"".......".x
10420 6d 6c 6e 73 3d 5c 22 6a 61 62 62 65 72 3a 63 6c 69 65 6e 74 5c 22 20 74 6f 3d 5c 22 25 73 5c 22 mlns=\"jabber:client\".to=\"%s\"
10440 3e 5c 6e 22 2c 20 73 65 72 76 29 3b 0a 7d 0a 0a 69 6e 74 0a 75 73 65 72 6a 61 63 63 28 69 6e 74 >\n",.serv);.}..int.userjacc(int
10460 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 75 73 65 72 2c 20 63 68 61 72 20 2a 70 61 73 73 2c 20 63 .sock,.char.*user,.char.*pass,.c
10480 68 61 72 20 2a 72 65 73 29 0a 7b 0a 09 72 65 74 75 72 6e 20 66 70 72 69 6e 74 28 73 6f 63 6b 2c har.*res).{..return.fprint(sock,
104a0 20 22 3c 69 71 20 74 79 70 65 3d 5c 22 73 65 74 5c 22 20 69 64 3d 5c 22 61 75 74 68 5f 31 5c 22 ."<iq.type=\"set\".id=\"auth_1\"
104c0 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 71 75 65 72 79 20 78 6d 6c 6e 73 3d 5c 22 6a 61 62 62 65 >\n"......."<query.xmlns=\"jabbe
104e0 72 3a 69 71 3a 61 75 74 68 5c 22 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 75 73 65 72 6e 61 6d 65 r:iq:auth\">\n"......."<username
10500 3e 25 73 3c 2f 75 73 65 72 6e 61 6d 65 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 70 61 73 73 77 6f >%s</username>\n"......."<passwo
10520 72 64 3e 25 73 3c 2f 70 61 73 73 77 6f 72 64 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 72 65 73 6f rd>%s</password>\n"......."<reso
10540 75 72 63 65 3e 25 73 3c 2f 72 65 73 6f 75 72 63 65 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 2f 71 urce>%s</resource>\n"......."</q
10560 75 65 72 79 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 2f 69 71 3e 5c 6e 22 2c 20 75 73 65 72 2c 20 uery>\n"......."</iq>\n",.user,.
10580 70 61 73 73 2c 20 72 65 73 29 3b 0a 7d 0a 0a 69 6e 74 0a 70 72 65 73 65 6e 63 65 6a 61 63 63 28 pass,.res);.}..int.presencejacc(
105a0 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 73 74 61 74 2c 20 63 68 61 72 20 2a 73 68 6f 77 int.sock,.char.*stat,.char.*show
105c0 2c 20 63 68 61 72 20 2a 66 72 6f 6d 2c 20 63 68 61 72 20 2a 74 6f 29 0a 7b 0a 09 72 65 74 75 72 ,.char.*from,.char.*to).{..retur
105e0 6e 20 66 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c 70 72 65 73 65 6e 63 65 25 73 25 73 25 73 25 n.fprint(sock,."<presence%s%s%s%
10600 73 25 73 25 73 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 73 68 6f 77 3e 25 73 3c 2f 73 68 6f 77 3e s%s%s>\n"......."<show>%s</show>
10620 5c 6e 22 0a 09 09 09 09 09 09 22 3c 73 74 61 74 75 73 3e 25 73 3c 2f 73 74 61 74 75 73 3e 5c 6e \n"......."<status>%s</status>\n
10640 22 0a 09 09 09 09 09 09 22 3c 70 72 69 6f 72 69 74 79 3e 31 3c 2f 70 72 69 6f 72 69 74 79 3e 5c "......."<priority>1</priority>\
10660 6e 22 0a 09 09 09 09 09 09 22 3c 2f 70 72 65 73 65 6e 63 65 3e 5c 6e 22 2c 20 28 66 72 6f 6d 20 n"......."</presence>\n",.(from.
10680 21 3d 20 6e 69 6c 29 20 3f 20 22 20 66 72 6f 6d 3d 5c 22 22 20 3a 20 22 22 2c 0a 09 09 09 09 09 !=.nil).?.".from=\"".:."",......
106a0 09 09 09 09 09 20 28 66 72 6f 6d 20 21 3d 20 6e 69 6c 29 20 3f 20 66 72 6f 6d 20 3a 20 22 22 2c ......(from.!=.nil).?.from.:."",
106c0 0a 09 09 09 09 09 09 09 09 09 09 20 28 66 72 6f 6d 20 21 3d 20 6e 69 6c 29 20 3f 20 22 5c 22 22 ............(from.!=.nil).?."\""
106e0 20 3a 20 22 22 2c 0a 09 09 09 09 09 09 09 09 09 09 20 28 74 6f 20 21 3d 20 6e 69 6c 29 20 3f 20 .:."",............(to.!=.nil).?.
10700 22 20 74 6f 3d 5c 22 22 20 3a 20 22 22 2c 0a 09 09 09 09 09 09 09 09 09 09 20 28 74 6f 20 21 3d ".to=\"".:."",............(to.!=
10720 20 6e 69 6c 29 20 3f 20 74 6f 20 3a 20 22 22 2c 0a 09 09 09 09 09 09 09 09 09 09 20 28 74 6f 20 .nil).?.to.:."",............(to.
10740 21 3d 20 6e 69 6c 29 20 3f 20 22 5c 22 22 20 3a 20 22 22 2c 20 0a 09 09 09 09 09 09 09 09 09 09 !=.nil).?."\"".:."",............
10760 20 28 73 68 6f 77 20 21 3d 20 6e 69 6c 29 20 3f 20 73 68 6f 77 20 3a 20 22 22 2c 0a 09 09 09 09 .(show.!=.nil).?.show.:."",.....
10780 09 09 09 09 09 09 20 28 73 74 61 74 20 21 3d 20 6e 69 6c 29 20 3f 20 73 74 61 74 20 3a 20 22 22 .......(stat.!=.nil).?.stat.:.""
107a0 29 3b 0a 7d 0a 0a 69 6e 74 0a 76 65 72 73 69 6f 6e 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 );.}..int.versionjacc(int.sock,.
107c0 63 68 61 72 20 2a 66 72 6f 6d 2c 20 63 68 61 72 20 2a 74 6f 2c 20 63 68 61 72 20 2a 69 64 29 0a char.*from,.char.*to,.char.*id).
107e0 7b 0a 09 72 65 74 75 72 6e 20 66 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c 69 71 20 66 72 6f 6d {..return.fprint(sock,."<iq.from
10800 3d 5c 22 25 73 5c 22 20 74 79 70 65 3d 5c 22 72 65 73 75 6c 74 5c 22 20 69 64 3d 5c 22 25 73 5c =\"%s\".type=\"result\".id=\"%s\
10820 22 20 74 6f 3d 5c 22 25 73 5c 22 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 71 75 65 72 79 20 78 6d ".to=\"%s\">\n"......."<query.xm
10840 6c 6e 73 3d 5c 22 6a 61 62 62 65 72 3a 69 71 3a 76 65 72 73 69 6f 6e 5c 22 3e 5c 6e 22 0a 09 09 lns=\"jabber:iq:version\">\n"...
10860 09 09 09 09 22 3c 6e 61 6d 65 3e 22 20 4e 41 4d 45 20 22 3c 2f 6e 61 6d 65 3e 5c 6e 22 0a 09 09 ...."<name>".NAME."</name>\n"...
10880 09 09 09 09 22 3c 76 65 72 73 69 6f 6e 3e 22 20 56 45 52 53 49 4f 4e 20 22 3c 2f 76 65 72 73 69 ...."<version>".VERSION."</versi
108a0 6f 6e 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 6f 73 3e 22 20 4f 53 20 22 3c 2f 6f 73 3e 5c 6e 22 on>\n"......."<os>".OS."</os>\n"
108c0 0a 09 09 09 09 09 09 22 3c 2f 71 75 65 72 79 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 2f 69 71 3e ......."</query>\n"......."</iq>
108e0 5c 6e 22 2c 20 66 72 6f 6d 2c 20 69 64 2c 20 74 6f 29 3b 0a 7d 0a 0a 69 6e 74 0a 66 65 61 74 75 \n",.from,.id,.to);.}..int.featu
10900 72 65 73 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 66 72 6f 6d 2c 20 63 68 resjacc(int.sock,.char.*from,.ch
10920 61 72 20 2a 74 6f 2c 20 63 68 61 72 20 2a 69 64 29 0a 7b 0a 09 72 65 74 75 72 6e 20 66 70 72 69 ar.*to,.char.*id).{..return.fpri
10940 6e 74 28 73 6f 63 6b 2c 20 22 3c 69 71 20 66 72 6f 6d 3d 5c 22 25 73 5c 22 20 74 79 70 65 3d 5c nt(sock,."<iq.from=\"%s\".type=\
10960 22 72 65 73 75 6c 74 5c 22 20 74 6f 3d 5c 22 25 73 5c 22 20 69 64 3d 5c 22 25 73 5c 22 3e 5c 6e "result\".to=\"%s\".id=\"%s\">\n
10980 22 0a 09 09 09 09 09 09 22 3c 71 75 65 72 79 20 78 6d 6c 6e 73 3d 5c 22 68 74 74 70 3a 2f 2f 6a "......."<query.xmlns=\"http://j
109a0 61 62 62 65 72 2e 6f 72 67 2f 70 72 6f 74 6f 63 6f 6c 2f 64 69 73 63 6f 23 69 6e 66 6f 5c 22 3e abber.org/protocol/disco#info\">
109c0 5c 6e 22 0a 09 09 09 09 09 09 22 3c 2f 71 75 65 72 79 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 2f \n"......."</query>\n"......."</
109e0 69 71 3e 5c 6e 22 2c 20 66 72 6f 6d 2c 20 74 6f 2c 20 69 64 29 3b 0a 7d 0a 0a 69 6e 74 0a 61 6e iq>\n",.from,.to,.id);.}..int.an
10a00 73 77 65 72 73 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 77 68 6f 2c 20 63 swersjacc(int.sock,.char.*who,.c
10a20 68 61 72 20 2a 74 2c 20 63 68 61 72 20 2a 69 64 2c 20 69 6c 69 73 74 20 2a 6c 29 0a 7b 0a 09 66 har.*t,.char.*id,.ilist.*l).{..f
10a40 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c 69 71 20 74 79 70 65 3d 5c 22 73 65 74 5c 22 20 74 6f print(sock,."<iq.type=\"set\".to
10a60 3d 5c 22 25 73 5c 22 20 69 64 3d 5c 22 25 73 5c 22 3e 5c 6e 22 0a 09 09 09 09 20 22 3c 71 75 65 =\"%s\".id=\"%s\">\n"......"<que
10a80 72 79 20 78 6d 6c 6e 73 3d 5c 22 25 73 5c 22 3e 5c 6e 22 2c 20 77 68 6f 2c 20 69 64 2c 20 74 29 ry.xmlns=\"%s\">\n",.who,.id,.t)
10aa0 3b 0a 09 66 6f 72 28 3b 20 6c 3b 20 6c 20 3d 20 6c 2d 3e 6e 29 0a 09 09 66 70 72 69 6e 74 28 73 ;..for(;.l;.l.=.l->n)...fprint(s
10ac0 6f 63 6b 2c 20 22 3c 25 73 3e 25 73 3c 2f 25 73 3e 5c 6e 22 2c 20 6c 2d 3e 6e 61 6d 65 2c 20 6c ock,."<%s>%s</%s>\n",.l->name,.l
10ae0 2d 3e 76 61 6c 2c 20 6c 2d 3e 6e 61 6d 65 29 3b 0a 0a 09 72 65 74 75 72 6e 20 66 70 72 69 6e 74 ->val,.l->name);...return.fprint
10b00 28 73 6f 63 6b 2c 20 22 3c 2f 71 75 65 72 79 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 2f 69 71 3e (sock,."</query>\n"......."</iq>
10b20 5c 6e 22 29 3b 0a 7d 0a 0a 69 6e 74 0a 78 6d 6c 6e 73 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c \n");.}..int.xmlnsjacc(int.sock,
10b40 20 63 68 61 72 20 2a 77 68 6f 2c 20 63 68 61 72 20 2a 74 2c 20 63 68 61 72 20 2a 69 64 29 0a 7b .char.*who,.char.*t,.char.*id).{
10b60 0a 09 72 65 74 75 72 6e 20 66 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c 69 71 20 74 79 70 65 3d ..return.fprint(sock,."<iq.type=
10b80 5c 22 67 65 74 5c 22 20 74 6f 3d 5c 22 25 73 5c 22 20 69 64 3d 5c 22 25 73 5c 22 3e 5c 6e 22 0a \"get\".to=\"%s\".id=\"%s\">\n".
10ba0 09 09 09 09 09 09 22 3c 71 75 65 72 79 20 78 6d 6c 6e 73 3d 5c 22 25 73 5c 22 2f 3e 5c 6e 22 0a ......"<query.xmlns=\"%s\"/>\n".
10bc0 09 09 09 09 09 09 22 3c 2f 69 71 3e 5c 6e 22 2c 20 77 68 6f 2c 20 69 64 2c 20 74 29 3b 0a 7d 0a ......"</iq>\n",.who,.id,.t);.}.
10be0 0a 69 6e 74 0a 78 6d 6c 6e 73 6e 65 67 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 .int.xmlnsnegjacc(int.sock,.char
10c00 20 2a 77 68 6f 2c 20 63 68 61 72 20 2a 74 2c 20 63 68 61 72 2a 20 69 64 29 0a 7b 0a 09 72 65 74 .*who,.char.*t,.char*.id).{..ret
10c20 75 72 6e 20 66 70 72 69 6e 74 28 73 6f 63 6b 2c 20 22 3c 69 71 20 74 79 70 65 3d 5c 22 73 65 74 urn.fprint(sock,."<iq.type=\"set
10c40 5c 22 20 74 6f 3d 5c 22 25 73 5c 22 20 69 64 3d 5c 22 25 73 5c 22 3e 5c 6e 22 0a 09 09 09 09 09 \".to=\"%s\".id=\"%s\">\n"......
10c60 09 22 3c 71 75 65 72 79 20 78 6d 6c 6e 73 3d 5c 22 25 73 5c 22 3e 5c 6e 22 0a 09 09 09 09 09 09 ."<query.xmlns=\"%s\">\n".......
10c80 22 3c 72 65 6d 6f 76 65 2f 3e 5c 6e 22 0a 09 09 09 09 09 09 22 3c 2f 71 75 65 72 79 3e 5c 6e 22 "<remove/>\n"......."</query>\n"
10ca0 0a 09 09 09 09 09 09 22 3c 2f 69 71 3e 5c 6e 22 2c 20 77 68 6f 2c 20 69 64 2c 20 74 29 3b 0a 7d ......."</iq>\n",.who,.id,.t);.}
10cc0 0a 0a 76 6f 69 64 0a 75 73 61 67 65 28 76 6f 69 64 29 0a 7b 0a 09 70 72 69 6e 74 28 22 75 73 61 ..void.usage(void).{..print("usa
10ce0 67 65 3a 20 6a 61 63 73 20 5b 2d 64 74 75 5d 20 5b 2d 65 20 64 65 73 74 5d 20 5b 2d 73 20 74 6f ge:.jacs.[-dtu].[-e.dest].[-s.to
10d00 73 72 76 5d 20 5b 2d 72 20 72 65 73 5d 20 6e 65 74 21 73 65 72 76 65 72 21 70 6f 72 74 5c 6e 22 srv].[-r.res].net!server!port\n"
10d20 29 3b 0a 09 65 78 69 74 73 28 30 29 3b 0a 7d 0a 0a 69 6e 74 0a 6d 61 69 6e 28 69 6e 74 20 61 72 );..exits(0);.}..int.main(int.ar
10d40 67 63 2c 20 63 68 61 72 20 2a 61 72 67 76 5b 5d 29 0a 7b 0a 09 63 68 61 72 20 2a 73 65 72 76 65 gc,.char.*argv[]).{..char.*serve
10d60 72 2c 20 2a 75 73 65 72 2c 20 2a 6c 62 6c 2c 20 2a 62 2c 20 2a 64 65 73 74 2c 20 2a 62 75 66 2c r,.*user,.*lbl,.*b,.*dest,.*buf,
10d80 20 2a 74 6f 73 65 72 76 65 72 3b 0a 09 69 6e 74 20 73 6f 63 6b 2c 20 74 73 2c 20 74 6c 73 2c 20 .*toserver;..int.sock,.ts,.tls,.
10da0 64 65 62 75 67 2c 20 75 6e 72 65 67 3b 0a 09 55 73 65 72 50 61 73 73 77 64 20 2a 69 3b 0a 09 54 debug,.unreg;..UserPasswd.*i;..T
10dc0 4c 53 63 6f 6e 6e 20 63 6f 6e 6e 3b 0a 09 6a 61 62 62 65 72 63 20 2a 6d 65 3b 0a 0a 09 74 6c 73 LSconn.conn;..jabberc.*me;...tls
10de0 20 3d 20 30 3b 0a 09 62 20 3d 20 6e 69 6c 3b 0a 09 64 65 73 74 20 3d 20 6e 69 6c 3b 0a 09 75 6e .=.0;..b.=.nil;..dest.=.nil;..un
10e00 72 65 67 20 3d 20 30 3b 0a 09 64 65 62 75 67 20 3d 20 30 3b 0a 09 74 6f 73 65 72 76 65 72 20 3d reg.=.0;..debug.=.0;..toserver.=
10e20 20 6e 69 6c 3b 0a 0a 09 41 52 47 42 45 47 49 4e 20 7b 0a 09 63 61 73 65 20 27 74 27 3a 0a 09 09 .nil;...ARGBEGIN.{..case.'t':...
10e40 74 6c 73 20 3d 20 31 3b 0a 09 09 62 72 65 61 6b 3b 0a 09 63 61 73 65 20 27 72 27 3a 0a 09 09 62 tls.=.1;...break;..case.'r':...b
10e60 20 3d 20 45 41 52 47 46 28 75 73 61 67 65 28 29 29 3b 0a 09 09 62 72 65 61 6b 3b 0a 09 63 61 73 .=.EARGF(usage());...break;..cas
10e80 65 20 27 65 27 3a 0a 09 09 64 65 73 74 20 3d 20 45 41 52 47 46 28 75 73 61 67 65 28 29 29 3b 0a e.'e':...dest.=.EARGF(usage());.
10ea0 09 09 62 72 65 61 6b 3b 0a 09 63 61 73 65 20 27 75 27 3a 0a 09 09 75 6e 72 65 67 20 3d 20 31 3b ..break;..case.'u':...unreg.=.1;
10ec0 0a 09 09 62 72 65 61 6b 3b 0a 09 63 61 73 65 20 27 64 27 3a 0a 09 09 64 65 62 75 67 20 3d 20 31 ...break;..case.'d':...debug.=.1
10ee0 3b 0a 09 09 62 72 65 61 6b 3b 0a 09 63 61 73 65 20 27 73 27 3a 0a 09 09 74 6f 73 65 72 76 65 72 ;...break;..case.'s':...toserver
10f00 20 3d 20 45 41 52 47 46 28 75 73 61 67 65 28 29 29 3b 0a 09 09 62 72 65 61 6b 3b 0a 09 64 65 66 .=.EARGF(usage());...break;..def
10f20 61 75 6c 74 3a 0a 09 09 75 73 61 67 65 28 29 3b 0a 09 7d 20 41 52 47 45 4e 44 3b 0a 0a 09 69 66 ault:...usage();..}.ARGEND;...if
10f40 28 61 72 67 63 20 3c 20 31 20 7c 7c 20 64 65 73 74 20 3d 3d 20 6e 69 6c 29 0a 09 09 75 73 61 67 (argc.<.1.||.dest.==.nil)...usag
10f60 65 28 29 3b 0a 09 73 65 72 76 65 72 20 3d 20 73 74 72 64 75 70 28 61 72 67 76 5b 30 5d 29 3b 0a e();..server.=.strdup(argv[0]);.
10f80 0a 09 6c 62 6c 20 3d 20 67 65 74 77 69 6e 64 6f 77 6c 62 6c 28 29 3b 0a 09 75 73 65 72 20 3d 20 ..lbl.=.getwindowlbl();..user.=.
10fa0 72 65 61 6c 6c 6f 63 6a 28 6e 69 6c 2c 20 73 74 72 6c 65 6e 28 73 65 72 76 65 72 29 20 2b 20 39 reallocj(nil,.strlen(server).+.9
10fc0 2c 20 32 29 3b 0a 09 73 6e 70 72 69 6e 74 28 75 73 65 72 2c 20 73 74 72 6c 65 6e 28 73 65 72 76 ,.2);..snprint(user,.strlen(serv
10fe0 65 72 29 20 2b 20 38 2c 20 22 6a 61 63 73 20 2d 20 25 73 22 2c 20 73 65 72 76 65 72 29 3b 0a 09 er).+.8,."jacs.-.%s",.server);..
11000 73 65 74 77 69 6e 64 6f 77 6c 62 6c 28 75 73 65 72 29 3b 0a 09 66 72 65 65 28 75 73 65 72 29 3b setwindowlbl(user);..free(user);
11020 0a 0a 09 69 20 3d 20 61 75 74 68 5f 67 65 74 75 73 65 72 70 61 73 73 77 64 28 61 75 74 68 5f 67 ...i.=.auth_getuserpasswd(auth_g
11040 65 74 6b 65 79 2c 20 22 70 72 6f 74 6f 3d 70 61 73 73 20 73 65 72 76 65 72 3d 25 73 20 73 65 72 etkey,."proto=pass.server=%s.ser
11060 76 69 63 65 3d 6a 61 62 62 65 72 22 2c 20 73 65 72 76 65 72 29 3b 0a 09 69 66 28 69 20 3d 3d 20 vice=jabber",.server);..if(i.==.
11080 6e 69 6c 29 0a 09 09 73 79 73 66 61 74 61 6c 28 22 61 75 74 68 5f 67 65 74 75 73 65 72 70 61 73 nil)...sysfatal("auth_getuserpas
110a0 73 77 64 3a 20 25 72 22 29 3b 0a 0a 09 73 6f 63 6b 20 3d 20 64 69 61 6c 28 6e 65 74 6d 6b 61 64 swd:.%r");...sock.=.dial(netmkad
110c0 64 72 28 73 65 72 76 65 72 2c 20 22 74 63 70 22 2c 20 74 6c 73 20 3f 20 22 35 32 32 33 22 20 3a dr(server,."tcp",.tls.?."5223".:
110e0 20 22 35 32 32 32 22 29 2c 20 30 2c 20 30 2c 20 30 29 3b 0a 09 69 66 28 73 6f 63 6b 20 3c 20 30 ."5222"),.0,.0,.0);..if(sock.<.0
11100 29 0a 09 09 73 79 73 66 61 74 61 6c 28 22 64 69 61 6c 3a 20 26 72 22 29 3b 0a 0a 09 69 66 28 74 )...sysfatal("dial:.&r");...if(t
11120 6c 73 29 7b 0a 09 09 74 73 20 3d 20 74 6c 73 43 6c 69 65 6e 74 28 73 6f 63 6b 2c 20 26 63 6f 6e ls){...ts.=.tlsClient(sock,.&con
11140 6e 29 3b 0a 09 09 69 66 28 74 73 20 3c 20 30 29 0a 09 09 09 73 79 73 66 61 74 61 6c 28 22 74 6c n);...if(ts.<.0)....sysfatal("tl
11160 73 43 6c 69 65 6e 74 3a 20 25 72 22 29 3b 0a 09 09 73 6f 63 6b 20 3d 20 74 73 3b 0a 0a 09 09 69 sClient:.%r");...sock.=.ts;....i
11180 66 28 63 6f 6e 6e 2e 63 65 72 74 20 21 3d 20 6e 69 6c 29 0a 09 09 09 66 72 65 65 28 63 6f 6e 6e f(conn.cert.!=.nil)....free(conn
111a0 2e 63 65 72 74 29 3b 0a 09 7d 0a 0a 09 62 75 66 20 3d 20 73 74 72 63 68 72 28 73 65 72 76 65 72 .cert);..}...buf.=.strchr(server
111c0 2c 20 27 21 27 29 3b 0a 09 69 66 28 62 75 66 20 21 3d 20 6e 69 6c 29 20 7b 0a 09 09 2a 62 75 66 ,.'!');..if(buf.!=.nil).{...*buf
111e0 2b 2b 20 3d 20 27 5c 30 27 3b 0a 09 09 75 73 65 72 20 3d 20 73 74 72 63 68 72 28 62 75 66 2c 20 ++.=.'\0';...user.=.strchr(buf,.
11200 27 21 27 29 3b 0a 09 09 69 66 28 75 73 65 72 20 21 3d 20 6e 69 6c 29 0a 09 09 09 2a 75 73 65 72 '!');...if(user.!=.nil)....*user
11220 20 3d 20 27 5c 30 27 3b 0a 09 09 75 73 65 72 20 3d 20 73 74 72 64 75 70 28 62 75 66 29 3b 0a 09 .=.'\0';...user.=.strdup(buf);..
11240 09 66 72 65 65 28 73 65 72 76 65 72 29 3b 0a 09 09 73 65 72 76 65 72 20 3d 20 75 73 65 72 3b 0a .free(server);...server.=.user;.
11260 09 7d 0a 0a 09 69 66 28 74 6f 73 65 72 76 65 72 20 3d 3d 20 6e 69 6c 29 0a 09 09 74 6f 73 65 72 .}...if(toserver.==.nil)...toser
11280 76 65 72 20 3d 20 73 65 72 76 65 72 3b 0a 0a 09 6d 65 20 3d 20 6d 6b 6a 61 62 62 65 72 63 28 29 ver.=.server;...me.=.mkjabberc()
112a0 3b 0a 09 6d 65 2d 3e 64 65 73 74 20 3d 20 73 74 72 64 75 70 28 64 65 73 74 29 3b 0a 09 6d 65 2d ;..me->dest.=.strdup(dest);..me-
112c0 3e 73 68 6f 77 20 3d 20 73 74 72 64 75 70 28 22 4f 6e 6c 69 6e 65 22 29 3b 0a 09 6d 65 2d 3e 73 >show.=.strdup("Online");..me->s
112e0 74 61 74 20 3d 20 73 74 72 64 75 70 28 22 4f 6e 6c 69 6e 65 22 29 3b 0a 09 6d 65 2d 3e 6e 61 6d tat.=.strdup("Online");..me->nam
11300 65 20 3d 20 73 74 72 64 75 70 28 69 2d 3e 75 73 65 72 29 3b 0a 09 6d 65 2d 3e 73 65 72 76 20 3d e.=.strdup(i->user);..me->serv.=
11320 20 73 74 72 64 75 70 28 74 6f 73 65 72 76 65 72 29 3b 0a 0a 09 69 66 28 62 20 21 3d 20 6e 69 6c .strdup(toserver);...if(b.!=.nil
11340 29 0a 09 09 6d 65 2d 3e 72 65 73 6f 20 3d 20 73 74 72 64 75 70 28 62 29 3b 0a 09 65 6c 73 65 0a )...me->reso.=.strdup(b);..else.
11360 09 09 6d 65 2d 3e 72 65 73 6f 20 3d 20 73 74 72 64 75 70 28 22 50 6c 61 6e 39 2d 53 65 72 76 69 ..me->reso.=.strdup("Plan9-Servi
11380 63 65 22 29 3b 0a 09 6d 65 2d 3e 6a 69 64 20 3d 20 70 72 69 6e 74 6a 69 64 28 6d 65 2d 3e 6e 61 ce");..me->jid.=.printjid(me->na
113a0 6d 65 2c 20 6d 65 2d 3e 73 65 72 76 2c 20 6d 65 2d 3e 72 65 73 6f 29 3b 0a 09 6d 65 2d 3e 64 65 me,.me->serv,.me->reso);..me->de
113c0 62 75 67 20 3d 20 64 65 62 75 67 3b 0a 09 6d 65 2d 3e 75 6e 72 65 67 20 3d 20 75 6e 72 65 67 3b bug.=.debug;..me->unreg.=.unreg;
113e0 0a 0a 09 66 72 65 65 28 62 75 66 29 3b 0a 0a 09 69 66 28 72 65 63 76 6a 61 63 63 28 73 6f 63 6b ...free(buf);...if(recvjacc(sock
11400 2c 20 6d 65 2c 20 69 2d 3e 70 61 73 73 77 64 29 20 3c 20 30 29 0a 09 09 70 65 72 72 6f 72 28 22 ,.me,.i->passwd).<.0)...perror("
11420 72 65 63 76 5f 6a 61 63 63 22 29 3b 0a 0a 09 69 66 28 6c 62 6c 20 21 3d 20 6e 69 6c 29 7b 0a 09 recv_jacc");...if(lbl.!=.nil){..
11440 09 73 65 74 77 69 6e 64 6f 77 6c 62 6c 28 6c 62 6c 29 3b 0a 09 09 6c 62 6c 20 3d 20 6e 69 6c 3b .setwindowlbl(lbl);...lbl.=.nil;
11460 0a 09 09 66 72 65 65 28 6c 62 6c 29 3b 0a 09 7d 0a 0a 09 66 72 65 65 6a 61 62 62 65 72 63 28 6d ...free(lbl);..}...freejabberc(m
11480 65 29 3b 0a 09 65 78 69 74 73 28 30 29 3b 0a 09 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 00 00 00 00 e);..exits(0);..return.0;.}.....
114a0 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 ................................
114c0 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 ................................
114e0 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 ................................
11500 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
11520 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
11540 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 ................................
11560 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 ................................
11580 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 ................................
115a0 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 ................................
115c0 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 ................................
115e0 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 ................................
11600 6a 61 63 63 2f 2f 6a 61 63 73 2f 6a 61 63 73 2e 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacs/jacs.h...............
11620 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 ................................
11640 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 ................................
11660 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
11680 20 20 20 31 33 31 31 20 31 30 35 36 30 36 32 37 37 36 37 20 20 31 32 30 33 36 00 00 00 00 00 00 ...1311.10560627767..12036......
116a0 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 ................................
116c0 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 ................................
116e0 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 ................................
11700 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
11720 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
11740 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 ................................
11760 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 ................................
11780 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 ................................
117a0 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 ................................
117c0 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 ................................
117e0 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 ................................
11800 23 69 66 6e 64 65 66 20 4a 41 43 53 5f 48 0a 23 64 65 66 69 6e 65 20 4a 41 43 53 5f 48 0a 0a 23 #ifndef.JACS_H.#define.JACS_H..#
11820 69 6e 63 6c 75 64 65 20 22 72 6f 73 74 65 72 2e 68 22 0a 0a 65 6e 75 6d 20 7b 0a 09 4e 4f 4e 45 include."roster.h"..enum.{..NONE
11840 20 09 3d 20 30 78 30 30 2c 0a 09 53 54 52 45 41 4d 2c 0a 09 41 55 54 48 2c 0a 09 45 52 52 4f 52 ..=.0x00,..STREAM,..AUTH,..ERROR
11860 2c 0a 09 4d 45 53 53 41 47 45 2c 0a 09 4d 45 53 53 41 47 45 5f 49 4e 4e 45 52 2c 0a 09 49 51 2c ,..MESSAGE,..MESSAGE_INNER,..IQ,
11880 0a 09 49 51 5f 49 4e 4e 45 52 2c 0a 09 49 51 5f 45 52 52 4f 52 2c 0a 09 49 51 5f 52 45 47 49 53 ..IQ_INNER,..IQ_ERROR,..IQ_REGIS
118a0 54 45 52 2c 0a 09 49 51 5f 52 45 47 49 53 54 45 52 5f 49 4e 53 54 2c 0a 09 49 51 5f 52 45 47 49 TER,..IQ_REGISTER_INST,..IQ_REGI
118c0 53 54 45 52 5f 49 4e 4e 45 2c 0a 09 45 4e 44 0a 7d 3b 0a 0a 69 6e 74 20 78 6d 6c 6a 61 63 63 28 STER_INNE,..END.};..int.xmljacc(
118e0 69 6e 74 20 73 6f 63 6b 29 3b 0a 69 6e 74 20 6c 6f 67 69 6e 6a 61 63 63 28 69 6e 74 20 73 6f 63 int.sock);.int.loginjacc(int.soc
11900 6b 2c 20 63 68 61 72 20 2a 73 65 72 76 29 3b 0a 69 6e 74 20 75 73 65 72 6a 61 63 63 28 69 6e 74 k,.char.*serv);.int.userjacc(int
11920 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 75 73 65 72 2c 20 63 68 61 72 20 2a 70 61 73 73 2c 20 63 .sock,.char.*user,.char.*pass,.c
11940 68 61 72 20 2a 72 65 73 29 3b 0a 69 6e 74 20 76 65 72 73 69 6f 6e 6a 61 63 63 28 69 6e 74 20 73 har.*res);.int.versionjacc(int.s
11960 6f 63 6b 2c 20 63 68 61 72 20 2a 66 72 6f 6d 2c 20 63 68 61 72 20 2a 74 6f 2c 20 63 68 61 72 20 ock,.char.*from,.char.*to,.char.
11980 2a 69 64 29 3b 0a 69 6e 74 20 70 72 65 73 65 6e 63 65 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c *id);.int.presencejacc(int.sock,
119a0 20 63 68 61 72 20 2a 73 74 61 74 2c 20 63 68 61 72 20 2a 73 68 6f 77 2c 20 63 68 61 72 20 2a 66 .char.*stat,.char.*show,.char.*f
119c0 72 6f 6d 2c 20 63 68 61 72 20 2a 74 6f 29 3b 0a 69 6e 74 20 66 65 61 74 75 72 65 73 6a 61 63 63 rom,.char.*to);.int.featuresjacc
119e0 28 69 6e 74 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 66 72 6f 6d 2c 20 63 68 61 72 20 2a 74 6f 2c (int.sock,.char.*from,.char.*to,
11a00 20 63 68 61 72 20 2a 69 64 29 3b 0a 69 6e 74 20 61 6e 73 77 65 72 73 6a 61 63 63 28 69 6e 74 20 .char.*id);.int.answersjacc(int.
11a20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 77 68 6f 2c 20 63 68 61 72 20 2a 74 2c 20 63 68 61 72 20 2a sock,.char.*who,.char.*t,.char.*
11a40 69 64 2c 20 69 6c 69 73 74 20 2a 6c 29 3b 0a 69 6e 74 20 78 6d 6c 6e 73 6a 61 63 63 28 69 6e 74 id,.ilist.*l);.int.xmlnsjacc(int
11a60 20 73 6f 63 6b 2c 20 63 68 61 72 20 2a 77 68 6f 2c 20 63 68 61 72 20 2a 74 2c 20 63 68 61 72 20 .sock,.char.*who,.char.*t,.char.
11a80 2a 69 64 29 3b 0a 69 6e 74 20 78 6d 6c 6e 73 6e 65 67 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c *id);.int.xmlnsnegjacc(int.sock,
11aa0 20 63 68 61 72 20 2a 77 68 6f 2c 20 63 68 61 72 20 2a 74 2c 20 63 68 61 72 20 2a 69 64 29 3b 0a .char.*who,.char.*t,.char.*id);.
11ac0 0a 23 65 6e 64 69 66 0a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .#endif.........................
11ae0 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 ................................
11b00 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
11b20 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
11b40 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 ................................
11b60 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 ................................
11b80 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 ................................
11ba0 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 ................................
11bc0 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 ................................
11be0 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 ................................
11c00 6a 61 63 63 2f 2f 6a 61 63 73 2f 6d 6b 66 69 6c 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacs/mkfile...............
11c20 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 ................................
11c40 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 ................................
11c60 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
11c80 20 20 20 20 33 35 37 20 31 30 35 36 30 36 32 37 37 36 37 20 20 31 32 31 33 30 00 00 00 00 00 00 ....357.10560627767..12130......
11ca0 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 ................................
11cc0 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 ................................
11ce0 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 ................................
11d00 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
11d20 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
11d40 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 ................................
11d60 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 ................................
11d80 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 ................................
11da0 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 ................................
11dc0 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 ................................
11de0 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 ................................
11e00 3c 2f 24 6f 62 6a 74 79 70 65 2f 6d 6b 66 69 6c 65 0a 42 49 4e 3d 2f 24 6f 62 6a 74 79 70 65 2f </$objtype/mkfile.BIN=/$objtype/
11e20 62 69 6e 0a 0a 54 41 52 47 3d 6a 61 63 73 0a 4f 46 49 4c 45 53 3d 5c 0a 09 64 61 74 2e 24 4f 5c bin..TARG=jacs.OFILES=\..dat.$O\
11e40 0a 09 72 6f 73 74 65 72 2e 24 4f 5c 0a 09 72 65 63 76 2e 24 4f 5c 0a 09 6a 61 63 73 2e 24 4f 5c ..roster.$O\..recv.$O\..jacs.$O\
11e60 0a 0a 48 46 49 4c 45 53 3d 5c 0a 09 72 6f 73 74 65 72 2e 68 5c 0a 09 64 61 74 2e 68 5c 0a 09 72 ..HFILES=\..roster.h\..dat.h\..r
11e80 65 63 76 2e 68 5c 0a 09 6a 61 63 73 2e 68 5c 0a 0a 55 50 44 41 54 45 3d 5c 0a 09 6d 6b 66 69 6c ecv.h\..jacs.h\..UPDATE=\..mkfil
11ea0 65 5c 0a 09 24 48 46 49 4c 45 53 5c 0a 09 24 7b 4f 46 49 4c 45 53 3a 25 2e 24 4f 3d 25 2e 63 7d e\..$HFILES\..${OFILES:%.$O=%.c}
11ec0 5c 0a 09 24 7b 54 41 52 47 3a 25 3d 2f 33 38 36 2f 62 69 6e 2f 25 7d 5c 0a 0a 3c 2f 73 79 73 2f \..${TARG:%=/386/bin/%}\..</sys/
11ee0 73 72 63 2f 63 6d 64 2f 6d 6b 6f 6e 65 0a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 src/cmd/mkone...................
11f00 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 ................................
11f20 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 ................................
11f40 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 ................................
11f60 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 ................................
11f80 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 ................................
11fa0 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 ................................
11fc0 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 ................................
11fe0 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 ................................
12000 6a 61 63 63 2f 2f 6a 61 63 73 2f 6d 6b 66 69 6c 65 2e 70 6c 61 6e 39 70 6f 72 74 00 00 00 00 00 jacc//jacs/mkfile.plan9port.....
12020 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 ................................
12040 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 ................................
12060 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
12080 20 20 20 20 34 31 37 20 31 30 35 36 30 36 32 37 37 36 37 20 20 31 34 30 35 34 00 00 00 00 00 00 ....417.10560627767..14054......
120a0 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 ................................
120c0 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 ................................
120e0 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 ................................
12100 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
12120 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
12140 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 ................................
12160 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 ................................
12180 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 ................................
121a0 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 ................................
121c0 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 ................................
121e0 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 ................................
12200 3c 2f 24 50 4c 41 4e 39 2f 73 72 63 2f 6d 6b 68 64 72 0a 42 49 4e 3d 24 50 4c 41 4e 39 2f 62 69 </$PLAN9/src/mkhdr.BIN=$PLAN9/bi
12220 6e 0a 0a 4c 44 46 4c 41 47 53 3d 2d 6c 78 6d 6c 70 75 6c 6c 0a 43 46 4c 41 47 53 3d 2d 44 50 4c n..LDFLAGS=-lxmlpull.CFLAGS=-DPL
12240 41 4e 39 50 4f 52 54 0a 54 41 52 47 3d 6a 61 63 63 0a 4f 46 49 4c 45 53 3d 5c 0a 09 64 61 74 2e AN9PORT.TARG=jacc.OFILES=\..dat.
12260 24 4f 5c 0a 09 72 6f 73 74 65 72 2e 24 4f 5c 0a 09 72 65 63 76 2e 24 4f 5c 0a 09 6a 61 63 73 2e $O\..roster.$O\..recv.$O\..jacs.
12280 24 4f 5c 0a 0a 48 46 49 4c 45 53 3d 5c 0a 09 72 6f 73 74 65 72 2e 68 5c 0a 09 64 61 74 2e 68 5c $O\..HFILES=\..roster.h\..dat.h\
122a0 0a 09 72 65 63 76 2e 68 5c 0a 09 6a 61 63 73 2e 68 5c 0a 0a 55 50 44 41 54 45 3d 5c 0a 09 6d 6b ..recv.h\..jacs.h\..UPDATE=\..mk
122c0 66 69 6c 65 5c 0a 09 24 48 46 49 4c 45 53 5c 0a 09 24 7b 4f 46 49 4c 45 53 3a 25 2e 24 4f 3d 25 file\..$HFILES\..${OFILES:%.$O=%
122e0 2e 63 7d 5c 0a 09 24 7b 54 41 52 47 3a 25 3d 2f 33 38 36 2f 62 69 6e 2f 25 7d 5c 0a 0a 3c 24 50 .c}\..${TARG:%=/386/bin/%}\..<$P
12300 4c 41 4e 39 2f 73 72 63 2f 6d 6b 6f 6e 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 LAN9/src/mkone..................
12320 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 ................................
12340 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 ................................
12360 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 ................................
12380 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 ................................
123a0 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 ................................
123c0 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 ................................
123e0 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 ................................
12400 6a 61 63 63 2f 2f 6a 61 63 73 2f 72 65 63 76 2e 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacs/recv.c...............
12420 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 ................................
12440 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 ................................
12460 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
12480 20 20 31 33 30 36 30 20 31 30 35 36 30 36 32 37 37 36 37 20 20 31 32 30 37 34 00 00 00 00 00 00 ..13060.10560627767..12074......
124a0 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 ................................
124c0 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 ................................
124e0 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 ................................
12500 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
12520 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
12540 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 ................................
12560 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 ................................
12580 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 ................................
125a0 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 ................................
125c0 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 ................................
125e0 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 ................................
12600 2f 2a 0a 20 2a 20 43 6f 70 79 20 6d 65 20 69 66 20 79 6f 75 20 63 61 6e 2e 0a 20 2a 20 62 79 20 /*..*.Copy.me.if.you.can...*.by.
12620 32 30 68 0a 20 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 75 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20h..*/..#include.<u.h>.#include
12640 20 3c 6c 69 62 63 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 22 78 6d 6c 70 75 6c 6c 2e 68 22 0a 23 .<libc.h>.#include."xmlpull.h".#
12660 69 6e 63 6c 75 64 65 20 22 6a 61 63 73 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 64 61 74 2e 68 include."jacs.h".#include."dat.h
12680 22 0a 23 69 6e 63 6c 75 64 65 20 22 72 6f 73 74 65 72 2e 68 22 0a 0a 63 68 61 72 20 2a 0a 67 65 ".#include."roster.h"..char.*.ge
126a0 74 6c 69 6e 65 28 76 6f 69 64 29 0a 7b 0a 09 63 68 61 72 20 2a 72 65 74 3b 0a 09 69 6e 74 20 6c tline(void).{..char.*ret;..int.l
126c0 3b 0a 0a 09 6c 20 3d 20 2d 31 3b 0a 09 72 65 74 20 3d 20 72 65 61 6c 6c 6f 63 6a 28 6e 69 6c 2c ;...l.=.-1;..ret.=.reallocj(nil,
126e0 20 31 30 32 35 2c 20 32 29 3b 0a 0a 09 77 68 69 6c 65 28 72 65 61 64 28 30 2c 20 26 72 65 74 5b .1025,.2);...while(read(0,.&ret[
12700 2b 2b 6c 5d 2c 20 31 29 20 26 26 20 6c 20 3c 20 31 30 32 34 29 0a 09 09 69 66 28 72 65 74 5b 6c ++l],.1).&&.l.<.1024)...if(ret[l
12720 5d 20 3d 3d 20 27 5c 6e 27 29 0a 09 09 09 62 72 65 61 6b 3b 0a 09 72 65 74 5b 6c 5d 20 3d 20 27 ].==.'\n')....break;..ret[l].=.'
12740 5c 30 27 3b 0a 0a 09 72 65 74 75 72 6e 20 72 65 74 3b 0a 7d 0a 0a 76 6f 69 64 0a 61 73 6b 61 6e \0';...return.ret;.}..void.askan
12760 73 77 65 72 73 28 69 6c 69 73 74 20 2a 69 2c 20 63 68 61 72 20 2a 74 6d 73 74 6d 70 29 0a 7b 0a swers(ilist.*i,.char.*tmstmp).{.
12780 09 69 6c 69 73 74 20 2a 61 63 3b 0a 09 63 68 61 72 20 2a 76 61 6c 3b 0a 0a 09 61 63 20 3d 20 69 .ilist.*ac;..char.*val;...ac.=.i
127a0 3b 0a 09 77 68 69 6c 65 28 61 63 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 70 72 69 6e 74 28 22 25 73 ;..while(ac.!=.nil){...print("%s
127c0 25 73 5b 25 73 5d 20 3d 20 22 2c 20 74 6d 73 74 6d 70 2c 20 61 63 2d 3e 6e 61 6d 65 2c 20 28 61 %s[%s].=.",.tmstmp,.ac->name,.(a
127e0 63 2d 3e 76 61 6c 20 21 3d 20 6e 69 6c 29 20 3f 20 61 63 2d 3e 76 61 6c 20 3a 20 22 22 29 3b 0a c->val.!=.nil).?.ac->val.:."");.
12800 09 09 76 61 6c 20 3d 20 67 65 74 6c 69 6e 65 28 29 3b 0a 09 09 69 66 28 61 63 2d 3e 76 61 6c 20 ..val.=.getline();...if(ac->val.
12820 3d 3d 20 6e 69 6c 29 0a 09 09 09 61 63 2d 3e 76 61 6c 20 3d 20 76 61 6c 3b 0a 09 09 65 6c 73 65 ==.nil)....ac->val.=.val;...else
12840 20 7b 0a 09 09 09 69 66 28 2a 76 61 6c 20 21 3d 20 27 5c 30 27 29 7b 0a 09 09 09 09 66 72 65 65 .{....if(*val.!=.'\0'){.....free
12860 28 61 63 2d 3e 76 61 6c 29 3b 0a 09 09 09 09 61 63 2d 3e 76 61 6c 20 3d 20 76 61 6c 3b 0a 09 09 (ac->val);.....ac->val.=.val;...
12880 09 7d 20 65 6c 73 65 0a 09 09 09 09 66 72 65 65 28 76 61 6c 29 3b 0a 09 09 7d 0a 09 09 61 63 20 .}.else.....free(val);...}...ac.
128a0 3d 20 61 63 2d 3e 6e 3b 0a 09 7d 0a 0a 09 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 6e 74 0a 72 65 63 =.ac->n;..}...return;.}..int.rec
128c0 76 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 6a 61 62 62 65 72 63 20 2a 6d 65 2c 20 63 68 61 vjacc(int.sock,.jabberc.*me,.cha
128e0 72 20 2a 70 61 73 73 29 0a 7b 0a 09 78 6d 6c 70 75 6c 6c 20 2a 78 2c 20 2a 62 3b 0a 09 63 68 61 r.*pass).{..xmlpull.*x,.*b;..cha
12900 72 20 2a 69 64 2c 20 2a 74 6f 2c 20 2a 66 72 6f 6d 2c 20 2a 74 6d 73 74 6d 70 2c 20 73 74 2c 20 r.*id,.*to,.*from,.*tmstmp,.st,.
12920 2a 74 79 70 65 3b 0a 09 69 6c 69 73 74 20 2a 61 63 3b 0a 0a 09 74 79 70 65 20 3d 20 6e 69 6c 3b *type;..ilist.*ac;...type.=.nil;
12940 0a 09 69 64 20 3d 20 6e 69 6c 3b 0a 09 66 72 6f 6d 20 3d 20 6e 69 6c 3b 0a 09 74 6f 20 3d 20 6e ..id.=.nil;..from.=.nil;..to.=.n
12960 69 6c 3b 0a 09 73 74 20 3d 20 4e 4f 4e 45 3b 0a 09 61 63 20 3d 20 6e 69 6c 3b 0a 0a 09 69 66 28 il;..st.=.NONE;..ac.=.nil;...if(
12980 78 6d 6c 6a 61 63 63 28 73 6f 63 6b 29 20 3c 20 30 29 0a 09 09 72 65 74 75 72 6e 20 2d 31 3b 0a xmljacc(sock).<.0)...return.-1;.
129a0 09 69 66 28 6c 6f 67 69 6e 6a 61 63 63 28 73 6f 63 6b 2c 20 6d 65 2d 3e 73 65 72 76 29 20 3c 20 .if(loginjacc(sock,.me->serv).<.
129c0 30 29 0a 09 09 72 65 74 75 72 6e 20 2d 31 3b 0a 0a 09 78 20 3d 20 6f 70 65 6e 78 6d 6c 70 75 6c 0)...return.-1;...x.=.openxmlpul
129e0 6c 28 73 6f 63 6b 29 3b 0a 09 77 68 69 6c 65 28 28 62 20 3d 20 6e 65 78 74 78 6d 6c 70 75 6c 6c l(sock);..while((b.=.nextxmlpull
12a00 28 78 29 29 20 21 3d 20 6e 69 6c 20 26 26 20 73 74 20 21 3d 20 45 4e 44 29 7b 0a 09 09 74 6d 73 (x)).!=.nil.&&.st.!=.END){...tms
12a20 74 6d 70 20 3d 20 6d 6b 74 6d 73 74 6d 70 28 27 28 27 2c 20 27 29 27 29 3b 0a 09 09 73 77 69 74 tmp.=.mktmstmp('(',.')');...swit
12a40 63 68 28 62 2d 3e 65 76 29 7b 0a 09 09 63 61 73 65 20 53 54 41 52 54 5f 44 4f 43 55 4d 45 4e 54 ch(b->ev){...case.START_DOCUMENT
12a60 3a 0a 09 09 09 69 66 28 6d 65 2d 3e 64 65 62 75 67 29 0a 09 09 09 09 70 72 69 6e 74 28 22 53 74 :....if(me->debug).....print("St
12a80 61 72 74 2e 5c 6e 22 29 3b 0a 09 09 09 73 74 20 3d 20 4e 4f 4e 45 3b 0a 09 09 09 62 72 65 61 6b art.\n");....st.=.NONE;....break
12aa0 3b 0a 09 09 63 61 73 65 20 53 54 41 52 54 5f 54 41 47 3a 0a 09 09 09 69 66 28 6d 65 2d 3e 64 65 ;...case.START_TAG:....if(me->de
12ac0 62 75 67 29 0a 09 09 09 09 70 72 69 6e 74 28 22 54 61 67 3a 20 25 73 5c 6e 22 2c 20 78 2d 3e 6e bug).....print("Tag:.%s\n",.x->n
12ae0 61 29 3b 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 73 74 72 65 61 6d a);....if(!strcmp(x->na,."stream
12b00 3a 73 74 72 65 61 6d 22 29 29 7b 0a 09 09 09 09 73 74 20 3d 20 53 54 52 45 41 4d 3b 0a 09 09 09 :stream")){.....st.=.STREAM;....
12b20 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 .break;....}....if(!strcmp(x->na
12b40 2c 20 22 73 74 72 65 61 6d 3a 65 72 72 6f 72 22 29 29 7b 0a 09 09 09 09 73 74 20 3d 20 45 52 52 ,."stream:error")){.....st.=.ERR
12b60 4f 52 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 73 74 20 3d 3d 20 OR;.....break;....}....if(st.==.
12b80 45 52 52 4f 52 29 7b 0a 09 09 09 09 69 66 28 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 74 65 ERROR){.....if(strcmp(x->na,."te
12ba0 78 74 22 29 29 0a 09 09 09 09 09 66 70 72 69 6e 74 28 32 2c 20 22 25 73 65 72 72 6f 72 3a 20 25 xt"))......fprint(2,."%serror:.%
12bc0 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b s\n",.tmstmp,.x->na);.....break;
12be0 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 69 71 22 29 ....}....if(!strcmp(x->na,."iq")
12c00 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a ){.....st.=.IQ;.....break;....}.
12c20 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 65 72 72 6f 72 22 29 20 26 26 ...if(!strcmp(x->na,."error").&&
12c40 20 73 74 20 3d 3d 20 49 51 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 45 52 52 4f 52 3b 0a 09 .st.==.IQ){.....st.=.IQ_ERROR;..
12c60 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 73 74 20 3d 3d 20 49 51 5f 45 52 ...break;....}....if(st.==.IQ_ER
12c80 52 4f 52 29 7b 0a 09 09 09 09 70 72 69 6e 74 28 22 49 51 2d 45 72 72 6f 72 3a 20 25 73 5c 6e 22 ROR){.....print("IQ-Error:.%s\n"
12ca0 2c 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 ,.x->na);.....break;....}....if(
12cc0 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 71 75 65 72 79 22 29 20 26 26 20 73 74 20 3d 3d !strcmp(x->na,."query").&&.st.==
12ce0 20 49 51 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 49 4e 4e 45 52 3b 0a 09 09 09 09 62 72 65 .IQ){.....st.=.IQ_INNER;.....bre
12d00 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 69 ak;....}....if(!strcmp(x->na,."i
12d20 6e 73 74 72 75 63 74 69 6f 6e 73 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 52 45 47 49 53 54 nstructions").&&.st.==.IQ_REGIST
12d40 45 52 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 52 45 47 49 53 54 45 52 5f 49 4e 53 54 3b 0a ER){.....st.=.IQ_REGISTER_INST;.
12d60 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d ....break;....}....if(!strcmp(x-
12d80 3e 6e 61 2c 20 22 71 75 65 72 79 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 52 45 47 49 53 54 >na,."query").&&.st.==.IQ_REGIST
12da0 45 52 29 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 69 66 28 73 74 20 3d 3d 20 49 51 5f 52 45 ER).....break;....if(st.==.IQ_RE
12dc0 47 49 53 54 45 52 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 52 45 47 49 53 54 45 52 5f 49 4e GISTER){.....st.=.IQ_REGISTER_IN
12de0 4e 45 3b 0a 09 09 09 09 6d 65 2d 3e 6c 69 73 74 20 3d 20 61 64 64 69 6c 69 73 74 28 6d 65 2d 3e NE;.....me->list.=.addilist(me->
12e00 6c 69 73 74 2c 20 78 2d 3e 6e 61 2c 20 6e 69 6c 29 3b 0a 09 09 09 09 61 63 20 3d 20 6c 61 73 74 list,.x->na,.nil);.....ac.=.last
12e20 69 6c 69 73 74 28 6d 65 2d 3e 6c 69 73 74 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d ilist(me->list);.....break;....}
12e40 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 63 61 73 65 20 53 54 41 52 54 5f 45 4e 44 5f 54 41 47 3a ....break;...case.START_END_TAG:
12e60 0a 09 09 09 69 66 28 6d 65 2d 3e 64 65 62 75 67 29 0a 09 09 09 09 70 72 69 6e 74 28 22 53 74 61 ....if(me->debug).....print("Sta
12e80 72 74 65 6e 64 3a 20 25 73 5c 6e 22 2c 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 69 66 28 73 74 20 3d rtend:.%s\n",.x->na);....if(st.=
12ea0 3d 20 49 51 5f 52 45 47 49 53 54 45 52 29 7b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 =.IQ_REGISTER){.....if(!strcmp(x
12ec0 2d 3e 6e 61 2c 20 22 72 65 67 69 73 74 65 72 65 64 22 29 29 7b 0a 09 09 09 09 09 70 72 69 6e 74 ->na,."registered")){......print
12ee0 28 22 25 73 41 6c 72 65 61 64 79 20 72 65 67 69 73 74 65 72 64 2e 5c 6e 22 2c 20 74 6d 73 74 6d ("%sAlready.registerd.\n",.tmstm
12f00 70 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 7d 0a 09 09 09 09 69 66 28 73 74 72 p);......break;.....}.....if(str
12f20 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 72 65 6d 6f 76 65 22 29 29 0a 09 09 09 09 09 6d 65 2d 3e 6c cmp(x->na,."remove"))......me->l
12f40 69 73 74 20 3d 20 61 64 64 69 6c 69 73 74 28 6d 65 2d 3e 6c 69 73 74 2c 20 78 2d 3e 6e 61 2c 20 ist.=.addilist(me->list,.x->na,.
12f60 6e 69 6c 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 73 74 20 3d nil);.....break;....}....if(st.=
12f80 3d 20 45 52 52 4f 52 29 7b 0a 09 09 09 09 66 70 72 69 6e 74 28 32 2c 20 22 25 73 65 72 72 6f 72 =.ERROR){.....fprint(2,."%serror
12fa0 3a 20 25 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 09 62 72 65 :.%s\n",.tmstmp,.x->na);.....bre
12fc0 61 6b 3b 0a 09 09 09 7d 09 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 63 61 73 65 20 54 45 58 54 3a ak;....}.....break;...case.TEXT:
12fe0 0a 09 09 09 69 66 28 6d 65 2d 3e 64 65 62 75 67 29 0a 09 09 09 09 70 72 69 6e 74 28 22 54 65 78 ....if(me->debug).....print("Tex
13000 74 3a 20 25 73 5c 6e 22 2c 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 73 77 69 74 63 68 28 73 74 29 7b t:.%s\n",.x->na);....switch(st){
13020 0a 09 09 09 63 61 73 65 20 49 51 5f 52 45 47 49 53 54 45 52 5f 49 4e 53 54 3a 0a 09 09 09 09 70 ....case.IQ_REGISTER_INST:.....p
13040 72 69 6e 74 28 22 25 73 20 25 73 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 78 2d 3e 6e 61 29 3b 0a rint("%s.%s\n",.tmstmp,.x->na);.
13060 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 49 51 5f 52 45 47 49 53 54 45 52 5f 49 ....break;....case.IQ_REGISTER_I
13080 4e 4e 45 3a 0a 09 09 09 09 61 63 2d 3e 76 61 6c 20 3d 20 73 74 72 64 75 70 28 78 2d 3e 6e 61 29 NNE:.....ac->val.=.strdup(x->na)
130a0 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 64 65 66 61 75 6c 74 3a 0a 09 09 09 09 62 72 65 ;.....break;....default:.....bre
130c0 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 63 61 73 65 20 41 54 54 52 3a 0a ak;....}....break;...case.ATTR:.
130e0 09 09 09 69 66 28 6d 65 2d 3e 64 65 62 75 67 29 0a 09 09 09 09 70 72 69 6e 74 28 22 41 74 74 72 ...if(me->debug).....print("Attr
13100 3a 20 25 73 20 3d 20 25 73 5c 6e 22 2c 20 78 2d 3e 6e 61 2c 20 78 2d 3e 76 61 29 3b 0a 09 09 09 :.%s.=.%s\n",.x->na,.x->va);....
13120 73 77 69 74 63 68 28 73 74 29 7b 0a 09 09 09 63 61 73 65 20 53 54 52 45 41 4d 3a 0a 09 09 09 09 switch(st){....case.STREAM:.....
13140 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 69 64 22 29 29 7b 0a 09 09 09 09 09 73 if(!strcmp(x->na,."id")){......s
13160 74 20 3d 20 4e 4f 4e 45 3b 0a 09 09 09 09 09 69 66 28 75 73 65 72 6a 61 63 63 28 73 6f 63 6b 2c t.=.NONE;......if(userjacc(sock,
13180 20 6d 65 2d 3e 6e 61 6d 65 2c 20 70 61 73 73 2c 20 6d 65 2d 3e 72 65 73 6f 29 20 3c 20 30 29 20 .me->name,.pass,.me->reso).<.0).
131a0 7b 0a 09 09 09 09 09 09 6d 65 6d 73 65 74 28 70 61 73 73 2c 20 30 2c 20 73 74 72 6c 65 6e 28 70 {.......memset(pass,.0,.strlen(p
131c0 61 73 73 29 29 3b 0a 09 09 09 09 09 09 73 74 20 3d 20 41 55 54 48 3b 0a 09 09 09 09 09 09 62 72 ass));.......st.=.AUTH;.......br
131e0 65 61 6b 3b 0a 09 09 09 09 09 7d 0a 09 09 09 09 7d 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 eak;......}.....}.....break;....
13200 63 61 73 65 20 49 51 3a 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 case.IQ:.....if(!strcmp(x->na,."
13220 69 64 22 29 29 7b 0a 09 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 76 61 2c 20 22 61 id")){......if(!strcmp(x->va,."a
13240 75 74 68 5f 31 22 29 29 20 7b 0a 09 09 09 09 09 09 70 72 65 73 65 6e 63 65 6a 61 63 63 28 73 6f uth_1")).{.......presencejacc(so
13260 63 6b 2c 20 6d 65 2d 3e 73 74 61 74 2c 20 6d 65 2d 3e 73 68 6f 77 2c 20 6d 65 2d 3e 6a 69 64 2c ck,.me->stat,.me->show,.me->jid,
13280 20 6e 69 6c 29 3b 0a 09 09 09 09 09 09 69 66 28 6d 65 2d 3e 75 6e 72 65 67 29 0a 09 09 09 09 09 .nil);.......if(me->unreg)......
132a0 09 09 78 6d 6c 6e 73 6e 65 67 6a 61 63 63 28 73 6f 63 6b 2c 20 6d 65 2d 3e 64 65 73 74 2c 20 22 ..xmlnsnegjacc(sock,.me->dest,."
132c0 6a 61 62 62 65 72 3a 69 71 3a 72 65 67 69 73 74 65 72 22 2c 20 22 73 65 72 76 69 63 65 5f 31 22 jabber:iq:register",."service_1"
132e0 29 3b 0a 09 09 09 09 09 09 65 6c 73 65 0a 09 09 09 09 09 09 09 78 6d 6c 6e 73 6a 61 63 63 28 73 );.......else........xmlnsjacc(s
13300 6f 63 6b 2c 20 6d 65 2d 3e 64 65 73 74 2c 20 22 6a 61 62 62 65 72 3a 69 71 3a 72 65 67 69 73 74 ock,.me->dest,."jabber:iq:regist
13320 65 72 22 2c 20 22 73 65 72 76 69 63 65 5f 30 22 29 3b 0a 09 09 09 09 09 7d 0a 09 09 09 09 09 69 er",."service_0");......}......i
13340 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 76 61 2c 20 22 73 65 72 76 69 63 65 5f 30 22 29 29 0a 09 f(!strcmp(x->va,."service_0"))..
13360 09 09 09 09 09 73 74 20 3d 20 49 51 5f 52 45 47 49 53 54 45 52 3b 0a 09 09 09 09 09 69 64 20 3d .....st.=.IQ_REGISTER;......id.=
13380 20 73 74 72 64 75 70 28 78 2d 3e 76 61 29 3b 0a 09 09 09 09 7d 0a 09 09 09 09 69 66 28 21 73 74 .strdup(x->va);.....}.....if(!st
133a0 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 66 72 6f 6d 22 29 29 0a 09 09 09 09 09 66 72 6f 6d 20 3d rcmp(x->na,."from"))......from.=
133c0 20 73 74 72 64 75 70 28 78 2d 3e 76 61 29 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 .strdup(x->va);.....if(!strcmp(x
133e0 2d 3e 6e 61 2c 20 22 74 6f 22 29 29 0a 09 09 09 09 09 74 6f 20 3d 20 73 74 72 64 75 70 28 78 2d ->na,."to"))......to.=.strdup(x-
13400 3e 76 61 29 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 74 79 70 >va);.....if(!strcmp(x->na,."typ
13420 65 22 29 29 0a 09 09 09 09 09 74 79 70 65 20 3d 20 73 74 72 64 75 70 28 78 2d 3e 76 61 29 3b 0a e"))......type.=.strdup(x->va);.
13440 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 63 61 73 65 20 49 51 5f 49 4e 4e 45 52 3a 0a 09 09 09 ....break;....case.IQ_INNER:....
13460 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 78 6d 6c 6e 73 22 29 29 7b 0a 09 09 .if(!strcmp(x->na,."xmlns")){...
13480 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 76 61 2c 20 22 6a 61 62 62 65 72 3a 69 71 3a ...if(!strcmp(x->va,."jabber:iq:
134a0 76 65 72 73 69 6f 6e 22 29 29 20 7b 0a 09 09 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 74 6f version")).{.......if(!strcmp(to
134c0 2c 20 6d 65 2d 3e 6a 69 64 29 29 7b 0a 09 09 09 09 09 09 09 70 72 69 6e 74 28 22 25 73 25 73 3a ,.me->jid)){........print("%s%s:
134e0 5c 6e 22 2c 20 74 6d 73 74 6d 70 2c 20 66 72 6f 6d 29 3b 0a 09 09 09 09 09 09 09 62 72 65 61 6b \n",.tmstmp,.from);........break
13500 3b 0a 09 09 09 09 09 09 7d 20 65 6c 73 65 0a 09 09 09 09 09 09 09 76 65 72 73 69 6f 6e 6a 61 63 ;.......}.else........versionjac
13520 63 28 73 6f 63 6b 2c 20 6d 65 2d 3e 6a 69 64 2c 20 66 72 6f 6d 2c 20 69 64 29 3b 0a 09 09 09 09 c(sock,.me->jid,.from,.id);.....
13540 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 09 7d 0a 09 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 ..break;......}......if(!strcmp(
13560 78 2d 3e 76 61 2c 20 22 68 74 74 70 3a 2f 2f 6a 61 62 62 65 72 2e 6f 72 67 2f 70 72 6f 74 6f 63 x->va,."http://jabber.org/protoc
13580 6f 6c 2f 64 69 73 63 6f 23 69 6e 66 6f 22 29 29 0a 09 09 09 09 09 09 69 66 28 21 73 74 72 63 6d ol/disco#info")).......if(!strcm
135a0 70 28 6d 65 2d 3e 6a 69 64 2c 20 74 6f 29 29 0a 09 09 09 09 09 09 09 66 65 61 74 75 72 65 73 6a p(me->jid,.to))........featuresj
135c0 61 63 63 28 73 6f 63 6b 2c 20 74 6f 2c 20 66 72 6f 6d 2c 20 69 64 29 3b 0a 0a 09 09 09 09 7d 0a acc(sock,.to,.from,.id);......}.
135e0 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 64 65 66 61 75 6c 74 3a 0a 09 09 09 09 62 72 65 61 6b ....break;....default:.....break
13600 3b 0a 09 09 09 7d 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 63 61 73 65 20 45 4e 44 5f 54 41 47 3a ;....}....break;...case.END_TAG:
13620 0a 09 09 09 69 66 28 6d 65 2d 3e 64 65 62 75 67 29 0a 09 09 09 09 70 72 69 6e 74 28 22 45 6e 64 ....if(me->debug).....print("End
13640 74 61 67 3a 20 25 73 5c 6e 22 2c 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 69 66 28 21 73 74 72 63 6d tag:.%s\n",.x->na);....if(!strcm
13660 70 28 78 2d 3e 6e 61 2c 20 22 73 74 72 65 61 6d 3a 73 74 72 65 61 6d 22 29 29 7b 0a 09 09 09 09 p(x->na,."stream:stream")){.....
13680 73 74 20 3d 20 45 4e 44 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 st.=.END;.....break;....}....if(
136a0 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 73 74 72 65 61 6d 3a 65 72 72 6f 72 22 29 20 26 !strcmp(x->na,."stream:error").&
136c0 26 20 73 74 20 3d 3d 20 45 52 52 4f 52 29 7b 0a 09 09 09 09 73 74 20 3d 20 4e 4f 4e 45 3b 0a 09 &.st.==.ERROR){.....st.=.NONE;..
136e0 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 73 74 20 3d 3d 20 45 52 52 4f 52 ...break;....}....if(st.==.ERROR
13700 29 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 ).....break;....if(!strcmp(x->na
13720 2c 20 22 69 71 22 29 20 26 26 20 28 73 74 20 3d 3d 20 49 51 20 7c 7c 20 73 74 20 3d 3d 20 49 51 ,."iq").&&.(st.==.IQ.||.st.==.IQ
13740 5f 52 45 47 49 53 54 45 52 29 29 7b 0a 09 09 09 09 73 74 20 3d 20 4e 4f 4e 45 3b 0a 09 09 09 09 _REGISTER)){.....st.=.NONE;.....
13760 69 66 28 74 79 70 65 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 if(type.!=.nil){......if(!strcmp
13780 28 74 79 70 65 2c 20 22 72 65 73 75 6c 74 22 29 20 26 26 20 21 73 74 72 63 6d 70 28 69 64 2c 20 (type,."result").&&.!strcmp(id,.
137a0 22 73 65 72 76 69 63 65 5f 31 22 29 29 7b 0a 09 09 09 09 09 09 70 72 69 6e 74 28 22 25 73 53 75 "service_1")){.......print("%sSu
137c0 63 63 65 73 73 2e 5c 6e 22 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 09 09 73 74 20 3d 20 45 ccess.\n",.tmstmp);.......st.=.E
137e0 4e 44 3b 0a 09 09 09 09 09 7d 0a 09 09 09 09 09 66 72 65 65 28 74 79 70 65 29 3b 0a 09 09 09 09 ND;......}......free(type);.....
13800 7d 0a 09 09 09 09 69 66 28 66 72 6f 6d 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 66 72 65 65 28 }.....if(from.!=.nil)......free(
13820 66 72 6f 6d 29 3b 0a 09 09 09 09 69 66 28 74 6f 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 66 72 from);.....if(to.!=.nil)......fr
13840 65 65 28 74 6f 29 3b 0a 09 09 09 09 69 66 28 69 64 20 21 3d 20 6e 69 6c 29 0a 09 09 09 09 09 66 ee(to);.....if(id.!=.nil)......f
13860 72 65 65 28 69 64 29 3b 0a 09 09 09 09 66 72 6f 6d 20 3d 20 6e 69 6c 3b 0a 09 09 09 09 74 6f 20 ree(id);.....from.=.nil;.....to.
13880 3d 20 6e 69 6c 3b 0a 09 09 09 09 69 64 20 3d 20 6e 69 6c 3b 0a 09 09 09 09 74 79 70 65 20 3d 20 =.nil;.....id.=.nil;.....type.=.
138a0 6e 69 6c 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 nil;.....break;....}....if(!strc
138c0 6d 70 28 78 2d 3e 6e 61 2c 20 22 65 72 72 6f 72 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 45 mp(x->na,."error").&&.st.==.IQ_E
138e0 52 52 4f 52 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 RROR){.....st.=.IQ;.....break;..
13900 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 71 75 65 72 79 22 ..}....if(!strcmp(x->na,."query"
13920 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 49 4e 4e 45 52 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 ).&&.st.==.IQ_INNER){.....st.=.I
13940 51 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 Q;.....break;....}....if(!strcmp
13960 28 78 2d 3e 6e 61 2c 20 22 71 75 65 72 79 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 52 45 47 (x->na,."query").&&.st.==.IQ_REG
13980 49 53 54 45 52 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 3b 0a 09 09 09 09 69 66 28 6d 65 2d 3e ISTER){.....st.=.IQ;.....if(me->
139a0 6c 69 73 74 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 61 73 6b 61 6e 73 77 65 72 73 28 6d 65 list.!=.nil){......askanswers(me
139c0 2d 3e 6c 69 73 74 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 09 61 6e 73 77 65 72 73 6a 61 63 ->list,.tmstmp);......answersjac
139e0 63 28 73 6f 63 6b 2c 20 6d 65 2d 3e 64 65 73 74 2c 20 22 6a 61 62 62 65 72 3a 69 71 3a 72 65 67 c(sock,.me->dest,."jabber:iq:reg
13a00 69 73 74 65 72 22 2c 20 22 73 65 72 76 69 63 65 5f 31 22 2c 20 6d 65 2d 3e 6c 69 73 74 29 3b 0a ister",."service_1",.me->list);.
13a20 09 09 09 09 09 66 72 65 65 69 6c 69 73 74 28 6d 65 2d 3e 6c 69 73 74 29 3b 0a 09 09 09 09 09 6d .....freeilist(me->list);......m
13a40 65 2d 3e 6c 69 73 74 20 3d 20 6e 69 6c 3b 0a 09 09 09 09 7d 0a 09 09 09 09 62 72 65 61 6b 3b 0a e->list.=.nil;.....}.....break;.
13a60 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 69 6e 73 74 72 ...}....if(!strcmp(x->na,."instr
13a80 75 63 74 69 6f 6e 73 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 52 45 47 49 53 54 45 52 5f 49 uctions").&&.st.==.IQ_REGISTER_I
13aa0 4e 53 54 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 52 45 47 49 53 54 45 52 3b 0a 09 09 09 09 NST){.....st.=.IQ_REGISTER;.....
13ac0 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 73 74 20 3d 3d 20 49 51 5f 52 45 47 49 53 break;....}....if(st.==.IQ_REGIS
13ae0 54 45 52 5f 49 4e 4e 45 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 52 45 47 49 53 54 45 52 3b TER_INNE){.....st.=.IQ_REGISTER;
13b00 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 63 61 73 .....break;....}....break;...cas
13b20 65 20 45 4e 44 5f 44 4f 43 55 4d 45 4e 54 3a 0a 09 09 09 69 66 28 6d 65 2d 3e 64 65 62 75 67 29 e.END_DOCUMENT:....if(me->debug)
13b40 0a 09 09 09 09 70 72 69 6e 74 28 22 44 6f 63 75 6d 65 6e 74 65 6e 64 2e 5c 6e 22 29 3b 0a 09 09 .....print("Documentend.\n");...
13b60 09 73 74 20 3d 20 45 4e 44 3b 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 64 65 66 61 75 6c 74 3a 0a .st.=.END;....break;...default:.
13b80 09 09 09 70 72 69 6e 74 28 22 50 6c 65 61 73 65 20 63 6f 6e 74 61 63 74 20 74 68 65 20 78 6d 6c ...print("Please.contact.the.xml
13ba0 70 75 6c 6c 20 61 75 74 68 6f 72 20 61 62 6f 75 74 20 74 68 69 73 2e 20 25 78 5c 6e 22 2c 20 62 pull.author.about.this..%x\n",.b
13bc0 2d 3e 65 76 29 3b 0a 09 09 09 73 74 20 3d 20 45 4e 44 3b 0a 09 09 09 62 72 65 61 6b 3b 0a 09 09 ->ev);....st.=.END;....break;...
13be0 7d 0a 09 09 66 72 65 65 28 74 6d 73 74 6d 70 29 3b 0a 09 7d 0a 0a 09 69 66 28 69 64 20 21 3d 20 }...free(tmstmp);..}...if(id.!=.
13c00 6e 69 6c 29 0a 09 09 66 72 65 65 28 69 64 29 3b 0a 09 66 72 65 65 78 6d 6c 70 75 6c 6c 28 78 29 nil)...free(id);..freexmlpull(x)
13c20 3b 0a 0a 09 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 66 28 6c 62 6c 20 21 3d 20 6e 69 6c 29 7b 0a 09 ;...return.0;.}.f(lbl.!=.nil){..
13c40 09 73 65 74 77 69 6e 64 6f 77 6c 62 6c 28 6c 62 6c 29 3b 0a 09 09 6c 62 6c 20 3d 20 6e 69 6c 3b .setwindowlbl(lbl);...lbl.=.nil;
13c60 0a 09 09 66 72 65 65 28 6c 62 6c 29 3b 0a 09 7d 0a 0a 09 66 72 65 65 6a 61 62 62 65 72 63 28 6d ...free(lbl);..}...freejabberc(m
13c80 65 29 3b 0a 09 65 78 69 74 73 28 30 29 3b 0a 09 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 00 00 00 00 e);..exits(0);..return.0;.}.....
13ca0 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 ................................
13cc0 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 ................................
13ce0 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 ................................
13d00 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
13d20 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
13d40 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 ................................
13d60 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 ................................
13d80 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 ................................
13da0 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 ................................
13dc0 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 ................................
13de0 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 ................................
13e00 6a 61 63 63 2f 2f 6a 61 63 73 2f 72 65 63 76 2e 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacs/recv.h...............
13e20 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 ................................
13e40 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 ................................
13e60 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
13e80 20 20 20 20 32 32 35 20 31 30 35 36 30 36 32 37 37 36 37 20 20 31 32 30 34 30 00 00 00 00 00 00 ....225.10560627767..12040......
13ea0 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 ................................
13ec0 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 ................................
13ee0 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 ................................
13f00 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
13f20 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
13f40 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 ................................
13f60 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 ................................
13f80 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 ................................
13fa0 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 ................................
13fc0 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 ................................
13fe0 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 ................................
14000 23 69 66 6e 64 65 66 20 52 45 43 56 5f 48 0a 23 64 65 66 69 6e 65 20 52 45 43 56 5f 48 0a 0a 63 #ifndef.RECV_H.#define.RECV_H..c
14020 68 61 72 20 2a 67 65 74 6c 69 6e 65 28 76 6f 69 64 29 3b 0a 76 6f 69 64 20 61 73 6b 61 6e 73 77 har.*getline(void);.void.askansw
14040 65 72 28 69 6c 69 73 74 20 2a 69 2c 20 63 68 61 72 20 2a 74 6d 73 74 6d 70 29 3b 0a 69 6e 74 20 er(ilist.*i,.char.*tmstmp);.int.
14060 72 65 63 76 6a 61 63 63 28 69 6e 74 20 73 6f 63 6b 2c 20 6a 61 62 62 65 72 63 20 2a 6d 65 2c 20 recvjacc(int.sock,.jabberc.*me,.
14080 63 68 61 72 20 2a 70 61 73 73 29 3b 0a 0a 23 65 6e 64 69 66 0a 00 00 00 00 00 00 00 00 00 00 00 char.*pass);..#endif............
140a0 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 ................................
140c0 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 ................................
140e0 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 ................................
14100 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 ................................
14120 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 ................................
14140 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 ................................
14160 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 ................................
14180 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 ................................
141a0 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 ................................
141c0 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 ................................
141e0 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 ................................
14200 6a 61 63 63 2f 2f 6a 61 63 73 2f 72 6f 73 74 65 72 2e 63 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacs/roster.c.............
14220 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 ................................
14240 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 ................................
14260 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
14280 20 20 20 32 34 33 35 20 31 30 35 36 30 36 32 37 37 36 37 20 20 31 32 34 33 37 00 00 00 00 00 00 ...2435.10560627767..12437......
142a0 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 ................................
142c0 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 ................................
142e0 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 ................................
14300 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
14320 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
14340 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 ................................
14360 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 ................................
14380 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 ................................
143a0 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 ................................
143c0 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 ................................
143e0 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 ................................
14400 2f 2a 0a 20 2a 20 43 6f 70 79 20 6d 65 20 69 66 20 79 6f 75 20 63 61 6e 2e 0a 20 2a 20 62 79 20 /*..*.Copy.me.if.you.can...*.by.
14420 32 30 68 0a 20 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 75 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20h..*/..#include.<u.h>.#include
14440 20 3c 6c 69 62 63 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 22 64 61 74 2e 68 22 0a 23 69 6e 63 6c .<libc.h>.#include."dat.h".#incl
14460 75 64 65 20 22 72 6f 73 74 65 72 2e 68 22 0a 0a 76 6f 69 64 0a 66 72 65 65 69 6c 69 73 74 28 69 ude."roster.h"..void.freeilist(i
14480 6c 69 73 74 20 2a 69 29 0a 7b 0a 09 77 68 69 6c 65 28 69 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 69 list.*i).{..while(i.!=.nil){...i
144a0 66 28 69 2d 3e 6e 61 6d 65 20 21 3d 20 6e 69 6c 29 0a 09 09 09 66 72 65 65 28 69 2d 3e 6e 61 6d f(i->name.!=.nil)....free(i->nam
144c0 65 29 3b 0a 09 09 69 66 28 69 2d 3e 76 61 6c 20 21 3d 20 6e 69 6c 29 0a 09 09 09 66 72 65 65 28 e);...if(i->val.!=.nil)....free(
144e0 69 2d 3e 76 61 6c 29 3b 0a 09 09 69 66 28 69 2d 3e 6e 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 69 i->val);...if(i->n.!=.nil){....i
14500 20 3d 20 69 2d 3e 6e 3b 0a 09 09 09 66 72 65 65 28 69 2d 3e 70 29 3b 0a 09 09 7d 20 65 6c 73 65 .=.i->n;....free(i->p);...}.else
14520 20 7b 0a 09 09 09 66 72 65 65 28 69 29 3b 0a 09 09 09 69 20 3d 20 6e 69 6c 3b 0a 09 09 7d 0a 09 .{....free(i);....i.=.nil;...}..
14540 7d 0a 7d 0a 09 09 0a 0a 76 6f 69 64 0a 66 72 65 65 6a 61 62 62 65 72 63 28 6a 61 62 62 65 72 63 }.}.....void.freejabberc(jabberc
14560 20 2a 6a 29 0a 7b 0a 09 69 66 28 6a 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 69 66 28 6a 2d 3e 73 74 .*j).{..if(j.!=.nil){...if(j->st
14580 61 74 20 21 3d 20 6e 69 6c 29 0a 09 09 09 66 72 65 65 28 6a 2d 3e 73 74 61 74 29 3b 0a 09 09 69 at.!=.nil)....free(j->stat);...i
145a0 66 28 6a 2d 3e 6e 61 6d 65 20 21 3d 20 6e 69 6c 29 0a 09 09 09 66 72 65 65 28 6a 2d 3e 6e 61 6d f(j->name.!=.nil)....free(j->nam
145c0 65 29 3b 0a 09 09 69 66 28 6a 2d 3e 72 65 73 6f 20 21 3d 20 6e 69 6c 29 0a 09 09 09 66 72 65 65 e);...if(j->reso.!=.nil)....free
145e0 28 6a 2d 3e 72 65 73 6f 29 3b 0a 09 09 69 66 28 6a 2d 3e 73 65 72 76 20 21 3d 20 6e 69 6c 29 0a (j->reso);...if(j->serv.!=.nil).
14600 09 09 09 66 72 65 65 28 6a 2d 3e 73 65 72 76 29 3b 0a 09 09 69 66 28 6a 2d 3e 6a 69 64 20 21 3d ...free(j->serv);...if(j->jid.!=
14620 20 6e 69 6c 29 0a 09 09 09 66 72 65 65 28 6a 2d 3e 6a 69 64 29 3b 0a 09 09 69 66 28 6a 2d 3e 73 .nil)....free(j->jid);...if(j->s
14640 68 6f 77 20 21 3d 20 6e 69 6c 29 0a 09 09 09 66 72 65 65 28 6a 2d 3e 73 68 6f 77 29 3b 0a 09 09 how.!=.nil)....free(j->show);...
14660 69 66 28 6a 2d 3e 64 65 73 74 20 21 3d 20 6e 69 6c 29 0a 09 09 09 66 72 65 65 28 6a 2d 3e 64 65 if(j->dest.!=.nil)....free(j->de
14680 73 74 29 3b 0a 09 09 69 66 28 6a 2d 3e 6c 69 73 74 20 21 3d 20 6e 69 6c 29 0a 09 09 09 66 72 65 st);...if(j->list.!=.nil)....fre
146a0 65 69 6c 69 73 74 28 6a 2d 3e 6c 69 73 74 29 3b 0a 09 09 66 72 65 65 28 6a 29 3b 0a 09 7d 0a 09 eilist(j->list);...free(j);..}..
146c0 72 65 74 75 72 6e 3b 0a 7d 0a 0a 6a 61 62 62 65 72 63 20 2a 0a 6d 6b 6a 61 62 62 65 72 63 28 76 return;.}..jabberc.*.mkjabberc(v
146e0 6f 69 64 29 0a 7b 0a 09 72 65 74 75 72 6e 20 72 65 61 6c 6c 6f 63 6a 28 6e 69 6c 2c 20 73 69 7a oid).{..return.reallocj(nil,.siz
14700 65 6f 66 28 6a 61 62 62 65 72 63 29 2c 20 32 29 3b 0a 7d 0a 0a 69 6c 69 73 74 20 2a 0a 6c 61 73 eof(jabberc),.2);.}..ilist.*.las
14720 74 69 6c 69 73 74 28 69 6c 69 73 74 20 2a 69 29 0a 7b 0a 09 69 66 28 69 20 21 3d 20 6e 69 6c 29 tilist(ilist.*i).{..if(i.!=.nil)
14740 0a 09 09 77 68 69 6c 65 28 69 2d 3e 6e 20 21 3d 20 6e 69 6c 29 0a 09 09 09 69 20 3d 20 69 2d 3e ...while(i->n.!=.nil)....i.=.i->
14760 6e 3b 0a 0a 09 72 65 74 75 72 6e 20 69 3b 0a 7d 0a 0a 69 6c 69 73 74 20 2a 0a 6d 6b 69 6c 69 73 n;...return.i;.}..ilist.*.mkilis
14780 74 28 63 68 61 72 20 2a 6e 61 6d 65 2c 20 63 68 61 72 20 2a 76 61 6c 29 0a 7b 0a 09 69 6c 69 73 t(char.*name,.char.*val).{..ilis
147a0 74 20 2a 72 65 74 3b 0a 0a 09 72 65 74 20 3d 20 72 65 61 6c 6c 6f 63 6a 28 6e 69 6c 2c 20 73 69 t.*ret;...ret.=.reallocj(nil,.si
147c0 7a 65 6f 66 28 69 6c 69 73 74 29 2c 20 32 29 3b 0a 09 69 66 28 6e 61 6d 65 20 21 3d 20 6e 69 6c zeof(ilist),.2);..if(name.!=.nil
147e0 29 0a 09 09 72 65 74 2d 3e 6e 61 6d 65 20 3d 20 73 74 72 64 75 70 28 6e 61 6d 65 29 3b 0a 09 69 )...ret->name.=.strdup(name);..i
14800 66 28 76 61 6c 20 21 3d 20 6e 69 6c 29 0a 09 09 72 65 74 2d 3e 76 61 6c 20 3d 20 73 74 72 64 75 f(val.!=.nil)...ret->val.=.strdu
14820 70 28 76 61 6c 29 3b 0a 0a 09 72 65 74 75 72 6e 20 72 65 74 3b 0a 7d 0a 0a 69 6c 69 73 74 20 2a p(val);...return.ret;.}..ilist.*
14840 0a 61 64 64 69 6c 69 73 74 28 69 6c 69 73 74 20 2a 69 2c 20 63 68 61 72 20 2a 6e 61 6d 65 2c 20 .addilist(ilist.*i,.char.*name,.
14860 63 68 61 72 20 2a 76 61 6c 29 0a 7b 0a 09 69 6c 69 73 74 20 2a 72 65 74 3b 0a 0a 09 72 65 74 20 char.*val).{..ilist.*ret;...ret.
14880 3d 20 6c 61 73 74 69 6c 69 73 74 28 69 29 3b 0a 09 69 66 28 72 65 74 20 3d 3d 20 6e 69 6c 29 0a =.lastilist(i);..if(ret.==.nil).
148a0 09 09 72 65 74 75 72 6e 20 6d 6b 69 6c 69 73 74 28 6e 61 6d 65 2c 20 76 61 6c 29 3b 0a 09 65 6c ..return.mkilist(name,.val);..el
148c0 73 65 20 7b 0a 09 09 72 65 74 2d 3e 6e 20 3d 20 6d 6b 69 6c 69 73 74 28 6e 61 6d 65 2c 20 76 61 se.{...ret->n.=.mkilist(name,.va
148e0 6c 29 3b 0a 09 09 72 65 74 2d 3e 6e 2d 3e 70 20 3d 20 72 65 74 3b 0a 09 7d 0a 09 72 65 74 2d 3e l);...ret->n->p.=.ret;..}..ret->
14900 6e 2d 3e 6e 20 3d 20 6e 69 6c 3b 0a 0a 09 72 65 74 75 72 6e 20 69 3b 0a 7d 0a 0a 09 09 00 00 00 n->n.=.nil;...return.i;.}.......
14920 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
14940 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 ................................
14960 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 ................................
14980 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 ................................
149a0 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 ................................
149c0 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 ................................
149e0 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 ................................
14a00 6a 61 63 63 2f 2f 6a 61 63 73 2f 72 6f 73 74 65 72 2e 68 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacs/roster.h.............
14a20 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 ................................
14a40 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 ................................
14a60 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
14a80 20 20 20 31 30 30 35 20 31 30 35 36 30 36 32 37 37 36 37 20 20 31 32 34 33 34 00 00 00 00 00 00 ...1005.10560627767..12434......
14aa0 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 ................................
14ac0 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 ................................
14ae0 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 ................................
14b00 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
14b20 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
14b40 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 ................................
14b60 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 ................................
14b80 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 ................................
14ba0 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 ................................
14bc0 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 ................................
14be0 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 ................................
14c00 23 69 66 6e 64 65 66 20 52 4f 53 54 45 52 5f 48 0a 23 64 65 66 69 6e 65 20 52 4f 53 54 45 52 5f #ifndef.ROSTER_H.#define.ROSTER_
14c20 48 0a 0a 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 69 6c 69 73 74 20 69 6c 69 73 74 3b 0a 73 H..typedef.struct.ilist.ilist;.s
14c40 74 72 75 63 74 20 69 6c 69 73 74 20 7b 0a 09 63 68 61 72 20 2a 6e 61 6d 65 3b 0a 09 63 68 61 72 truct.ilist.{..char.*name;..char
14c60 20 2a 76 61 6c 3b 0a 09 69 6c 69 73 74 20 2a 70 3b 0a 09 69 6c 69 73 74 20 2a 6e 3b 0a 7d 3b 0a .*val;..ilist.*p;..ilist.*n;.};.
14c80 0a 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 6a 61 62 62 65 72 63 20 6a 61 62 62 65 72 63 3b .typedef.struct.jabberc.jabberc;
14ca0 0a 73 74 72 75 63 74 20 6a 61 62 62 65 72 63 20 7b 0a 09 63 68 61 72 20 2a 73 74 61 74 3b 0a 09 .struct.jabberc.{..char.*stat;..
14cc0 63 68 61 72 20 2a 73 68 6f 77 3b 0a 09 63 68 61 72 20 2a 6e 61 6d 65 3b 0a 09 63 68 61 72 20 2a char.*show;..char.*name;..char.*
14ce0 72 65 73 6f 3b 0a 09 63 68 61 72 20 2a 73 65 72 76 3b 0a 09 63 68 61 72 20 2a 6a 69 64 3b 0a 09 reso;..char.*serv;..char.*jid;..
14d00 63 68 61 72 20 2a 64 65 73 74 3b 0a 09 69 6c 69 73 74 20 2a 6c 69 73 74 3b 0a 09 69 6e 74 20 64 char.*dest;..ilist.*list;..int.d
14d20 65 62 75 67 3b 0a 09 69 6e 74 20 75 6e 72 65 67 3b 0a 7d 3b 0a 0a 76 6f 69 64 20 66 72 65 65 69 ebug;..int.unreg;.};..void.freei
14d40 6c 69 73 74 28 69 6c 69 73 74 20 2a 69 29 3b 0a 76 6f 69 64 20 66 72 65 65 6a 61 62 62 65 72 63 list(ilist.*i);.void.freejabberc
14d60 28 6a 61 62 62 65 72 63 20 2a 6a 29 3b 0a 6a 61 62 62 65 72 63 20 2a 6d 6b 6a 61 62 62 65 72 63 (jabberc.*j);.jabberc.*mkjabberc
14d80 28 76 6f 69 64 29 3b 0a 69 6c 69 73 74 20 2a 6c 61 73 74 69 6c 69 73 74 28 69 6c 69 73 74 20 2a (void);.ilist.*lastilist(ilist.*
14da0 69 29 3b 0a 69 6c 69 73 74 20 2a 6d 6b 69 6c 69 73 74 28 63 68 61 72 20 2a 6e 61 6d 65 2c 20 63 i);.ilist.*mkilist(char.*name,.c
14dc0 68 61 72 20 2a 76 61 6c 29 3b 0a 69 6c 69 73 74 20 2a 61 64 64 69 6c 69 73 74 28 69 6c 69 73 74 har.*val);.ilist.*addilist(ilist
14de0 20 2a 69 2c 20 63 68 61 72 20 2a 6e 61 6d 65 2c 20 63 68 61 72 20 2a 76 61 6c 29 3b 0a 0a 23 65 .*i,.char.*name,.char.*val);..#e
14e00 6e 64 69 66 0a 20 43 6f 70 79 20 6d 65 20 69 66 20 79 6f 75 20 63 61 6e 2e 0a 20 2a 20 62 79 20 ndif..Copy.me.if.you.can...*.by.
14e20 32 30 68 0a 20 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 75 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20h..*/..#include.<u.h>.#include
14e40 20 3c 6c 69 62 63 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 22 78 6d 6c 70 75 6c 6c 2e 68 22 0a 23 .<libc.h>.#include."xmlpull.h".#
14e60 69 6e 63 6c 75 64 65 20 22 6a 61 63 73 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 64 61 74 2e 68 include."jacs.h".#include."dat.h
14e80 22 0a 23 69 6e 63 6c 75 64 65 20 22 72 6f 73 74 65 72 2e 68 22 0a 0a 63 68 61 72 20 2a 0a 67 65 ".#include."roster.h"..char.*.ge
14ea0 74 6c 69 6e 65 28 76 6f 69 64 29 0a 7b 0a 09 63 68 61 72 20 2a 72 65 74 3b 0a 09 69 6e 74 20 6c tline(void).{..char.*ret;..int.l
14ec0 3b 0a 0a 09 6c 20 3d 20 2d 31 3b 0a 09 72 65 74 20 3d 20 72 65 61 6c 6c 6f 63 6a 28 6e 69 6c 2c ;...l.=.-1;..ret.=.reallocj(nil,
14ee0 20 31 30 32 35 2c 20 32 29 3b 0a 0a 09 77 68 69 6c 65 28 72 65 61 64 28 30 2c 20 26 72 65 74 5b .1025,.2);...while(read(0,.&ret[
14f00 2b 2b 6c 5d 2c 20 31 29 20 26 26 20 6c 20 3c 20 31 30 32 34 29 0a 09 09 69 66 28 72 65 74 5b 6c ++l],.1).&&.l.<.1024)...if(ret[l
14f20 5d 20 3d 3d 20 27 5c 6e 27 29 0a 09 09 09 62 72 65 61 6b 3b 0a 09 72 65 74 5b 6c 5d 20 3d 20 27 ].==.'\n')....break;..ret[l].=.'
14f40 5c 30 27 3b 0a 0a 09 72 65 74 75 72 6e 20 72 65 74 3b 0a 7d 0a 0a 76 6f 69 64 0a 61 73 6b 61 6e \0';...return.ret;.}..void.askan
14f60 73 77 65 72 73 28 69 6c 69 73 74 20 2a 69 2c 20 63 68 61 72 20 2a 74 6d 73 74 6d 70 29 0a 7b 0a swers(ilist.*i,.char.*tmstmp).{.
14f80 09 69 6c 69 73 74 20 2a 61 63 3b 0a 09 63 68 61 72 20 2a 76 61 6c 3b 0a 0a 09 61 63 20 3d 20 69 .ilist.*ac;..char.*val;...ac.=.i
14fa0 3b 0a 09 77 68 69 6c 65 28 61 63 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 70 72 69 6e 74 28 22 25 73 ;..while(ac.!=.nil){...print("%s
14fc0 25 73 5b 25 73 5d 20 3d 20 22 2c 20 74 6d 73 74 6d 70 2c 20 61 63 2d 3e 6e 61 6d 65 2c 20 28 61 %s[%s].=.",.tmstmp,.ac->name,.(a
14fe0 63 2d 3e 76 61 6c 20 21 3d 20 6e 69 6c 29 20 3f 20 61 63 2d 3e 76 61 6c 20 3a 20 22 22 29 3b 0a c->val.!=.nil).?.ac->val.:."");.
15000 6a 61 63 63 2f 2f 6a 61 63 73 2f 78 6d 6c 70 75 6c 6c 2e 68 00 00 00 00 00 00 00 00 00 00 00 00 jacc//jacs/xmlpull.h............
15020 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 ................................
15040 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 ................................
15060 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
15080 20 20 20 31 32 30 33 20 31 30 35 36 30 36 32 37 37 36 37 20 20 31 32 36 31 33 00 00 00 00 00 00 ...1203.10560627767..12613......
150a0 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 ................................
150c0 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 ................................
150e0 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 ................................
15100 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
15120 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
15140 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 ................................
15160 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 ................................
15180 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 ................................
151a0 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 ................................
151c0 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 ................................
151e0 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 ................................
15200 2f 2a 0a 20 2a 20 43 6f 70 79 20 6d 65 20 69 66 20 79 6f 75 20 63 61 6e 2e 0a 20 2a 20 62 79 20 /*..*.Copy.me.if.you.can...*.by.
15220 32 30 68 0a 20 2a 2f 0a 0a 23 69 66 64 65 66 20 6e 69 6c 0a 23 70 72 61 67 6d 61 20 6c 69 62 20 20h..*/..#ifdef.nil.#pragma.lib.
15240 22 6c 69 62 78 6d 6c 70 75 6c 6c 2e 61 22 0a 23 65 6e 64 69 66 0a 0a 23 69 66 6e 64 65 66 20 58 "libxmlpull.a".#endif..#ifndef.X
15260 4d 4c 50 55 4c 4c 5f 48 0a 23 64 65 66 69 6e 65 20 58 4d 4c 50 55 4c 4c 5f 48 0a 0a 23 69 66 6e MLPULL_H.#define.XMLPULL_H..#ifn
15280 64 65 66 20 6e 69 6c 0a 23 64 65 66 69 6e 65 20 6e 69 6c 20 4e 55 4c 4c 0a 23 64 65 66 69 6e 65 def.nil.#define.nil.NULL.#define
152a0 20 70 72 69 6e 74 20 70 72 69 6e 74 66 0a 23 64 65 66 69 6e 65 20 73 6e 70 72 69 6e 74 20 73 6e .print.printf.#define.snprint.sn
152c0 70 72 69 6e 74 66 0a 23 64 65 66 69 6e 65 20 65 78 69 74 73 20 72 65 74 75 72 6e 0a 23 65 6e 64 printf.#define.exits.return.#end
152e0 69 66 0a 0a 65 6e 75 6d 20 7b 20 0a 09 53 54 41 52 54 5f 44 4f 43 55 4d 45 4e 54 20 3d 20 30 78 if..enum.{...START_DOCUMENT.=.0x
15300 30 2c 0a 09 53 54 41 52 54 5f 54 41 47 2c 0a 09 53 54 41 52 54 5f 45 4e 44 5f 54 41 47 2c 0a 09 0,..START_TAG,..START_END_TAG,..
15320 54 45 58 54 2c 0a 09 54 45 58 54 5f 43 2c 0a 09 41 54 54 52 2c 0a 09 45 4e 44 5f 54 41 47 2c 0a TEXT,..TEXT_C,..ATTR,..END_TAG,.
15340 09 45 4e 44 5f 54 41 47 5f 53 2c 0a 09 45 4e 44 5f 54 41 47 5f 4e 2c 0a 09 45 4e 44 5f 44 4f 43 .END_TAG_S,..END_TAG_N,..END_DOC
15360 55 4d 45 4e 54 2c 0a 7d 3b 0a 0a 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 78 6d 6c 70 75 6c UMENT,.};..typedef.struct.xmlpul
15380 6c 20 78 6d 6c 70 75 6c 6c 3b 0a 73 74 72 75 63 74 20 78 6d 6c 70 75 6c 6c 20 7b 0a 09 69 6e 74 l.xmlpull;.struct.xmlpull.{..int
153a0 20 66 64 3b 0a 09 63 68 61 72 20 65 76 3b 0a 09 63 68 61 72 20 6e 65 76 3b 0a 09 63 68 61 72 20 .fd;..char.ev;..char.nev;..char.
153c0 2a 6c 6d 3b 0a 09 63 68 61 72 20 2a 6e 61 3b 0a 09 63 68 61 72 20 2a 76 61 3b 0a 09 69 6e 74 20 *lm;..char.*na;..char.*va;..int.
153e0 6c 61 3b 0a 09 69 6e 74 20 6c 76 3b 0a 09 69 6e 74 20 6c 6e 3b 0a 7d 3b 0a 0a 76 6f 69 64 20 66 la;..int.lv;..int.ln;.};..void.f
15400 72 65 65 78 6d 6c 70 75 6c 6c 28 78 6d 6c 70 75 6c 6c 20 2a 78 29 3b 0a 78 6d 6c 70 75 6c 6c 20 reexmlpull(xmlpull.*x);.xmlpull.
15420 2a 6f 70 65 6e 78 6d 6c 70 75 6c 6c 28 69 6e 74 20 66 64 29 3b 0a 78 6d 6c 70 75 6c 6c 20 2a 6e *openxmlpull(int.fd);.xmlpull.*n
15440 65 78 74 78 6d 6c 70 75 6c 6c 28 78 6d 6c 70 75 6c 6c 20 2a 78 29 3b 0a 78 6d 6c 70 75 6c 6c 20 extxmlpull(xmlpull.*x);.xmlpull.
15460 2a 77 72 69 74 65 78 6d 6c 70 75 6c 6c 28 78 6d 6c 70 75 6c 6c 20 2a 78 29 3b 0a 0a 23 65 6e 64 *writexmlpull(xmlpull.*x);..#end
15480 69 66 0a 29 7b 0a 09 09 09 09 70 72 69 6e 74 28 22 49 51 2d 45 72 72 6f 72 3a 20 25 73 5c 6e 22 if.){.....print("IQ-Error:.%s\n"
154a0 2c 20 78 2d 3e 6e 61 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 ,.x->na);.....break;....}....if(
154c0 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 71 75 65 72 79 22 29 20 26 26 20 73 74 20 3d 3d !strcmp(x->na,."query").&&.st.==
154e0 20 49 51 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 49 4e 4e 45 52 3b 0a 09 09 09 09 62 72 65 .IQ){.....st.=.IQ_INNER;.....bre
15500 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 69 ak;....}....if(!strcmp(x->na,."i
15520 6e 73 74 72 75 63 74 69 6f 6e 73 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 52 45 47 49 53 54 nstructions").&&.st.==.IQ_REGIST
15540 45 52 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 52 45 47 49 53 54 45 52 5f 49 4e 53 54 3b 0a ER){.....st.=.IQ_REGISTER_INST;.
15560 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d ....break;....}....if(!strcmp(x-
15580 3e 6e 61 2c 20 22 71 75 65 72 79 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 52 45 47 49 53 54 >na,."query").&&.st.==.IQ_REGIST
155a0 45 52 29 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 69 66 28 73 74 20 3d 3d 20 49 51 5f 52 45 ER).....break;....if(st.==.IQ_RE
155c0 47 49 53 54 45 52 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 5f 52 45 47 49 53 54 45 52 5f 49 4e GISTER){.....st.=.IQ_REGISTER_IN
155e0 4e 45 3b 0a 09 09 09 09 6d 65 2d 3e 6c 69 73 74 20 3d 20 61 64 64 69 6c 69 73 74 28 6d 65 2d 3e NE;.....me->list.=.addilist(me->
15600 6a 61 63 63 2f 2f 6d 6b 66 69 6c 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//mkfile....................
15620 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 ................................
15640 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 ................................
15660 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
15680 20 20 20 31 30 34 34 20 31 30 35 36 30 36 32 37 37 36 37 20 20 31 31 32 32 32 00 00 00 00 00 00 ...1044.10560627767..11222......
156a0 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 ................................
156c0 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 ................................
156e0 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 ................................
15700 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
15720 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
15740 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 ................................
15760 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 ................................
15780 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 ................................
157a0 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 ................................
157c0 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 ................................
157e0 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 ................................
15800 3c 2f 24 6f 62 6a 74 79 70 65 2f 6d 6b 66 69 6c 65 0a 0a 44 49 52 53 3d 5c 0a 09 6a 61 63 63 5c </$objtype/mkfile..DIRS=\..jacc\
15820 0a 09 6a 61 63 73 5c 0a 0a 61 6c 6c 3a 56 3a 20 24 44 49 52 53 0a 0a 24 44 49 52 53 3a 56 3a 0a ..jacs\..all:V:.$DIRS..$DIRS:V:.
15840 09 66 6f 72 28 69 20 69 6e 20 24 44 49 52 53 29 0a 09 40 7b 0a 09 09 65 63 68 6f 20 6d 6b 20 24 .for(i.in.$DIRS)..@{...echo.mk.$
15860 69 3b 0a 09 09 63 64 20 24 69 3b 0a 09 09 6d 6b 3b 0a 09 7d 0a 0a 69 6e 73 74 61 6c 6c 3a 56 3a i;...cd.$i;...mk;..}..install:V:
15880 20 69 6e 73 74 61 6c 6c 64 69 72 73 0a 0a 69 6e 73 74 61 6c 6c 64 69 72 73 3a 56 3a 0a 09 66 6f .installdirs..installdirs:V:..fo
158a0 72 28 69 20 69 6e 20 24 44 49 52 53 29 0a 09 40 7b 0a 09 09 65 63 68 6f 20 6d 6b 20 24 69 3b 0a r(i.in.$DIRS)..@{...echo.mk.$i;.
158c0 09 09 63 64 20 24 69 3b 0a 09 09 6d 6b 20 69 6e 73 74 61 6c 6c 3b 0a 09 7d 0a 0a 6e 75 6b 65 3a ..cd.$i;...mk.install;..}..nuke:
158e0 56 3a 20 6e 75 6b 65 64 69 72 73 0a 0a 63 6c 65 61 6e 3a 56 3a 0a 09 66 6f 72 20 28 69 20 69 6e V:.nukedirs..clean:V:..for.(i.in
15900 20 24 44 49 52 53 29 0a 20 20 20 20 40 7b 0a 09 09 65 63 68 6f 20 63 6c 65 61 6e 20 24 69 3b 0a .$DIRS).....@{...echo.clean.$i;.
15920 09 09 63 64 20 24 69 3b 0a 09 09 6d 6b 20 63 6c 65 61 6e 3b 0a 09 7d 0a 09 72 6d 20 2d 66 20 5b ..cd.$i;...mk.clean;..}..rm.-f.[
15940 24 4f 53 5d 2e 2a 20 2a 2e 5b 24 4f 53 5d 3b 0a 0a 6e 75 6b 65 64 69 72 73 3a 56 3a 0a 09 66 6f $OS].*.*.[$OS];..nukedirs:V:..fo
15960 72 20 28 69 20 69 6e 20 24 44 49 52 53 29 0a 20 20 20 20 40 7b 0a 09 09 65 63 68 6f 20 6e 75 6b r.(i.in.$DIRS).....@{...echo.nuk
15980 65 20 24 69 3b 0a 09 09 63 64 20 24 69 3b 0a 09 09 6d 6b 20 6e 75 6b 65 3b 0a 09 7d 0a 0a 75 70 e.$i;...cd.$i;...mk.nuke;..}..up
159a0 64 61 74 65 3a 56 3a 0a 09 75 70 64 61 74 65 20 24 55 50 44 41 54 45 46 4c 41 47 53 20 24 55 50 date:V:..update.$UPDATEFLAGS.$UP
159c0 44 41 54 45 0a 09 66 6f 72 28 69 20 69 6e 20 24 44 49 52 53 29 0a 20 20 20 20 40 7b 0a 09 09 65 DATE..for(i.in.$DIRS).....@{...e
159e0 63 68 6f 20 75 70 64 61 74 65 20 24 69 3b 0a 09 09 63 64 20 24 69 3b 0a 09 09 6d 6b 20 27 55 50 cho.update.$i;...cd.$i;...mk.'UP
15a00 44 41 54 45 46 4c 41 47 53 3d 27 24 22 55 50 44 41 54 45 46 4c 41 47 53 20 75 70 64 61 74 65 3b DATEFLAGS='$"UPDATEFLAGS.update;
15a20 0a 09 7d 0a 29 7b 0a 09 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 76 61 2c 20 22 61 ..}.){......if(!strcmp(x->va,."a
15a40 75 74 68 5f 31 22 29 29 20 7b 0a 09 09 09 09 09 09 70 72 65 73 65 6e 63 65 6a 61 63 63 28 73 6f uth_1")).{.......presencejacc(so
15a60 63 6b 2c 20 6d 65 2d 3e 73 74 61 74 2c 20 6d 65 2d 3e 73 68 6f 77 2c 20 6d 65 2d 3e 6a 69 64 2c ck,.me->stat,.me->show,.me->jid,
15a80 20 6e 69 6c 29 3b 0a 09 09 09 09 09 09 69 66 28 6d 65 2d 3e 75 6e 72 65 67 29 0a 09 09 09 09 09 .nil);.......if(me->unreg)......
15aa0 09 09 78 6d 6c 6e 73 6e 65 67 6a 61 63 63 28 73 6f 63 6b 2c 20 6d 65 2d 3e 64 65 73 74 2c 20 22 ..xmlnsnegjacc(sock,.me->dest,."
15ac0 6a 61 62 62 65 72 3a 69 71 3a 72 65 67 69 73 74 65 72 22 2c 20 22 73 65 72 76 69 63 65 5f 31 22 jabber:iq:register",."service_1"
15ae0 29 3b 0a 09 09 09 09 09 09 65 6c 73 65 0a 09 09 09 09 09 09 09 78 6d 6c 6e 73 6a 61 63 63 28 73 );.......else........xmlnsjacc(s
15b00 6f 63 6b 2c 20 6d 65 2d 3e 64 65 73 74 2c 20 22 6a 61 62 62 65 72 3a 69 71 3a 72 65 67 69 73 74 ock,.me->dest,."jabber:iq:regist
15b20 65 72 22 2c 20 22 73 65 72 76 69 63 65 5f 30 22 29 3b 0a 09 09 09 09 09 7d 0a 09 09 09 09 09 69 er",."service_0");......}......i
15b40 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 76 61 2c 20 22 73 65 72 76 69 63 65 5f 30 22 29 29 0a 09 f(!strcmp(x->va,."service_0"))..
15b60 09 09 09 09 09 73 74 20 3d 20 49 51 5f 52 45 47 49 53 54 45 52 3b 0a 09 09 09 09 09 69 64 20 3d .....st.=.IQ_REGISTER;......id.=
15b80 20 73 74 72 64 75 70 28 78 2d 3e 76 61 29 3b 0a 09 09 09 09 7d 0a 09 09 09 09 69 66 28 21 73 74 .strdup(x->va);.....}.....if(!st
15ba0 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 66 72 6f 6d 22 29 29 0a 09 09 09 09 09 66 72 6f 6d 20 3d rcmp(x->na,."from"))......from.=
15bc0 20 73 74 72 64 75 70 28 78 2d 3e 76 61 29 3b 0a 09 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 .strdup(x->va);.....if(!strcmp(x
15be0 2d 3e 6e 61 2c 20 22 74 6f 22 29 29 0a 09 09 09 09 09 74 6f 20 3d 20 73 74 72 64 75 70 28 78 2d ->na,."to"))......to.=.strdup(x-
15c00 6a 61 63 63 2f 2f 6d 6b 66 69 6c 65 2e 70 6c 61 6e 39 70 6f 72 74 00 00 00 00 00 00 00 00 00 00 jacc//mkfile.plan9port..........
15c20 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 ................................
15c40 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 ................................
15c60 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
15c80 20 20 20 31 33 35 34 20 31 30 35 36 30 36 32 37 37 36 37 20 20 31 33 31 35 35 00 00 00 00 00 00 ...1354.10560627767..13155......
15ca0 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 ................................
15cc0 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 ................................
15ce0 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 ................................
15d00 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
15d20 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
15d40 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 ................................
15d60 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 ................................
15d80 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 ................................
15da0 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 ................................
15dc0 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 ................................
15de0 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 ................................
15e00 3c 2f 24 50 4c 41 4e 39 2f 73 72 63 2f 6d 6b 68 64 72 0a 0a 44 49 52 53 3d 5c 0a 09 6a 61 63 63 </$PLAN9/src/mkhdr..DIRS=\..jacc
15e20 5c 0a 09 6a 61 63 73 5c 0a 0a 61 6c 6c 3a 56 3a 20 24 44 49 52 53 0a 0a 24 44 49 52 53 3a 56 3a \..jacs\..all:V:.$DIRS..$DIRS:V:
15e40 0a 09 63 64 20 6a 61 63 63 3b 0a 09 6d 6b 20 2d 66 20 6d 6b 66 69 6c 65 2e 70 6c 61 6e 39 70 6f ..cd.jacc;..mk.-f.mkfile.plan9po
15e60 72 74 3b 0a 09 63 64 20 2e 2e 3b 0a 09 63 64 20 6a 61 63 73 3b 0a 09 6d 6b 20 2d 66 20 6d 6b 66 rt;..cd...;..cd.jacs;..mk.-f.mkf
15e80 69 6c 65 2e 70 6c 61 6e 39 70 6f 72 74 3b 0a 09 63 64 20 2e 2e 3b 0a 0a 69 6e 73 74 61 6c 6c 3a ile.plan9port;..cd...;..install:
15ea0 56 3a 20 69 6e 73 74 61 6c 6c 64 69 72 73 0a 0a 69 6e 73 74 61 6c 6c 64 69 72 73 3a 56 3a 0a 09 V:.installdirs..installdirs:V:..
15ec0 63 64 20 6a 61 63 63 3b 0a 09 6d 6b 20 2d 66 20 6d 6b 66 69 6c 65 2e 70 6c 61 6e 39 70 6f 72 74 cd.jacc;..mk.-f.mkfile.plan9port
15ee0 20 69 6e 73 74 61 6c 6c 3b 0a 09 63 64 20 2e 2e 3b 0a 09 63 64 20 6a 61 63 73 3b 0a 09 6d 6b 20 .install;..cd...;..cd.jacs;..mk.
15f00 2d 66 20 6d 6b 66 69 6c 65 2e 70 6c 61 6e 39 70 6f 72 74 20 69 6e 73 74 61 6c 6c 3b 0a 09 63 64 -f.mkfile.plan9port.install;..cd
15f20 20 2e 2e 3b 0a 0a 6e 75 6b 65 3a 56 3a 20 6e 75 6b 65 64 69 72 73 0a 0a 63 6c 65 61 6e 3a 56 3a ...;..nuke:V:.nukedirs..clean:V:
15f40 0a 09 63 64 20 6a 61 63 63 3b 0a 09 6d 6b 20 2d 66 20 6d 6b 66 69 6c 65 2e 70 6c 61 6e 39 70 6f ..cd.jacc;..mk.-f.mkfile.plan9po
15f60 72 74 20 63 6c 65 61 6e 3b 0a 09 63 64 20 2e 2e 3b 0a 09 63 64 20 6a 61 63 73 3b 0a 09 6d 6b 20 rt.clean;..cd...;..cd.jacs;..mk.
15f80 2d 66 20 6d 6b 66 69 6c 65 2e 70 6c 61 6e 39 70 6f 72 74 20 63 6c 65 61 6e 3b 0a 09 63 64 20 2e -f.mkfile.plan9port.clean;..cd..
15fa0 2e 3b 0a 09 72 6d 20 2d 66 20 5b 24 4f 53 5d 2e 2a 20 2a 2e 5b 24 4f 53 5d 3b 0a 0a 6e 75 6b 65 .;..rm.-f.[$OS].*.*.[$OS];..nuke
15fc0 64 69 72 73 3a 56 3a 0a 09 63 64 20 6a 61 63 63 3b 0a 09 6d 6b 20 2d 66 20 6d 6b 66 69 6c 65 2e dirs:V:..cd.jacc;..mk.-f.mkfile.
15fe0 70 6c 61 6e 39 70 6f 72 74 20 6e 75 6b 65 3b 0a 09 63 64 20 2e 2e 3b 0a 09 63 64 20 6a 61 63 73 plan9port.nuke;..cd...;..cd.jacs
16000 3b 0a 09 6d 6b 20 2d 66 20 6d 6b 66 69 6c 65 2e 70 6c 61 6e 39 70 6f 72 74 20 6e 75 6b 65 3b 0a ;..mk.-f.mkfile.plan9port.nuke;.
16020 09 63 64 20 2e 2e 3b 0a 0a 75 70 64 61 74 65 3a 56 3a 0a 09 75 70 64 61 74 65 20 24 55 50 44 41 .cd...;..update:V:..update.$UPDA
16040 54 45 46 4c 41 47 53 20 24 55 50 44 41 54 45 0a 09 63 64 20 6a 61 63 63 3b 0a 09 6d 6b 20 2d 66 TEFLAGS.$UPDATE..cd.jacc;..mk.-f
16060 20 6d 6b 66 69 6c 65 2e 70 6c 61 6e 39 70 6f 72 74 20 27 55 50 44 41 54 45 46 4c 41 47 53 3d 27 .mkfile.plan9port.'UPDATEFLAGS='
16080 24 22 55 50 44 41 54 45 46 4c 41 47 53 20 75 70 64 61 74 65 3b 0a 09 63 64 20 2e 2e 3b 0a 09 63 $"UPDATEFLAGS.update;..cd...;..c
160a0 64 20 6a 61 63 73 3b 0a 09 6d 6b 20 2d 66 20 6d 6b 66 69 6c 65 2e 70 6c 61 6e 39 70 6f 72 74 20 d.jacs;..mk.-f.mkfile.plan9port.
160c0 27 55 50 44 41 54 45 46 4c 41 47 53 3d 27 24 22 55 50 44 41 54 45 46 4c 41 47 53 20 75 70 64 61 'UPDATEFLAGS='$"UPDATEFLAGS.upda
160e0 74 65 3b 0a 09 63 64 20 2e 2e 3b 0a 74 20 3d 20 49 51 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 te;..cd...;.t.=.IQ;.....break;..
16100 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 28 78 2d 3e 6e 61 2c 20 22 71 75 65 72 79 22 ..}....if(!strcmp(x->na,."query"
16120 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 49 4e 4e 45 52 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 ).&&.st.==.IQ_INNER){.....st.=.I
16140 51 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 69 66 28 21 73 74 72 63 6d 70 Q;.....break;....}....if(!strcmp
16160 28 78 2d 3e 6e 61 2c 20 22 71 75 65 72 79 22 29 20 26 26 20 73 74 20 3d 3d 20 49 51 5f 52 45 47 (x->na,."query").&&.st.==.IQ_REG
16180 49 53 54 45 52 29 7b 0a 09 09 09 09 73 74 20 3d 20 49 51 3b 0a 09 09 09 09 69 66 28 6d 65 2d 3e ISTER){.....st.=.IQ;.....if(me->
161a0 6c 69 73 74 20 21 3d 20 6e 69 6c 29 7b 0a 09 09 09 09 09 61 73 6b 61 6e 73 77 65 72 73 28 6d 65 list.!=.nil){......askanswers(me
161c0 2d 3e 6c 69 73 74 2c 20 74 6d 73 74 6d 70 29 3b 0a 09 09 09 09 09 61 6e 73 77 65 72 73 6a 61 63 ->list,.tmstmp);......answersjac
161e0 63 28 73 6f 63 6b 2c 20 6d 65 2d 3e 64 65 73 74 2c 20 22 6a 61 62 62 65 72 3a 69 71 3a 72 65 67 c(sock,.me->dest,."jabber:iq:reg
16200 6a 61 63 63 2f 2f 76 63 61 72 64 2e 65 78 61 6d 70 6c 65 00 00 00 00 00 00 00 00 00 00 00 00 00 jacc//vcard.example.............
16220 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 ................................
16240 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 ................................
16260 00 00 00 00 20 20 20 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 .......644.......0.......0......
16280 20 20 20 35 36 30 33 20 31 30 35 36 30 36 32 37 37 36 37 20 20 31 32 35 31 31 00 00 00 00 00 00 ...5603.10560627767..12511......
162a0 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 ................................
162c0 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 ................................
162e0 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 ................................
16300 00 75 73 74 61 72 00 30 30 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00stas...................
16320 00 00 00 00 00 00 00 00 00 73 74 61 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........stas...................
16340 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 ................................
16360 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 ................................
16380 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 ................................
163a0 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 ................................
163c0 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 ................................
163e0 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 ................................
16400 3c 21 2d 2d 20 3c 76 43 61 72 64 3e 20 2d 20 64 6f 6e 65 20 62 79 20 6a 61 63 63 20 2d 2d 3e 0a <!--.<vCard>.-.done.by.jacc.-->.
16420 09 3c 46 4e 3e 3c 2f 46 4e 3e 0a 09 3c 4e 3e 0a 09 09 3c 46 41 4d 49 4c 59 3e 3c 2f 46 41 4d 49 .<FN></FN>..<N>...<FAMILY></FAMI
16440 4c 59 3e 0a 09 09 3c 47 49 56 45 4e 3e 3c 2f 47 49 56 45 4e 3e 0a 09 09 3c 4d 49 44 44 4c 45 3e LY>...<GIVEN></GIVEN>...<MIDDLE>
16460 3c 2f 4d 49 44 44 4c 45 3e 0a 09 09 3c 50 52 45 46 49 58 3e 3c 2f 50 52 45 46 49 58 3e 0a 09 09 </MIDDLE>...<PREFIX></PREFIX>...
16480 3c 53 55 46 46 49 58 3e 3c 2f 53 55 46 46 49 58 3e 0a 09 3c 2f 4e 3e 0a 09 3c 4e 49 43 4b 4e 41 <SUFFIX></SUFFIX>..</N>..<NICKNA
164a0 4d 45 3e 3c 2f 4e 49 43 4b 4e 41 4d 45 3e 0a 09 3c 50 48 4f 54 4f 3e 0a 09 3c 21 2d 2d 20 42 49 ME></NICKNAME>..<PHOTO>..<!--.BI
164c0 4e 56 41 4c 20 6f 72 20 45 58 54 56 41 4c 20 2d 2d 3e 0a 09 09 3c 54 59 50 45 3e 42 45 58 54 56 NVAL.or.EXTVAL.-->...<TYPE>BEXTV
164e0 41 4c 3c 2f 54 59 50 45 3e 0a 09 3c 21 2d 2d 20 42 61 73 65 36 34 20 64 61 74 61 20 6f 66 20 74 AL</TYPE>..<!--.Base64.data.of.t
16500 68 65 20 70 68 6f 74 6f 20 2d 2d 3e 0a 09 09 3c 21 2d 2d 20 3c 42 49 4e 56 41 4c 3e 3c 2f 42 49 he.photo.-->...<!--.<BINVAL></BI
16520 4e 56 41 4c 3e 20 2d 2d 3e 0a 09 3c 21 2d 2d 20 55 52 49 20 6f 66 20 74 68 65 20 70 68 6f 74 6f NVAL>.-->..<!--.URI.of.the.photo
16540 20 2d 2d 3e 0a 09 09 3c 42 45 58 54 56 41 4c 3e 68 74 74 70 3a 2f 2f 77 77 77 2e 73 6f 6d 65 77 .-->...<BEXTVAL>http://www.somew
16560 68 65 72 65 2e 63 6f 6d 2f 70 68 6f 74 6f 2e 70 6e 67 3c 2f 42 45 58 54 56 41 4c 3e 0a 09 3c 2f here.com/photo.png</BEXTVAL>..</
16580 50 48 4f 54 4f 3e 0a 09 3c 42 44 41 59 3e 3c 2f 42 44 41 59 3e 0a 3c 21 2d 2d 20 4f 6e 65 20 6f PHOTO>..<BDAY></BDAY>.<!--.One.o
165a0 72 20 6d 6f 72 65 20 6f 66 20 74 68 65 73 65 20 63 6f 6d 70 6c 65 78 65 73 20 61 72 65 20 61 6c r.more.of.these.complexes.are.al
165c0 6c 6f 77 65 64 2e 20 2d 2d 3e 0a 09 3c 41 44 52 3e 0a 09 3c 21 2d 2d 20 6f 6e 65 20 6f 66 20 74 lowed..-->..<ADR>..<!--.one.of.t
165e0 68 65 73 65 20 65 6c 65 6d 65 6e 74 73 20 66 6f 72 20 77 68 69 63 68 20 61 64 64 72 65 73 73 20 hese.elements.for.which.address.
16600 79 6f 75 20 6d 65 61 6e 0a 09 09 3c 48 4f 4d 45 2f 3e 0a 09 09 3c 57 4f 52 4b 2f 3e 0a 09 09 3c you.mean...<HOME/>...<WORK/>...<
16620 50 4f 53 54 41 4c 2f 3e 20 2d 2d 3e 0a 09 09 3c 50 41 52 43 45 4c 2f 3e 0a 09 3c 21 2d 2d 20 69 POSTAL/>.-->...<PARCEL/>..<!--.i
16640 6e 74 27 6c 20 6f 72 20 64 6f 6d 65 73 74 69 63 0a 09 09 3c 44 4f 4d 2f 3e 20 2d 2d 3e 0a 09 09 nt'l.or.domestic...<DOM/>.-->...
16660 3c 49 4e 54 4c 2f 3e 0a 09 3c 21 2d 2d 20 70 72 65 66 65 72 72 65 64 20 61 64 64 72 65 73 73 3f <INTL/>..<!--.preferred.address?
16680 20 2d 2d 3e 0a 09 09 3c 50 52 45 46 2f 3e 0a 09 09 3c 50 4f 42 4f 58 3e 3c 2f 50 4f 42 4f 58 3e .-->...<PREF/>...<POBOX></POBOX>
166a0 0a 09 09 3c 45 58 54 41 44 52 3e 3c 2f 45 58 54 41 44 52 3e 0a 09 09 3c 53 54 52 45 45 54 3e 3c ...<EXTADR></EXTADR>...<STREET><
166c0 2f 53 54 52 45 45 54 3e 0a 09 09 3c 4c 4f 43 41 4c 49 54 59 3e 3c 2f 4c 4f 43 41 4c 49 54 59 3e /STREET>...<LOCALITY></LOCALITY>
166e0 0a 09 09 3c 52 45 47 49 4f 4e 3e 3c 2f 52 45 47 49 4f 4e 3e 0a 09 09 3c 50 43 4f 44 45 3e 3c 2f ...<REGION></REGION>...<PCODE></
16700 50 43 4f 44 45 3e 0a 09 09 3c 43 54 52 59 3e 3c 2f 43 54 52 59 3e 0a 09 3c 2f 41 44 52 3e 0a 3c PCODE>...<CTRY></CTRY>..</ADR>.<
16720 21 2d 2d 20 4f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 66 20 74 68 65 73 65 20 63 6f 6d 70 6c 65 78 !--.One.or.more.of.these.complex
16740 65 73 20 61 72 65 20 61 6c 6c 6f 77 65 64 2e 20 2d 2d 3e 0a 09 3c 4c 41 42 45 4c 3e 0a 09 3c 21 es.are.allowed..-->..<LABEL>..<!
16760 2d 2d 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 65 6c 65 6d 65 6e 74 73 20 66 6f 72 20 77 68 69 --.one.of.these.elements.for.whi
16780 63 68 20 61 64 64 72 65 73 73 20 79 6f 75 20 6d 65 61 6e 0a 09 09 3c 48 4f 4d 45 2f 3e 0a 09 09 ch.address.you.mean...<HOME/>...
167a0 3c 57 4f 52 4b 2f 3e 0a 09 09 3c 50 4f 53 54 41 4c 2f 3e 20 2d 2d 3e 0a 09 09 3c 50 41 52 43 45 <WORK/>...<POSTAL/>.-->...<PARCE
167c0 4c 2f 3e 0a 09 3c 21 2d 2d 20 69 6e 74 27 6c 20 6f 72 20 64 6f 6d 65 73 74 69 63 0a 09 09 3c 44 L/>..<!--.int'l.or.domestic...<D
167e0 4f 4d 2f 3e 20 2d 2d 3e 0a 09 09 3c 49 4e 54 4c 2f 3e 0a 09 3c 21 2d 2d 20 70 72 65 66 65 72 72 OM/>.-->...<INTL/>..<!--.preferr
16800 65 64 20 61 64 64 72 65 73 73 3f 20 2d 2d 3e 0a 09 09 3c 50 52 45 46 2f 3e 0a 09 09 3c 4c 49 4e ed.address?.-->...<PREF/>...<LIN
16820 45 3e 3c 2f 4c 49 4e 45 3e 0a 09 3c 2f 4c 41 42 45 4c 3e 0a 3c 21 2d 2d 20 4f 6e 65 20 6f 72 20 E></LINE>..</LABEL>.<!--.One.or.
16840 6d 6f 72 65 20 6f 66 20 74 68 65 73 65 20 63 6f 6d 70 6c 65 78 65 73 20 61 72 65 20 61 6c 6c 6f more.of.these.complexes.are.allo
16860 77 65 64 2e 20 2d 2d 3e 0a 09 3c 54 45 4c 3e 0a 09 3c 21 2d 2d 20 6f 6e 65 20 6f 66 20 74 68 65 wed..-->..<TEL>..<!--.one.of.the
16880 73 65 20 65 6c 65 6d 65 6e 74 73 20 66 6f 72 20 77 68 69 63 68 20 74 65 6c 65 70 68 6f 6e 65 20 se.elements.for.which.telephone.
168a0 6e 75 6d 62 65 72 20 79 6f 75 20 6d 65 61 6e 0a 09 09 3c 48 4f 4d 45 2f 3e 0a 09 09 3c 57 4f 52 number.you.mean...<HOME/>...<WOR
168c0 4b 2f 3e 0a 09 09 3c 56 4f 49 43 45 2f 3e 0a 09 09 3c 46 41 58 2f 3e 0a 09 09 3c 50 41 47 45 52 K/>...<VOICE/>...<FAX/>...<PAGER
168e0 2f 3e 0a 09 09 3c 4d 53 47 2f 3e 0a 09 09 3c 43 45 4c 4c 2f 3e 0a 09 09 3c 56 49 44 45 4f 2f 3e />...<MSG/>...<CELL/>...<VIDEO/>
16900 0a 09 09 3c 42 42 53 2f 3e 0a 09 09 3c 4d 4f 44 45 4d 2f 3e 0a 09 09 3c 49 53 44 4e 2f 3e 20 2d ...<BBS/>...<MODEM/>...<ISDN/>.-
16920 2d 3e 0a 09 09 3c 50 43 53 2f 3e 0a 09 3c 21 2d 2d 20 70 72 65 66 65 72 72 65 64 20 6e 75 6d 62 ->...<PCS/>..<!--.preferred.numb
16940 65 72 3f 20 2d 2d 3e 0a 09 09 3c 50 52 45 46 2f 3e 0a 09 09 3c 4e 55 4d 42 45 52 3e 3c 2f 4e 55 er?.-->...<PREF/>...<NUMBER></NU
16960 4d 42 45 52 3e 0a 09 3c 2f 54 45 4c 3e 0a 3c 21 2d 2d 20 4f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f MBER>..</TEL>.<!--.One.or.more.o
16980 66 20 74 68 65 73 65 20 63 6f 6d 70 6c 65 78 65 73 20 61 72 65 20 61 6c 6c 6f 77 65 64 2e 20 2d f.these.complexes.are.allowed..-
169a0 2d 3e 0a 09 3c 45 4d 41 49 4c 3e 0a 09 3c 21 2d 2d 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 65 ->..<EMAIL>..<!--.one.of.these.e
169c0 6c 65 6d 65 6e 74 73 20 66 6f 72 20 77 68 69 63 68 20 74 65 6c 65 70 68 6f 6e 65 20 6e 75 6d 62 lements.for.which.telephone.numb
169e0 65 72 20 79 6f 75 20 6d 65 61 6e 0a 09 09 3c 48 4f 4d 45 2f 3e 0a 09 09 3c 57 4f 52 4b 2f 3e 0a er.you.mean...<HOME/>...<WORK/>.
16a00 09 09 3c 49 4e 54 45 52 4e 45 54 2f 3e 20 2d 2d 3e 0a 09 09 3c 58 34 30 30 2f 3e 0a 09 3c 21 2d ..<INTERNET/>.-->...<X400/>..<!-
16a20 2d 20 70 72 65 66 65 72 72 65 64 20 45 2d 4d 61 69 6c 3f 20 2d 2d 3e 0a 09 09 3c 50 52 45 46 2f -.preferred.E-Mail?.-->...<PREF/
16a40 3e 0a 09 09 3c 55 53 45 52 49 44 3e 3c 2f 55 53 45 52 49 44 3e 0a 09 3c 2f 45 4d 41 49 4c 3e 0a >...<USERID></USERID>..</EMAIL>.
16a60 09 3c 4a 41 42 42 45 52 49 44 3e 3c 2f 4a 41 42 42 45 52 49 44 3e 0a 09 3c 4d 41 49 4c 45 52 3e .<JABBERID></JABBERID>..<MAILER>
16a80 3c 2f 4d 41 49 4c 45 52 3e 0a 3c 21 2d 2d 20 56 61 6c 75 65 20 6d 75 73 74 20 62 65 20 61 6e 20 </MAILER>.<!--.Value.must.be.an.
16aa0 49 53 4f 20 38 36 30 31 20 66 6f 72 6d 61 74 74 65 64 20 55 54 43 20 6f 66 66 73 65 74 2e 20 2d ISO.8601.formatted.UTC.offset..-
16ac0 2d 3e 0a 09 3c 54 5a 3e 3c 2f 54 5a 3e 0a 3c 21 2d 2d 20 56 61 6c 75 65 73 20 61 72 65 20 74 68 ->..<TZ></TZ>.<!--.Values.are.th
16ae0 65 20 64 65 63 69 6d 61 6c 20 64 65 67 72 65 65 73 20 61 6e 64 20 73 68 6f 75 6c 64 20 68 61 76 e.decimal.degrees.and.should.hav
16b00 63 65 20 73 69 78 20 64 65 63 69 6d 61 6c 0a 20 20 20 20 20 70 6c 61 63 65 73 20 2d 2d 3e 0a 09 ce.six.decimal......places.-->..
16b20 3c 47 45 4f 3e 0a 09 09 3c 4c 41 54 3e 3c 2f 4c 41 54 3e 0a 09 09 3c 4c 4f 4e 3e 3c 2f 4c 4f 4e <GEO>...<LAT></LAT>...<LON></LON
16b40 3e 0a 09 3c 2f 47 45 4f 3e 0a 09 3c 54 49 54 4c 45 3e 3c 2f 54 49 54 4c 45 3e 0a 09 3c 52 4f 4c >..</GEO>..<TITLE></TITLE>..<ROL
16b60 45 3e 3c 2f 52 4f 4c 45 3e 0a 09 3c 4c 4f 47 4f 3e 0a 09 3c 21 2d 2d 20 42 49 4e 56 41 4c 20 6f E></ROLE>..<LOGO>..<!--.BINVAL.o
16b80 72 20 45 58 54 56 41 4c 20 2d 2d 3e 0a 09 09 3c 54 59 50 45 3e 42 45 58 54 56 41 4c 3c 2f 54 59 r.EXTVAL.-->...<TYPE>BEXTVAL</TY
16ba0 50 45 3e 0a 09 3c 21 2d 2d 20 42 61 73 65 36 34 20 64 61 74 61 20 6f 66 20 74 68 65 20 6c 6f 67 PE>..<!--.Base64.data.of.the.log
16bc0 6f 20 2d 2d 3e 0a 09 09 3c 21 2d 2d 20 3c 42 49 4e 56 41 4c 3e 3c 2f 42 49 4e 56 41 4c 3e 20 2d o.-->...<!--.<BINVAL></BINVAL>.-
16be0 2d 3e 0a 09 3c 21 2d 2d 20 55 52 49 20 6f 66 20 74 68 65 20 70 68 6f 74 6f 20 2d 2d 3e 0a 09 09 ->..<!--.URI.of.the.photo.-->...
16c00 3c 42 45 58 54 56 41 4c 3e 68 74 74 70 3a 2f 2f 77 77 77 2e 73 6f 6d 65 77 68 65 72 65 2e 63 6f <BEXTVAL>http://www.somewhere.co
16c20 6d 2f 6c 6f 67 6f 2e 70 6e 67 3c 2f 42 45 58 54 56 41 4c 3e 0a 09 3c 2f 4c 4f 47 4f 3e 0a 09 3c m/logo.png</BEXTVAL>..</LOGO>..<
16c40 41 47 45 4e 54 3e 0a 09 3c 21 2d 2d 20 45 69 74 68 65 72 20 61 20 77 68 6f 6c 65 20 76 43 61 72 AGENT>..<!--.Either.a.whole.vCar
16c60 64 20 6f 72 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 76 61 6c 75 65 0a 09 09 3c 76 43 61 72 64 3e d.or.an.external.value...<vCard>
16c80 3c 2f 76 43 61 72 64 3e 20 2d 2d 3e 0a 09 09 3c 45 58 54 56 41 4c 3e 68 74 74 70 3a 2f 2f 6d 69 </vCard>.-->...<EXTVAL>http://mi
16ca0 63 72 6f 73 6f 66 74 2e 63 6f 6d 2f 62 69 6c 2e 67 61 74 65 73 2e 76 63 61 72 64 3c 2f 45 58 54 crosoft.com/bil.gates.vcard</EXT
16cc0 56 41 4c 3e 0a 09 3c 2f 41 47 45 4e 54 3e 0a 09 3c 4f 52 47 3e 0a 09 09 3c 4f 52 47 4e 41 4d 45 VAL>..</AGENT>..<ORG>...<ORGNAME
16ce0 3e 3c 2f 4f 52 47 4e 41 4d 45 3e 0a 09 09 3c 4f 52 47 55 4e 49 54 3e 3c 2f 4f 52 47 55 4e 49 54 ></ORGNAME>...<ORGUNIT></ORGUNIT
16d00 3e 0a 09 3c 2f 4f 52 47 3e 0a 09 3c 43 41 54 45 47 4f 52 49 45 53 3e 0a 09 09 3c 4b 45 59 57 4f >..</ORG>..<CATEGORIES>...<KEYWO
16d20 52 44 3e 3c 2f 4b 45 59 57 4f 52 44 3e 0a 09 09 3c 4b 45 59 57 4f 52 44 3e 3c 2f 4b 45 59 57 4f RD></KEYWORD>...<KEYWORD></KEYWO
16d40 52 44 3e 0a 09 3c 21 2d 2d 20 2e 2e 2e 20 2d 2d 3e 0a 09 3c 2f 43 41 54 45 47 4f 52 49 45 53 3e RD>..<!--.....-->..</CATEGORIES>
16d60 0a 09 3c 4e 4f 54 45 3e 3c 2f 4e 4f 54 45 3e 0a 09 3c 50 52 4f 44 49 44 3e 61 63 6d 65 3c 2f 50 ..<NOTE></NOTE>..<PRODID>acme</P
16d80 52 4f 44 49 44 3e 0a 3c 21 2d 2d 20 49 53 4f 20 38 36 30 31 20 66 6f 72 6d 61 74 74 65 64 20 55 RODID>.<!--.ISO.8601.formatted.U
16da0 54 43 20 64 61 74 65 2f 74 69 6d 65 20 2d 20 66 69 6c 6c 20 73 6f 6d 65 74 68 69 6e 67 20 69 6e TC.date/time.-.fill.something.in
16dc0 73 69 64 65 20 2d 2d 3e 0a 09 3c 52 45 56 3e 3c 2f 52 45 56 3e 0a 09 3c 53 4f 52 54 2d 53 54 52 side.-->..<REV></REV>..<SORT-STR
16de0 49 4e 47 3e 3c 2f 53 4f 52 54 2d 53 54 52 49 4e 47 3e 0a 09 3c 53 4f 55 4e 44 3e 0a 09 3c 21 2d ING></SORT-STRING>..<SOUND>..<!-
16e00 2d 20 61 67 61 69 6e 20 6d 61 6e 79 20 6f 70 74 69 6f 6e 73 20 6e 6f 6f 6e 65 20 6e 65 65 64 73 -.again.many.options.noone.needs
16e20 2e 0a 09 09 3c 50 48 4f 4e 45 54 49 43 3e 3c 2f 50 48 4f 45 4e 54 49 43 3e 0a 09 09 3c 42 49 4e ....<PHONETIC></PHOENTIC>...<BIN
16e40 56 41 4c 3e 3c 2f 42 49 4e 56 41 4c 3e 20 2d 2d 3e 0a 09 09 3c 45 58 54 56 41 4c 3e 68 74 74 70 VAL></BINVAL>.-->...<EXTVAL>http
16e60 3a 2f 2f 77 77 77 2e 73 75 6e 2e 63 6f 6d 2f 66 72 65 73 68 5f 63 6f 66 66 65 65 2e 66 6c 3c 2f ://www.sun.com/fresh_coffee.fl</
16e80 45 58 54 56 41 4c 3e 0a 09 3c 2f 53 4f 55 4e 44 3e 0a 09 3c 55 49 44 3e 3c 2f 55 49 44 3e 0a 09 EXTVAL>..</SOUND>..<UID></UID>..
16ea0 3c 55 52 4c 3e 3c 2f 55 52 4c 3e 0a 09 3c 44 45 53 43 3e 3c 2f 44 45 53 43 3e 0a 09 3c 43 4c 41 <URL></URL>..<DESC></DESC>..<CLA
16ec0 53 53 3e 0a 09 3c 21 2d 2d 20 4e 6f 2c 20 6e 6f 74 20 73 63 68 6f 6f 6c 2e 0a 09 09 3c 50 55 42 SS>..<!--.No,.not.school....<PUB
16ee0 4c 49 43 2f 3e 0a 09 09 3c 50 52 49 56 41 54 45 2f 3e 20 2d 2d 3e 0a 09 09 3c 43 4f 4e 46 49 44 LIC/>...<PRIVATE/>.-->...<CONFID
16f00 45 4e 54 49 41 4c 2f 3e 0a 09 3c 2f 43 4c 41 53 53 3e 0a 09 3c 4b 45 59 3e 0a 09 09 3c 54 59 50 ENTIAL/>..</CLASS>..<KEY>...<TYP
16f20 45 3e 43 52 45 44 3c 2f 54 59 50 45 3e 0a 09 3c 21 2d 2d 20 45 69 74 68 65 72 20 65 6e 76 72 79 E>CRED</TYPE>..<!--.Either.envry
16f40 70 74 69 6f 6e 20 6f 72 20 63 72 65 64 65 6e 74 69 61 6c 2e 20 2d 2d 3e 0a 09 09 3c 43 52 45 44 ption.or.credential..-->...<CRED
16f60 3e 3c 2f 43 52 45 44 3e 0a 09 3c 2f 4b 45 59 3e 0a 3c 21 2d 2d 20 3c 2f 76 43 61 72 64 3e 20 2d ></CRED>..</KEY>.<!--.</vCard>.-
16f80 2d 3e 0a 68 61 72 20 2a 6e 61 6d 65 2c 20 63 68 61 72 20 2a 76 61 6c 29 0a 7b 0a 09 69 6c 69 73 ->.har.*name,.char.*val).{..ilis
16fa0 74 20 2a 72 65 74 3b 0a 0a 09 72 65 74 20 3d 20 72 65 61 6c 6c 6f 63 6a 28 6e 69 6c 2c 20 73 69 t.*ret;...ret.=.reallocj(nil,.si
16fc0 7a 65 6f 66 28 69 6c 69 73 74 29 2c 20 32 29 3b 0a 09 69 66 28 6e 61 6d 65 20 21 3d 20 6e 69 6c zeof(ilist),.2);..if(name.!=.nil
16fe0 29 0a 09 09 72 65 74 2d 3e 6e 61 6d 65 20 3d 20 73 74 72 64 75 70 28 6e 61 6d 65 29 3b 0a 09 69 )...ret->name.=.strdup(name);..i
17000 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 ................................
17020 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 ................................
17040 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 ................................
17060 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 ................................
17080 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 ................................
170a0 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 ................................
170c0 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 ................................
170e0 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 ................................
17100 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 ................................
17120 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 ................................
17140 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 ................................
17160 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 ................................
17180 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 ................................
171a0 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 ................................
171c0 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 ................................
171e0 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 ................................
17200 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 ................................
17220 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 ................................
17240 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 ................................
17260 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 ................................
17280 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 ................................
172a0 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 ................................
172c0 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 ................................
172e0 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 ................................
17300 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 ................................
17320 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 ................................
17340 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 ................................
17360 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 ................................
17380 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 ................................
173a0 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 ................................
173c0 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 ................................
173e0 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 ................................
17400 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 ................................
17420 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 ................................
17440 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 ................................
17460 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 ................................
17480 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 ................................
174a0 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 ................................
174c0 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 ................................
174e0 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 ................................
17500 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 ................................
17520 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 ................................
17540 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 ................................
17560 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 ................................
17580 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 ................................
175a0 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 ................................
175c0 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 ................................
175e0 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 ................................
17600 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 ................................
17620 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 ................................
17640 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 ................................
17660 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 ................................
17680 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 ................................
176a0 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 ................................
176c0 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 ................................
176e0 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 ................................
17700 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 ................................
17720 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 ................................
17740 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 ................................
17760 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 ................................
17780 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 ................................
177a0 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 ................................
177c0 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 ................................
177e0 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 ................................
17800 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 ................................
17820 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 ................................
17840 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 ................................
17860 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 ................................
17880 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 ................................
178a0 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 ................................
178c0 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 ................................
178e0 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 ................................
17900 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 ................................
17920 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 ................................
17940 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 ................................
17960 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 ................................
17980 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 ................................
179a0 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 ................................
179c0 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 ................................
179e0 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 ................................
17a00 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 ................................
17a20 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 ................................
17a40 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 ................................
17a60 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 ................................
17a80 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 ................................
17aa0 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 ................................
17ac0 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 ................................
17ae0 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 ................................
17b00 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 ................................
17b20 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 ................................
17b40 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 ................................
17b60 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 ................................
17b80 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 ................................
17ba0 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 ................................
17bc0 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 ................................
17be0 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 ................................
17c00 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 ................................
17c20 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 ................................
17c40 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 ................................
17c60 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 ................................
17c80 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 ................................
17ca0 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 ................................
17cc0 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 ................................
17ce0 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 ................................
17d00 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 ................................
17d20 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 ................................
17d40 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 ................................
17d60 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 ................................
17d80 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 ................................
17da0 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 ................................
17dc0 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 ................................
17de0 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 ................................
17e00 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 ................................
17e20 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 ................................
17e40 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 ................................
17e60 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 ................................
17e80 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 ................................
17ea0 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 ................................
17ec0 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 ................................
17ee0 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 ................................
17f00 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 ................................
17f20 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 ................................
17f40 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 ................................
17f60 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 ................................
17f80 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 ................................
17fa0 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 ................................
17fc0 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 ................................
17fe0 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 ................................
18000 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 ................................
18020 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 ................................
18040 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 ................................
18060 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 ................................
18080 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 ................................
180a0 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 ................................
180c0 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 ................................
180e0 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 ................................
18100 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 ................................
18120 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 ................................
18140 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 ................................
18160 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 ................................
18180 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 ................................
181a0 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 ................................
181c0 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 ................................
181e0 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 ................................
18200 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 ................................
18220 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 ................................
18240 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 ................................
18260 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 ................................
18280 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 ................................
182a0 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 ................................
182c0 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 ................................
182e0 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 ................................
18300 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 ................................
18320 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 ................................
18340 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 ................................
18360 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 ................................
18380 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 ................................
183a0 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 ................................
183c0 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 ................................
183e0 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 ................................
18400 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 ................................
18420 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 ................................
18440 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 ................................
18460 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 ................................
18480 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 ................................
184a0 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 ................................
184c0 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 ................................
184e0 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 ................................
18500 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 ................................
18520 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 ................................
18540 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 ................................
18560 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 ................................
18580 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 ................................
185a0 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 ................................
185c0 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 ................................
185e0 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 ................................
18600 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 ................................
18620 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 ................................
18640 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 ................................
18660 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 ................................
18680 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 ................................
186a0 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 ................................
186c0 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 ................................
186e0 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 ................................
18700 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 ................................
18720 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 ................................
18740 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 ................................
18760 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 ................................
18780 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 ................................
187a0 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 ................................
187c0 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 ................................
187e0 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 ................................
18800 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 ................................
18820 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 ................................
18840 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 ................................
18860 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 ................................
18880 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 ................................
188a0 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 ................................
188c0 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 ................................
188e0 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 ................................
18900 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 ................................
18920 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 ................................
18940 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 ................................
18960 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 ................................
18980 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 ................................
189a0 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 ................................
189c0 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 ................................
189e0 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 ................................
18a00 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 ................................
18a20 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 ................................
18a40 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 ................................
18a60 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 ................................
18a80 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 ................................
18aa0 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 ................................
18ac0 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 ................................
18ae0 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 ................................
18b00 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 ................................
18b20 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 ................................
18b40 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 ................................
18b60 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 ................................
18b80 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 ................................
18ba0 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 ................................
18bc0 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 ................................
18be0 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 ................................
18c00 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 ................................
18c20 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 ................................
18c40 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 ................................
18c60 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 ................................
18c80 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 ................................
18ca0 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 ................................
18cc0 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 ................................
18ce0 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 ................................
18d00 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 ................................
18d20 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 ................................
18d40 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 ................................
18d60 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 ................................
18d80 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 ................................
18da0 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 ................................
18dc0 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 ................................
18de0 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 ................................
18e00 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 ................................
18e20 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 ................................
18e40 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 ................................
18e60 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 ................................
18e80 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 ................................
18ea0 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 ................................
18ec0 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 ................................
18ee0 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 ................................
18f00 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 ................................
18f20 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 ................................
18f40 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 ................................
18f60 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 ................................
18f80 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 ................................
18fa0 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 ................................
18fc0 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 ................................
18fe0 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 ................................