Hi all,
I've made it possible to pass a NULL pointer for the publickey parameter
of libssh2_userauth_publickey_fromfile and
libssh2_userauth_hostbased_fromfile functions.
In this case, the functions recompute the public key from the private
key file data.
It's implemented in the following functions:
write_bn()
gen_publickey_from_rsa()
gen_publickey_from_dsa()
gen_publickey_from_rsa_evp()
gen_publickey_from_dsa_evp()
gen_publickey_from_private_keyfile()
I've made the changes in userauth.c file from version 1.0 of libssh2
source code.
At this time, my code support rebuild of the publickey for RSA and DSA
private key files.
The rsa1 (i.e SSH PRIVATE KEY FILE FORMAT 1.1) private key file format
is not yet implemented.
I tested both RSA and DSA keys and it works fine.
I don't pretend the way I coded it is perfect or fully compliant with
the rest of libssh2 code.
I'm new to libssh2 project so maybe I introduced duplicated code because
I'm not aware of all the code already written ...
So well, feel free to send me comments and rewrite it partially or
totally if you think it's necessary.
Regards,
Jean-Louis Charton
begin 644 userauth.c.gz
M'XL("#6QS$D"`W5S97)A=71H+F,`[#UK=]K(DM_Y%1WF;`P$.W;&=^>1<6:Q
MD6W..,`"3FXV-X<C4`.ZD24B"3N>3/:W;U6W6FJ]'V#/[,SXG!"0NJOKW=75
MK=+S%CFSUO>VOERYI#%ODA>'A\?[\/%=FXQ56R47ED%O+)/\Y,"OY7\9^LQQ
M5B\.+'OYJD9:I&,8A'5VB$T=:M]2[0"NXZT1U73'M?79QM4!@&IJ9.-0HIO$
ML3;VG+(K,]U4[7NRL.P;IXV][G1W12R;_6]M7')C:?I"GZL(HTU4FY(UM6]T
MUZ4:6=O6K:Y1#?NY*]6%#PJ@#,.ZT\TEF5NFIF,_A_6[H>Z/'FHD_at_IQ#K(7`
M:FYIT';CN$"0JP*V"%2=6;>4]YS[[#(M5Y_3-C30'6(`.(0B#PKT06?>+4`+
M!IX;JGY#[8-4=&!8B3,"':!7VP"*VV(4(,,!!!@1CU[-FF]NJ.FJ0G3/0206
MW+')C>I26U<-A_<5,N""8WTE2@(*^U1GW;&%J=Y0Q`R_!\BO+$.#!J85-/+&
M@*:J>>^-#^1P\);M`#+W9$91KX`PBU!3_at_ZL`V_:1N[%<2CCC0$=A`!U4E"S@
M!N>28RW<.U0/3^%X1V=-YZAVT%-'9;11X4RN>HXC$3:Y[(W)>'`^>=L9*02^
M#T>#-[VNTB6G[^"F0LX&PW>CWL7EA%P.KKK*:$PZ_2[V/!OT)Z/>Z?5D`-?J
MG3%TKN,]^/>.*/\<CI3QF`Q&I/=Z>-4#>##`J-.?])0QLY->_^SJNMOK7[0)
MP"#]P81<]5[W)M!R,FBSH>,]L>/@G+Q61F>7<*5SVKOJ3=ZQ4<][DSZ.>`Y#
M=LBP,YKTSJZO.B,RO!X-!V.%&3N0V.V-SZXZO==*]P!P@'&)\D;I3\CXLG-U
M%:%X\+:OC("&&+FG"B#;.;U2^'!`<+<W4LXF;0`9?#L#/@*25XS>\5`YZ\%W
M8(T"='5&[]K('0`[5O[[&MK!3=+MO.Y<*&/2"+B#?9,8!'(ZNQXIKQ%W8,GX
M^G0\Z4VN)PJY&`RZ8P_KL3)ZTSM3QB_)U0#%<4ZNQTH;QIETV/``!1@'M^'[
MZ?6XARSDTIDHH]'U<-(;])L@^;?`)$"V`[V[C-V#/B,;^#48O4.XR`\F#8;Q
MVTL%;HV0PXQQ'>3(&!AX-I%:XJC`SXE$+W;N*Q=7O0NE?Z9@@P$">ML;*TV0
M7P]0O$"H./C;#HQ\S<B'-M_at_3T.._)*5N,P&3WCGI=-_T$'_>GH!6C'L<$T^O
MQM=GEYX,T#Z>UVK?Z.;<V(!#K7L3QQ0,ZO9_at_59=N_31W[]?T8/5*NN2XFF[A
MI=ISH(=2=##@"0EX%K!CHH/OFQ,+9Q+P)&M#==D$@D-^HR\TNB"7G3?*=/QN
M/+WN#::7,N1[Y_F&P_X&W(6^J-5J#OJY.=F8CKXT8:3Y2K5;S.CI=&8V(M=G
MFP7(*/L/G!0XW]/>1?_Z-?B3F9G;0S==^>?,G,[N7>HT:U]8SP@.:W*">+RL
ML9O`HRNZ<,%KJ7/*^#0#UNB__at_E-;Z?,5N#:8I<%-"C<VH^#]#Y!;V'M-GIV0
M8P]4"R$?OF3?3_M`_0N8AQJ`/S8C1TU^1U^0QI-&J\&OD:?D\//WA\TF^2*H
MO*$W-R"CQMKKUR;[^SY)',97]BG48N5:YN;;%P!QGQRW`_)?,NJ&%G"3R4-0
MQK!G$&"6WM_at_F&T;T>EG[FBK5)36GZ\W,T.<?Z?T4YX&I[:B-#/%<]4['X\L7
MTS'8-IASBSB430%9(AV-.ZW0!1_at_CJ[V/I&&92^R)R!G4%.*/:`?E=+:)3W`,
M"+"6FB^3=`=`)UY?>RK@`0<]``4P-S?\9P,HV']%FRA-WMW,:&=Z[81Z_D*]
M2`9FW#H(?!]:U:$)A7^FKXF`,4`[AFO?P3_\7^#"?_G4LM9`![06TH'99W#6
M$*)!4)*NLJ8GI']]=24IJ:<Y>%6HI,!W:%MS`,7&H":$A!`K209SPIF8K,%M
M\IVGMD_at_U\VU14_-,9+Z^Q^8^0UC/H.%WW@@XGN^,H#V71%LPQ^^2T,KT5:0I
M#-S3+&C=""E,D]D>W/7@>=QAA)8R)VWWYM2-FI.V4W-:"W/Z)+XLQ9>/#V!@
MZV3#T5!@:\G`/F6T^R2U6V:T6TKM/F:-NYE-4?8Y9JLY#IHM.MM/\&^)WWG/
M#"->AXSX4^C7,O3KXY_8P)%U!0V<2Z0M&)=BX%P/?*7-:K7T-3JKE2=)7^EW
MY3+0VI*GW2F]7<=\16$'$3:O%G(<EG!:>COA#7@[)"D?)B`-&&NJJ^;##=HF
MPE;>#*?#7Y1WOBM;?Q0.*1(O`&O(B:2W!1V,1Q<$ALF]N=ORI.D)=RK46Z.S
MS;*1Y8R%8+JG%]/.]>0RL5']S+I9P]H?1N+R9B;&UMM`)*ZG;U4(X[C=W4(@
MNJX+/>-4"RY-E]0]FD*?!K`IL'36*&;I:(P=Q]G<8)KGQK+OB6H8%L\:$6K;
MEGUP<`#1L.H2:CB8==@8&M%=C(I_%L:+KM1R+3*=LLY3UB_D.$(,3G%,PC=X
MD[KO&A!YN7^,AIRQN3=,"5_]T3'.)$_%=)?G(-.'])021J`4>2YDY#FU@)#$
M\*7%[_M*<2)Q+M2"N17>XCOO1F!$W_at_U?VUMA^^*WIOXL['D?6+S40B3]&-*=
M)S$F1,@,Z(](+-[35X'SD:($,@CZ-$,2%);&L,JR-`%6&8T&(ZY?2<WJUZ8Z
M,R_at_FOCQM][4?UX"RJ2'/0#Z'84>]?U3$3VM_^VG?3T<"4>U/Z:>[.7Y:2_#3
MW:B?UOX_^6F(S1[>3VNRG]9VZ*>[PH%I^7XZ'(7^0?VTENBG(V3^[:<C^N7!
MP1!^H1OTK^.O>;*5NU;NKSDG<"V3WU9UG/7*5AT:3PXX+A?#>>]*X<T7:WXE
MF"+6'Q_?0<L:@Z+^D?P'6'42D(`3PC$L<.FWL-84UGT!FTC=KDM>"!O%K:BP
M7<1M`SF8UE(R#T0K1IUD#Q&;D&QV_1'(&BJOIS95M>F0_at_X#E.9#29H2(S\:M
MI6NMIB1V#F<Q-RR'0G/!*.0#0GT\/KRU<=X/,,-M<-V\50U=>[XQ;3JWEJ;^
M*]A%/0U"E'4L>:.ZA3CHW.GN?(4T[[_"G(:@>(Z8^),]KN%^]"&!*9V46=H3
M$G&^;=EGR#XA:O/$#R[8[@A(6=A=&+]N(?RT1\1/HPMU8[A1K`3W']:PG,UZ
M;=G\K$01U?`0E]3"YRR;>GTJ/1U"#XDS$\117[Y\P7UVL&)!SL:AMKIQ5U,\
MB8!;A%=X(@&O4-/UCG1X_&4;_6]QF^I>IQ#Q.9LYIN<6&P,F@:5NHC763<ND
M=;)2U^`E''07$!3BA'K'W,>"G1O0'3P,P+;_^Q8,!@[_!H^O_at_-]?Z,N-S0?%
MMGBB`!A)V*$5[&IMEBOLA_W9"05GQ:)/&(6[#NQ$S`T_at_Z>(Y`%-%ON)9!W:.
MXGG-#S2'/3;#D%8MD16-R$Q,@JE8FI](2R"2)E]_GL092S26T]Q>O,!AAF9@
M/$QBW$_QK(OS_ML/Y,0?X_at_LR9?IZ?#&]'BLCG)VFX^NS,\"T';]SWNE=7>,6
M\2'Y^E*D5M<J&)H[11_2.,*$LHQ:XQBO(,_U>7"AYEL?N]XX.FZR:!4P-^D<
M1899Y\`4.13^&[Y[FN$%\.%EE*=?T^1D/6EYJ7UDH3V77+\GD?U7(=%-D:44
M)P4AV?XIOS;5-8-&5CK_0VV+G66Y6UDXP:UP,L=#3<%"!@-!A[J-IRGC><RT
MZ:>-;M-;/A;P.Z83N"EJ+1IEP#3%5"<YOFA'*8B7Q0C<__9([@WW,R!(^B6[
ML,B*+`<%R4VQ_>>,YK(<TAULT?B]8!P?0B/B5Q-W(R0ORY9-#>?9LR8P,F9F
M(SSA,I[$)PRQ)>&TP_;_4A),L"$A.">:1KGDK1DE8*E@?=#R_42J$E`%ZTY'
M,$`BZ@&2.AX=O\P<JN!(S'\DM\XS$,\AQ/W!'*92F"!"DVDEQ^(!DJ5ESZ41
M/=MFVSF%C"GW+$J^.XC8(N(#X7?G[!=E,E4Z%YU>OY()\JZ9-OB6S\E@?A\)
MNC/JL"620).4,CZ>9.(45$)X/&`DCY5^MZ#G<"@_!\NPW4?%$V0D8)V<M\AR
M?!$3S7+)$694T7&<\PHYN5T05(28RM8*8G&W-U6$DF>G_AQ,/TO;-D$X5L0Z
M^=_3+6T\'PI?VAP6!\8#Y<,JHQ?N4B2R^=L],83[@SX$Y_6^Q7/K"0,_F,6'
M!)"A8N\//Z!PTA8=4;(AJGYKW;4QHM[3;JFW;'-QUT`*JG?(H-_-!7,1_!;L
M7XPGG8G"\H5XVOD,?G0?6Y;28DH":+K6BL5;&:3RLZ/RXJAKX>,*-'AP0VP(
M0;CC$`O6Y(:Z?A)9*K%#I5ENCV0C\8^8\4HD%9MKWDL]0'7)WK\.]X*.*5G@
M>,J7U(?^<RS,,WA_at_TW.Y.7B%]S"JZX*G`PV^/&YF#<ER/R#*KU^_LN.X7A8H
MEO204C[\89U#]`H@?7)/0PDA?A>"HOU?<>FL.[#0PH3N?:Q1.-L"J_=:]JCI
M.1>1+!$9K;#]/<TVOV+T8TKWSK(9<4,#GRFRC#V>V"I&B@"`,<..DD=Y.:0P
M-(%`&6@^TDE[-LDYS6%G/'[;G>+#*1<*K'JGY]?]LT:##Z]-`1=S"0NB6;.9
M>"[>S^843'P=;YWX\GO'6D1)@9F%VV?A?-,:27[$?!,;;_M\4SJ89G@&"""V
MR/$A.*7R>4,BPZB4//R^61=Z6@_RD`ANOEJN[[2991D<&UF=$83$TQ0FI.?.
M9%AX]/4P<^7B`T,F_6^NIN6FY7QX5=-R(>KRTW)^\]\U+;<OF!ZLMS.`I_at_3H
M\J[-8Z?N2J3G$E)S60AXMARUFB;9]Y_X*9NJ*P,RJVTQQ'T3+H&RWZ<HF.16
M$H(M)Q8._at_EID4R![@D)X^S-Q9E?YGH1`X>@TS3+J'0A8;]9L38L[?6QO;N/H
MWKXU,Z_P!E^]F>_;=I!#S9DL=Y5#]5U9M1QJEN,LD*3PG%"HS1\IFQGWL)67
MT\&<D;?&E6:S0AG-;(U+71.'/?\NR"E"2F7+B>0S?7]@4V<-43'],3"F\M;$
MTIP^:K_]1JJ!.-H!C!?R4Z?5?$,T:?OPB=N4M&LIYU(,4H&U5S3P:9=/XE9,
MY(:2N1G+AK`]%O25^?XRUV?NQG^D^)!(!)FCO14RI3N9[WV7/TR>W:6#.O5F
MG.YMO7T5C[]E$G7G0C_,E'G*4":]6]^5F=!8!V^Q*:\FJ\X=1ZFY_'P5#7,B
M=[W:#+7/F`F\)?!)C-/Y0T2-(V>176:-O=TT>M0$BF,$[6(NW'I./$J"ME.O
M$O8L/+M'/.>O)?F37?F4JG[E:R)W8]G)%+[M7A+B`+L\>J/`\_0%(PCF5'8%
MIV0H$L!29XYKJW,W18YYB2<V>!8#2Y_`S3^5R]S%8-2=*O\<]D9*MPRDP"#H
MYS4:0IN5[9JKAC&#\(@L5-T`ZR@#\C"#=1GA2<:T%=F2G:F./B=^OO,9\24>
MR9267"*3DUI>\)B153V6$[K%!_=Q?YE.<[G$:IJRA!.M)01:/+-0QE*24K3%
M#*5LRG;;%.Z^-%?D97++&D/B_%+;5C3<"[VLK(^I4]+N[+A$$CM-*_*3VG%#
M"B<Z26Q[OM29U)SSJ64(*)C!KDY0+&F>IV3;8%0PQUZ"+ZG)\BTX4B8GGTEF
M:HX^IO3HR0\_'V:83#B'7X!#*8GYZGS)S?DG_at_D[9`R_at_BXIR)<2=$;15S;HOA
M-E-_A=7TBV1T4IQQY77"BZS9.W^_HU3B+C<0V0I<A;Z50J&"B<1R2<52"<:'
MVJ0IO6GSZ#%5A37[-FOWOU*,]QARV$8&I?#(8VLAEF:L7M/9W2+72T.G#CL9
MAU6H61T.>DOM`T).#7Q&5'>Q#"VK\IT.174^]LG)*Y':NB4W^I(_B7J0T>WY
M3J>@=/XQHF(;A&DS5O85S]W%W5PAUU8V;1*D2A0Y56):0;;$*^1=(&%RV'SY
MV+L_X6]!<4+O=*%0@:I66]1"JU,9KD^2?A(6'SCGE1G\!_'Y&P)4C:BQ\A:J
M271M^O///Q_`'>*X]_AT-T!@9V6#&BBU#.A9IV0C1T9;*=5-D@^VLF>*6QF%
M3I*[>4-E%#W)&BZG_DGH+W1JE_5#]HCCLE_at_N@+06WHD:UFJ>^%_at_T[^JI21N6
M2>LC]OD"/MT;KPH*KK:FKE<*(=A\BIT$A@[YE:R2CLA?6:H6+8"27>\DH-A_
M'IUIV9!#P(*=GE4MM*`0BM\K6_at_CER4++K_RQ3:V3,&%YA3KP\VZ%U1L`,USH
M(GI/GY(&QO:+)77G>*6))9#V_F7OX:TY_V'N!=ML@;QP92M(%?`B9XKQ.+&A
M>BJESEUJDSO5(<K_at_7)ZA`I#[^S*R-KW330W!RE55`GWYZ80<[9;!/5XPA26C
M\6T6V1P655^T_`(SPB!23LD&1,GJPZ^6IC`S_at_9I73BH@.%)-JC#!ODJ_at_4_7$
MU<8B[@&1;8*J!ZHET?U`AH)(Q.:(!%DF3Y.>!"IP(-I01(KH4?`Y).+:JFZ@
M>P*3="DKOE^30S?/4B5U!WO4'=;0N_I>NKE/CCXTFRDF%56IZ_at_PG]=?X"I.P
M5^6:4LN/C`HR.=F&^#;Y^HC5F;N9KVQ?M_;(7LB$FL7K+B73*-S`8]+H><RW
M*G_FD[V;@E>W7E$;%,'ZJ`*I8*CLH3?^\HIF6RC5;./"A&K.<4VQAV_O^4B-
M>Z_*#=;>T:`]>Q?/_1V"$=WNZ)YAD'_C"X)4+&W%'#;]#+K)>CUG+L+?0<3U
MBHH.?"645)0`%)8<+_MW0E!D^_Y]/O6OC_RTJ"?6%X%86;00D2E`D*`F2SBH
M#ND_%:B+$COX--_at_-U]PV8Q9KPGB%C`T]C\%P\3SV,PF'F#8*E9JI#OW/8XA(
M\"1?+7H,HRV>AFO!;`O!3)M]<C<8/">'-./(^_BU^3"SFM#C-GMZCF/-ZY?C
M"F=G6BP7=SPA?KP7+^P8CNR"$T]%5P-^!3II.3!47_at_N2PE6K0FN#<NL"?YR,
MA4'V^I#'U:+WY6`\P:)8KY7)Y:`+BD%6EN.BEA5931!FJ*V6Z"-..!1"(1*H
MBSIE&&<779:$%PG`&S_ZC3[S%ZZ,F,.#,`N<J7H+\Z.T%>[O-(3;-9I;+`Q*
M54(,+PTB^(:6Q#'1A.YZ$WL*P1B/)]]J[K^*UMUAOC.UM6[J+IA#B!X`#RB9
M\YMU(WL8]$V2.)LD1S4EYXR^^3":K8[S*WGX<)9#JB_at_73GHD]A4+DB`&?1(9
MI+1?Y>K)G_1/<Z]]B\"$K!FPN&%OF1))(UF_"A513!)G4]K.\`0J^6/9^AH1
MVVY*Q2#CN$=5M/E0`3_at_BK</T\RN-^^/"!3H+S_at_U^"@JIP_E-8Q4;F2NGG]E+
MZ*3'NKU'CU3$9ZWJ*+V-J8F7&*(1:`Q#I]ACUHEC5IXQDMUMP>>R$W)!L2>T
MJPSO9\BJ]4XOK%NH>X8V%^B.XJG..M&[,NMPJ6U,MY-?&,;O7*NQP#/HR+02
MSZ!G!PB>K[-F_PZ<16+:D4>X+;B3T)"E1,.!:%HK^!Z^S>,NX3#3L)AM%N__
M\4%Z4$M^Z2"."?^_/_X0+F>RW;/WC,_;/WN?#B;T[+V7A...(*E>>G1YE)1A
MSSI4G6P<:71GQ279?=)M^:FL24^+)-!]RIH9CQ+E[>'@7\(.V'-\RS)6\Z99
MM;QC)8Q0!!4*O?]Q)9'7($,Z.3./M%BI*+ZTRA3?8RJA<&F*\,6$\A13;)%2
MHP*9&JE3(4,(;C=^:-;]8"6IND68I7%DXO,0M*DE[3UG.YGX&>W(F>Q<I8$V
M\LP<.;(=QS-&')[T_CZUL,@0O)9(D@>O1U5-5F`*$V(`8>FNVF+YP]]-K2Y5
M75;$EO_F;)PG5-`EVA;O5K7,/?9Z$JPG;:CVDM625DVO]:_LW(`,":_[!LUW
M*5R'&HLRW$\^?BX)IE!ECUJ98RI1J?,7]C7RSM@_PL&O])-@$55K9@#GI$14
MJYE?VT1B2]3O%-VVE[#,?=A=:IMXR":W3$F*/E6N7I("+[TR29I")]>[R`5?
M::"BE5%21P\7(MX127GUCC.&R2Z#G#KB#P]!13`O%1__at_ARKHUTHZ+\D1[)[L
M<@'5KC#,A5-)+2).</?,2G^/1L'!HLN_"D3*0<<#D.CG*JH,)'>I1%Q"FF'W
M)$;R(=4'C7>,K%6S-XZDOV":?1HD&^"'O\%2RD[S%SSRLB1K"?)[A`*EQO0B
MF$)CB_at_BS=/@1U5_V5KJ_at_5`/_,M6C#E!D7`X_'.C6+=NJA<']-]0E-/%>01V_
M?Q0"D3!T:A=O(SP9V7BO%\D#)3$RM7-DR+1(/)K7\?4>L(3%RJUD$_";?W+E
M_;8MAI1,Y"^KNU'F::YE)Z42HFTD_J8\J?ZUA(T4P:(<!M%2W%SZY%5TYHT,
M$DG,XFGZB+IZB:TQ?TM2JZ^\448M[_5,[(3&P<'!'36,@P-8'KMX<-!1%_[1
M%]N^CZ:[_#&D4W8C);<:I238=JF%:X$PS&_)N=;$=X8*PH>_X.698<V2\G9/
M?&J:58_#%WJ,NG[.Z@'X[U'%[3!-TW$%H1I2RL-_WL>/S[VL5J6#\2D&JB^W
M*`*4;LS5#'HWSJN:`RN4<RQ"5H+=?:T52`^5&.19J3EF^^79<<&TH&QWA:/7
MOY>1#[.,W(U!%3.D"@N>TGI27"(8,Y4#']MVS/*6#U.;-7#RI:JQRMN]VU1C
MS=DVWE4U5GGFKU2/U9/9?O7.L?GJ3U+*-5"@[6NY[C)*+ZNS#U3/-9FD8N14
MMK^"[ZC*,;YHN=/PD8GXD8I'?X<5P[_D.ZSDEU4][DNH,HY</*93>""[R*FL
MZXNJ9&W2G500K%^F3'(914GQ\0R*KQ@"`;(]W3NZ=XO'&O^OO2MK:N,(PL_F
M5ZQY,1*6D0BFXJCR8!-PJ8@%Q9&'N"A*QX*V+"255B(A5?GOF6./F=DY>F9G
M)4%XL\Q.[QS=/3/=W[<]?<0(K44!@F'E$$#?J\Z>K+[\DZ,*--M*9O(5+K#,
M0%C0+TQ$(%68,=:2K<%,B?'H1U)AV9+-+,XH="9A3//K+[]WCC`X[;K[Q_%%
MYZ0C9YMGQ(LL[T\!PLO9;$SPP=E4D/+0_=XP2R[N,=,TF#[T<;UHU6>>FOHQ
M>F1BYQ1O#E.T&GRM])VO^-H*\+6%\D_at_2U*2$K+W:"DFGMV>G#F61^N.!!215
M"3#U"=\D??)0.DDI9D/AFZ3#EJ!!IDWEH,'_-Z1STU=G;9#.CVN%=`9J3&>F
M%=M)[#.:#,;+83A$7<2%A;#`\;T&(IJKE16DDW4\#I!.06DD$$U.WL''2N":
M^#PO`BW=X)KXW])9M8=KTMU*_K7@?-+]PS7%%7T.<$U!C:J`:S+3XIKG9GII
MKDV4/VN1Y\Y'52N+[J3JYP_=2>59@"X3_0<&W47Q3B]R1G>F;S?`+MV&9(WN
MS%]CB>Y,W_BIBE'D.Q3\!9_T=:SP<WVUAXS;[#F].UV02'5$Z5W)G?RO:#$*
MZCC84$\V=M8KFPRCZ3*]6Y:^&)B4<UL6N[.?KQX:Y3BIK04_at_U&VR'-&G^<M4
MY$.`-Z\FVY=?!NUJ+S(WZ5*U%_4W<F^U%_.]V['Z(G\F>H'U%S,]\%"`D3DI
M_at_8XYFJ3=.HY6MNINFQ"QE0],WAEL24S>V1.N/5.@%6$V#74[0T>L+\-()MDR
MPZB1DB8>P<)6FJ#4!!57Z0!?_4Z5B=A,%]>2B#VG7UH3LK"S>?A`CN?C)VU&
MEA==#[ZBF1V%XQD)T:!>I/E#\KTWDFG$J=L_at_3]R)`IAX+-HB2?X.3SZ.ZN`)
M$Q[?<U<96'WB],GR*OH2S,)'7MO1HIH^#2K);]6*:0$/.?)7;:Q6&ZTQ`A?'
M1V=?NYT_CPT'\S3W3S\W?<JG_H.(@@DDI_*J=PW,TP@?HL8E]<-O644KHV00
M!5L=E4\=]#`GNGQ3^:H/$U=KEE5K9%T3":3UN%YY@]I5L^8-"N&/3>$-/G=#
M615O<!47"^_,PS=HX]EZ@\[DG3MZSKE;3DC^@Q01F(>HJ_,%KMLB)(P?HOO1
M(H_at_7T7B,D[5-(B/)X.+_&_1P11YT"UCBA`KJ1&_^1#X*/>K-'\;H=Y`DDLFG
MMS__at_YGLOG`;)AD>M$L*`?,`+I$'FL=(-HT&J?9.;?_+CB]W\L1^_58),R4^.
M+9DR!6]8O&07LO$"DJ'63#A36O(`B-R!LBZYW-MK^K2:]*D?^X79K4.JUEI/
MX"L"95TRT[E^UJ4J#QLT&L%LA,_T^Z52LCC[T_*31&IM2#K6E7PIWR5?\[C/
M,2;@9TBPX92RO?VV0(<B%`8:X"7)372XIW2AY"3,4BGV;QBH474IS_+I3DBJ
MDZ8P0>*:MF\%/0Y/;P)\@MH?*'U!.5-0%X_PD]HKOZN=J[8R>2;/BE=9=<"Y
M9,[)R](VV^MC3HKS!IVSE\6<A"Z:-7,2=:L_[<V'M]%D$>*05_08*HF3_at_Q%:
MX1#M#(VTL+)@4##FI.R=?KB3)=F3/OB3N69G/NWTRV^=[M7MQ?'E^5GW\OCV
MY+I[M+-33^?P-JWO7*L5F(X)`$G")P26V,"<1QW74<UHS$IL%/[2Z9Z<I7A[
M@?+(UP?I3>Z7O?OP=M%C;C/<(Y&6'?GCJ3^T8$<J!)!_$6J-TJ=*&D03"A/#
MVP2PW62)N6]3='^*<SJJZ3UWO6B,_<FO0<O8(!<.ZD^J8''QP%B:)$K[4YHD
MJA93T]\MV88T1]2BP\(U*A4:G:BL&-FE82*.%X8%)84:D^,9Y6;M="[/&JWF
MX<%A<'UUTOCY?="+@V%X%U%]#KY?G!PU?CK<_W13D[^E=2!$VO.W)/R[Y$77
MEXW/ET>=CD+.?E,I9SMUKPW&O6X;)7(">8FI'0?(CH,=V8B;AX<W]G+C93^I
MEU:8V((PLS(D)X`81#\S:U2!?N5T>3:&^PWUCV5K*>+B=>*;=J2K>'=7RZUB
M_4=N%<Q2%<)M:M*3(HH&X4MIB%%[==Z0]'U+_))(9ZKA\L6_at_OA:)4#8B=<_R
M8U(8-6QTTK868Y2V=Q%O;L&/FG,\^K$V)4/AE"+W-24$>0VP0FP;L`EZX+P8
MSEF^."^9FW8+L>H=]/.-E$KUH'RL-)MM8Z24W3XA<5*]VE44)Y4-!S(49_,I
M<%S0?KS3;HOU;JVM262]5$\:4<1!K<P1)LGRIDP"JO8$$D<2"1=IU5P\BH_at_H
M@&\Q^Q>CC_%C;%I\06%DFK6T)%]X(V`0%WEJWALU-`P?;M+%59;D!GA7@&85
MZZ_@"FS$G*_`:I(+1CA/MVAT#S[__*TQCGZ$.!J'_A)3_<1A5ZZ74B!K/KI=
M[OA;N"U+`Q"%>[(I!I8$2](IF2RF(W+P%0\)PFT`%EY3*@3L\LUU4N*&WYK:
M58S*<[BJO\/=>I>J2G`7A>.A$SCO?HI>.QB'O<ERID.-*<$H_$RA-9#VPF%E
M%/"?8CN=<K/1UE(ZS_at_BJ2-6YP#!0X[><[CJR`=F:!=-\`ZV#Z=V&&0G3,Q=;
MT:^:T62$YCK+<0S.BKD91T-!78GN)U/2&0J)QXM'H^*S>8BU8%_at_P7U(FK9`;
M*LB=+%(,^?*AD:8^8*Z`S\1`!P:1G$GU9/DT(J9*&9Y?G'T[OT*+Y^9`F&FP
M\!MIBXUS%^G<]^;SWE/5#@+GO?03I+JSEEE3T$)"])3)_:U$4]/D]HIU-1OF
MYFEKO@+KUM>L)XX::UA;>YW%D;2(I,B#"'_RURRA'>SN1K(UYO9"^O#WUHWY
M#&EV\=^CFP_T`YV`+42U/\)>LPC_7DCLU-E6;08G&0A@<TA[+5L2OZ97;K-`
MC\4Q.F9L0UXCLT"]%18MT7R\%&90=;HLN8:Z(V:AO6">B5WUIU,\9O0C'(RF
MV*J<;`@W1A:$<\O:P$H!#F6^Q):X5D%Q7=`[@K\;WOO2^Z>CA'*M\TUF"QJY
M9UBV%7S'YU2W*0>IDN4<WFCR./T1#K>!!ZP"]B_at_PXH\2W!S=3&7&A!$SVEM0
M?J:0M%[1)IOVH?0VR]!WY7N?G.7':QOKQ#3.Q0XSY`DWI,8.;<[IM`QA6'<Z
MY7[68QFJB#,'X48N[A4R=(OM/4)ZS?=H)?`^2K37XCR9(W,@XLD98\O1ESL?
M,3S9)X0\*$ASSLFW($EYOQ_at_76YR+_WRT1+2SKP+"7[1D03T6IDH?!<-HR[ZZ
MEDC_15$%HK-X%R=?R4AZ_at_KTT05Z3[0=_T^-]T`_I5T"6D]2%#X/9E,Q"S)78
MP-23:(R_#M%_"OX)Y],PYJHWK!Y8H[$X12C1H].U&J5X>76_JTL2T?]:>B-E
MZ*KJV=DJ=;RWG[Q"4_CTN:QNS9E&8?6V?/G*\#`T^L%Z'G.!3"^8/"]8.8YW
*]A\GS!(SD_at_T!````
`
end
------------------------------------------------------------------------------
_______________________________________________
libssh2-devel mailing list
libssh2-devel_at_lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libssh2-devel
Received on 2009-03-27