The source code for the Telnet Client/Server with JCE

Alireza Entezari (entezari@hotmail.com)
Wed, 22 Jul 1998 10:16:33 PDT

From: "Alireza Entezari" <entezari@hotmail.com>
To: java-security@java.sun.com
Subject: The source code for the Telnet Client/Server with JCE
Date: Wed, 22 Jul 1998 10:16:33 PDT

--====================987654321_0==_
Content-Type: text/plain; charset="us-ascii"

Dear Jan;
Here is my code, but it only accepts 8-char password
and only 8-char strings in the input to transfer to the other side.
First server runs and then client should be run; then they ask for
passwords and then server asks you for a string to be transferred
then client receives it and then client asks you for a string to
transfer
and so on.
It would be really a big advantage if I could use the CipherInputStream
and CipherOutputStream, but they don't really work; Once I have
initialized them like this

CipherInputStream cis = new CipherInputStream( socket.getInputStream(),
enCipher );

CipherOutputStream cos = new CipherOutputStream(
socket.getOutputStream(), deCipher);

and I tried to read(byte[] ) and write(byte[]) to them, but they don't
seem to work and they wait for each other forever.

I really appreciate your help.

Sincerely,
Reza Entezari
Canada

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com
--====================987654321_0==_
Content-Type: application/octet-stream; name="TelnetServer.java"
Content-Transfer-Encoding: x-uuencode
Content-Disposition: attachment; filename="TelnetServer.java"

