From 3bf2f32fb42d6d75a331bd8517715c5e571c3c5b Mon Sep 17 00:00:00 2001 From: Arne Schwabe Date: Mon, 16 Jul 2012 04:29:35 +0200 Subject: Fixes error reported on the Android market console - setting 0.0.0.0 as DNS gives NP - Using a invalid keystone key gives a NP in rsa_sign (Seems to happen on 4.0 -> 4.1 upgrade) - stupid config converter bug introduced in 5.12 - bump version to 5.12a --- src/de/blinkt/openvpn/VpnProfile.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'src/de/blinkt/openvpn/VpnProfile.java') diff --git a/src/de/blinkt/openvpn/VpnProfile.java b/src/de/blinkt/openvpn/VpnProfile.java index 64ca3db6..8d506f9b 100644 --- a/src/de/blinkt/openvpn/VpnProfile.java +++ b/src/de/blinkt/openvpn/VpnProfile.java @@ -447,7 +447,8 @@ public class VpnProfile implements Serializable{ Intent intent = new Intent(context,OpenVpnService.class); if(mAuthenticationType == VpnProfile.TYPE_KEYSTORE || mAuthenticationType == VpnProfile.TYPE_USERPASS_KEYSTORE) { - saveCertificates(context); + if(!saveCertificates(context)) + return null; } intent.putExtra(prefix + ".ARGV" , buildOpenvpnArgv(context.getCacheDir())); @@ -468,7 +469,7 @@ public class VpnProfile implements Serializable{ return intent; } - private void saveCertificates(Context context) { + private boolean saveCertificates(Context context) { PrivateKey privateKey = null; X509Certificate[] cachain=null; try { @@ -521,7 +522,7 @@ public class VpnProfile implements Serializable{ } - return; + return true; } catch (InterruptedException e) { e.printStackTrace(); } catch (FileNotFoundException e) { @@ -533,7 +534,7 @@ public class VpnProfile implements Serializable{ } catch (KeyChainException e) { OpenVPN.logMessage(0,"",context.getString(R.string.keychain_access)); } - + return false; } private Certificate getCacertFromFile() throws FileNotFoundException, CertificateException { CertificateFactory certFact = CertificateFactory.getInstance("X.509"); @@ -550,7 +551,7 @@ public class VpnProfile implements Serializable{ //! Return an error if somethign is wrong - int checkProfile() { + int checkProfile(Context context) { if(mAuthenticationType==TYPE_KEYSTORE || mAuthenticationType==TYPE_USERPASS_KEYSTORE) { if(mAlias==null) return R.string.no_keystore_cert_selected; @@ -690,9 +691,6 @@ public class VpnProfile implements Serializable{ public PrivateKey getKeystoreKey() { return mPrivateKey; } - - - } -- cgit v1.2.3