summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArne Schwabe <arne@rfc2549.org>2013-02-20 13:28:22 +0100
committerArne Schwabe <arne@rfc2549.org>2013-02-20 13:28:22 +0100
commit1765c3016dfdd73ad382d3e4600d6b30a20653d5 (patch)
tree5e801d6f73dd24474831eb4027d8434119821c51
parente7e655c3a4832c14d5da66d1c05536be4e3622be (diff)
Display if the build is done by me or other persons (will help finding the native library problems of strange build)
--HG-- extra : amend_source : 1df0499d036bab9cfd6b73f8b539d159304c3909
-rw-r--r--AndroidManifest.xml4
-rwxr-xr-xres/values-cs/strings.xml8
-rwxr-xr-xres/values-es/strings.xml13
-rwxr-xr-xres/values-fr/strings.xml27
-rwxr-xr-xres/values-ja/strings.xml8
-rwxr-xr-xres/values-ru/strings.xml7
-rwxr-xr-xres/values-zh-rCN/strings.xml20
-rwxr-xr-xres/values/strings.xml6
-rw-r--r--src/de/blinkt/openvpn/OpenVPN.java59
9 files changed, 147 insertions, 5 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index ce640f7e..244d5f8e 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -17,8 +17,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.blinkt.openvpn"
- android:versionCode="58"
- android:versionName="0.5.31" >
+ android:versionCode="59"
+ android:versionName="0.5.32" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index fbde65ed..9829dbd4 100755
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -125,6 +125,8 @@
<string name="no_vpn_support_image">Tvůj obrázek není podporovaný rozhraním VPNService, je mi líto :-(</string>
<string name="encryption">Šifrování</string>
<string name="cipher_dialog_title">Zadej šifrovací metodu</string>
+ <string name="chipher_dialog_message">Zadej šifrovací algoritmus. Ponech prázdné pro výchozí šifru.</string>
+ <string name="auth_dialog_message">Zadej algoritmus pro autentizaci. Nech prázdné pro výchozí algoritmus.</string>
<string name="settings_auth">Autentizace/Šifrování</string>
<string name="file_explorer_tab">Prohlížeč souború</string>
<string name="inline_file_tab">Vložený soubor</string>
@@ -251,4 +253,10 @@
<string name="state_tcp_connect">Připojuji (TCP)</string>
<string name="state_auth_failed">Přihlášení nebylo úspěšné</string>
<string name="state_nonetwork">Čekání na použitelnou síť</string>
+ <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
+ <string name="notifcation_title_notconnect">Nepřipojeno</string>
+ <string name="jelly_keystore_alphanumeric_bug">Některé verze Androidu 4.1 mají problém, pokud je ve jméně certifikátu obsažen jiný než alfanumerický znak (mezera, podtržítko, mínus). Zkus reimportovat certifikát bez speciálních znaků</string>
+ <string name="encryption_cipher">Šifrovací algoritmus</string>
+ <string name="packet_auth">Ověřování paketů</string>
+ <string name="auth_dialog_title">Zadej způsob ověřování paketů</string>
</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 5bc4e406..b55c1a67 100755
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -228,4 +228,17 @@
<string name="minidump_generated">OpenVPN falló inesperadamente. Por favor considere usar la opción envío de minivolcado en el menú principal</string>
<string name="send_minidump">Enviar minivolcado al desarrollador</string>
<string name="send_minidump_summary">Enviar información de depuración sobre último fallo al desarrollador</string>
+ <string name="state_connecting">Conectando</string>
+ <string name="state_wait">Esperando respuesta del servidor</string>
+ <string name="state_assign_ip">Asignando direcciones IP</string>
+ <string name="state_add_routes">Añadiendo rutas</string>
+ <string name="state_connected">Conectado</string>
+ <string name="state_reconnecting">Reconectando</string>
+ <string name="state_exiting">Saliendo</string>
+ <string name="state_tcp_connect">Conectando (TCP)</string>
+ <string name="state_auth_failed">Fallo de autenticación</string>
+ <string name="notifcation_title_notconnect">No conectado</string>
+ <string name="jelly_keystore_alphanumeric_bug">Algunas versiones de Android 4.1 experimentan problemas si el nombre del almacén de certificados contiene caracteres no alfanuméricos (como espacios, subrayados o barras). Intente volver a importar el certificado sin caracteres especiales</string>
+ <string name="packet_auth">Autenticación de paquetes</string>
+ <string name="auth_dialog_title">Introduzca método de autenticación de paquetes</string>
</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 1bac99ce..8cb4dea1 100755
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -8,7 +8,7 @@
<string name="cant_read_folder">"Le dossier ne peut être lu !"</string>
<string name="select">"Sélectionner"</string>
<string name="cancel">"Annuler"</string>
- <string name="no_data">"Aucune données"</string>
+ <string name="no_data">"Aucune donnée"</string>
<string name="useLZO">"Compression LZO"</string>
<string name="client_no_certificate">"Aucun certificat"</string>
<string name="client_certificate_title">"Certificat client"</string>
@@ -25,6 +25,7 @@
<string name="vpn_type">"Type"</string>
<string name="pkcs12pwquery">"Mot de passe PKCS12"</string>
<string name="file_select">"Sélectionner…"</string>
+ <string name="file_nothing_selected">Vous devez sélectionner un fichier</string>
<string name="useTLSAuth">"Utiliser l\'authentification TLS"</string>
<string name="tls_direction">"Direction de l\'authentification TLS"</string>
<string name="ipv6_dialog_tile">"Entrez l\'adresse IPv6 / masque de réseau au format CIDR (ex.: 2000:jj::23/64)"</string>
@@ -38,6 +39,7 @@
<string name="configure_the_vpn">"Configurer le VPN"</string>
<string name="menu_add_profile">"Ajouter un profil"</string>
<string name="add_profile_name_prompt">"Entrez un nom identifiant le nouveau profil"</string>
+ <string name="duplicate_profile_name">Veuillez entrer un nom de profil unique</string>
<string name="profilename">"Nom de profil"</string>
<string name="no_keystore_cert_selected">"Aucun certificat utilisateur sélectionné."</string>
<string name="no_error_found">"Aucune erreur"</string>
@@ -124,6 +126,8 @@
<string name="no_vpn_support_image">"Votre ROM ne prend pas en charge l\'API VPNService, désolé :("</string>
<string name="encryption">"Cryptage"</string>
<string name="cipher_dialog_title">"Entrez la méthode de cryptage"</string>
+ <string name="chipher_dialog_message">Entrer l\'algorithme de chiffrement utilisé par OpenVPN. Laisser vide pour utiliser l\'algorithme par défaut.</string>
+ <string name="auth_dialog_message">Entrer le digest à utiliser par OpenVPN pour l\'authentification. Laisser vide pour utiliser l\'algorithme par défaut.</string>
<string name="settings_auth">"Authentification / Cryptage"</string>
<string name="file_explorer_tab">"Explorateur de fichiers"</string>
<string name="inline_file_tab">"Fichier personnalisé"</string>
@@ -230,4 +234,25 @@ Sur certaines images, cette notification joue un son.\nAndroid à introduit ces
<string name="reconnection_settings">"Paramètres de reconnexion"</string>
<string name="connectretrymessage">"Nombre de secondes d\'attente entre chaque tentative de connexion."</string>
<string name="connectretrywait">"Temps, en secondes, entre deux connexions"</string>
+ <string name="minidump_generated">OpenVPN s\'est écrasé de façon inattendue. S\'il vous plaît, envisagez d\'utiliser l\'option de Minidump depuis le menu principal</string>
+ <string name="send_minidump">Envoyer le Minidump au développeur</string>
+ <string name="send_minidump_summary">Envoyer des informations de débogage au sujet du dernier incident au développeur</string>
+ <string name="notifcation_title">OpenVPN - %s</string>
+ <string name="state_connecting">Connexion</string>
+ <string name="state_wait">En attente de réponse du serveur</string>
+ <string name="state_auth">Authentification</string>
+ <string name="state_get_config">Obtention de la configuration du client</string>
+ <string name="state_assign_ip">Attribution de l\'adresses IP</string>
+ <string name="state_add_routes">Ajout des routes</string>
+ <string name="state_connected">Connecté</string>
+ <string name="state_reconnecting">Reconnexion</string>
+ <string name="state_exiting">Fermeture</string>
+ <string name="state_noprocess">Eteint</string>
+ <string name="state_resolve">Résolution des noms d\'hôtes</string>
+ <string name="state_tcp_connect">Connexion (TCP)</string>
+ <string name="state_auth_failed">Echec de l\'authentification</string>
+ <string name="state_nonetwork">En attente de réseau utilisable</string>
+ <string name="notifcation_title_notconnect">Non connecté</string>
+ <string name="jelly_keystore_alphanumeric_bug">Certaines versions d\'Android 4.1 rencontrent des problèmes si le nom du certificat du trousseau de clé contient des caractères non alphanumériques (comme des espaces, des caractères de soulignement ou des tirets). Essayez de réimporter le certificat sans caractères spéciaux</string>
+ <string name="packet_auth">Authentification des paquets</string>
</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index a6f37b45..d978f41a 100755
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -127,6 +127,8 @@
<string name="no_vpn_support_image">申し訳ありませんが、お使いの環境ではVPNサービスがサポートされていません。</string>
<string name="encryption">暗号化</string>
<string name="cipher_dialog_title">暗号化方式を入力</string>
+ <string name="chipher_dialog_message">OpenVPNが暗号化に使用する暗号方式を入力してください。空欄にするとデフォルトを使用します。</string>
+ <string name="auth_dialog_message">OpenVPNが使用する認証ダイジェストを入力します。空欄にするとデフォルトのダイジェストを使用します。</string>
<string name="settings_auth">認証/暗号化</string>
<string name="file_explorer_tab">ファイルを選択</string>
<string name="inline_file_tab">インライン ファイル</string>
@@ -290,4 +292,10 @@ TCP keepaliveと長いタイムアウト時間は動作しますが、TCP over T
<string name="state_tcp_connect">接続中(TCP)</string>
<string name="state_auth_failed">認証に失敗しました</string>
<string name="state_nonetwork">使用可能なネットワークを待機中</string>
+ <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
+ <string name="notifcation_title_notconnect">未接続</string>
+ <string name="jelly_keystore_alphanumeric_bug">Android 4.1の一部のバージョンで、キーストアの証明書の名前にアルファベット以外の特殊な文字(スペース、アンダーバー、ダッシュ等)を含む場合に問題が発生します。証明書の名前から特殊な文字を外して再度インポートを試みてください。</string>
+ <string name="encryption_cipher">暗号化方式</string>
+ <string name="packet_auth">パケット認証</string>
+ <string name="auth_dialog_title">パケット認証方式を入力してください。</string>
</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 88fb1217..1a291370 100755
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -125,6 +125,7 @@
<string name="no_vpn_support_image">Ваша прошивка не поддерживает VPNService API, извините :(</string>
<string name="encryption">Шифрование</string>
<string name="cipher_dialog_title">Укажите метод шифрования</string>
+ <string name="chipher_dialog_message">Введите алгоритм шифрования, используемый OpenVPN. Оставьте пустым, чтобы использовать шифрование по-умолчанию.</string>
<string name="settings_auth">Авторизация/шифрование</string>
<string name="file_explorer_tab">Обзор файлов</string>
<string name="inline_file_tab">Встроенный файл</string>
@@ -251,4 +252,10 @@
<string name="state_tcp_connect">Подключение (TCP)</string>
<string name="state_auth_failed">Ошибка аутентификации</string>
<string name="state_nonetwork">Ожидание работы сети</string>
+ <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
+ <string name="notifcation_title_notconnect">Разъединено</string>
+ <string name="jelly_keystore_alphanumeric_bug">В некоторых версиях Android 4.1 есть проблемы, если имя сертификата содержит не буквенно-цифровые символы (например, пробелы, подчеркивания или тире). Попробуйте переустановить сертификат без использования специальных символов.</string>
+ <string name="encryption_cipher">Алгоритм шифрования</string>
+ <string name="packet_auth">Проверка подлинности пакетов</string>
+ <string name="auth_dialog_title">Укажите метод проверки подлинности пакетов</string>
</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index d196827a..66f967d0 100755
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -35,6 +35,7 @@
<string name="custom_option_warning">请谨慎输入 OpenVPN 的自定义选项。此外请注意许多与 tun 模块有关的 OpenVPN 设置由于系统 VPN 功能的设计而不能得到支持。如果您缺少认为一个很重要的选项,请联系作者。</string>
<string name="auth_username">用户名</string>
<string name="auth_pwquery">密码</string>
+ <string name="static_keys_info">静态配置中 TLS 身份验证密钥将被用作静态密钥</string>
<string name="configure_the_vpn">配置 VPN</string>
<string name="menu_add_profile">添加配置文件</string>
<string name="add_profile_name_prompt">输入新配置文件名:</string>
@@ -65,6 +66,7 @@
<string name="enter_tlscn_title">远程主机名 (CN)</string>
<string name="tls_key_auth">启用 TLS 密钥认证</string>
<string name="tls_auth_file">TLS 认证文件</string>
+ <string name="pull_on_summary">从服务器请求 IP 地址、 路由规则和计时选项。</string>
<string name="use_pull">Pull 设置</string>
<string name="dns">DNS</string>
<string name="override_dns">覆盖服务器 DNS 设置</string>
@@ -97,16 +99,19 @@
<string name="dns_domain_info">DNS 域: %s</string>
<string name="routes_info">IPv4 路由: %s</string>
<string name="routes_info6">IPv6 路由: %s</string>
+ <string name="route_not_netip">纠正路由 %1$s/%2$s 为 %3$s/%2$s</string>
<string name="version_info">%1$s %2$s</string>
<string name="send_logfile">发送日志文件</string>
<string name="send">发送</string>
<string name="ics_openvpn_log_file">ICS OpenVPN 日志文件</string>
<string name="copied_entry">日志条目已复制剪贴板</string>
<string name="tap_mode">Tap 模式</string>
+ <string name="tap_faq2">还来? 您在开玩笑嘛? tap 连接模式是不支持的,不要再发邮件问这些问题了。</string>
<string name="faq">常见问题</string>
<string name="faq_summary">常见问题和建议</string>
<string name="copying_log_entries">复制日志条目</string>
<string name="faq_shortcut">启动快捷方式</string>
+ <string name="faq_howto_shortcut">您可以在主屏幕上放置一个 OpenVPN 的快捷方式。这取决于您的主屏幕管理程序,可能是快捷方式,也可能是一个小挂件。</string>
<string name="encryption">加密</string>
<string name="cipher_dialog_title">输入加密方法</string>
<string name="settings_auth">认证/加密</string>
@@ -150,6 +155,7 @@
<string name="edit_profile_title">编辑 %s</string>
<string name="building_configration">正在生成配置</string>
<string name="netchange">当转换网络时重新连接</string>
+ <string name="cert_from_keystore">从密钥库中获取证书 \'%s\'</string>
<string name="netstatus">网络状态: %s</string>
<string name="select_file">选择</string>
<string name="show_log_window">显示日志窗口</string>
@@ -171,7 +177,8 @@
<string name="getproxy_error">获取代理设置时出错:%s</string>
<string name="using_proxy">使用代理 %1$s %2$d</string>
<string name="use_system_proxy">使用系统代理</string>
- <string name="donatewithpaypal">您可以 &lt; href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS &amp; amp; cmd = _s xclick\"&gt; 通过 PayPal 捐助&lt;/a&gt;</string>
+ <string name="donatewithpaypal">您可以 &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt; 通过 PayPal 捐助&lt;/a&gt;</string>
+ <string name="onbootrestartsummary">OpenVPN 将会在重启后自动重新连接 VPN。请在启用该选项前先阅读连接警告的常见问题解答。</string>
<string name="onbootrestart">重启时重新连接</string>
<string name="ignore">忽略</string>
<string name="restart">重启</string>
@@ -179,6 +186,7 @@
<string name="faq_duplicate_notification_title">重复的通知</string>
<string name="no_vpn_profiles_defined">没有定义 VPN 配置文件</string>
<string name="add_new_vpn_hint">点击 &lt;img src=\"ic_menu_add\"/&gt; 图标添加新的 VPN 配置</string>
+ <string name="faq_hint">请确保阅读常见问题解答。这是一个快速向导。</string>
<string name="faq_routing_title">路由/接口配置</string>
<string name="persisttun_summary">当 OpenVPN 重连时,也一直使用 VPN 连接。</string>
<string name="persistent_tun_title">保持 tun 通道</string>
@@ -193,16 +201,26 @@
<string name="connectretrywait">两次连接间隔时间(秒)</string>
<string name="minidump_generated">OpenVPN 意外崩溃。建议您使用主菜单中的发送转储文件功能向开发者发送转储文件</string>
<string name="send_minidump">向开发者发送转储信息</string>
+ <string name="send_minidump_summary">向开发人员发送上次崩溃的调试信息</string>
<string name="notifcation_title">OpenVPN - %s</string>
<string name="session_ipv4string">%1$s - %2$s</string>
<string name="session_ipv6string">%1$s - %3$s, %2$s</string>
<string name="state_connecting">连接中</string>
<string name="state_wait">等待服务器响应</string>
<string name="state_auth">验证中</string>
+ <string name="state_get_config">正在获取客户端配置</string>
+ <string name="state_assign_ip">正在分配 IP 地址</string>
+ <string name="state_add_routes">添加路由</string>
+ <string name="state_connected">已连接</string>
+ <string name="state_reconnecting">正在重新连接</string>
<string name="state_exiting">正在退出</string>
<string name="state_noprocess">未运行</string>
<string name="state_resolve">正在解析主机名</string>
<string name="state_tcp_connect">连接中(TCP)</string>
<string name="state_auth_failed">验证失败</string>
<string name="state_nonetwork">等待可用网络</string>
+ <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
+ <string name="notifcation_title_notconnect">未连接</string>
+ <string name="jelly_keystore_alphanumeric_bug">某些版本的 Android 4.1 存在问题,如果密钥库证书的名称包含非字母和数字字符(如空格、 下划线或短划线)。请尝试重新导入不包含特殊字符的证书</string>
+ <string name="packet_auth">数据包验证</string>
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 679681a0..b1e95b1e 100755
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -265,5 +265,9 @@
<string name="packet_auth">Packets authentication</string>
<string name="auth_dialog_title">Enter packet authentication method</string>
<string name="toggle_timestamps">Toggle timestamps</string>
-
+ <string name="mobile_info_extended">Running on %1$s (%2$s) %3$s, Android API %4$d, version %5$s, %6$s</string>
+ <string name="built_by">built by %s</string>
+ <string name="debug_build">debug build</string>
+ <string name="official_build">official build</string>
+
</resources> \ No newline at end of file
diff --git a/src/de/blinkt/openvpn/OpenVPN.java b/src/de/blinkt/openvpn/OpenVPN.java
index 607f87e3..556f221d 100644
--- a/src/de/blinkt/openvpn/OpenVPN.java
+++ b/src/de/blinkt/openvpn/OpenVPN.java
@@ -1,10 +1,21 @@
package de.blinkt.openvpn;
+import java.io.ByteArrayInputStream;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.security.cert.CertificateException;
+import java.security.cert.CertificateFactory;
+import java.security.cert.X509Certificate;
+import java.util.Arrays;
import java.util.LinkedList;
import java.util.Locale;
import java.util.Vector;
import android.content.Context;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.NameNotFoundException;
+import android.content.pm.Signature;
import android.os.Build;
import android.os.Parcel;
import android.os.Parcelable;
@@ -38,6 +49,10 @@ public class OpenVPN {
static final int LEVEL_CONNECTING_NO_SERVER_REPLY_YET = 2;
static final int LEVEL_CONNECTED = 0;
+ public static final byte[] officalkey = {-58, -42, -44, -106, 90, -88, -87, -88, -52, -124, 84, 117, 66, 79, -112, -111, -46, 86, -37, 109};
+ public static final byte[] officaldebugkey = {-99, -69, 45, 71, 114, -116, 82, 66, -99, -122, 50, -70, -56, -111, 98, -35, -65, 105, 82, 43};
+ public static final byte[] amazonkey = {-116, -115, -118, -89, -116, -112, 120, 55, 79, -8, -119, -23, 106, -114, -85, -56, -4, 105, 26, -57};
+
private static int mLastLevel=LEVEL_NOTCONNECTED;
static {
@@ -48,6 +63,7 @@ public class OpenVPN {
logInformation();
}
+
public static class LogItem implements Parcelable {
public static final int ERROR = 1;
public static final int INFO = 2;
@@ -126,6 +142,8 @@ public class OpenVPN {
return mMessage;
} else {
if(c!=null) {
+ if(mRessourceId==R.string.mobile_info)
+ return getMobileInfoString(c);
if(mArgs == null)
return c.getString(mRessourceId);
else
@@ -135,11 +153,51 @@ public class OpenVPN {
if(mArgs !=null)
for(Object o:mArgs)
str += "|" + o.toString();
+
return str;
}
}
}
+ private String getMobileInfoString(Context c) {
+ c.getPackageManager();
+ String apksign="error getting package signature";
+
+ String version="error getting version";
+ try {
+ Signature raw = c.getPackageManager().getPackageInfo(c.getPackageName(), PackageManager.GET_SIGNATURES).signatures[0];
+ CertificateFactory cf = CertificateFactory.getInstance("X.509");
+ X509Certificate cert = (X509Certificate) cf.generateCertificate(new ByteArrayInputStream(raw.toByteArray()));
+ MessageDigest md = MessageDigest.getInstance("SHA-1");
+ byte[] der = cert.getEncoded();
+ md.update(der);
+ byte[] digest = md.digest();
+
+ if (Arrays.equals(digest, officalkey))
+ apksign = c.getString(R.string.official_build);
+ else if (Arrays.equals(digest, officaldebugkey))
+ apksign = c.getString(R.string.debug_build);
+ else if (Arrays.equals(digest, amazonkey))
+ apksign = "amazon version";
+ else
+ apksign = c.getString(R.string.built_by,cert.getSubjectX500Principal().getName());
+
+ PackageInfo packageinfo = c.getPackageManager().getPackageInfo(c.getPackageName(), 0);
+ version = packageinfo.versionName;
+
+ } catch (NameNotFoundException e) {
+ } catch (CertificateException e) {
+ } catch (NoSuchAlgorithmException e) {
+ }
+
+ Object[] argsext = Arrays.copyOf(mArgs, mArgs.length+2);
+ argsext[argsext.length-1]=apksign;
+ argsext[argsext.length-2]=version;
+
+ return c.getString(R.string.mobile_info_extended, argsext);
+
+ }
+
public long getLogtime() {
return logtime;
}
@@ -177,6 +235,7 @@ public class OpenVPN {
private static void logInformation() {
+
logInfo(R.string.mobile_info,Build.MODEL, Build.BOARD,Build.BRAND,Build.VERSION.SDK_INT);
}