summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/jni/Android.mk4
-rw-r--r--main/jni/jniglue.c11
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/NativeUtils.java22
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/VPNLaunchHelper.java18
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/VpnStatus.java3
-rwxr-xr-xmain/src/main/res/values-cs/strings.xml1
-rwxr-xr-xmain/src/main/res/values-de/strings.xml1
-rwxr-xr-xmain/src/main/res/values-es/strings.xml1
-rwxr-xr-xmain/src/main/res/values-et/strings.xml1
-rwxr-xr-xmain/src/main/res/values-fr/strings.xml1
-rwxr-xr-xmain/src/main/res/values-hu/strings.xml1
-rwxr-xr-xmain/src/main/res/values-in/strings.xml3
-rwxr-xr-xmain/src/main/res/values-it/strings.xml1
-rwxr-xr-xmain/src/main/res/values-ja/strings.xml1
-rwxr-xr-xmain/src/main/res/values-ko/strings.xml1
-rwxr-xr-xmain/src/main/res/values-nl/strings.xml8
-rwxr-xr-xmain/src/main/res/values-no/strings.xml1
-rwxr-xr-xmain/src/main/res/values-pl/strings.xml1
-rwxr-xr-xmain/src/main/res/values-ro/strings.xml1
-rwxr-xr-xmain/src/main/res/values-ru/strings.xml1
-rwxr-xr-xmain/src/main/res/values-sl/strings.xml1
-rwxr-xr-xmain/src/main/res/values-sv/strings.xml1
-rwxr-xr-xmain/src/main/res/values-tr/strings.xml1
-rwxr-xr-xmain/src/main/res/values-uk/strings.xml12
-rwxr-xr-xmain/src/main/res/values-vi/arrays.xml2
-rwxr-xr-xmain/src/main/res/values-vi/strings.xml19
-rwxr-xr-xmain/src/main/res/values-zh-rCN/strings.xml1
-rwxr-xr-xmain/src/main/res/values-zh-rTW/strings.xml1
-rwxr-xr-xmain/src/main/res/values/strings.xml5
29 files changed, 76 insertions, 49 deletions
diff --git a/main/jni/Android.mk b/main/jni/Android.mk
index 0b35dabe..a9f9cec1 100644
--- a/main/jni/Android.mk
+++ b/main/jni/Android.mk
@@ -47,13 +47,11 @@ LOCAL_PATH := $(JNI_DIR)
# The only real JNI libraries
include $(CLEAR_VARS)
LOCAL_LDLIBS := -llog -lz
-LOCAL_CFLAGS = --std=c99
+LOCAL_CFLAGS = --std=c99 -DTARGET_ARCH_ABI=\"${TARGET_ARCH_ABI}\"
LOCAL_SRC_FILES:= jniglue.c scan_ifs.c
LOCAL_MODULE = opvpnutil
include $(BUILD_SHARED_LIBRARY)
-
-# The only real JNI libraries
include $(CLEAR_VARS)
LOCAL_LDLIBS := -llog -lz
LOCAL_CFLAGS = --std=c99
diff --git a/main/jni/jniglue.c b/main/jni/jniglue.c
index 12e67543..bb5ec688 100644
--- a/main/jni/jniglue.c
+++ b/main/jni/jniglue.c
@@ -19,6 +19,15 @@ void android_openvpn_log(int level,const char* prefix,const char* prefix_sep,con
__android_log_print(ANDROID_LOG_DEBUG,"openvpn","%s%s%s",prefix,prefix_sep,m1);
}
-void Java_de_blinkt_openvpn_core_NativeUtils_jniclose(JNIEnv *env,jclass jo, jint fd) {
+void Java_de_blinkt_openvpn_core_NativeUtils_jniclose(JNIEnv *env,jclass jo, jint fd)
+{
int ret = close(fd);
}
+
+
+//! Hack to get the current installed ABI of the libraries. See also https://github.com/schwabe/ics-openvpn/issues/391
+jstring Java_de_blinkt_openvpn_core_NativeUtils_getNativeAPI(JNIEnv *env, jclass jo)
+{
+
+ return (*env)->NewStringUTF(env, TARGET_ARCH_ABI);
+}
diff --git a/main/src/main/java/de/blinkt/openvpn/core/NativeUtils.java b/main/src/main/java/de/blinkt/openvpn/core/NativeUtils.java
index 42f5b85d..13a2a5c7 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/NativeUtils.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/NativeUtils.java
@@ -10,13 +10,17 @@ import android.os.Build;
import java.security.InvalidKeyException;
public class NativeUtils {
- public static native byte[] rsasign(byte[] input,int pkey) throws InvalidKeyException;
- public static native String[] getIfconfig() throws IllegalArgumentException;
- static native void jniclose(int fdint);
-
- static {
- System.loadLibrary("opvpnutil");
- if (Build.VERSION.SDK_INT== Build.VERSION_CODES.JELLY_BEAN)
- System.loadLibrary("jbcrypto");
- }
+ public static native byte[] rsasign(byte[] input, int pkey) throws InvalidKeyException;
+
+ public static native String[] getIfconfig() throws IllegalArgumentException;
+
+ static native void jniclose(int fdint);
+
+ static native String getNativeAPI();
+
+ static {
+ System.loadLibrary("opvpnutil");
+ if (Build.VERSION.SDK_INT == Build.VERSION_CODES.JELLY_BEAN)
+ System.loadLibrary("jbcrypto");
+ }
}
diff --git a/main/src/main/java/de/blinkt/openvpn/core/VPNLaunchHelper.java b/main/src/main/java/de/blinkt/openvpn/core/VPNLaunchHelper.java
index d3a94c96..72f21ce3 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/VPNLaunchHelper.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/VPNLaunchHelper.java
@@ -14,6 +14,7 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.util.Arrays;
import java.util.Vector;
import de.blinkt.openvpn.R;
@@ -29,15 +30,22 @@ public class VPNLaunchHelper {
static private String writeMiniVPN(Context context) {
String[] abis;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
- abis = getSupportedAbisLollipop();
+ abis = getSupportedABIsLollipop();
else
+ //noinspection deprecation
abis = new String[]{Build.CPU_ABI, Build.CPU_ABI2};
+ String nativeAPI = NativeUtils.getNativeAPI();
+ if (!nativeAPI.equals(abis[0])) {
+ VpnStatus.logWarning(R.string.abi_mismatch, Arrays.toString(abis), nativeAPI);
+ abis = new String[] {nativeAPI};
+ }
+
for (String abi: abis) {
- File mvpnout = new File(context.getCacheDir(), getMiniVPNExecutableName() + "." + abi);
- if ((mvpnout.exists() && mvpnout.canExecute()) || writeMiniVPNBinary(context, abi, mvpnout)) {
- return mvpnout.getPath();
+ File vpnExecutable = new File(context.getCacheDir(), getMiniVPNExecutableName() + "." + abi);
+ if ((vpnExecutable.exists() && vpnExecutable.canExecute()) || writeMiniVPNBinary(context, abi, vpnExecutable)) {
+ return vpnExecutable.getPath();
}
}
@@ -45,7 +53,7 @@ public class VPNLaunchHelper {
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
- private static String[] getSupportedAbisLollipop() {
+ private static String[] getSupportedABIsLollipop() {
return Build.SUPPORTED_ABIS;
}
diff --git a/main/src/main/java/de/blinkt/openvpn/core/VpnStatus.java b/main/src/main/java/de/blinkt/openvpn/core/VpnStatus.java
index b8a673b1..aa9a5660 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/VpnStatus.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/VpnStatus.java
@@ -6,7 +6,6 @@
package de.blinkt.openvpn.core;
import android.annotation.SuppressLint;
-import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
@@ -339,7 +338,7 @@ public class VpnStatus {
}
private static void logInformation() {
- logInfo(R.string.mobile_info, Build.MODEL, Build.BOARD, Build.BRAND, Build.VERSION.SDK_INT);
+ logInfo(R.string.mobile_info, Build.MODEL, Build.BOARD, Build.BRAND, Build.VERSION.SDK_INT, NativeUtils.getNativeAPI());
}
public synchronized static void addLogListener(LogListener ll) {
diff --git a/main/src/main/res/values-cs/strings.xml b/main/src/main/res/values-cs/strings.xml
index 15ea7c25..f75c423e 100755
--- a/main/src/main/res/values-cs/strings.xml
+++ b/main/src/main/res/values-cs/strings.xml
@@ -180,7 +180,6 @@
<string name="keychain_nocacert">Žádný CA certifikát nebyl získán z úložiště, autentikace pravděpodobně selže.</string>
<string name="show_log_summary">Zobrazit okno s logem při připojování. okno lze vždy otevřít z notifikace.</string>
<string name="show_log_window">Zobrazit okno s logem</string>
- <string name="mobile_info">Spuštěno na %1$s (%2$s) %3$s, Android API %4$d</string>
<string name="error_rsa_sign">Chyba při podepisování klíčem %1$s: %2$s</string>
<string name="faq_system_dialogs">VPN varování při připojování oznamující o možnosti přesměrování veškerého provozu je vynuceno systémem, aby se zabránilo zneužití VPNService API.\nNotifikace (symbol s klíčem) je také vynucena systémem, aby signalizovala odchozí VPN spojení. Na některých systémech přehrává notifikace i zvuk.\nAndroid zavedl tyto dialogy pro tvoji osobní bezpečnost a ujistil se, že nejdou obejít. (Někdu to bohužel zahrnuje i zvuk notifikace.)</string>
<string name="faq_system_dialogs_title">Varování při připojení a zvuková notifikace</string>
diff --git a/main/src/main/res/values-de/strings.xml b/main/src/main/res/values-de/strings.xml
index 5b8ca8b2..6c243e4f 100755
--- a/main/src/main/res/values-de/strings.xml
+++ b/main/src/main/res/values-de/strings.xml
@@ -180,7 +180,6 @@
<string name="keychain_nocacert">Beim Abfragen des Android KeyStore wurde kein CA Zertifikat zurückgegeben. Überprüfen des Serverzertifikat wird wahrscheinlich fehlschlagen. Geben Sie manuell ein CA Zertifikat an.</string>
<string name="show_log_summary">Zeigt das Status Log, wenn ein VPN verbunden wird. Das Status log kann immer über die Benachrichtigung aufgerufen werden.</string>
<string name="show_log_window">Zeige Log</string>
- <string name="mobile_info">Modell %1$s (%2$s) %3$s, Android API %4$d</string>
<string name="error_rsa_sign">Fehler beim Zugriff auf den Android Keystore %1$s: %2$s</string>
<string name="faq_system_dialogs">Die Meldung, dass OpenVPN versucht eine VPN-Verbindung aufzubauen und dabei den gesamten Netzwerkverkehr abhören kann, wird vom Android System selbst erzeugt. Diese wird vom System erzwungen, damit keine Anwendung vom Benutzer unbemerkt eine VPN Verbindung aufbauen kann\Die VPN Benachrichtigung (Das Schlüssel Symbol) wird genauso vom Android System angezeigt um eine bestehende VPN anzuzeigen.\nDiese beiden Features wurden in Android für die Sicherheit des Nutzers implementiert und können nicht umgangen werden. (Auf machen Telefon/Tablets wird die Benachrichtigung leider mit einem Ton signalisiert.)</string>
<string name="faq_system_dialogs_title">Warnung beim Verbinden und Benachrichtigungston</string>
diff --git a/main/src/main/res/values-es/strings.xml b/main/src/main/res/values-es/strings.xml
index e14cc735..1465e4b8 100755
--- a/main/src/main/res/values-es/strings.xml
+++ b/main/src/main/res/values-es/strings.xml
@@ -181,7 +181,6 @@ hacia/de Móvil)</string>
<string name="keychain_nocacert">No se obtuvo ningún certificado de CA al leer el almacén de claves de Android. La autenticación probablemente fallará.</string>
<string name="show_log_summary">Muestra la ventana de registro el conectarse. La ventana de registro siempre puede accederse desde el estado de la notificación.</string>
<string name="show_log_window">Mostrar ventana de registro</string>
- <string name="mobile_info">Ejecutándose en %1$s (%2$s) %3$s, API de Android %4$d</string>
<string name="error_rsa_sign">Error al firmar con la llave del almacén de llaves de Android %1$s: %2$s</string>
<string name="faq_system_dialogs">El aviso de conectividad VPN que esta aplicación puede interceptar todo el trafico esta impuesta por el sistema para evitar abusos de la API VPNService.\nLa notificación de conectividad (El símbolo de llave) también esta impuesta por el sistema Android para notificar una conexión VPN en curso. En algunas imágenes, esta notificación también emite un sonido.\nAndroid ha introducido estos diálogos de sistema para su seguridad e se ha asegurado que no pueden ser evitados. (En algunas imágenes, esto incluye la notificación sonora)</string>
<string name="faq_system_dialogs_title">Advertencia de conexión y sonido de notificación</string>
diff --git a/main/src/main/res/values-et/strings.xml b/main/src/main/res/values-et/strings.xml
index 38256d8b..fc4bd64f 100755
--- a/main/src/main/res/values-et/strings.xml
+++ b/main/src/main/res/values-et/strings.xml
@@ -180,7 +180,6 @@
<string name="keychain_nocacert">Androidi võtmehoidlast lugemine ei andnud ühtegi CA sertifikaati. Suure tõenäosusega autentimine ebaõnnestub.</string>
<string name="show_log_summary">Näitab ühendumisel logiakent. Logiakna saab alati ette manada VPN teatisealast.</string>
<string name="show_log_window">Näita logiakent</string>
- <string name="mobile_info">Töötamas %1$s (%2$s) %3$s peal, Android API %4$d</string>
<string name="error_rsa_sign">Viga allkirjastamisel Androidi võtmehoidla võtmega %1$s: %2$s</string>
<string name="faq_system_dialogs">VPN ühendumisel ilmub ekraanile hoiatus et see programm võib pealt kuulata kogu võrguliiklust. Tegemist on VPNService API süsteemse hoiatusega et hoida ära väärkasutust.\nVPN ühenduse teatis (Võtme sümbol) on samuti VPNService API poolt kuvatav aktiivse VPN ühenduse indikaator. Mõne süsteemitarkvara puhul võib see indikaator anda märku ka heliga.\nNeed teatised on Androidi süsteemile lisatud teie turvalisuse tagamiseks ja samuti on välistatud nende kasutamisest mööda minemine. (Kahjuks tähendab see seda et mõne süsteemitarkvara puhul kaasneb ühendusega alati ka heliteade)</string>
<string name="faq_system_dialogs_title">Hoiatused ja helimärguanded ühenduse loomisel</string>
diff --git a/main/src/main/res/values-fr/strings.xml b/main/src/main/res/values-fr/strings.xml
index 5ed2cb7e..b3d3ca75 100755
--- a/main/src/main/res/values-fr/strings.xml
+++ b/main/src/main/res/values-fr/strings.xml
@@ -180,7 +180,6 @@
<string name="keychain_nocacert">"Aucun certificat CA renvoyée lors de la lecture depuis le gestionnaire de clés. L\'authentification échouera probablement."</string>
<string name="show_log_summary">"Affiche la fenêtre de log à la connexion. Cette fenêtre peut toujours être consultée à partir de la notification d\'état."</string>
<string name="show_log_window">"Afficher la fenêtre de log"</string>
- <string name="mobile_info">"Fonctionnant sur %1$s (%2$s) %3$s , Android API %4$d"</string>
<string name="error_rsa_sign">"Erreur de signature de la clé %1$s : %2$s par le gestionnaire d\'Android"</string>
<string name="faq_system_dialogs">\"L\'avertissement de connexion au VPN qui vous informe que cette application peut intercepter tout le trafic est imposé par le système pour éviter les abus de l\'API du service VPN.\nLa notification de connexion au VPN (Le symbole qui ressemble à une clé) est aussi imposé par le système Android pour signaler une connexion VPN en cours de fonctionnement.
Sur certaines images, cette notification joue un son.\nAndroid à introduit ces dialogues système pour votre propre sécurité et à fait en sorte d\'être impossible à contourner. (Cela peut inclure en plus une notification sonore pour certaines images)\"</string>
diff --git a/main/src/main/res/values-hu/strings.xml b/main/src/main/res/values-hu/strings.xml
index 75800653..651652ad 100755
--- a/main/src/main/res/values-hu/strings.xml
+++ b/main/src/main/res/values-hu/strings.xml
@@ -178,7 +178,6 @@
<string name="keychain_nocacert">Nem jött vissza CA tanúsítvány az Android keystore olvasása során. A hitelesítés valószínűleg sikertelen lesz.</string>
<string name="show_log_summary">Napló ablak mutatása a csatlakozás alatt. A napló ablak mindig elérető a rolóról is.</string>
<string name="show_log_window">Naplózási ablak mutatása</string>
- <string name="mobile_info">%1$s (%2$s) %3$s, Android API %4$d</string>
<string name="error_rsa_sign">Hiba az Android keystore %1$s: %2$s kulccsal való belépéskor</string>
<string name="faq_system_dialogs_title">Kapcsolat figyelmeztetés és értesítés hang</string>
<string name="translationby">A magyar fordítást készítette Juhász Sándor &lt;msc@digitaltrip.hu&gt;</string>
diff --git a/main/src/main/res/values-in/strings.xml b/main/src/main/res/values-in/strings.xml
index 29970b4e..a37bc7bf 100755
--- a/main/src/main/res/values-in/strings.xml
+++ b/main/src/main/res/values-in/strings.xml
@@ -7,7 +7,7 @@
<resources>
<string name="app">OpenVPN untuk Android</string>
<string name="address">Alamat Server:</string>
- <string name="port">Port server:</string>
+ <string name="port">Server Port:</string>
<string name="location">Lokasi</string>
<string name="cant_read_folder">Gagal membaca direktori:</string>
<string name="select">Pilih</string>
@@ -180,7 +180,6 @@
<string name="keychain_nocacert">Tidak ada sertifikat CA yang didapat saat membaca dari Android Keystore. Otentifikasi mungkin gagal</string>
<string name="show_log_summary">Tampilkan jendela catatan saat terkoneksi. Jendela catatan juga dapat diakses melalui status notifikasi</string>
<string name="show_log_window">Tampilkan jendela catatan</string>
- <string name="mobile_info">Berjalan di %1$s (%2$s) %3$s, Android API %4$d</string>
<string name="error_rsa_sign">Kesalahan masuk dengan kunci Android keystore %1$s: %2$s</string>
<string name="faq_system_dialogs">Peringatan sambungan VPN yang memberitahukan Anda bahwa aplikasi ini dapat mencegat semua lalu lintas dikeluarkan oleh sistem untuk mencegah penyalahgunaan dari sambungan VPNService API.\nPemberitahuan sambungan VPN (simbol kunci) juga dikeluarkan oleh sistem Android untuk memberitahu VPN yang sedang berlangsung. Pada beberapa gambar pemberitahuan ini memainkan suara. \nAndroid memperkenalkan sistem dialog ini untuk keselamatan Anda sendiri dan memastikan bahwa mereka tidak membuat masalah. (Pada beberapa gambar sayangnya ini termasuk peringatan suara)</string>
<string name="faq_system_dialogs_title">Peringatan sambungan dan pemberitahuan melalui suara</string>
diff --git a/main/src/main/res/values-it/strings.xml b/main/src/main/res/values-it/strings.xml
index bd444221..f71c645f 100755
--- a/main/src/main/res/values-it/strings.xml
+++ b/main/src/main/res/values-it/strings.xml
@@ -182,7 +182,6 @@ Effettuata la lettura del file di configurazione</string>
<string name="keychain_nocacert">Nessun certificato della CA è stato prelevato dal Keystore di Android. E\' probabile che l\'autenticazione fallisca.</string>
<string name="show_log_summary">Mostra la finestra dei log della connessione. Si può sempre accedere alla finestra dei log tramite la barra delle notifiche.</string>
<string name="show_log_window">Visualizza la finestra dei log</string>
- <string name="mobile_info">In esecuzione su %1$s (%2$s) %3$s, Android API %4$d</string>
<string name="error_rsa_sign">Errore di firma con la chiave %1$s: %2$s del Keystore di Android.</string>
<string name="faq_system_dialogs">L\'avvertimento durante la connessione VPN, in cui si informa che questo programma può intercettare tutto il traffico del sistema, serve a prevenire un uso fraudolento delle API del servizio VPN.\nL\'icona di notifica a forma di chiave è altresì imposta dal sistema Android per avvertire che si è connessi ad una VPN. Su alcuni apparecchi questa notifica è accompagnata da un suono.\nAndroid utilizza questi sistemi per la tua sicurezza e per assicurarsi che questi non vengano aggirati (in alcuni firmware questo sfortunamente è accompagnato da un suono di avvertimento).</string>
<string name="faq_system_dialogs_title">Avviso di connessione e notifica sonora</string>
diff --git a/main/src/main/res/values-ja/strings.xml b/main/src/main/res/values-ja/strings.xml
index 4b858efd..1ff3e75f 100755
--- a/main/src/main/res/values-ja/strings.xml
+++ b/main/src/main/res/values-ja/strings.xml
@@ -180,7 +180,6 @@ SDカード上のデータは本質的に無防備です。すべてのアプリ
<string name="keychain_nocacert">認証局証明書(CA Cert)がAndroidのキーストアから取得できませんでした。認証はおそらく失敗します。</string>
<string name="show_log_summary">接続時にログウィンドウを表示します。ログウィンドウは常に状態通知からアクセスできます。</string>
<string name="show_log_window">ログウィンドウを表示</string>
- <string name="mobile_info">実行中:%1$s (%2$s)%3$s Android API %4$d</string>
<string name="error_rsa_sign">Androidキーストアに保存されたキー %1$s: %2$sの署名エラーです</string>
<string name="faq_system_dialogs">VPN接続の警告は、このアプリケーションがVPNService APIを悪用してすべての通信を傍受できることを、システムがあなたに知らせるものです。\n
VPN接続通知(鍵の形)は、VPN接続が稼働中であることをAndroidが知らせています。いくつかのシステムではこの通知で音を鳴らします。\n
diff --git a/main/src/main/res/values-ko/strings.xml b/main/src/main/res/values-ko/strings.xml
index c60125cc..8f0a8dc3 100755
--- a/main/src/main/res/values-ko/strings.xml
+++ b/main/src/main/res/values-ko/strings.xml
@@ -179,7 +179,6 @@
<string name="keychain_nocacert">안드로이드 keystore에서 CA 인증서를 찾지 못했습니다. Auhtentication은 실패할 것 입니다.</string>
<string name="show_log_summary">연결시 로그 윈도우를 보여드립니다. 로그 윈도우는 항상 notification status에서 접근이 가능합니다.</string>
<string name="show_log_window">로그 윈도우 보기</string>
- <string name="mobile_info">%1$s (%2$s) %3$s, 안드로이드 API %4$d 에서 실행</string>
<string name="error_rsa_sign">안드로이드 keystore 키 %1$s: %2$s과 싸이닝 오류</string>
<string name="faq_system_dialogs">시스템에서는 VPN연결 경고를 통해 당신에게 본앱이 모든 트래픽을 가로챌수있다는 점을 알리게 되어 있는데 이는 VPNService API가 남용하는것을 막기 위함입니다.\nVPN 연결 알림 (키 아이콘) 또한 안드로이드 시스템에서 부과하는 부분이며 이는 VPN연결을 알리는 신호입니다. 어떤 버전에서는 소리를 알림으로 사용하는 경우도 있습니다.\n안드로이드는 이같은 방법을 당신의 안전을 위해 도입하였으며 사용은 필수적입니다. (어떤 버전에서는 유감스럽게도 소리 알림 또한 포함됩니다.)</string>
<string name="faq_system_dialogs_title">연결 경고 및 알림 소리</string>
diff --git a/main/src/main/res/values-nl/strings.xml b/main/src/main/res/values-nl/strings.xml
index 0ecb5a17..ff595a86 100755
--- a/main/src/main/res/values-nl/strings.xml
+++ b/main/src/main/res/values-nl/strings.xml
@@ -20,7 +20,7 @@
<string name="client_pkcs12_title">PKCS12 Bestand</string>
<string name="ca_title">CA Certificaat</string>
<string name="no_certificate">Je moet een certificaat selecteren</string>
- <string name="copyright_guicode">De broncode en bugs zijn te vinden op http://code.google.com/p/ics-openvpn/</string>
+ <string name="copyright_guicode">De broncode en bugs zijn te vinden op https://github.com/schwabe/ics-openvpn/</string>
<string name="copyright_others">Het programma gebruikt de volgende componenten. Zie de broncode voor volledige details over de licenties.</string>
<string name="about">Over</string>
<string name="vpn_list_title">Profielen</string>
@@ -30,9 +30,9 @@
<string name="file_nothing_selected">Je moet een bestand selecteren</string>
<string name="useTLSAuth">Gebruik TLS autentificatie</string>
<string name="tls_direction">TLS Richting</string>
- <string name="ipv6_dialog_tile">Voer een IPv6 Adres/Netmask in met het CIDR Formaat (v.b. 2000:dd::23/64)</string>
- <string name="ipv4_dialog_title">Voer een IPv4 Adres/Netmask in met het CIDR Formaat (v.b. 1.2.3.4/24)</string>
- <string name="ipv4_address">IPv4 Adres</string>
+ <string name="ipv6_dialog_tile">Voer een IPv6 Adres/Netmask in met het CIDR Formaat (b.v. 2000:dd::23/64)</string>
+ <string name="ipv4_dialog_title">Voer een IPv4 Adres/Netmask in met het CIDR Formaat (b.v. 1.2.3.4/24)</string>
+ <string name="ipv4_address">IPv6 Adres</string>
<string name="ipv6_address">IPv4 Adres</string>
<string name="custom_option_warning">Geavanceerde OpenVPN opties. Veel van de tun gerelateerde OpenVPN instellingen worden niet ondersteund. Als u denkt dat een belangrijke optie ontbreekt, neem dan contact op met de auteur.</string>
<string name="auth_username">Gebruikersnaam</string>
diff --git a/main/src/main/res/values-no/strings.xml b/main/src/main/res/values-no/strings.xml
index 9f30861b..5e7e8aa8 100755
--- a/main/src/main/res/values-no/strings.xml
+++ b/main/src/main/res/values-no/strings.xml
@@ -125,7 +125,6 @@
<string name="netstatus">Nettverksstatus: %s</string>
<string name="select_file">Velg</string>
<string name="show_log_window">Vis logg-vindu</string>
- <string name="mobile_info">Kjører på %1$s (%2$s) %3$s, Android API %4$d</string>
<string name="translationby">Norsk oversettelse av Jonny</string>
<string name="ipdns">IP og DNS</string>
<string name="basic">Grunnleggende</string>
diff --git a/main/src/main/res/values-pl/strings.xml b/main/src/main/res/values-pl/strings.xml
index a1d562be..89e5900f 100755
--- a/main/src/main/res/values-pl/strings.xml
+++ b/main/src/main/res/values-pl/strings.xml
@@ -178,7 +178,6 @@
<string name="keychain_nocacert">Brak certyfikatu CA zwróconego z pęku kluczy Androida. Autoryzacja najprawdopodobniej nie powiedzie się.</string>
<string name="show_log_summary">Pokazuje okno dziennika przy łączeniu. Do okna dziennika można dostać się zawsze z paska powiadomień.</string>
<string name="show_log_window">Pokaż okno loga</string>
- <string name="mobile_info">Działa na %1$s (%2$s) %3$s, Android API %4$d</string>
<string name="error_rsa_sign">Błąd podpisania kluczem z pęku kluczy Androida %1$s: %2$s</string>
<string name="faq_system_dialogs_title">Ostrzeżenie połączeń oraz dźwięki powiadomień</string>
<string name="translationby">Angielskie tłumaczenie Arne Schwabe&lt;arne@rfc2549.org&gt;</string>
diff --git a/main/src/main/res/values-ro/strings.xml b/main/src/main/res/values-ro/strings.xml
index e669f131..91b9abb1 100755
--- a/main/src/main/res/values-ro/strings.xml
+++ b/main/src/main/res/values-ro/strings.xml
@@ -174,7 +174,6 @@
<string name="keychain_nocacert">Nici un certificat CA nu a fost returnat la citirea din keystore-ul Android. Autentificarea probabil va eşua.</string>
<string name="show_log_summary">Afişează fereastra jurnal la conectare. Fereastra jurnal poate fi accesată oricând din statusul notificare.</string>
<string name="show_log_window">Arată fereastra Jurnal</string>
- <string name="mobile_info">Rulează pe %1$s (%2$s) %3$s, Android API %4$d</string>
<string name="error_rsa_sign">Eroare semnare cu Android keystore key %1$s: %2$s</string>
<string name="faq_system_dialogs">Avertizarea la conexiunea VPN ce vă spune că această aplicaţie poate intercepta întreg traficul este impusă de sistem pentru a preveni abuzul funcţiei API VPNService.\nNotificarea de conexiune VPN(simbolul cheie)este de asemenea impusă de sistemul Android pentru a semnala o conexiune VPN în derulare. În cadrul unor imagini această notificare face şi un sunet.\nAndroid a introdus aceste notificări pentru siguranţa dvs. şi este asigurat că nu pot fi evitate. (Din păcate în anumite imagini acestea includ şi un sunet de notificare)</string>
<string name="faq_system_dialogs_title">Alertă conexiune şi sunet notificare</string>
diff --git a/main/src/main/res/values-ru/strings.xml b/main/src/main/res/values-ru/strings.xml
index 03975d8a..8a9e3b63 100755
--- a/main/src/main/res/values-ru/strings.xml
+++ b/main/src/main/res/values-ru/strings.xml
@@ -180,7 +180,6 @@
<string name="keychain_nocacert">Не удалось получить CA из хранилища ключей Android. Аутентификация не удалась.</string>
<string name="show_log_summary">Показывает окно журнала при подключении. Окно журнала всегда может быть доступно из панели уведомлений.</string>
<string name="show_log_window">Показать окно журнала</string>
- <string name="mobile_info">Работает на %1$s (%2$s) %3$s, Android API %4$d</string>
<string name="error_rsa_sign">Ошибка подписи с использованием ключа из хранилища Android %1$s: %2$s</string>
<string name="faq_system_dialogs">Предупреждение VPN соединения сообщает вам, что это приложение может перехватывать весь сетевой трафик, и сообщается системой предупреждений VPNService API.\nИзвещение о VPN соединении (символ \"Ключа\") также формируется системой Android для сигнализации исходящего VPN соединения. В некоторых прошивках это оповещение сопровождается сигналом.\nAndroid использует эти оповещения для вашей собственной безопасности и из нельзя обойти. (К сожалению, на некоторых прошивках также издается оповещение звуком)</string>
<string name="faq_system_dialogs_title">Сообщение о подключении и звук уведомления</string>
diff --git a/main/src/main/res/values-sl/strings.xml b/main/src/main/res/values-sl/strings.xml
index 8455f75f..c46265cc 100755
--- a/main/src/main/res/values-sl/strings.xml
+++ b/main/src/main/res/values-sl/strings.xml
@@ -180,7 +180,6 @@
<string name="keychain_nocacert">Nobeno potrdilo ni bilo vrnjeno med branjem Androidove shrambe ključev. Overitev bo verjetno spodletela.</string>
<string name="show_log_summary">Prikaže okno dnevnika ob povezavi. Dostop do okna dnevnika je vedno možen iz stanja obvestila.</string>
<string name="show_log_window">Prikaži okno dnevnika</string>
- <string name="mobile_info">Se izvaja na %1$s (%2$s) %3$s, API Android %4$d</string>
<string name="error_rsa_sign">Napaka pri podpisu s ključem Androidove shrambe ključev %1$s: %2$s</string>
<string name="faq_system_dialogs">Opozorilo o povezavi VPN, ki vam sporoča, da lahko ta naprava prestreže ves promet, vsili sistem, da prepreči zlorabo API-ja storitve VPN.\nObvestilo o povezavi VPN (simbol ključa) tudi vsili sistem Android, da nakaže tekočo povezavo VPN. V nekaterih odtisih to obvestilo predvaja zvok.\nAndroid je vpeljal ta sistemska pogovorna okna zaradi vaše varnosti in je poskrbel, da se jih ne da zaobiti (v nekaterih odtisih to na žalost vključuje zvok obvestila).</string>
<string name="faq_system_dialogs_title">Opozorilo o povezavi in zvok obvestila</string>
diff --git a/main/src/main/res/values-sv/strings.xml b/main/src/main/res/values-sv/strings.xml
index fad0a266..2043499f 100755
--- a/main/src/main/res/values-sv/strings.xml
+++ b/main/src/main/res/values-sv/strings.xml
@@ -174,7 +174,6 @@
<string name="keychain_nocacert">Inget CA certifikat returnerades från Android Keystore. Autenticering kommer troligen att misslyckas.</string>
<string name="show_log_summary">Visar loggfönstret vid anslutning. Loggfönstret kan alltid nås från statusgardinen.</string>
<string name="show_log_window">Visa loggfönstret</string>
- <string name="mobile_info">Kör på %1$s (%2$s) %3$s, Android API %4$d</string>
<string name="error_rsa_sign">Fel vid signering med Android keystore nyckeln %1$s: %2$s</string>
<string name="faq_system_dialogs">Varningen vid VPN-anslutning som berättar att denna app kan avlyssna all trafik utfärdas av systemet för att förhindra missbruk av VPNService API.\nNotifieringen om VPN-anslutning (nyckelsymbolen) tillhandahålles också av Android-systemet för att signalera en pågående VPN-anslutning. På vissa ROM spelar denna notifiering ett ljud.\nAndroid har infört dessa dialogrutor och notifieringar för din egen säkerhet och kan inte undvikas. (På vissa ROM innehåller dessa tyvärr ljud)</string>
<string name="faq_system_dialogs_title">Anslutnings varning och ljud</string>
diff --git a/main/src/main/res/values-tr/strings.xml b/main/src/main/res/values-tr/strings.xml
index 6e520ed4..7375af3a 100755
--- a/main/src/main/res/values-tr/strings.xml
+++ b/main/src/main/res/values-tr/strings.xml
@@ -181,7 +181,6 @@
<string name="keychain_nocacert">Hayır CA sertifikasını okurken Android deposunu döndürdü. Kimlik doğrulama muhtemelen başarısız olur.</string>
<string name="show_log_summary">Bağlama kütüğü penceresi üzerinde gösterir. Kütüğü penceresi her zaman bildirim durumu erişilebilir.</string>
<string name="show_log_window">Günlüğü penceresini göster</string>
- <string name="mobile_info">%1$s (%2$s) %3$s, Android API %4$d d\'çalışması</string>
<string name="error_rsa_sign">Android deposunun anahtarı %1$s %2$s ile imzalama hatası</string>
<string name="faq_system_dialogs">Bu app tüm trafiği geçirebilir belirten VPN bağlantısı uyarı dayatılan VPNService API.\nThe VPN bağlantısının istismarını önlemek için sistem tarafından bildirim (anahtar simgesi) da devam eden bir VPN bağlantısı sinyal için Android sistem tarafından uygulanmaktadır. Bu bildirim çalış bazı görüntülerde ses. \nAndroid kendi güvenliğiniz için bu sistem diyaloglar tanıttı ve circumenvented olamaz emin oldum. (Bazı görüntülerde bu unfortunely notifciation ses içerir)</string>
<string name="faq_system_dialogs_title">Bağlantı uyarı ve bildirim sesi</string>
diff --git a/main/src/main/res/values-uk/strings.xml b/main/src/main/res/values-uk/strings.xml
index 31fc2126..f0427d59 100755
--- a/main/src/main/res/values-uk/strings.xml
+++ b/main/src/main/res/values-uk/strings.xml
@@ -180,7 +180,6 @@
<string name="keychain_nocacert">Не вдалося отримати СА сертифікат при читанні із сховища ключів Андроїд. Автентифікація не вдалася.</string>
<string name="show_log_summary">Показати вікно журналу при з\'єднанні. Вікно журналу може бути завжди дрступним у панелі сповіщень.</string>
<string name="show_log_window">Показати вікно журналу</string>
- <string name="mobile_info">Працює на %1$s (%2$s) %3$s, Android API %4$d</string>
<string name="error_rsa_sign">Помилка підпису з використанням ключа із сховища Андроїд %1$s: %2$s</string>
<string name="faq_system_dialogs">Попередження VPN з\'єднання повідомляє вам, що цей додаток може перехоплювати весь мережевий трафік, і повідомляється системою попереджень VPNService API. \nСповіщення про VPN з\'єднання (символ \"Ключа\") також формується системою Android для сигналізації про вихідне VPN з\'єднання. У деяких прошивках це сповіщення супроводжується сигналом. \nAndroid використовує ці cповіщення для вашої власної безпеки і їх не можна обійти. (На жаль, на деяких прошивках також сповіщення супроводжується звуком)</string>
<string name="faq_system_dialogs_title">Повідомлення про підключення та звук сповіщеня</string>
@@ -374,4 +373,15 @@
<string name="custom_connection_options_warng">Визначені параметри користувача при з\'єднанні. Будьте обережні!</string>
<string name="custom_connection_options">Власні налаштовування</string>
<string name="remove_connection_entry">Видалити запис підключення</string>
+ <string name="ab_kitkat_reconnect_title">Випадкове відключення від мережі мобільного зв\'язку</string>
+ <string name="ab_vpn_reachability_44_title">Віддалені мережі недоступні</string>
+ <string name="ab_persist_tun_title">Зберігати tun режим</string>
+ <string name="version_and_later">%s і подальше</string>
+ <string name="tls_cipher_alert_title">Підключення не вдається з \"SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure\"</string>
+ <string name="Search">Пошук</string>
+ <string name="lastdumpdate">(Останній Dump %1$d:%2$dh старий (%3$s))</string>
+ <string name="clear_log_on_connect">Очистити журнал при новому підключенні</string>
+ <string name="connect_timeout">Час очікування з\'єднання</string>
+ <string name="protocol">Протокол</string>
+ <string name="enabled_connection_entry">Ввімкнено</string>
</resources>
diff --git a/main/src/main/res/values-vi/arrays.xml b/main/src/main/res/values-vi/arrays.xml
index a0185bd5..13522637 100755
--- a/main/src/main/res/values-vi/arrays.xml
+++ b/main/src/main/res/values-vi/arrays.xml
@@ -9,7 +9,7 @@
<item>Khóa tĩnh</item>
<item>Người dùng/Mật khẩu+Chứng nhận</item>
<item>Người dùng/Mật khẩu + PKCS12 </item>
- <item>Chuate/chimto+Android</item>
+ <item>Người dùng/Mật khẩu+Android</item>
</string-array>
<string-array name="tls_directions_entries">
<item>0</item>
diff --git a/main/src/main/res/values-vi/strings.xml b/main/src/main/res/values-vi/strings.xml
index 1afd43b0..0ebe878c 100755
--- a/main/src/main/res/values-vi/strings.xml
+++ b/main/src/main/res/values-vi/strings.xml
@@ -180,7 +180,6 @@
<string name="keychain_nocacert">Không có chứng chỉ CA phản hồi khi đọc khóa lưu trữ Android. Chứng thực có thể sẽ thất bại.</string>
<string name="show_log_summary">Hiển thị cửa sổ đăng nhập khi kết nối. Cửa sổ đăng nhập có thể luôn truy cập từ thanh thông báo trạng thái.</string>
<string name="show_log_window">Hiển thị cửa sổ đăng nhập</string>
- <string name="mobile_info">Đang chạy trên %1$s (%2$s) %3$s, Android API %4$d</string>
<string name="error_rsa_sign">Lỗi đăng ký với khóa lưu trữ Android %1$s: %2$s</string>
<string name="faq_system_dialogs">Các kết nối VPN đang cảnh báo bạn rằng ứng dụng này có thể chặn tất cả lưu lượng được đặt bởi hệ thống để chặn tình trạng lạm dụng VPN API. \nThông báo kết nối VPN (Biểu tượng chìa khóa) cũng được đặt bởi hệ thống Android để báo hiệu một kết nối VPN đang hoạt động. Với một số trường hợp thông báo này sẽ phát một âm thanh. \nAndroid giới thiệu những đoạn hội thoại này vì sự an toàn của bạn và chắn chắn rằng chúng không thể bị xâm nhập phá hoại. (Trên một số trường hợp thật không may không bao gồm âm thanh thông báo)</string>
<string name="faq_system_dialogs_title">Cảnh báo kết nối và thông báo âm thanh</string>
@@ -374,4 +373,22 @@
<string name="custom_connection_options_warng">Xác định kết nối tùy chỉnh cụ thể. Dùng cẩn thận</string>
<string name="custom_connection_options">Cấu hình tùy chỉnh</string>
<string name="remove_connection_entry">Gỡ bỏ mục kết nối</string>
+ <string name="ab_kitkat_reconnect_title">Ngẫu nhiên ngắt kết nối từ mạng di động</string>
+ <string name="ab_vpn_reachability_44_title">Mạng từ xa không khả dụng</string>
+ <string name="ab_persist_tun_title">Chế độ tun cố định</string>
+ <string name="version_and_later">%s và sau</string>
+ <string name="tls_cipher_alert_title">Kết nối thất bại với lỗi cảnh báo SSL23_GET_SERVER_HELLO:sslv3</string>
+ <string name="tls_cipher_alert">Phiên bản OpenVPN cho Android mới hơn (0.6.29/tháng 3 năm 2015) sử dụng nhiều bảo mật mặc định trên những bộ mã hóa được cho phép (tls-cipher \"DEFAULT:!EXP:!PSK:!SRP:!kRSA\"). Thật không may, việc bỏ qua những mã hóa kém an toàn và xuất các mã hóa, đặc biệt là các thiếu sót của bộ mã hóa không hỗ trợ Perfect Forward Secrecy (Diffie-Hellman) nên gây ra một vài vấn đề. Điều này là ý định tốt nhưng nó thực hiện tăng cường bảo mật TLS kém hơn bằng cách thiết lập mật mã-tls trên máy chủ hoặc một số hệ điều hành với SSL hạ thấp (ví dụ MikroTik).\n Để khắc phục lỗi này, đặt cài đặt mật mã-tls mặc định trên máy chủ một cách hợp lý như mật mã-tls \"DEFAULT:!EXP:!PSK:!SRP:!kRSA\". Để làm việc xung quanh vấn đề trên máy trạm, hãy thêm tùy chọn tùy chỉnh mật mã-tls MẶC ĐỊNH trên máy trạm Android.</string>
+ <string name="message_no_user_edit">Hồ sơ này đã được thêm từ ứng dụng bên ngoài %s và đã được đánh dấu là người dùng không thể chỉnh sửa.</string>
+ <string name="crl_file">Danh sách thu hồi chứng nhận</string>
+ <string name="service_restarted">Đang khởi động lại dịch vụ OpenVPN (Ứng dụng gặp lỗi hoặc bị dừng do tràn bộ nhớ)</string>
+ <string name="import_config_error">Nhập cấu hình mạng bị lỗi, không thể lưu lại</string>
+ <string name="Search">Tìm kiếm</string>
+ <string name="lastdumpdate">(Kết xuất cuối là %1$d:%2$d cũ (%3$s))</string>
+ <string name="clear_log_on_connect">Xóa nhật ký trên kết nối mới</string>
+ <string name="connect_timeout">Hết thời gian kết nối</string>
+ <string name="no_allowed_app">Không có ứng dụng nào được phép thêm. Đang thêm (%s) có tối thiểu một ứng dụng trong danh sách những ứng dụng đã cho phép chứ không cho phép tất cả ứng dụng</string>
+ <string name="query_permissions_sdcard">OpenVPN cho Android có thể tìm những tập tin bị mất trên thẻ nhớ một cách tự động. Nhấn vào tin nhắn này để bắt đầu yêu cầu quyền.</string>
+ <string name="protocol">Giao thức</string>
+ <string name="enabled_connection_entry">Bật</string>
</resources>
diff --git a/main/src/main/res/values-zh-rCN/strings.xml b/main/src/main/res/values-zh-rCN/strings.xml
index 4866ea55..6f726877 100755
--- a/main/src/main/res/values-zh-rCN/strings.xml
+++ b/main/src/main/res/values-zh-rCN/strings.xml
@@ -181,7 +181,6 @@
<string name="keychain_nocacert">在 Android 密钥库中未找到任何 CA 证书。可能验证失败。</string>
<string name="show_log_summary">连接时显示日志窗口。日志窗口可始终从通知栏访问。</string>
<string name="show_log_window">显示日志窗口</string>
- <string name="mobile_info">运行 %1$s ( %2$s ) %3$s ,Android API %4$d</string>
<string name="error_rsa_sign">与 Android 密钥库 %1$s 签名时出错: %2$s</string>
<string name="faq_system_dialogs">VPN 连接警告会告诉你有程序正要拦截所有的网络流量,这是为了确保 VPN 服务的 API 不被恶意应用滥用。\nVPN 连接通知(通知栏上的钥匙图标)是 Android 系统内建的,如果当前有 VPN 连接,Android 系统就会自动显示这个通知图标。一些系统上还会在 VPN 连接建立的时候发出提示音。Android 这么做的原因是为了保护你不受恶意应用的欺骗。</string>
<string name="faq_system_dialogs_title">连接警告和通知声音</string>
diff --git a/main/src/main/res/values-zh-rTW/strings.xml b/main/src/main/res/values-zh-rTW/strings.xml
index 5f403a43..7e8e055d 100755
--- a/main/src/main/res/values-zh-rTW/strings.xml
+++ b/main/src/main/res/values-zh-rTW/strings.xml
@@ -145,7 +145,6 @@
<string name="select_file">選擇</string>
<string name="show_log_summary">連接時顯示記錄檔視窗。記錄檔視窗可以隨時從通知欄中進入。</string>
<string name="show_log_window">顯示記錄視窗</string>
- <string name="mobile_info">於 %1$s (%2$s) %3$s 上運行, Android API 版本: %4$d</string>
<string name="faq_system_dialogs_title">連線警告和通知時發出音效</string>
<string name="translationby">繁體中文</string>
<string name="ipdns">IP和DNS</string>
diff --git a/main/src/main/res/values/strings.xml b/main/src/main/res/values/strings.xml
index 185923f6..f18100de 100755
--- a/main/src/main/res/values/strings.xml
+++ b/main/src/main/res/values/strings.xml
@@ -178,7 +178,7 @@
<string name="keychain_nocacert">No CA Certificate returned while reading from Android keystore. Authentication will probably fail.</string>
<string name="show_log_summary">Shows the log window on connect. The log window can always be accessed from the notification status.</string>
<string name="show_log_window">Show log window</string>
- <string name="mobile_info">Running on %1$s (%2$s) %3$s, Android API %4$d</string>
+ <string name="mobile_info">Running on %1$s (%2$s) %3$s, Android API %4$d, ABI %5$s</string>
<string name="error_rsa_sign">Error signing with Android keystore key %1$s: %2$s</string>
<string name="faq_system_dialogs">The VPN connection warning telling you that this app can intercept all traffic is imposed by the system to prevent abuse of the VPNService API.\nThe VPN connection notification (The key symbol) is also imposed by the Android system to signal an ongoing VPN connection. On some images this notification plays a sound.\nAndroid introduced these system dialogs for your own safety and made sure that they cannot be circumvented. (On some images this unfortunately includes a notification sound)</string>
<string name="faq_system_dialogs_title">Connection warning and notification sound</string>
@@ -386,9 +386,10 @@
<string name="lastdumpdate">(Last dump is %1$d:%2$dh old (%3$s))</string>
<string name="clear_log_on_connect">Clear log on new connection</string>
<string name="connect_timeout">Connect Timeout</string>
- <string name="no_allowed_app">No allowed app app added. Addding ourselves (%s) to have at least one app in the allowed app list to not allow all apps</string>
+ <string name="no_allowed_app">No allowed app added. Addding ourselves (%s) to have at least one app in the allowed app list to not allow all apps</string>
<string name="query_permissions_sdcard">OpenVPN for Android can try to discover the missing file(s) on the sdcard automatically. Tap this message start the permission request.</string>
<string name="protocol">Protocol</string>
<string name="enabled_connection_entry">Enabled</string>
+ <string name="abi_mismatch">Preferred native ABI predence of this device (%1$s) and ABI reported by native libraries (%2$s) mismatch</string>
</resources>