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%...@#,.ZT\TEF5NFIF,_A_6[H>Z/'f...@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`pb...@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'-...@3t.._)*5N,P&3WCGI=-_T$'_>GH!6C'L<$T^O MQM=GEYX,T#Z>UVK?Z.;<V(!#K7L3QQ0,z...@59=n_31w[]?t8/5*NN2XFF[A MI=ISH(=2=##@"0EX%K!CHH/OFQ,+9Q+P)&m#=...@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]...@.:W*">+RL ML9O`HRNZ<,%KJ7/*^#0#u...@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$&"6...@f&T;T>EG[FBK5)36GZ\W,T.<?Z?T4YX&I[:B-#/%<]4['X\L7 MTS'8-IASBSB430%9(av-.zw...@cj[v/I&&92^R)R!G4%.*/:`?E=+:)3W`, M"+"6FB^3=`=`)UY?>r...@`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\iv...@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!:>co...@[)"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:cb...@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...@u?vuma^^*wioxl['D?6+S40B3]&-*= M)S$F1,@,Z(](+-[35X'SD:($,@CZ-$,2%);&L,JR-`%6&8T&(ZY?2<WJUZ8Z M,r...@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>f...@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...@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@-]?Z,N-S0?% MMGBB`!A)V*$5[&IMEBOLA_W9"05GQ:)/&(6[#nq$...@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...@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.">:1kgdk1de...@?=#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-ob6...@?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],8...@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,,w...@tw.y.7b%]s"JZX*G`PV^/&YF#<ER/R#*KU^_LN.X7A8H meo204c[\89u#...@?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...@_rd`anoejn[[2991d<&UF=$83$TQ0FI.?. M9%AX]/4P<^7B`T,F_6^NIN6FY7QX5=-R(>KRTW)^\]\U+;<of!zlms...@3h M\J[-8Z?N2J3G$E)S60AXMARUFB;9]Y_X*9NJ*P,RJVTQQ'T3+H&RWZ<HF.16 M$H(M)q...@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...@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...@#\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...@d[9`r@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...@9v6#&BBU#.A9IV0C1T9;*=...@^vlf>*6QF% M3I*[>4-E%#W)&bzg_dgh+w1je_5#]hc...@n@+06WHD:UFJ>^...@t[^ji21n6 M2>LC]OD"/MT;KPH*KK:FKE<*(=a\bi...@[ye:R2CLA?6:H6+8"27>\DH-A_ M'IUIV9!#P(*=ge4mm*`0bm...@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...@7)ZA`I#[^S*R-KW330W!RE55`GWYZ80<[9;!/5XPA26C M\6T6V1P655^T_`(SPB!23LD&1,gjpz^6i...@9i73bh@.%)-jc#!...@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%5...@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+$co...@-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...@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...@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/e...@bk</T\RN-^^/"!3...@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]c7...@_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...@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$)c...@bs=/@1u5_v...@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!-...@%q9&'N"A*QX*V+"255B(A5?GOF6./F=DY>F9G M)4%XL\Q.[QS=/3/=W[<]?<0(k...@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...@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*...@?-+]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:y3bi...@u&VR'-&G^<M4 MY$.`-Z\FVY=?!NUJ+S(WZ5*U%_4W<F^U%_.]V['Z(G\F>H'U%S,]\%"`D3DI m...@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$...@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,t...@?hl8e]<-O644KHV00 M!5L=E4\=]#`GNGQ3^:H/$U=KEE5K9%T3":3un...@]i5l^8-"N&/3>$-/G=# M615O<!47"^_,ps=hx...@\[dg3mzske;3...@q01f(>HJ_,%KMLB)(P?HOO1 M(h...@7t7b,D[5-(B/)X.+_&_1P11YT"UCBA`KJ1&_^1#X*/>K-'\;H=Y`DDLFG m...@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*...@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...@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...@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`%e...@3l\luu4n*&WYK: M58S*<[BJO\/=>I>J2G`7A>.A$SCO?HI>.QB'O<ERID.-*<$H_$RA-9#VPF%E M%/"?8CN=<K/1UE(z...@bj2-6yp#!0x[><[CJR`=F:!=-\`ZV#Z=V&&0G3,Q=; MT:^:T62$YCK+<0S.BKD91T-!78GN)U/2&0J)QXM'H^*S>8b...@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 myf...@+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"]...@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($e...@76yr+_wrt1+2skp+"7[1D03T6IDH?!<-HR[ZZ medc_15$%hk-x%r=?r...@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!(s...@t!```` ` end ------------------------------------------------------------------------------ _______________________________________________ libssh2-devel mailing list libssh2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libssh2-devel