From 79c357576ca40c30586cf6357a3d9914b205bada Mon Sep 17 00:00:00 2001 From: Balint Kovacs Date: Wed, 20 Apr 2011 21:45:56 +0200 Subject: [PATCH] Implemented file chooser for picking the PKCS12 file for the tunnel Signed-off-by: Balint Kovacs --- bin/SSLDroid.apk | Bin 34413 -> 34214 bytes bin/classes.dex | Bin 24716 -> 26880 bytes bin/resources.ap_ | Bin 20410 -> 19245 bytes res/layout/tunnel_details.xml | 2 +- res/values/strings.xml | 2 + .../blint/ssldroid/SSLDroidTunnelDetails.java | 67 +++++++++++++++++- 6 files changed, 68 insertions(+), 3 deletions(-) diff --git a/bin/SSLDroid.apk b/bin/SSLDroid.apk index 780ed46a715ea14a1893401646a8a7b00012392e..f5083fee1f1a83c4840ca36cba3933b817e1efd3 100644 GIT binary patch delta 18688 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 delta 18799 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%0AvM$!XAu8YMpCd{!GqF-@-B! z@^v*?a(1#3Fw6+Jx2?>LNk*p@>UAc0Yd^&*?TmeNga6~aaQw4Y0+91)|J!-KUnqd& zF(vfx7$H+}B7whkAcFkL%CA+$svQm55L1<;L=i6=ghk?#P|L>sQlt6(5Q%$(rLj{` zwnt&>XtC+Nq13tqe0^pUSs{%=WZs;fj0Q7gN;~W8p1hJj9v67q z(mrWuY${s;N7!vKMmR(H+^5}?-|j;{#j0wjI$T66ZTc9{TL#Ue3akF8hHETzg4LvY zu2JEqnreeT@DD%JcO_|u^c4B9{cK_NOn>RUUnhPY;<6o47Cz-(py@nm zT2Q_91{cR3r1Ktfc6Vf|MNX;1AO`?!Z*D3iTR3)H z9i6s!`pNIv1X}l8K}SZNDQ+>;6gl zCJ(=;*Q1r5$vGAYZTKGe20WRxHD{VViX+?kzN-9Yib>kATm8Fmc;}wNvP7>_obadN zg2x%Q%qcs@cWCBfQ+(?xc;)ugbt5x_0By85Q#-c}?@g<{mi5l7%2x~VE$TeMrM7F) zO0nmpL^XE-0iZav2`Z3qd zx|>(T6NpcnX*u_zLzs&fZjbS4&(K;u+f_YA@I&lz`qqW2Uh`MnsEzNA@QYh%3;0gA zj!dU^j3sKq@i{=ytGzJ*=W{^#?jBX^aB8*wPh~vG;BV#ByU=4cC8Bgm{5K^l-DYRL z4IW2RO!JuB$#HqkbjA@!o}KCjp?tu;|2xRBBtDmRg9i9lr2qNxL-_ZinoBf^Kl*8f zunx2;`3L0xxxBV>aWpbV$05g zBB&q}2@nw={+W#DLEM8t23@~Ufe-?r4MHD;Er>7>1t8i%EP}WNK?5pXB9Vx^5*$5I zkODigkm@ryAt*$ictM`Pf(s@AW&&mn+U&r-fT@A@j-aqH7%eFF1GLG2iGVbAU=|>q zIG77ak|g?4U=yQ&(o8@pt{{yODD(wP7-VG&=KQa(!0^tfG2t*o)b`bw~urwez zLCAox1rY+G0K`AuS_W|q;xot#|9DFZgdqf|K|!EE7Kne`GzsDi1PsVcpFvQ7PynF| z!Wl#y2&jJ>`A_ry3EO}ffLSEI(inY*1~dQvoCgNF!(sqt58CuVb_O6T6Oc6unA87q zlOD)f|LG?CZ#>{C$p3oZ2$abhl>MI`a0Z18zzqK_91INp|C0Vs(T<>W8<4#-NScGB z(|_hmB%;Gt`QJAGx3UrbS1JFm1sK?;e|z;^lK7nd#1+sAh zNdwT{>3`K25ma{{#E6ur!oc_m?jJi4APEVR7{D-=sKa>nuNLF~Xt5H-n10}b z`utxTY>6b9lYEpbAE2=MmMPh3jAXxn;_ zY&d|{FjZj;qf3J_g52!2-h_iO2&~4j29K$O!up*MZ_F46mGD^!ZZ(tFbwqHd{t*Rnm<4X4YbMiM?nf>4E1#ccg*IV)JDW*LRESA*+MoD97tg zGXFBJ(a-_2y8TajC{SaEHdblN^QigKgkr19*YtG!jf0ri@%3{7I4RzrD(A#^ug=h8 z+5CNjZCuzHx#@{Ek?+$_!6FQSs#s_a1^5(beC-*>(bOV9Imt6BCnTp;I0e|8f14nk zJ=!!hlz(8a!}eHjiyr`y1N#n@)e=+&vkY+tO%GcGRs#_O4t#*EgRLX2BlAMMB0r)& z;^Y;JwDof8<0&90L(2LQ!+|?|0SB2w{$tJ$tBnY(KZCS|)dlxO%z}wXL7xC;hj{Bv?yc@E>}Bv5fN)Ynt%iW; z_1%Wq2AHqsv*`ujM&1tXt@TIom#kC}*C(5XC4laR?*z{Rm--W~>G#%4 z*!!(l4@@3X5px>;7E;_#%P-WA7_tXk4iY*VM=uZj7|In~4O|c695M&;9rKYzVK#^f zbmxMscgau9Z?4y4VjBFfAOa`6H>^A1BiE%}FF@?4J>E#F&s>Mb3BwER4W+CrG7mZE zN3zYmt-CF`?Xum{tLI<9CerAaEC`DVjtr3tTLWne)eX)I-wD=<{EF-j>yG_Mb_s3| zQ}+|~0FquG!k&l`KMjQz%F-WGkYyWk)j!goULU`XFbo1x5CI2*9=aQe7wi@Bk}}Vo z4p>E!ft-Y;@hcWYpGL5T=@%rB01x%I^0R~7g3W>11oK6Hg?ZHL_3E|gZARXMlYu#e zK=gyjLtjP^@gMUm?ES?b#bnQAPtc0nisFvrj^U2rj_Z!d3H{1pkM{`23Awz4jtPeu4u=Eovv`)$TupS=!M9fB3yMi2!R z8pgk{_YTx)kiCh$r@gg)4}K{A{p?X>b*N=fDG=ZMVDt&MVVl88^s(!RTOl}MKqnG1 z=){2Ih2}+hWw~U(^xB5puJx-2zeh`hlYy4<|0PHUY9mB51dqS3KCwMiD^@E&*oxi? z>kb8~Hs&KCD2MPDJF-J0Moe`iTG&TQ#4j^3BvVZRx z8$YgIp*&=Bm{mXeJQN&=8mJg>&<_d3Im|gM5llBqCvp~qFN!xDC(pF6KD`2L75J+l zSSwT*gygp4Hje%0R>)RjcL2d1*&W&){n2gPNAPjR7Gwxn1>bu#H_8Qk9DLM|T#%&>*&LP~G8J_CZ}g(tliOoFlG^jw6JKIn z;$2#8`)u3!6{5eOD?n(&(SlX@VfI?~!Ztyo*JpcxTSpePu=n2sLd!yMT2Kb~U(!4S zxG2+X12ibov;s89(_{iHzNYa7w2`KL?oXhkHR*T!N=w||L@6WL-$a7MV_*)aBWcc` zpAkeeO|kjmPoIYm2d3p$-OCO}580O-_ul84hYe@(VE{}0k&hAv*5S7yh;a;SD43Ph z6AzXEIuW7nAzqdN0q}cBSWrugdrf)|K<#C;hqfob#NCFo$F#?2#e1Z+M|vc%|71__ z$a@LBP3(u>`?Hs<_Xaf7bHQpMK9D+LI*~iUJ0&e;W`RW3uF44Wh(ls90j|ID{<#%T zX1!jlA2g3QtRJeXuPv4H?udjr`5u#IC5Kzk0@63cfq)*IC9Gpb_~`eYiW&FINWpCG z_uxDaZu!F-HoY2;Nud6)RJD>5ntKvrVk)Fl^X8^+-rP4i=3;boD?1seuR$3bHv5&H z_N(-zCQ6yuM(p*e=sD&k*kJo=N0?- zj#=wr2N30+4EFqcx#c~vRXo>hTx>HUwU&_V+9juz|3pG)78vuRW=TC`D=E2Iy0m(p zcPd@{_Ia=8!ZPRdvg{Cr?Bl}X-5m>ne7vxF$GVIyo(ll9Z(;*JC?^CU-z6t{klv{$ zJ|JG5G5{XwccMo#HURGxh1G5W=_oz-S1jxYAUq*Ik&qeyh}~dnTxV8>uQktEQqB-aCI=`Zfm*SNVjB%B123$tN{>ij zi55u;zDlZCq5YT8#Ld>9wvU<;V7f`=bdB}zqO-&tWCqdvt&(i4#WR;|?aXa!$=2en zfh_Udtw#Qta7W3M#WR^~F196IL(bBy-K{5}HTN-n+r#$OSb|L0BQ$rH;cD3~Iv1Fs zTYX~2_7+isV*VVbpV=8Amr(FQb@CaosKYia^;V)<8)wff7oKxSz?%M$sMuu~`U7a! zeNxzwQtwlh?O@}}JNXW(glBZogtJgxwzjZrMh(`eZB3#x;Rb1WY1$O}ho6&*DmpdQn>)UKn)v~6zt3^= zr}jYYKqxskmpHNV>CLreq*!vx&mn%DDD08=Q^1lypZwN}@yx5ls`sK2?B}1d_O&al zUnsaRV<;$L_`59Ol!#XVb7!_tLWMKM^#)0KENOymu@3j9ZQrR)xs06wM?0YbzUTA9 zU{i`G)Ks*02C2JknWH1Ci)k5!~bb@VBE#f_T#R+>~_Z))8IjsaY)Evz-%rWnV-VI~y3tG2e zD8syScZo>`{dAM|9D*#i=`r)O!mJWa;;9dU4Ym~VVw1d5Ak5e5k|}Agyjhkvi8%+Q z^Wv2Rx#Amgl^dJ*9J@&1)?2ISXpPi;hXYExt< zxhnF2XcGFaI4gbp-6C{x?3qsNS=T~M*=J?)wX#HD?)E6-U1&~EiaT1HTPMC~?>AX_ zq^U&3s$%()RxmuAnZp3LsqmcJg#vp`Xhc$}YjJ7Q!(5HgfCI z_ioQ{0C#|0o6IUAfN=&{>G@Ni{7r85DI>+AVpJ>gRUqYP*3uDyKeOUBy(Vr4ta|?1 z3o2KuvUoEz`7x!aLWh5_68p@k^3t>F(t?>c^AMgNII6f_W!>;g=Fyq`w2$t6uX61w z%j3-V%I#fWlC54pN51jB@#}_&H1x~g$Rcla)!)GhuF_AY`%bm`A6;4RG=HPGTMo>7 z#>!9Lt0S&+REnmEU)|7OFgd}ryIhvd@T&ocXRCaHCebI!!n<0b56t7*)q>ZendcwV zJy37u0Np5nR}G*%>j`}v(T(=tR-2ja2;_g5M{*xUEq3HFEFvEZZTN;R0>X2jkA1X~ ziNEf5SG=Du-jW`#HCM3EoV-5C*rRO4`uUo!U1~`Fe$#r}C_MSJ7BUq{TIsuGijTZg z`?H(-+sE3M59Hh@!3iSr+L@E36ZfjEaWn5@fTx9~$E2wn$yh(g=r7?%l_E~s!@Tz zfH85r?x)MJVA4anK3&usIU(KP^iK5j&Wj|E(u0>tlAc?F>u-}J0-nfEY)5gqIOH5n zuaVi7vM88zEz{UQYvK87VWtn`dYQD;d<7Lbzj5P&`r8iR5 zodTYyerIp&VFsVjTM5*+)*sQu_$*cgmgcaVXUb+B>1oN3n^XNg2w55OzF!V^y_kMo z$!c`-?Oc;av$#ptgtJd@JHYRzlrQM4ZrXuQ> z;%l)#uE#SOouS57M2Xc`3f*%+pfFU+A=9M{1E;hr%Hr+H)grU#X?9*km)*gBn8&^(Z?3OOcg)bAf=w57+4w%2p&}MP;zTFYQ#41FaNtsVzE20^JyvIT6{as|E@nx`84M4Qr_g z%_+^wFrY$PN>6^xj^qN&rb3P=Q=4tsj^o7R7!Ni)|7?uH<>DC4(xeqFBPNOIg7b`W zz>1-Py6fKB@vj4Jr~II^XEWsw(PC|4-5sp@2%;=m1QWeWjh9{u9}bN(_SZg9M_a_@ zVnKV7Cy>WKXQ`U1z$gNVw)MK|Lsb<-c(DX$p^NaDOz7lM95T!(PhQvwWUWh+99K*i z?EAV@Q;sQBTO+cTKxA!0qScI_RUyCDZqe6MFW6h}6xr70VfzR~XswafC2+d|>Y?zU zNFRdpz|Yr93PqC1EcI z1a2qHSfk7|j7!ax>KA3|57}g@3coxPgTg!ihC1GwF+)50R&q*hC zMA`3*ryCc;onA~*G`7mmPvtBY9SikbHZ4?pESFn{6QfgiMqSt=4nMAKa6J~_JgCU@ zn1#B(k?8^4Li};@OA>9eYhzuR3rDu^&)gN59pAr=Y$=3h0G}*wqSSw3>sz_MT?lu* z-7PFrw;$x3keBv(m0){WjdwuhWc73-tS&lPrV4tUWvv!Z>pIEVd}@N7EUyl}-{xux zuG8vkCD2IDHfhaWZ~uAJ*;?3w0J`BFL-3}W#|KYfeRqyc2JQnw z67!rwhc+ZMo_mPesLo_B5&ixoXPAzAry>||ihFYoGsSbxDsde`KICk~t)w=_T3DI)?c+n^ss`?Ar`t zEb^&K>;v-I!xPLYjJ9M^hDGnLm)Fd7S_{l6DIowp5ns&ud~eM&Pi=?1TB;r7JPdTyBK8jd@qx*)6j6G(GR~D>6YE@75H#Ac_Qq(bLefVZjpK#$gIGMm8HJWl}42 zW@mn&)&_6U*>v5FibD{!~C z_AYEn*h;9^%YQ|44dxqKVg1x7ahHZud=B05?#WHQNONhuBXDW;wSH3f7%v=~j3V?R z`XsoAQqH>EB1{u4>NEi{RzGTFqO{BzoGbO=T$8n!t!O48{d^@?RsR_{(bBy3O*q2n zu~H7OuYJ|7Q}3P%yead(2pQ0uu6&@Eq)ZT|t!?jQYkg(e%@m^DqD;L10#^D>hOE&7@f<8=dRLtaKCoU{a{}Z?EviDBG0KVf%|wrX%f7 zeoCdV60x!)VwsbE)3E>quew%7r>HNVRuT8Dd5LMN#@>luehhYUp|^uyNOA{sw<6O0 zZuv#y>o*sKtWh6vWFCJ|Pb3&Y?0_)nm9mt1K)f!<@|UpeDp6gdUWH-0!hZa&^K1%E z>L4MKHcF5$wpRv!v2KHW$sWgJ{dda1q!s75i6LlxIDE7vR?-g8C;qvTm%4lXt-NHW z#CIiGevY3$nk{)ZATQ;z@mpCmU0EIws_TKn;ObY{jhHq^&1aN4=$b+tBQsl@bByc#>#liL3!QU{ z55($O!y~0?3&;n+WxPojt+3Mkw8yhxcs~(%WPcJWTe*#LfW= zqmYMvc)ZiYW7`aig}j=ry*DIs0hleOEv~vhQl5wB>8?QW$P8ZSBCi|AMNG;%+27+e z9Ww++!X>W$n4ul+t+=+I&os61o%Lfm;{0-6f9>0|WZExo+;doTN@>wqd_?}NHJp!5 zW^*5UV%VgM->7uqOZV9Rei*+l-q=~w^v&JoJv04uojvOPBxe8~oq7R(-E~rUebegQ z5I&R{H1iCEnS0Apb;7?&7Co%~@msZ8;KxS=w@4*$G}FOVcyMGP!L^T0ZPD8xRb`6T zP7!a4;Hz2lfZ3yE2k-tVPVj@fLtLB8C5ComB>|GgHAb93S=&}ICHE&=-nrRpP4#i~ z>DLzMb%L&`BNB%D0U>bA&C|!MCinMex=U$Y3|khUxdMZ7kay=ZvV~bVGRz~3`+gIG z!(gP)6U|4$y$VgY=-+z-;$SDvT5r7i)hoWCWbiw#n6+DC)wVYD zMpKv(8xL!N;yd;M$JmGE_TYU}FYD@v%G>1_>Y5Rw4lxJc*uQ?eLPTrdN4RJRRbni~ zWogU+qVk6?%aFTMJ29~HM``DzEfXJpwpNadh8hio= zOi7B$CC=+?5rW_89>|RIe?);fwqrH2Zf{5dz6`PZcMW{t7g#jR5&FXJNEh&BQy7Gy zgj-nhT)NnHJnvbMUSmcP%Q4OI*JdT}@^x+rKxu43sBv9UXTrFC> z@_hK&+7S-SP_!@9Zn-a~Ve5pP4zdf1F9NrakX};lWb)B~QnBDILQH->8fy=+5S>Dx z|A%<6Su8^7$Lz)C^#lODJ0BCV#7fh-L-1525NNDt-YDK>HLe`z`Ji_EP(F8%u5odI z@K#e!UXBho`ntHCTW+B+yjHPAu9etlPf$8ZCVxc7s^UTI75C1Y;-sujb~BQEff|!k za+8G*0+R#R+bX5(&>`1OZ09(Jb7*T9XIXLVxj4maeMrF9oJYq zR-M`cHqK$bg6HAN+OVpVS1!FYk-PxYk|NtL$EY|~V)7L;nW4t{0ShCwPD6jpzL5$_t> zPGb*jT6Mv;P51FNZ26K-{T~h&g1q4D!~7)Ujk`XF6DtS|zf@va!Kc^Vn3NODG zwKEu?)7SMKZ%O&0)~@Wrd~!b>Kxy? zXwTz{52Ngyac9H`|9e~V+`qYL{*^%5!)qX1*;u@YBMrgJO{8F_nDuCGP)CXglMYv| zm~(a8&&|ypV8#@`F<;bZH~*TBFw7Yj^>B_{It`uZQl#vyFG$lL-W9J4tZ*qcCW#>8 z(jgIR(DB=wM#?w1uRfj>?xv{IWJw^!9IrP-F%l%KgrJ*?krE(Hi2v9f*|GfUk+iWg zqr&^yYDE2%Y*>>R;ZSJF(E|E3qr=nNCi<@Xlg(e>(VaYkDDOk|DyuW~jomQ>o3e}J zJR#(t9JO{g9JLmwmu8_R0DT+tdNcgMS8wA-&EFx-jvYQ_P*Q9@N<(ZUq4H{Q{Xbs? z7rd*cu1*9TpW9hpMf4c4qz1|IueW;zJ$&qF8aP1fCYE)$Hk3dodL1im6pyb&m4&!R z^VKLr0XzfY+}w5|NuPFbrby3s)GJ~rq7+=q&}s`ca2@QlhiL620R87Xn8fnig0jLB zGf~T^2b4jhZOy>9oq95fRop1h6Jjo`CTDQMWy|}G$|p1^lnBs2`u_GAw{|)(#z)1L zDT*!B&n)o{TIsl|-L0S{cooDaMZwM%6*sEHR0ejb3*ZFI%BR=F&_D7pt-Gl*z#&@GU6bL0`Yy1)&|nTU$J(}5}B3GbFL2+pwgY3-NcyEB1Fb~uCiBLmhs^) zq#sV6?XB%yv9><1p-tsz7w(xZ$^S{Z>}(AFO^txgT97d?s@y8zB_t_INz}Mz7(F9# zVVm0|LiR$2ULJ#G7W6`zpS`2(;X?&C5ErLm{$8aji(f$kv!mK-a3c3g#YvI46Zc#r}J2pl1UZQ zo~$~fQkjy^$2{zQM&`qyhbMQe3`72oxBbNaB=+aHUp{O*wOi^3XYgMpE-wSZiI=AM z;hK~lH+^AJ{-)fex3-^zj!SoA6G@0Vmlk`?p)(`a-~xcoYrRoOvzg|66JO)k!}qQ< z3t_Ig)GJljUg5qNRK$ntGnoc~vaDWe{`=Wcva9Qb%M49J$iTFWGDQItwPu9O{Xd*h zHjB-SB9 z-mLA!r@cILPn?Qb>U*~<(VLt#CZ{LFEN0teT3!Rxh&OP>>uLqQ9nLE<@ub1G40H~^ zc(BFJ>k>!@dF`3=%EKgOCeIv~olT~4AivydD5^k)7=vzOBf0g}#qQ!_LXT1H$;xtR zrJlQAv?-@Yi4QMptJDwX;>eUR)0dR8or`kYF>YvW?r(!JNI$;M<)21BJQ(H2L^T9r zlMn;+tJ705E8q26!?N&KGu7OvIDD^%`og#yz8;X?AlG&6ump7JWP@(_@+->nV5xld zzX=!>CCcuE?1LguT*hN)X5oKBLLPsha1+0MqG;uiSx66>akpcvh#D!C;Lz45T_+ya zkj;_$(EI$pm0Bj(v5BMPoe^}iIv}}O)Hn$^Z*C*Y6-)(6;>LRY^b0kATu(`4|HaBR z;cJ1Wd{cKLDqsQ1^39YHA!V7G^|Y{I*L~*|6M>0xt1BCTvFJ8Cb9T_V{74$ zT#>)yk44DCj=Y+Sju?d7g;u4!k(!-xlFo@U(TUz15lrn%N^)+`VK&Z?{xErH=J^S| zl%B-D{Fz+ix%}&`39z$Fj_k|evgW#h1&21WWU}bkmB1&9o%*b^?;h2{Tr!CxE10;p z1|eEWJ6L9|QlmfC|CrmGCH(qxCTq%wK}t!)XE~ur?>;fP`2HFY#+ybDClzb_U05r# zr?lSY4W|2#g^(^JBwweJB3D&}df1S^*d0msRG6_*pKrsmsMu?taxUn}2h*i{ppVda zi#|3usYQoK|Bs1`mmTUkB+Wqf%0NmCLYfIZ-a2x0bfBc;!+o%q8^`Dv>57GVvQ!CW zNy^G2RbTp`5f5p&uZwzt!+>v!rGKH?U&`Bt<6luBe-lEdZ~tbtG=(m;U(4y2lfCr~ z`gR9h7sy^oAX&H%}_q#$`{l4rBXR(j7ji`HSp z$PJ&svgpWjL(?lYS#}*E-o6H}sL>?V8e0M~p|=6_{ZR7u0^-jDr)27rl2M7g5D9RK za?k8wS!G(3ZNwwyy5=HW2U;B-N28(QYK0ZGT8(Ect$ z{Q9H;;dqQe;c^j1$u=GZ2K7rUnP$Qr3@;|do^Fzf!~o~_;~c6j9fkK83EIKom5?_H z6LG49GqN@0HX=b7vh^3gH4vGd!D5w)lQ0_rvdfgHamf|HxSWH@vJ?;lgg5>@eBU568 zqAxG3g7jF%FKP|kquMmZ&SiJHG^f2w=*mc@KZG`(i|jIgFNXS%0dhIrebBSC3=)|K z(CN`yBEKW_Hxm5)(8A-%KL4Oc$5|m54KG?V5pDgBwUz$^TtLyTi{LCCXNdKevWwwY zA8~1q_?=VD{fw$uv27PW3w;z6T=K?qr+A(WapW{;{wT$n^O>Bgd7IwnqO6ToSxPkW z4(`*y5F?%+KKsfX%K(1e{m5>IgT!*kZ5>s^*xHz{3BPrq*#{HRxGF`XXf0^7>o2?I#;LKm zjjnQT#W9}hts|8PcwR`b>qPPBB8i@7IZ#~gWq`(bmQ*^V8Yk}I&vSxpIq6Z43>H7`vGkMyS0HUIe#f05FMzd_LUKpY zTR#r_*B=Q^ynbZ@36wfnqVK;6wk@|wqEVyw$aA|UC;WYu)f}dWgPQj#anR9svbCxC z6U=KZ3SX0xdpoXubL_I}tp3b%J)e0%xEu)?q1<}66Z$1hVx;=qEB$JHy=fX#KI z`rY+T5jA=a*#+eVJDfAcoVigNgJNa3GCDoF0da?dHc)}Ho`PUyB~^%oaqc%)y5(l1 zx?`7PMHO(Wg=;qN(nu@9KrXJNrSWYgRA)%=MLP|i>~B;2KK)LcBs#fdt$0-FWU0dF zlKv*ei@sDGL+DJ)uY~y1Ogoq4nUU1~recP;{G8hrA?i7jNP#3_(7U8e1SI@%;q)pe zemXj~3FsR7Yw82SMII*f2Uu2nM?z4~%PKpRuO@&NO+vpQKJ{{^a+Y1?A9Q$K)AH8M z!YGUwYid`59Tiq7j=6H{OnUL_hAhKh4-y~E;vRL%Wx*sa^ukOu$imIQy#FeLcHnMm<#7o$R~u-XXI+vDYWD_?Jb!dr!=c`IQK0WBHbM`2F6tY;#LqZ7 z{$3`-!o;ijX;QLRHX~v+qWD>h-54o3DSfw2qsuv1HYt6uBKZ&{>NNUAc7E6Jijl_Y zr)1e9GtFTLbemzrx5XKg{WQSki=n0-YcnyUjQ}eH^;+9{QR=wHn0f9K${~E>T7xyf zb?pH&PO_)3HU<$%#8UDUI=%g*Olm8}G)Ah1;=+Jmu-ETB_Za^4V?Z%rn)ixgHqWcu z%)PyQ$`ibT1!l=Cody`=)-?Ct6r3a%>*F`7v)Z`L553&Nq0JX#Dp7}<-&AMJ#fn^F zA~lPG2N(^>&4Mba@X>tzJK})UAaOvQKXQMLF89~xM+s(uIxJcu* z&OpSr8542Lv>H`(?{aGyn2+Jy?G)0Ap4Hs@vw0y zHjjw=>GXNa*~qYhi;N<+kSpwGx7S*nL!HPJ)lOnYIVv)M;%#OvCqW&2~~` zC6>y>wY}V{Y@G8kFS^9d?(U0sXwt0pi;k%)ehLn>%V|^}L&}Ii1;@K3L0{61sLURh z(T_paTn=`Az91>zFYMy%3>*Kg8*uD-vW_hf?{(i*agW-9| zNMG`4c-bF0x6KHy2uzBOXxc0qj^?Fpv|5pQWDM0679i*o3e|sKNTZE5kUrH|vNvqHDa@g7;ouUYP(7dxn_)!6?rQ|R2FT_!X}u0+X&YqO zy-KP7@HLh3q#RgOH%zM?-_>ex2e3ZE7!OHX%I`<8WxDOJUq?(5v1RBv4h8qaE7fmV zj4~8Q9R~LgDvmXa(WsuKY1-1X6JvgaCGz5iu9LibTK*nE;SqTBQl8%K+iFBOxC!jR z#oT2O3U++#)2jdwa9_6>l!9q}TOSn%QQo;-!+L(2kl-h>uyQqzoQw-=SNx4bOxLPv z;FOMxY;OIGm1^Sfge5*4*wY(DOGm%8+dxaduuDKkKeS7u89G?BCVL!Y61K8GTJE7Z z-xQHytLP*+Pk_NTEHc4nI4eIPNi6g1CXI^q5%CRKtCR*%iJZy0EQV z6GC3E$9N!=$_S+cHL|u~H5iX4Oi+%wOR>GjO%lU^z1w_HVsJ=%3HPc6cRC-^I>mrJ zM7`bk?R63G`WD1luN3Cycccb?wMk>Jq0BH?*}L}X7_R;?sO90(;MCbjVtrbKi%XTf zVdNcKEG3lTbMD>dU@Yw86|aEY)!waW+fX=L|6?n;ZC9hNdW#L}Vqvcq{%?|TljkwZ zKU?7E>Cv#ibnq3ix7}e!Iq>D(8N{E4-$Dm}pi{yZg-Va<7 z+gA1cg5=4RD({8JIdRU(E*-V-g4hluhb49#Jn>L7V+L5`klcf`(iZ%oPhG>)JS4)r zctUnyC_%xkRW=zN`XUk$7i`Ml^#ITzdlQA5du)<2KDzDNEpIN3VjXz~w7ssq zm&7mt7r!cfYvTaU?kIKZrIYyl&|@Ks0nMc9$T2Du# zlYLbC5)uCs0F*<+#h~rUq9}$q&D#79P_DhBh9KxOy?A|^e#}Rga6$qWt?n{DG0)p5 z3=Sg23yp(O2qhQat$G)Y$wE>Bowk9T;w9sKmqBE#fJgmm0s6O0ALQn~_a!%S=%dc< z*sPSZwPa-`J2h^bT5qkcSWobUlT7YzhcD3o&s1+LSuyhvvsmF2;fD^Bq}R=eyES+6 zlU%K0r{kOcDMlur->_}3_w%mbr?&39wzGKJQr2yc_@eD>X0I;Kop$Jk#ztFdxu)Nh zdlXofW_MT|(A=$D@3kt;$V29D(H-Zt>jRB6CO<7%wtk8G!kd!=G7sdud)IN}*~dwK z{H_(8pIP>>1r{A;JSLE?l>9RNgVou|F$v3~*N7ey7y9}*!*ZLI-x|5@g&QMQ7~RqG z&kjEGL#lYn-Iu0qvT_3PVh@W%+>T3}y`y~f*VA_E-+9kidj*6UQZLr?27a3|cap}; zr>fCac3-~h7&cGSo_F@Oz1Y%v?U@XLrMm^AD?c^t{xiX+QaikN;d;^Ldnz;R|3u$b zpS*wnFORQxR~gmrp26fhUv=??&P5thQuU7u?F^XdK4 z{os92SL;(8Ujuhe>;Z1t2=L}Y95*sqx>lo}!R@~9AAY-cZ5)qM9VXW@xOP2=b*Y^h zaw~CFfS&H6Kfi98?(R&!Qky;N%M-WQgYzj5}`Q{Te3 z2Cel;XsNH>%44kAGTq{N5DTa1`M@8%H&(BeJ)f~=i>PRe@~1Po_wT#r-ngMMx!SKK z^Iwk>&;40)QP0mVefn!bDr3O2r5k4GPpo$S`TC3hBgXWd&a>AEd2l-{A`O}K0lh{*Y*eh{EX8S3<4?iw22>Z(} z+LHgfb6H?^!kq^S$uo>QH-5PF-nOSXB4v5?4X*cQ2W+gn@?R&+=X@G-Hs@)_rA2=) znW^;b7w%ikzVF<`ZSBhS6I22hW}nDf;>gETdfU@2#d(v#;9z!LdgEjuHVO?U-ZovEH^>U0O?}Uq^mA zFMiTLm9za_X8ZQa#YaoZQ{P&j3~~Ik;P3WJ%?>M#?H1j563IRD=S};SpWdh@{JaqM z@kiHhCeXgvKH0MM+`!FNAHhilky18$*MDcM@7;dp+GPFY^li1Lv+i1Gs+j3~|9VV& zmwNP{s9cx7Gd7<&EL@T59n*8OZ2#B$!ISM%zokabpY5%?{!H!ca4YxA9dA$BZrvF? zcUp}f$GuOxzOGrk>FT2{Z@uSvvBsB#XUA$rN6e}+`txXW?N*(&o#Bt}?OWBoIrme< zzJ|AZu3cHIp1<`=*rzpJtl%PV`G1pc(AGK*uu~bCL>OSF=uCdm=phI?MF;sL5#h;> zO)@61!*c?>ku^-QLq4iN7PzYi0lK6n2Q+CbfQ&=lOb^=ng8&tBKt&>x*EflP6(VoV zmPe=pvXm6S3TMU%eLWP@gTu*t|<8bRj*AwZY%`{#fUGYALvl`HaWQZ|WlCxVx<`?VBha=m1n{q({I^9(9%MRlLKHx#0J3T(+qKGr d)gY$;)DSy5xu#Wyj~}=N?>jJcBs75x006D+v$y~N diff --git a/bin/classes.dex b/bin/classes.dex index d7cfcdb0876d9eed1be575c2ce1c52a55410130f..f341a25e22759f9cd4aebe0c8f2a37a4d3f5d98e 100644 GIT binary patch literal 26880 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≪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 literal 24716 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 - diff --git a/res/values/strings.xml b/res/values/strings.xml index 8575d23..4b24d7b 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -14,4 +14,6 @@ Start service No tunnels configured yet Delete tunnel + Pick a PKCS12 file from SD card + No SD card present, please insert one to continue diff --git a/src/hu/blint/ssldroid/SSLDroidTunnelDetails.java b/src/hu/blint/ssldroid/SSLDroidTunnelDetails.java index be79eb1..a78b087 100644 --- a/src/hu/blint/ssldroid/SSLDroidTunnelDetails.java +++ b/src/hu/blint/ssldroid/SSLDroidTunnelDetails.java @@ -1,9 +1,18 @@ package hu.blint.ssldroid; +import java.io.File; +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; + import android.app.Activity; +import android.app.AlertDialog; +import android.content.DialogInterface; import android.content.Intent; +import android.content.DialogInterface.OnClickListener; import android.database.Cursor; import android.os.Bundle; +import android.os.Environment; import android.util.Log; import android.view.View; import android.widget.Button; @@ -35,6 +44,14 @@ public class SSLDroidTunnelDetails extends Activity { remoteport = (EditText) findViewById(R.id.remoteport); pkcsfile = (EditText) findViewById(R.id.pkcsfile); pkcspass = (EditText) findViewById(R.id.pkcspass); + Button pickFile = (Button) findViewById(R.id.pickFile); + + pickFile.setOnClickListener(new View.OnClickListener() { + public void onClick(View view) { + pickFileSimple(); + } + }); + rowId = null; Bundle extras = getIntent().getExtras(); @@ -75,6 +92,50 @@ public class SSLDroidTunnelDetails extends Activity { }); } + //pick a file from /sdcard, courtesy of ConnectBot + private void pickFileSimple() { + // build list of all files in sdcard root + final File sdcard = Environment.getExternalStorageDirectory(); + Log.d("SSLDroid", "SD Card location: "+sdcard.toString()); + + // Don't show a dialog if the SD card is completely absent. + final String state = Environment.getExternalStorageState(); + if (!Environment.MEDIA_MOUNTED_READ_ONLY.equals(state) + && !Environment.MEDIA_MOUNTED.equals(state)) { + new AlertDialog.Builder(SSLDroidTunnelDetails.this) + .setMessage(R.string.alert_sdcard_absent) + .setNegativeButton(android.R.string.cancel, null).create().show(); + return; + } + + List names = new LinkedList(); + { + File[] files = sdcard.listFiles(); + if (files != null) { + for(File file : sdcard.listFiles()) { + if(file.isDirectory()) continue; + names.add(file.getName()); + } + } + } + Collections.sort(names); + + final String[] namesList = names.toArray(new String[] {}); + Log.d("SSLDroid", "Gathered file names: "+names.toString()); + + // prompt user to select any file from the sdcard root + new AlertDialog.Builder(SSLDroidTunnelDetails.this) + .setTitle(R.string.pkcsfile_pick) + .setItems(namesList, new OnClickListener() { + public void onClick(DialogInterface arg0, int arg1) { + String name = namesList[arg1]; + + pkcsfile.setText(sdcard+"/"+name); + } + }) + .setNegativeButton(android.R.string.cancel, null).create().show(); + } + private void populateFields() { if (rowId != null) { Cursor Tunnel = dbHelper.fetchTunnel(rowId); @@ -147,12 +208,14 @@ public class SSLDroidTunnelDetails extends Activity { } if (rowId == null) { - long id = dbHelper.createTunnel(sName, sLocalport, sRemotehost, sRemoteport, sPkcsfile, sPkcspass); + long id = dbHelper.createTunnel(sName, sLocalport, sRemotehost, + sRemoteport, sPkcsfile, sPkcspass); if (id > 0) { rowId = id; } } else { - dbHelper.updateTunnel(rowId, sName, sLocalport, sRemotehost, sRemoteport, sPkcsfile, sPkcspass); + dbHelper.updateTunnel(rowId, sName, sLocalport, sRemotehost, sRemoteport, + sPkcsfile, sPkcspass); } Log.d("SSLDroid", "Saving settings...");