begin 644 TelnetServer.java
M+RH@(`T*("`@(%!,14%312!.3U1%.B`@36]S="!O9B!T:&ES(&5X86UP;&4@
M8V]M97,@9G)O;2P@#0H@("`@(E5S:6YG($IA=F$B+"!!;&5X86YD97(@3F5W
M;6%N+"!1=64L(#$Y.38-"@T*("`@(%1H:7,@9FEL92!C;VYT86EN<R!T=V\@
M8VQA<W-E<SH-"@T*("`@("`@("!496QN971397)V97(@+2T@;&ES=&5N<R!F
M;W(@<F5M;W1E(&QO9VEN(')E<75E<W1S#0H@("`@("`@(%1E;&YE=$-O;FYE
M8W1I;VX@+2T@<V5T<R!U<"!C;VYV97)S871I;VX-"@T*("`@(%-O8VME=',@
M87)E(&)A<V5D(&]N(&$@8VQI96YT+W-E<G9E<B!M;V1E;"X@(%1H90T*("`@
M('-E<G9E<B!P<F]V:61E<R!A(")S97)V:6-E(B!B>2!L:7-T96YI;F<@870@
M82!P87)T:6-U;&%R#0H@("`@25`@861D<F5S<R!A;F0@<&]R="!N=6UB97(L
M('=A:71I;F<@9F]R(&$@8VQI96YT('1O(&-A;&PN#0H@("`@0VAE8VL@=&AI
M<R!O=70L('1H97)E(&ES(&$@;&]T(&UO<F4@=&\@9&\L(&)U="!R=6X@=&AI
M<PT*("`@('-E<G9E<B`H<')I;W(@=&\@=&AE(&-L:65N="$I+"!B>2!T>7!I
M;F<Z#0H-"B`@("!J879A(%1E;&YE=%-E<G9E<@T*#0H@("`@5&AE('-E<G9E
M<B!W:6QL(')E<W!O;F0@8GD@:61E;G1I9GEI;F<@=&AE(&YA;64@;V8@=&AE
M(&AO<W0-"B`@("!M86-H:6YE(&ET(&ES(&QI<W1E;FEN9R!O;BX@(%)U;B!T
M:&4@8VQI96YT("AF<F]M('1H92!S86UE#0H@("`@;6%C:&EN92P@;W(@86YO
M=&AE<B!M86-H:6YE(&EN('1H92!L86(I(&)Y('1Y<&EN9SH-"@T*("`@(&IA
M=F$@5&5L;F5T0VQI96YT("@J:&]S="UM86-H:6YE+4E0061D<F5S<RHI#0H-
M"B`@("!W:&5R92`H*FAO<W0M;6%C:&EN92U)4$%D9"HI(&UA=&-H97,@=&AE
M(&YA;64@<F5P;W)T960@=VAE;B!T:&4-"B`@("!S97)V97(@=V%S('-T87)T
M960N#0H-"B`@("!.3U1%.B!4:&5R92!I<R!N;R!E<G)O<B!C:&5C:VEN9R!H
M97)E+"!S;R!O;FQY(#@M8VAA<B!P87-S=V]R9"!A;F0@."UC:&%R('-T<FEN
M9W,@87)E#0H)("`@86-C97!T960@870@=&AI<R!L979E;"X-"BHO#0H-"B\O
M($YO=&4@=&AE(&-L87-S(&)Y(&-L87-S(&EM<&]R="!S=&%T96UE;G1S("TM
M(&IU<W0@=&\@8F4@<W!E8VEF:6,A#0H-"FEM<&]R="!J879A+FYE="Y397)V
M97)3;V-K970[("`@("`@("`@("`O+W-O8VME="!F;W(@<V5R=F5R#0II;7!O
M<G0@:F%V82YN970N4V]C:V5T.R`@("`@("`@("`@("`@("`@+R]S;V-K970@
M9F]R(&-O;G9E<G-A=&EO;@T*:6UP;W)T(&IA=F$N:6\N24]%>&-E<'1I;VX[
M("`@("`@("`@("`@("\O:&%N9&QE<R!E<G)O<G,-"FEM<&]R="!J879A+FEO
M+D1A=&%);G!U=%-T<F5A;3L@("`@("`@("`O+VAA;F1L97,@:6YP=70@=&\@
M=&AE('-E<G9E<@T*:6UP;W)T(&IA=F$N:6\N4')I;G13=')E86T[("`@("`@
M("`@("`@("\O:&%N9&QE<R!P<FEN=&EN9R!T;R!C;&EE;G0-"FEM<&]R="!J
M879A+FYE="Y);F5T061D<F5S<SL@("`@("`@("`@("`O+V9O<B!G971T:6YG
M(&AO<W0@;F%M90T*:6UP;W)T(&IA=F$N;F5T+E5N:VYO=VY(;W-T17AC97!T
M:6]N.R`@("\O:68@:&]S="!H87,@;F\@;F%M92$-"@T*:6UP;W)T(&-O;2YS
M=6XN8W)Y<'1O+G!R;W9I9&5R+E-U;DI#13L@("`O+W!R;W9I9&5R#0II;7!O
M<G0@:F%V82YI;RXJ.PT*:6UP;W)T(&IA=F$N;6%T:"Y":6=);G1E9V5R.PT*
M:6UP;W)T(&IA=F$N<V5C=7)I='DN*CL-"FEM<&]R="!J879A+G-E8W5R:71Y
M+G-P96,N*CL-"FEM<&]R="!J879A>"YC<GEP=&\N*CL-"FEM<&]R="!J879A
M>"YC<GEP=&\N<W!E8RXJ.PT*:6UP;W)T(&IA=F%X+F-R>7!T;RYI;G1E<F9A
M8V5S+BH[#0H-"@T*<'5B;&EC(&-L87-S(%1E;&YE=%-E<G9E<B!E>'1E;F1S
M(%1H<F5A9"`-"GL-"@T*("!P<FEV871E(%-E<G9E<E-O8VME="!S97)V97)?
M;&ES=&5N:6YG7W-O8VME=#L@("`@("`@#0H@('!R:79A=&4@9FEN86P@:6YT
M($]54E!/4E0@/2`V,#`P.R`@+R]P;W)T(",L('!I8VME9"!O=70@;V8@=&AE
M(&)L=64A(`T*("!P<FEV871E(&9I;F%L(&EN="!-05A#3$D@/2`U.R`@("`@
M("\O;6%X(",@8V]N8W5R<F5N="!C;&EE;G1S("@_*0T*#0H@('!U8FQI8R!S
M=&%T:6,@=F]I9"!F86EL*"!%>&-E<'1I;VX@92P@4W1R:6YG(&US9R`I(`T*
M("`O+PT*("`O+R!E<G)O<B!H86YD;&EN9R`M('%U:71S('1H92!P<F]G<F%M
M#0H@("\O#0H@('L-"B`@("`@(%-Y<W1E;2YE<G(N<')I;G1L;B@@;7-G("L@
M(BXB("L@92`I.PT*("`@("`@4WES=&5M+F5X:70H,2D[#0H@('T-"@T*#0H@
M('!U8FQI8R!496QN971397)V97(H*2`-"B`@+R\-"B`@+R\@5&5L;F5T4V5R
M=F5R(&QI<W1E;G,@870@3U524$]25"P@:&%N9&QE<R!-05A#3$D@8VQI96YT
M<R!T:')E861S#0H@("\O("`-"B`@>PT*("`@("`@+R]C<F5A=&4@<V5R=F5R
M('-O8VME=`T*#0H@("`@("!T<GD@>PT*("`@("`@("!S97)V97)?;&ES=&5N
M:6YG7W-O8VME="`](&YE=R!397)V97)3;V-K970H($]54E!/4E0L($U!6$-,
M22`I.PT*("`@("`@?2!C871C:"`H($E/17AC97!T:6]N(&EO97@@*2![#0H@
M("`@("`@(&9A:6PH(&EO97@L(")#;W5L9"!N;W0@<W1A<G0@<V5R=F5R("(@
M*3L@#0H@("`@("!]#0H-"B`@("`@("\O9&ES<&QA>2!H;W-T(&YA;64@*'5S
M960@8GD@8VQI96YT('1O(&-O;FYE8W0I#0H-"B`@("`@('1R>2![#0H@("`@
M("`@(%-Y<W1E;2YO=70N<')I;G1L;B@@(E1E;&YE="!397)V97(@<W1A<G1E
M9"!O;B`B("L@#0H@("`@("`@("`@("`@("`@*$EN971!9&1R97-S+F=E=$QO
M8V%L2&]S="@I*2YG971(;W-T061D<F5S<R@I("D[#0H@("`@("!](&-A=&-H
M*"!5;FMN;W=N2&]S=$5X8V5P=&EO;B!U("D@>R`-"B`@("`@("`@9F%I;"@@
M=2P@(D-O=6QD(&YO="!G970@:&]S="!N86UE(B`I.PT*("`@("`@?2`-"B`@
M("`@(`T*("`@("`@=&AI<RYS=&%R="@I.R`@+R]A8W1I=F%T92!S97)V97(@
M=&AR96%D#0H@('T-"@T*("`-"B`@<'5B;&EC('9O:60@<G5N*"D@#0H@("\O
M#0H@("\O;&ES=&5N:6YG(&9O<B!C;&EE;G0L(&EN9FEN:71E(&QO;W`@;6%K
M:6YG(&-O;FYE8W1I;VYS#0H@("\O#0H@('L-"B`@("!T<GD@>PT*("`@("`@
M=VAI;&4@*'1R=64I('L@(`T*("`@("`@("`@+R]N;W1E.B!A8V-E<'0@=V%I
M=',@9F]R(&$@8VQI96YT#0H@("`@("`@("!3;V-K970@8VQI96YT7W-O8VME
M="`]('-E<G9E<E]L:7-T96YI;F=?<V]C:V5T+F%C8V5P="@I.PT*("`@("`@
M("`@5&5L;F5T0V]N;F5C=&EO;B!C;VYN96-T:6]N(#T@;F5W(%1E;&YE=$-O
M;FYE8W1I;VXH(&-L:65N=%]S;V-K970I.PT*("`@("`@?0T*("`@('T@8V%T
M8V@@*$E/17AC97!T:6]N(&EO97@@*2![#0H@("`@("`@("!F86EL("@@:6]E
M>"P@(DQI<W1E;FEN9R!F86EL960B("D[#0H@("`@?0T*("!]#0H-"@T*("!P
M=6)L:6,@<W1A=&EC('9O:60@;6%I;B`H4W1R:6YG6UT@87)G<RD@#0H@('L-
M"B`@("`@(%!R;W9I9&5R('-U;DI#12`](&YE=R!C;VTN<W5N+F-R>7!T;RYP
M<F]V:61E<BY3=6Y*0T4H*3L-"B`@("`@(%-E8W5R:71Y+F%D9%!R;W9I9&5R
M*'-U;DI#12D[#0H-"B`@("`@(&YE=R!496QN971397)V97(H*3L@("\O9V5T
M<R!T:&4@(G-H;W<@;VX@=&AE(')O860A(@T*("!]#0I](`T*#0H-"@T*#0H-
M"F-L87-S(%1E;&YE=$-O;FYE8W1I;VX@97AT96YD<R!4:')E860@#0HO+PT*
M+R\@5&AI<R!I<R!W:&5R92!T:&4@8V]N=F5R<V%T:6]N(&%C=71A;&QY('1A
M:V5S('!L86-E+@T*+R\-"GL-"B`@("!P<FEV871E(%-O8VME="!T96QN971?
M8VQI96YT.R`@("`@("`@("`O+V9O<B!T:&4@8V]N=F5R<V%T:6]N("`@("`@
M("`@#0H@("`@<')I=F%T92!$871A26YP=713=')E86T@9G)O;5]C;&EE;G0[
M("`@+R]I;G!U="!F<F]M(&-L:65N=`T*("`@('!R:79A=&4@4')I;G13=')E
M86T@=&]?8VQI96YT.R`@("`@("`@("\O;W5P=70@9F]R(&-L:65N=`T*#0H@
M("`@4W1R:6YG('!A<W-W;W)D.PT*("`@($-I<&AE<B!D94-I<&AE<CL-"B`@
M("!#:7!H97(@96Y#:7!H97([#0H@("`@1$532V5Y4W!E8R!D97-+97D[#0H@
M("`@4V5C<F5T2V5Y1F%C=&]R>2!K97E&86-T;W)Y.PT*("`@(%-E8W)E=$ME
M>2!S96-R971+97D[#0H@("`@26YP=713=')E86T@<V]C:V5T7VEN.PT*("`@
M($]U='!U=%-T<F5A;2!S;V-K971?;W5T.PT*#0H@("`@<'5B;&EC(%1E;&YE
M=$-O;FYE8W1I;VXH(%-O8VME="!C;&EE;G1?<V]C:V5T("D-"B`@("`O+PT*
M("`@("\O97-T86)L:7-H('-T<F5A;7,@9F]R(&-L:65N="!S;V-K970@#0H@
M("`@>R`@#0H)=&5L;F5T7V-L:65N="`](&-L:65N=%]S;V-K970[("`-"@ET
M<GE[#0H)"7-O8VME=%]I;B`](&YE=R!$871A26YP=713=')E86TH('1E;&YE
M=%]C;&EE;G0N9V5T26YP=713=')E86TH*2`I.PT*"0ES;V-K971?;W5T(#T@
M;F5W($1A=&%/=71P=713=')E86TH('1E;&YE=%]C;&EE;G0N9V5T3W5T<'5T
M4W1R96%M*"D@*3L-"@E]8V%T8V@H24]%>&-E<'1I;VX@92D@>WT-"@T*#0H@
M("`@("!T:&ES+G-T87)T*"D[("`O+V%C=&EV871E(&-O;FYE8W1I;VX@=&AR
M96%D#0H@("`@?0T*#0H-"B`@("!P=6)L:6,@=F]I9"!R=6XH*2`-"B`@("`O
M+PT*("`@("\O869T97(@<V5R=F5R(&-O;FYE8W1S+"!D:7-P;&%Y($Q/1TE.
M.B!P<F]M<'0@86YD('!A<W-W;W)D#0H@("`@+R\-"B`@("![#0H@("`@("!3
M=')I;F<@;&]G:6Y?:60[#0H@("`@("!3=')I;F<@9FYA;64L(&-O;6UA;F0L
M(&]U='!U=#L-"B`@("`@($1A=&%);G!U=%-T<F5A;2!S97)V97)?:6X[#0H@
M("`@("!S97)V97)?:6X@/2!N97<@1&%T84EN<'5T4W1R96%M*"!3>7-T96TN
M:6X@*3L)#0H@("`@("`-"B`@("`@("`@=')Y('L@=')Y>PT*("`@("`@("`@
M("`@("`@(&1E0VEP:&5R(#T@0VEP:&5R+F=E=$EN<W1A;F-E*")$15,B*3L-
M"@D)96Y#:7!H97(@/2!#:7!H97(N9V5T26YS=&%N8V4H(D1%4R(I.PT*("`@
M("`@("!T<GD@>R!T<GD@>R!T<GE[#0H-"B`@("`@("`@#0H@("`@("`@("`@
M("`@("`@("`@("`@("!3>7-T96TN;W5T+G!R:6YT;&XH(E!L96%S92!E;G1E
M<B!T:&4@<&%S<W=O<F0H."UC:&%R*3HB*3L-"@D)"71R>2![#0H@("`@("`@
M("`@("`@("`@("`@("`@("!P87-S=V]R9"`]('-E<G9E<E]I;BYR96%D3&EN
M92@I.PT*"0D)?6-A=&-H*$E/17AC97!T:6]N(&4I('M]#0H@("`@("`@("`@
M("`@("`@("`@("`@("!D97-+97D@/2!N97<@1$532V5Y4W!E8RAP87-S=V]R
M9"YG971">71E<R@I*3L-"B`@("`@("`@("`@("`@("`@("`@("`@(&ME>49A
M8W1O<GD@/2!396-R971+97E&86-T;W)Y+F=E=$EN<W1A;F-E*")$15,B*3L-
M"B`@("`@("`@("`@("`@("`@("`@("`@(%-E8W)E=$ME>2!S96-R971+97D@
M/2!K97E&86-T;W)Y+F=E;F5R871E4V5C<F5T*&1E<TME>2D[#0H-"B`@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(`T*
M#0H@("`@("`@("\O('-E8W)E=$ME>2!I<R!N;W<@=&AE(&ME>2!F;W(@96YC
M<GEP=&EO;B!A;F0@9&5C<GEP=&EO;@T*"0D)9&5#:7!H97(N:6YI="@@0VEP
M:&5R+D1%0U)94%1?34]$12P@<V5C<F5T2V5Y("D[#0H)"0EE;D-I<&AE<BYI
M;FET*"!#:7!H97(N14Y#4EE05%]-3T1%+"!S96-R971+97D@*3L-"@T*"0D)
M#0H)8GET95M=(&)U9F9E<B`](&YE=R!B>71E6SA=.PT*"6)Y=&5;72!C:7!H
M97)T97AT+"!C;&5A<G1E>'0[#0H)4W1R:6YG(&QI;F4[#0H):6YT(&QE;B`]
M(#`["0T*#0H)+R\M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+0T*"71R>7L-"@T*"0ET<GE[('1R>7L)#0H)"0E3>7-T96TN;W5T+G!R:6YT
M;&XH(E!L96%S92!E;G1E<B`X+6-H87(@<W1R:6YG<R$B*3L@#0H)"0EO=71P
M=70@/2!S97)V97)?:6XN<F5A9$QI;F4H*3L)"0D-"@D)"6-I<&AE<G1E>'0@
M/2!E;D-I<&AE<BYD;T9I;F%L*"!O=71P=70N9V5T0GET97,H*2`I.PT*"0D)
M<V]C:V5T7V]U="YW<FET92@@8VEP:&5R=&5X="`I.PT*#0H)#0H)"0EL96X@
M/2!S;V-K971?:6XN<F5A9"@@8VEP:&5R=&5X="`I.PT*"0D)8VQE87)T97AT
M(#T@9&5#:7!H97(N9&]&:6YA;"@@8VEP:&5R=&5X="`I.PT*"0D)4WES=&5M
M+F]U="YP<FEN=&QN*")#;&EE;G0@<V%I9#HB*R!T;TAE>%-T<FEN9R@@8VQE
M87)T97AT("D@*3L-"@T*"0D)=VAI;&4@*"!L96X@(3T@+3$I#0H)"0E[(`T*
M"2`@"0D);W5T<'5T(#T@<V5R=F5R7VEN+G)E861,:6YE*"D[#0H)"0D)<V]C
M:V5T7V]U="YW<FET92@@;W5T<'5T+F=E=$)Y=&5S*"D@*3L-"@T*"0D)"6QE
M;B`]('-O8VME=%]I;BYR96%D*"!B=69F97(@*3L-"@D)"0E3>7-T96TN;W5T
M+G!R:6YT;&XH(D-L:65N="!S86ED.B`B("L@=&](97A3=')I;F<H(&)U9F9E
M<B`I("D[#0H)("`)#0H)("`)"7T-"@D)?6-A=&-H*$)A9%!A9&1I;F=%>&-E
M<'1I;VX@92D@>R!3>7-T96TN;W5T+G!R:6YT;&XH(D)A9"!087-S=V]R9"$A
M(2(I.WT-"@D)?6-A=&-H*$EL;&5G86Q";&]C:U-I>F5%>&-E<'1I;VX@92E[
M(%-Y<W1E;2YO=70N<')I;G1L;B@B26QL96=A;$)L;V-K4VEZ92(I.WT-"@T*
M"7UC871C:"A)3T5X8V5P=&EO;B!E*7M]#0H)+R\M+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+0T*#0H@("`@("`@("`@("`@("!]8V%T8V@H
M($EN=F%L:61+97E%>&-E<'1I;VX@92D@>PT*("`@("`@("`@("`@("`@("`@
M("`@("`@4WES=&5M+F]U="YP<FEN=&QN*"));G9A;&ED2V5Y17AC97!T:6]N
M(BD[?0T*("`@("`@("`@("`@?6-A=&-H*$YO4W5C:$%L9V]R:71H;45X8V5P
M=&EO;B!E*7L-"B`@("`@("`@("`@("`@("!3>7-T96TN;W5T+G!R:6YT;&XH
M(DYO4W5C:$%L9V]R:71H;45X8V5P=&EO;B(I.WT-"B`@("`@("`@?6-A=&-H
M*$EN=F%L:61+97E3<&5C17AC97!T:6]N(&4I('L-"B`@("`@("`@("`@("`@
M4WES=&5M+F]U="YP<FEN=&QN*"));G9A;&ED2V5Y4W!E8T5X8V5P=&EO;B(I
M.WT-"@T*#0H@("`@("`@('UC871C:"@@3F]3=6-H06QG;W)I=&AM17AC97!T
M:6]N(&4I('L-"B`@("`@("`@("`@("`@("!3>7-T96TN;W5T+G!R:6YT;&XH
M(DYO4W5C:$%L9V]R:71H;45X8V5P=&EO;B(I.WT-"B`@("`@("`@?6-A=&-H
M*"!.;U-U8VA0861D:6YG17AC97!T:6]N(&4I('L-"B`@("`@("`@("`@("`@
M("!3>7-T96TN;W5T+G!R:6YT;&XH(DYO4W5C:%!A9&1I;F=%>&-E<'1I;VXB
M*3M]#0H-"@T*#0H@("`@("`-"@T*("`@("`@9FEN86QL>2`O+V-L;W-E<R!T
M:&4@<V]C:V5T("TM(&UA:V5S(%-54D4@:70@:7,@9&]N90T*("`@("`@>PT*
M("`@("`@("!T<GD@>R`-"B`@("`@("`@("!T96QN971?8VQI96YT+F-L;W-E
M*"D[(`T*("`@("`@("!]#0H@("`@("`@(&-A=&-H("A)3T5X8V5P=&EO;B!E
M("D@>WT@#0H@("`@("!]#0H@("`@?0T*#0H)+R\@4V]M92!H96QP:6YG(&9U
M;F-T:6]N<RXN+@T*#0H)<'5B;&EC('-T871I8R!3=')I;F<@=&](97A3=')I
M;F<H8GET95M=(&)L;V-K*0T*"7L-"B`@("`@("`@"5-T<FEN9T)U9F9E<B!B
M=68@/2!N97<@4W1R:6YG0G5F9F5R*"D[#0H)"6EN="!L96X@/2!B;&]C:RYL
M96YG=&@[#0H)("`@("`@("!F;W(@*&EN="!I(#T@,#L@:2`\(&QE;CL@:2LK
M*2`-"@D)>PT*"0D@("`@("`@(&)Y=&4R:&5X*&)L;V-K6VE=+"!B=68I.PT*
M#0H)("`@("`@("!](`T*"2`@("`@("`@<F5T=7)N(&)U9BYT;U-T<FEN9R@I
M.R`@("`-"@E]("`@#0H)#0H)<'5B;&EC('-T871I8R!V;VED(&)Y=&4R:&5X
M*&)Y=&4@82P@4W1R:6YG0G5F9F5R(&)U9BD-"@E[#0H)"6)U9BYA<'!E;F0H
?("AC:&%R*2!A("D[#0H)?0T*#0I]#0H@("`-"@T*(```
`
end
--====================987654321_0==_
Content-Type: application/octet-stream; name="TelnetClient.java"
Content-Transfer-Encoding: x-uuencode
Content-Disposition: attachment; filename="TelnetClient.java"

begin 644 TelnetClient.java
M+RH-"B`@("!496QN970@8VQI96YT('1A;&MS('1O('-E<G9E<@T*#0H@("`@
M3F]T92!T:&%T('1H:7,@<')O9W)A;2!R97%U:7)E<R!A(&-O;6UA;F0@;&EN
M92!P87)A;65T97(Z#0H@("`@#0H@("`@:F%V82!496QN971#;&EE;G0@*"I)
M4$%D9')E<W,J*0T*#0H@("`@=VAE<F4@*"I)4$%D9')E<W,J*2!H87,@8F5E
M;B!S=7!P:6QE9"!B>2!T:&4@<V5R=F5R("AD:7-P;&%Y960-"B`@("!W:&5N
M('-E<G9E<B!I<R!S=&%R=&5D*2X-"@T*("`@($Y/5$4Z(%1H:7,@<')O9W)A
M;2!H87,@;F\@97)R;W(@8VAE8VMI;F=S+"!S;R!O;FQY(#@M8VAA<B!P87-S
M=V]R9',-"@D@(&%N9"`X+6-H87(@<W1R:6YG<R!I;B!T:&4@:6YP=70@87)E
M(&%C8V5P=&%B;&4-"BHO#0H-"@T*:6UP;W)T(&IA=F$N;F5T+E-O8VME=#L@
M("`@("`@("`@("\O8VQI96YT(&-R96%T97,-"FEM<&]R="!J879A+FEO+DE/
M17AC97!T:6]N.R`@("`@("`O+V5R<F]R(&AA;F1L:6YG#0II;7!O<G0@:F%V
M82YI;RY$871A26YP=713=')E86T[("`@+R]R96-E:79E(&1A=&$@9G)O;2!S
M97)V97(-"FEM<&]R="!J879A+FEO+E!R:6YT4W1R96%M.R`@("`@("`O+W-E
M;F0@9&%T82!T;R!S97)V97(-"FEM<&]R="!C;VTN<W5N+F-R>7!T;RYP<F]V
M:61E<BY3=6Y*0T4[("`@+R]P<F]V:61E<@T*:6UP;W)T(&IA=F$N:6\N*CL-
M"FEM<&]R="!J879A+FUA=&@N0FEG26YT96=E<CL-"FEM<&]R="!J879A+G-E
M8W5R:71Y+BH[#0II;7!O<G0@:F%V82YS96-U<FET>2YS<&5C+BH[#0II;7!O
M<G0@:F%V87@N8W)Y<'1O+BH[#0II;7!O<G0@:F%V87@N8W)Y<'1O+G-P96,N
M*CL-"FEM<&]R="!J879A>"YC<GEP=&\N:6YT97)F86-E<RXJ.PT*#0H-"G!U
M8FQI8R!C;&%S<R!496QN971#;&EE;G0@#0I[#0H@("\O8W)E871E<R!A('-O
M8VME="!F;W(@8V]N;F5C=&EN9R!T;R!T:&4@<V5R=F5R(&%T($]54E!/4E0-
M"@T*("!P<FEV871E(&9I;F%L('-T871I8R!I;G0@3U524$]25"`](#8P,#`[
M("`@#0H@(`T*("!P=6)L:6,@<W1A=&EC('9O:60@;6%I;B@@4W1R:6YG6UT@
M87)G<R`I(`T*("`O+PT*("`O+R!C;VYN96-T<R!T;R!S97)V97(L(&UA8VAI
M;F4@;F%M92!I<R!C;VUM86YD(&QI;F4@<&%R86UE=&5R#0H@("\O#0H@('L-
M"B`@("`@("`@4')O=FED97(@<W5N2D-%(#T@;F5W(&-O;2YS=6XN8W)Y<'1O
M+G!R;W9I9&5R+E-U;DI#12@I.PT*("`@("`@("!396-U<FET>2YA9&10<F]V
M:61E<BAS=6Y*0T4I.PT*"0T*#0H)4V]C:V5T(',@/2!N=6QL.R`@("`@("\O
M;F5W('-O8VME="!F;W(@8V]M;75N:6-A=&EO;@T*"71R>2![#0H@("`@("`@
M(`ES(#T@;F5W(%-O8VME="@@87)G<ULP72P@3U524$]25"`I.PT*#0H)"2\O
M($5N8V]D:6YG(&%N9"!$96-O9&EN9R!D979I8V5S+BXN#0H@("`@("`@(`E3
M=')I;F<@<&%S<W=O<F0[#0H)("`@("`@("!#:7!H97(@9&5#:7!H97([#0H)
M"4-I<&AE<B!E;D-I<&AE<CL-"@D@("`@("`@($1%4TME>5-P96,@9&5S2V5Y
M.PT*("`@("`@("`)4V5C<F5T2V5Y1F%C=&]R>2!K97E&86-T;W)Y.PT*"2`@
M("`@("`@1&%T84EN<'5T4W1R96%M(&EN<'5T(#T@;F5W($1A=&%);G!U=%-T
M<F5A;2@@4WES=&5M+FEN("D[#0H)"4EN<'5T4W1R96%M('-O8VME=%]I;B`]
M(&YE=R!$871A26YP=713=')E86TH(',N9V5T26YP=713=')E86TH*2`I.PT*
M"0E/=71P=713=')E86T@<V]C:V5T7V]U="`](&YE=R!$871A3W5T<'5T4W1R
M96%M*"!S+F=E=$]U='!U=%-T<F5A;2@I("D[#0H-"@D@("`@("`@('1R>2![
M('1R>7L-"B`@("`@("`@"2`@("`@("`@9&5#:7!H97(@/2!#:7!H97(N9V5T
M26YS=&%N8V4H(D1%4R(I.PT*"0D)96Y#:7!H97(@/2!#:7!H97(N9V5T26YS
M=&%N8V4H(D1%4R(I.PT*"2`@("`@("`@=')Y('L@=')Y('L@=')Y>PT*#0H@
M("`@("`@(`T*("`@("`@("`@("`@("`@("`@("`@("`@4WES=&5M+F]U="YP
M<FEN=&QN*")0;&5A<V4@96YT97(@=&AE('!A<W-W;W)D*#@M8VAA<BDZ(BD[
M#0H@("`@("`@("`@("`@("`@("`@("`@("!P87-S=V]R9"`](&EN<'5T+G)E
M861,:6YE*"D[#0H-"B`@("`@("`@("`@("`@("`@("`@("`@(&1E<TME>2`]
M(&YE=R!$15-+97E3<&5C*'!A<W-W;W)D+F=E=$)Y=&5S*"DI.PT*("`@("`@
M("`@("`@("`@("`@("`@("`@:V5Y1F%C=&]R>2`](%-E8W)E=$ME>49A8W1O
M<GDN9V5T26YS=&%N8V4H(D1%4R(I.PT*("`@("`@("`@("`@("`@("`@("`@
M("`@4V5C<F5T2V5Y('-E8W)E=$ME>2`](&ME>49A8W1O<GDN9V5N97)A=&53
M96-R970H9&5S2V5Y*3L-"@T*("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@#0H)"2`@("`@("`@+R\@<V5C<F5T2V5Y
M(&ES(&YO=R!T:&4@:V5Y(&9O<B!E;F-R>7!T:6]N(&%N9"!D96-R>7!T:6]N
M#0H)#0H-"@D)"61E0VEP:&5R+FEN:70H($-I<&AE<BY$14-265!47TU/1$4L
M('-E8W)E=$ME>2`I.PT*"0D)96Y#:7!H97(N:6YI="@@0VEP:&5R+D5.0U)9
M4%1?34]$12P@<V5C<F5T2V5Y("D[#0H-"B`-"@D@("`@("`@(%-T<FEN9R!L
M:6YE.PT*(`D)8GET95M=(&-L96%R=&5X=#L-"@D)8GET95M=(&-I<&AE<G1E
M>'0@/2!N97<@8GET95L@,38@73L-"@D):6YT(&QE;B`](#$[#0H)+R\M+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM#0H)"71R>7L@=')Y>PT*
M"0D@("`@("`@(`EW:&EL92@@;&5N("$]("TQ("D@("`@("`@("`@("`@("`@
M("`@("`@(`T*("`@("`@("`@(`D)"7L)#0H)"2`@("`@("`@"2\O($].3%D@
M1T]/1"!&3U(@3TY%($)95$4@4$52(%)%040A#0H)("`@(`D)"0E3>7-T96TN
M;W5T+G!R:6YT;&XH(E!L96%S92!E;G1E<B`X+6-H87(@<W1R:6YG<R$B*3L)
M"0D@("`)("`@(`T*"0D)"0EL96X@/2!S;V-K971?:6XN<F5A9"`H(&-I<&AE
M<G1E>'0@*3L)"0D)"0T*"0D)"0EC;&5A<G1E>'0@/2!D94-I<&AE<BYD;T9I
M;F%L*"!C:7!H97)T97AT("D["2`@("`-"@D)"0D)4WES=&5M+F]U="YP<FEN
M=&QN*")397)V97(@4V%I9#HB*R!T;TAE>%-T<FEN9R@@8VQE87)T97AT("D@
M*3L@("`@#0H-"@D)"2`@("`-"@D)"2`@("`)"6QI;F4@/2!I;G!U="YR96%D
M3&EN92@I.PD-"@D)"0D)8VEP:&5R=&5X="`](&5N0VEP:&5R+F1O1FEN86PH
M(&QI;F4N9V5T0GET97,H*2`I.PT*"0D)"0ES;V-K971?;W5T+G=R:71E*"!C
M:7!H97)T97AT("D[#0H-"@D)("`@("`@("`@("`@(`T*"0D)"7T-"@D)?6-A
M=&-H*$)A9%!A9&1I;F=%>&-E<'1I;VX@92D@>R!3>7-T96TN;W5T+G!R:6YT
M;&XH(D)A9"!087-S=V]R9"$A(2(I.WT-"@D)?6-A=&-H*$EL;&5G86Q";&]C
M:U-I>F5%>&-E<'1I;VX@92D@>U-Y<W1E;2YO=70N<')I;G1L;B@B26QL96=A
M;$)L;V-K4VEZ92(I.WT-"@T*"2\O+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+0T*#0H@("`@("`@("`@("`@("`@?6-A=&-H*"!);G9A;&ED
M2V5Y17AC97!T:6]N(&4I('L-"B`@("`@("`@("`@("`@("`@("`@("`@(%-Y
M<W1E;2YO=70N<')I;G1L;B@B26YV86QI9$ME>45X8V5P=&EO;B(I.WT-"B`@
M("`@("`@("`@('UC871C:"A.;U-U8VA!;&=O<FET:&U%>&-E<'1I;VX@92E[
M#0H@("`@("`@("`@("`@("`@4WES=&5M+F]U="YP<FEN=&QN*").;U-U8VA!
M;&=O<FET:&U%>&-E<'1I;VXB*3M]#0H@("`@("`@('UC871C:"A);G9A;&ED
M2V5Y4W!E8T5X8V5P=&EO;B!E*2![#0H@("`@("`@("`@("`@(%-Y<W1E;2YO
M=70N<')I;G1L;B@B26YV86QI9$ME>5-P96-%>&-E<'1I;VXB*3M]#0H-"@T*
M("`@("`@("!]8V%T8V@H($YO4W5C:$%L9V]R:71H;45X8V5P=&EO;B!E*2![
M#0H@("`@("`@("`@("`@("`@4WES=&5M+F]U="YP<FEN=&QN*").;U-U8VA!
M;&=O<FET:&U%>&-E<'1I;VXB*3M]#0H@("`@("`@('UC871C:"@@3F]3=6-H
M4&%D9&EN9T5X8V5P=&EO;B!E*2![#0H@("`@("`@("`@("`@("`@4WES=&5M
M+F]U="YP<FEN=&QN*").;U-U8VA0861D:6YG17AC97!T:6]N(BD[?0T*#0H-
M"B`@("!]("!C871C:"`H24]%>&-E<'1I;VX@92D@>PT*("`@("`@("`@("!3
M>7-T96TN;W5T+G!R:6YT;&XH92D[#0H@("`@?0T*("`@("`-"B`@("!F:6YA
M;&QY('L-"B`@("`@("!T<GD@>PT*"0D@("!3>7-T96TN;W5T+G!R:6YT;&XH
M(D=O;V0@0GEE(BD[#0H@("`@("`@("`@("!I9B`H<R`A/2!N=6QL("D@<RYC
M;&]S92@I.R`-"B`@("`@("!](&-A=&-H("A)3T5X8V5P=&EO;B!E("D@>WT[
M#0H@("`@?0T*("!]#0H-"B`@<'5B;&EC('-T871I8R!3=')I;F<@=&](97A3
M=')I;F<H8GET95M=(&)L;V-K*0T*"7L-"B`@("`@("`@"5-T<FEN9T)U9F9E
M<B!B=68@/2!N97<@4W1R:6YG0G5F9F5R*"D[#0H)"6EN="!L96X@/2!B;&]C
M:RYL96YG=&@[#0H)("`@("`@("!F;W(@*&EN="!I(#T@,#L@:2`\(&QE;CL@
M:2LK*2`-"@D)>PT*"0D@("`@("`@(&)Y=&4R:&5X*&)L;V-K6VE=+"!B=68I
M.PT*"0T*"2`@("`@("`@?2`-"@D@("`@("`@(')E='5R;B!B=68N=&]3=')I
M;F<H*3L@("`@#0H)?2`@(`T*"0T*("!P=6)L:6,@<W1A=&EC('9O:60@8GET
M93)H97@H8GET92!A+"!3=')I;F="=69F97(@8G5F*0T*"7L-"@D)8G5F+F%P
?<&5N9"@@*&-H87(I(&$@*3L-"@E]#0I]#0H-"B`-"@``
`
end
--====================987654321_0==_
Content-Type: text/plain; charset="us-ascii"

--====================987654321_0==_--