summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--res/menu/client_dashboard.xml3
-rwxr-xr-xres/values-ca/strings.xml3
-rwxr-xr-xres/values-cs/strings.xml5
-rwxr-xr-xres/values-de/strings.xml5
-rwxr-xr-xres/values-es/strings.xml3
-rwxr-xr-xres/values-et/strings.xml3
-rwxr-xr-xres/values-fr/strings.xml3
-rwxr-xr-xres/values-id/strings.xml5
-rwxr-xr-xres/values-it/strings.xml3
-rwxr-xr-xres/values-ja/strings.xml5
-rwxr-xr-xres/values-ko/strings.xml3
-rwxr-xr-xres/values-nl/strings.xml3
-rwxr-xr-xres/values-no/strings.xml3
-rwxr-xr-xres/values-ro/strings.xml3
-rwxr-xr-xres/values-ru/strings.xml5
-rwxr-xr-xres/values-uk/strings.xml5
-rwxr-xr-xres/values-zh-rCN/strings.xml3
-rwxr-xr-xres/values-zh-rTW/strings.xml3
-rwxr-xr-xres/values/strings.xml6
-rw-r--r--res/values/untranslatable.xml4
-rw-r--r--src/se/leap/bitmaskclient/ConfigurationWizard.java9
-rw-r--r--src/se/leap/bitmaskclient/Dashboard.java1
-rw-r--r--src/se/leap/bitmaskclient/EIP.java14
-rw-r--r--src/se/leap/bitmaskclient/EipServiceFragment.java5
-rw-r--r--src/se/leap/bitmaskclient/LeapSRPSession.java11
-rw-r--r--src/se/leap/bitmaskclient/ProviderAPI.java43
-rw-r--r--src/se/leap/bitmaskclient/ProviderListFragment.java24
-rw-r--r--src/se/leap/openvpn/OpenVpnService.java4
28 files changed, 120 insertions, 67 deletions
diff --git a/res/menu/client_dashboard.xml b/res/menu/client_dashboard.xml
index 2ce8b87c..8f4a7ba8 100644
--- a/res/menu/client_dashboard.xml
+++ b/res/menu/client_dashboard.xml
@@ -17,11 +17,10 @@
<item
android:id="@+id/switch_provider"
android:orderInCategory="501"
- android:title="@string/switch_provider_menu_option"/>
+ android:title="@string/switch_provider_menu_option"/>
<item
android:id="@+id/login_button"
android:showAsAction="ifRoom"
- android:icon="@drawable/ic_menu_login"
android:title="@string/login_button"
android:visible="false">
</item>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 5131250a..0840c365 100755
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
<resources>
- <string name="app">LEAP per Android</string>
<string name="address">Adreá del servidor:</string>
<string name="port">Port del servidor:</string>
<string name="location">Lloc</string>
@@ -15,7 +14,7 @@
<string name="client_pkcs12_title">Fitxer PKCS12</string>
<string name="ca_title">Certificat CA</string>
<string name="about">Quan a</string>
- <string name="about_summary">Quan a LEAP per Android</string>
+ <string name="about_summary">Quan a Bitmask per Android</string>
<string name="vpn_list_summary">Llista de VPNs configurades</string>
<string name="vpn_list_title">Perfils VPN</string>
<string name="vpn_type">Tipus</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 37ae7f40..3bb898d6 100755
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
<resources>
- <string name="app">LEAP pro Android</string>
<string name="address">Adresa serveru:</string>
<string name="port">Port serveru:</string>
<string name="location">Lokace</string>
@@ -19,7 +18,7 @@
<string name="repository_url_text">Zdrojové kódy a seznam problémů je na https://github.com/leapcode/bitmask_android/</string>
<string name="copyright_others">Tento program používá následující komponenty; viz zdrojový kód pro detaily o licenci</string>
<string name="about">O programu</string>
- <string name="about_summary">O programu LEAP pro Android</string>
+ <string name="about_summary">O programu Bitmask pro Android</string>
<string name="vpn_list_summary">Seznam všech nakonfigurovaných VPN</string>
<string name="vpn_list_title">Všechny VPN</string>
<string name="vpn_type">Typ</string>
@@ -235,7 +234,7 @@
<string name="minidump_generated">OpenVPN neočekávaně havarovalo. Zvaž možnost použití volby poslat Minidump z hlavního menu</string>
<string name="send_minidump">Poslat Minidump vývojáři</string>
<string name="send_minidump_summary">Poslat ladící informace o poslední havárii vývojáři</string>
- <string name="notifcation_title">OpenVPN - %s</string>
+ <string name="notifcation_title">Bitmask - %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">Připojuji se</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index df50b594..46a7322e 100755
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
<resources>
- <string name="app">LEAP für Android</string>
<string name="address">Server:</string>
<string name="port">Server Port:</string>
<string name="location">Ort</string>
@@ -19,7 +18,7 @@
<string name="repository_url_text">Quellcode und Issue Tracker sind verfügbar unter https://github.com/leapcode/bitmask_android/</string>
<string name="copyright_others">Dieses Programm nutzt die folgenden Komponenten. Die kompletten Lizenzdetails sind im Quelltext verfügbar.</string>
<string name="about">Über</string>
- <string name="about_summary">Über LEAP für Android</string>
+ <string name="about_summary">Über Bitmask für Android</string>
<string name="vpn_list_summary">Alle konfigurierten VPN Profile</string>
<string name="vpn_list_title">VPN Liste</string>
<string name="vpn_type">Typ</string>
@@ -235,7 +234,7 @@
<string name="minidump_generated">Der OpenVPN Prozess ist unerwartet abgestürzt. Bitte erwägen Sie die Option \"Minidump senden\" im Hauptmenü</string>
<string name="send_minidump">Minidump an Entwickler senden</string>
<string name="send_minidump_summary">Sendet Debugging Informationen des letzten Absturzes an den Entwickler</string>
- <string name="notifcation_title">OpenVPN - %s</string>
+ <string name="notifcation_title">Bitmask - %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">Verbinde</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 36fcc199..e8398560 100755
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
<resources>
- <string name="app">LEAP para Android</string>
<string name="address">Dirección del servidor:</string>
<string name="port">Puerto del servidor:</string>
<string name="location">Ubicación</string>
@@ -19,7 +18,7 @@
<string name="repository_url_text">Codigo fuente y sistema de reporte de errores disponibles en https://github.com/leapcode/bitmask_android/</string>
<string name="copyright_others">El programa utiliza los siguientes componentes. Vea los códigos fuentes para obtener más información sobre las licencias</string>
<string name="about">Acerca de</string>
- <string name="about_summary">Acerca de LEAP para Android</string>
+ <string name="about_summary">Acerca de Bitmask para Android</string>
<string name="vpn_list_summary">Lista de todas las VPN configuradas</string>
<string name="vpn_list_title">Perfiles VPN</string>
<string name="vpn_type">Tipo</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index b0758d74..dba6caa4 100755
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
<resources>
- <string name="app">LEAP Androidile</string>
<string name="address">Serveri aadress:</string>
<string name="port">Serveri port:</string>
<string name="location">Asukoht</string>
@@ -19,7 +18,7 @@
<string name="repository_url_text">Lähtetekst ja probleemihaldur asuvad veebilehel https://github.com/leapcode/bitmask_android/</string>
<string name="copyright_others">Programmis kasutatakse järgnevaid komponente. Detailse litsenseerimisinfo leiate lähtekoodist</string>
<string name="about">Lähemalt</string>
- <string name="about_summary">Täpsemalt programmist LEAP Androidile</string>
+ <string name="about_summary">Täpsemalt programmist Bitmask Androidile</string>
<string name="vpn_list_summary">Kõigi seadistatud VPN kanalite nimekiri</string>
<string name="vpn_list_title">VPN profiilid</string>
<string name="vpn_type">Tüüp</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index ec36bc8b..6ed418ff 100755
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
<resources>
- <string name="app">"LEAP pour Android"</string>
<string name="address">"Adresse du serveur:"</string>
<string name="port">"Port:"</string>
<string name="location">"Emplacement"</string>
@@ -19,7 +18,7 @@
<string name="repository_url_text">"Le code source et le tracker de bugs est disponible ici: https://github.com/leapcode/bitmask_android/ "</string>
<string name="copyright_others">"Le programme utilise les composants suivants. Voir le code source pour plus de détails sur les licences."</string>
<string name="about">"À propos"</string>
- <string name="about_summary">"À propos d\'LEAP pour Android"</string>
+ <string name="about_summary">"À propos d\'Bitmask pour Android"</string>
<string name="vpn_list_summary">"Liste de tous les VPN configurés"</string>
<string name="vpn_list_title">"Vos VPNs"</string>
<string name="vpn_type">"Type"</string>
diff --git a/res/values-id/strings.xml b/res/values-id/strings.xml
index 0166b7ea..43b36768 100755
--- a/res/values-id/strings.xml
+++ b/res/values-id/strings.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
<resources>
- <string name="app">LEAP untuk Android</string>
<string name="address">Alamat Server:</string>
<string name="port">Port server:</string>
<string name="location">Lokasi</string>
@@ -19,7 +18,7 @@
<string name="repository_url_text">Kode program dan perekam masalah tersedia di</string>
<string name="copyright_others">Aplikasi memakai komponen berikut; lihat kode program untuk lebih jelas mengenai lisensi</string>
<string name="about">Tentang...</string>
- <string name="about_summary">Tentang LEAP untuk Android</string>
+ <string name="about_summary">Tentang Bitmask untuk Android</string>
<string name="vpn_list_summary">Daftar konfigurasi VPN</string>
<string name="vpn_list_title">Profil VPN</string>
<string name="vpn_type">Tipe</string>
@@ -235,7 +234,7 @@
<string name="minidump_generated">OpenVPN crash tak terduga. Silakan mempertimbangkan mengirim menggunakan pilihan Minidump di Menu Utama</string>
<string name="send_minidump">Mengirim MiniDump untuk pengembang</string>
<string name="send_minidump_summary">Kirim informasi kesalahan tentang kegagalan aplikasi yang terakhir ke pengembang</string>
- <string name="notifcation_title">OpenVPN - %s</string>
+ <string name="notifcation_title">Bitmask - %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">Menghubungkan</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 1e935bf2..341d4d50 100755
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
<resources>
- <string name="app">LEAP per Android</string>
<string name="address">Indirizzo server:</string>
<string name="port">Porta del server:</string>
<string name="location">Posizione</string>
@@ -19,7 +18,7 @@
<string name="repository_url_text">Il codice sorgente e il bug tracker sono disponibili all\'indirizzo https://github.com/leapcode/bitmask_android/</string>
<string name="copyright_others">Questo programma usa i seguenti componenti; guarda il codice sorgente per i dettagli completi sulle licenze</string>
<string name="about">Informazioni</string>
- <string name="about_summary">Informazioni su LEAP per Android</string>
+ <string name="about_summary">Informazioni su Bitmask per Android</string>
<string name="vpn_list_summary">Elenco connessioni VPN configurate</string>
<string name="vpn_list_title">Profili VPN</string>
<string name="vpn_type">Tipo</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index db7602f7..a85dc726 100755
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
<resources>
- <string name="app">LEAP Android</string>
<string name="address">サーバアドレス</string>
<string name="port">ポート番号</string>
<string name="location">場所</string>
@@ -19,7 +18,7 @@
<string name="repository_url_text">ソースコードと問題管理は以下で: https://github.com/leapcode/bitmask_android/</string>
<string name="copyright_others">プログラムは、次のコンポーネントを使用します。完全な詳細についてはソース上のライセンスを参照してください。</string>
<string name="about">バージョン情報</string>
- <string name="about_summary">LEAP Androidについて</string>
+ <string name="about_summary">Bitmask Androidについて</string>
<string name="vpn_list_summary">設定されたすべてのVPN</string>
<string name="vpn_list_title">VPNプロファイル</string>
<string name="vpn_type">種別</string>
@@ -274,7 +273,7 @@ TCP keepaliveと長いタイムアウト時間は動作しますが、TCP over T
<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="notifcation_title">Bitmask - %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>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 4cd9da70..08c1bc26 100755
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
<resources>
- <string name="app">안드로이드용 LEAP</string>
<string name="address">서버 주소:</string>
<string name="port">서버 포트:</string>
<string name="location">위치</string>
@@ -19,7 +18,7 @@
<string name="repository_url_text">소스 코드와 문제 추적기는 https://github.com/leapcode/bitmask_android/에서 사용할 수 있습니다</string>
<string name="copyright_others">프로그램은 다음 구성 요소를 사용합니다. 라이선스에 대 한 자세한 내용은 소스를 참조 하십시오</string>
<string name="about">소개</string>
- <string name="about_summary">안드로이드용 LEAP 소개</string>
+ <string name="about_summary">안드로이드용 Bitmask 소개</string>
<string name="vpn_list_summary">설정된 VPN의 목록</string>
<string name="vpn_list_title">VPN 프로파일</string>
<string name="vpn_type">유형</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 459c80ec..01eefb86 100755
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
<resources>
- <string name="app">LEAP voor Android</string>
<string name="address">Server Adres:</string>
<string name="port">Server Poort:</string>
<string name="location">Locatie</string>
@@ -15,7 +14,7 @@
<string name="client_pkcs12_title">PKCS12 Bestand</string>
<string name="ca_title">CA Certificaat</string>
<string name="about">Over</string>
- <string name="about_summary">Over LEAP voor Android</string>
+ <string name="about_summary">Over Bitmask voor Android</string>
<string name="vpn_list_summary">Lijst van alle geconfigureerde VPN verbindingen</string>
<string name="vpn_list_title">VPN Profielen</string>
<string name="vpn_type">Type</string>
diff --git a/res/values-no/strings.xml b/res/values-no/strings.xml
index 99b97277..a5551578 100755
--- a/res/values-no/strings.xml
+++ b/res/values-no/strings.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
<resources>
- <string name="app">LEAP Android</string>
<string name="address">Server adresse:</string>
<string name="port">Server port:</string>
<string name="location">Plassering</string>
@@ -15,7 +14,7 @@
<string name="client_pkcs12_title">PKCS12 fil</string>
<string name="ca_title">CA-sertifikat</string>
<string name="about">Om</string>
- <string name="about_summary">Om LEAP Android</string>
+ <string name="about_summary">Om Bitmask Android</string>
<string name="vpn_list_summary">Liste over alle konfigurerte VPN-tilkoblinger</string>
<string name="vpn_list_title">VPN-profiler</string>
<string name="vpn_type">Type</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 308a47ac..0b669803 100755
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
<resources>
- <string name="app">LEAP pentru Android</string>
<string name="address">Adresa server:</string>
<string name="port">Port server:</string>
<string name="location">Locaţie</string>
@@ -19,7 +18,7 @@
<string name="repository_url_text">Cod sursă şi tracker probleme disponibile la https://github.com/leapcode/bitmask_android/</string>
<string name="copyright_others">Acest program utilizează următoarele componente; a se vedea codul sursă pentru mai multe detalii despre licente</string>
<string name="about">Despre</string>
- <string name="about_summary">Despre LEAP pentru Android</string>
+ <string name="about_summary">Despre Bitmask pentru Android</string>
<string name="vpn_list_summary">Lista tuturor VPN-urilor configurate</string>
<string name="vpn_list_title">Profile VPN</string>
<string name="vpn_type">Tip</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 1d3c10a3..596bd913 100755
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
<resources>
- <string name="app">LEAP для Android</string>
<string name="address">Адрес сервера:</string>
<string name="port">Порт сервера:</string>
<string name="location">Расположение</string>
@@ -19,7 +18,7 @@
<string name="repository_url_text">Исходники и информация о версиях находятся по адресу https://github.com/leapcode/bitmask_android/</string>
<string name="copyright_others">Данная программа использует следующие компоненты; смотрите исходный код для получения подробной информации о лицензии</string>
<string name="about">О программе</string>
- <string name="about_summary">Описание LEAP для Android</string>
+ <string name="about_summary">Описание Bitmask для Android</string>
<string name="vpn_list_summary">Список всех туннелей VPN</string>
<string name="vpn_list_title">Профили VPN</string>
<string name="vpn_type">Тип</string>
@@ -234,7 +233,7 @@
<string name="minidump_generated">OpenVPN завершилась неожиданно. Пожалуйста, посмотрите опцию \"Отправить Minidump\" в главном меню</string>
<string name="send_minidump">Отправить Minidump разработчику</string>
<string name="send_minidump_summary">Отправка отладочной информации разработчику о последнем неудачном завершении</string>
- <string name="notifcation_title">OpenVPN - %s</string>
+ <string name="notifcation_title">Bitmask - %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>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 14d9ce90..0a668bf9 100755
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
<resources>
- <string name="app">LEAP для Android</string>
<string name="address">Адреса сервера:</string>
<string name="port">Порт сервера:</string>
<string name="location">Розташування</string>
@@ -19,7 +18,7 @@
<string name="repository_url_text">Початковий код і відстеження проблем доступні по https://github.com/leapcode/bitmask_android/</string>
<string name="copyright_others">Ця програма використовує такі компоненти; перегляньте вихідний код для повної інформації про ліцензії</string>
<string name="about">Про</string>
- <string name="about_summary">Про LEAP для Android</string>
+ <string name="about_summary">Про Bitmask для Android</string>
<string name="vpn_list_summary">Список всіх налаштованих VPN</string>
<string name="vpn_list_title">VPN профілі</string>
<string name="vpn_type">Тип</string>
@@ -235,7 +234,7 @@
<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="notifcation_title">Bitmask - %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>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 89d3aeab..5dfc1b68 100755
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
<resources>
- <string name="app">LEAP Android版</string>
<string name="address">服务器地址:</string>
<string name="port">服务器端口:</string>
<string name="location">地点</string>
@@ -19,7 +18,7 @@
<string name="repository_url_text">请前往 https://github.com/leapcode/bitmask_android/ 源码或提供问题反馈</string>
<string name="copyright_others">本程序使用以下组件,请在 Licenses 查看源码获取更详细内容。</string>
<string name="about">关于</string>
- <string name="about_summary">关于 LEAP Android</string>
+ <string name="about_summary">关于 Bitmask Android</string>
<string name="vpn_list_summary">已完成配置的 VPN 列表</string>
<string name="vpn_list_title">VPN 配置文件</string>
<string name="vpn_type">类型</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 2d2f31ca..3d178545 100755
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
<resources>
- <string name="app">LEAP Android</string>
<string name="address">伺服器地址:</string>
<string name="port">伺服器端口:</string>
<string name="location">位置</string>
@@ -19,7 +18,7 @@
<string name="repository_url_text">取得原始碼與個案追蹤,可上 https://github.com/leapcode/bitmask_android/</string>
<string name="copyright_others">本程序使用了以下元件,其作者和授權資訊如下</string>
<string name="about">關於</string>
- <string name="about_summary">關於 LEAP Android</string>
+ <string name="about_summary">關於 Bitmask Android</string>
<string name="vpn_list_summary">列出所有已設置的VPN</string>
<string name="vpn_list_title">VPN設定檔</string>
<string name="vpn_type">類型</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 747ce85e..609310b8 100755
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2,8 +2,6 @@
<!-- Generated by crowdin.net -->
<resources>
- <string name="app">Bitmask</string>
- <string name="app_name">Bitmask</string>
<string name="address">Server Address:</string>
<string name="port">Server Port:</string>
<string name="location">Location</string>
@@ -22,7 +20,7 @@
<string name="no_certificate">You must select a certificate</string>
<string name="repository_url_text">Source code and issue tracker available at https://github.com/leapcode/bitmask_android/</string>
<string name="copyright_others">This program uses the following components; see the source code for full details on the licenses</string>
- <string name="about">About LEAP</string>
+ <string name="about">About Bitmask</string>
<string name="switch_provider_menu_option">Switch provider</string>
<string name="about_summary">About Bitmask for Android</string>
<string name="vpn_list_summary">List of all configured VPNs</string>
@@ -240,7 +238,7 @@
<string name="minidump_generated">OpenVPN crashed unexpectedly. Please consider using the send Minidump option in the main menu</string>
<string name="send_minidump">Send Minidump to developer</string>
<string name="send_minidump_summary">Send debugging information about last crash to developer</string>
- <string name="notifcation_title">OpenVPN - %s</string>
+ <string name="notifcation_title">Bitmask - %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">Connecting</string>
diff --git a/res/values/untranslatable.xml b/res/values/untranslatable.xml
index fe620aa8..8c15a213 100644
--- a/res/values/untranslatable.xml
+++ b/res/values/untranslatable.xml
@@ -1,6 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
-
+ <string name="app" translatable="false">Bitmask</string>
+ <string name="app_name" translatable="false">Bitmask</string>
+
<string name="copyright_leapgui" translatable="false">Copyright 2012\nLEAP Encryption Access Project &lt;info@leap.se></string>
<string name="opevpn_copyright" translatable="false">Copyright © 2002–2010 OpenVPN Technologies, Inc. &lt;sales@openvpn.net>\n
diff --git a/src/se/leap/bitmaskclient/ConfigurationWizard.java b/src/se/leap/bitmaskclient/ConfigurationWizard.java
index f6b93db4..2467c52f 100644
--- a/src/se/leap/bitmaskclient/ConfigurationWizard.java
+++ b/src/se/leap/bitmaskclient/ConfigurationWizard.java
@@ -84,6 +84,7 @@ implements ProviderListFragment.Callbacks, NewProviderDialogInterface, ProviderD
public ProviderAPIResultReceiver providerAPI_result_receiver;
private ProviderAPIBroadcastReceiver_Update providerAPI_broadcast_receiver_update;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -195,6 +196,7 @@ implements ProviderListFragment.Callbacks, NewProviderDialogInterface, ProviderD
ProviderItem selected_provider = getProvider(id);
int provider_index = getProviderIndex(id);
+
startProgressBar(provider_index+1);
provider_list_fragment.hideAllBut(provider_index);
@@ -245,6 +247,7 @@ implements ProviderListFragment.Callbacks, NewProviderDialogInterface, ProviderD
}
return "";
}
+
private void startProgressBar() {
mProgressBar.setVisibility(ProgressBar.VISIBLE);
@@ -269,7 +272,12 @@ implements ProviderListFragment.Callbacks, NewProviderDialogInterface, ProviderD
ProviderItem provider = providers_iterator.next();
if(provider.name().equalsIgnoreCase(id)) {
break;
+//<<<<<<< HEAD
+// }
+// index++;
+//=======
} else index++;
+//>>>>>>> bug/more-detailed-response-to-CW-errors
}
return index;
}
@@ -421,6 +429,7 @@ implements ProviderListFragment.Callbacks, NewProviderDialogInterface, ProviderD
}
private void autoSelectProvider(String provider_main_url, boolean danger_on) {
+
ConfigHelper.saveSharedPref(ProviderItem.DANGER_ON, danger_on);
onItemSelected(getId(provider_main_url));
}
diff --git a/src/se/leap/bitmaskclient/Dashboard.java b/src/se/leap/bitmaskclient/Dashboard.java
index 7880880c..d37479a2 100644
--- a/src/se/leap/bitmaskclient/Dashboard.java
+++ b/src/se/leap/bitmaskclient/Dashboard.java
@@ -227,7 +227,6 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
}
eipStop();
}
- //unregisterReceiver(providerAPI_broadcast_receiver_update);
ConfigHelper.removeFromSharedPref(Provider.KEY);
startActivityForResult(new Intent(this,ConfigurationWizard.class), SWITCH_PROVIDER);
return true;
diff --git a/src/se/leap/bitmaskclient/EIP.java b/src/se/leap/bitmaskclient/EIP.java
index 561f71af..2b7fd39f 100644
--- a/src/se/leap/bitmaskclient/EIP.java
+++ b/src/se/leap/bitmaskclient/EIP.java
@@ -439,7 +439,8 @@ public final class EIP extends IntentService {
String ports = "ports";
String protos = "protocols";
String capabilities = "capabilities";
- String location = "location";
+ String location_key = "location";
+ String locations = "locations";
Vector<String> arg = new Vector<String>();
Vector<Vector<String>> args = new Vector<Vector<String>>();
@@ -456,7 +457,6 @@ public final class EIP extends IntentService {
arg.add(word);
value.add( (Vector<String>) arg.clone() );
options.put(key, (Vector<Vector<String>>) value.clone());
-
value.clear();
arg.clear();
}
@@ -477,16 +477,22 @@ public final class EIP extends IntentService {
arg.clear();
args.clear();
+
try {
- arg.add(location);
- arg.add(mGateway.getString(location));
+
+ arg.add(location_key);
+ String locationText = "";
+ locationText = eipDefinition.getJSONObject(locations).getJSONObject(mGateway.getString(location_key)).getString("name");
+ arg.add(locationText);
+
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
args.add((Vector<String>) arg.clone());
options.put("location", (Vector<Vector<String>>) args.clone() );
+
arg.clear();
args.clear();
JSONArray protocolsJSON = null;
diff --git a/src/se/leap/bitmaskclient/EipServiceFragment.java b/src/se/leap/bitmaskclient/EipServiceFragment.java
index e182b3fd..b409394b 100644
--- a/src/se/leap/bitmaskclient/EipServiceFragment.java
+++ b/src/se/leap/bitmaskclient/EipServiceFragment.java
@@ -202,7 +202,10 @@ public class EipServiceFragment extends Fragment implements StateListener, OnCli
switchState = false;
} else if (state.equals("NOPROCESS")){
statusMessage = logmessage;
- } else {
+ } else if (state.equals("ASSIGN_IP")){ //don't show assigning message in eipStatus
+ statusMessage = (String) eipStatus.getText();
+ }
+ else {
statusMessage = prefix + " " + logmessage;
}
diff --git a/src/se/leap/bitmaskclient/LeapSRPSession.java b/src/se/leap/bitmaskclient/LeapSRPSession.java
index 14a8bff2..0849f777 100644
--- a/src/se/leap/bitmaskclient/LeapSRPSession.java
+++ b/src/se/leap/bitmaskclient/LeapSRPSession.java
@@ -35,9 +35,12 @@ import org.jboss.security.srp.SRPParameters;
*/
public class LeapSRPSession {
+ private static String token = "";
+
final public static String SALT = "salt";
final public static String M1 = "M1";
final public static String M2 = "M2";
+ final public static String TOKEN = "token";
private SRPParameters params;
private String username;
@@ -312,6 +315,14 @@ public class LeapSRPSession {
boolean valid = Arrays.equals(M2, myM2);
return valid;
}
+
+ protected static void setToken(String token) {
+ LeapSRPSession.token = token;
+ }
+
+ protected static String getToken() {
+ return token;
+ }
/**
* @return a new SHA-256 digest.
diff --git a/src/se/leap/bitmaskclient/ProviderAPI.java b/src/se/leap/bitmaskclient/ProviderAPI.java
index 62a51c32..ff6dd852 100644
--- a/src/se/leap/bitmaskclient/ProviderAPI.java
+++ b/src/se/leap/bitmaskclient/ProviderAPI.java
@@ -27,6 +27,7 @@ import java.net.CookieManager;
import java.net.CookiePolicy;
import java.net.MalformedURLException;
import java.net.SocketTimeoutException;
+import java.net.URISyntaxException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
@@ -69,6 +70,7 @@ import android.os.ResultReceiver;
import android.util.Base64;
import android.util.Log;
+
/**
* Implements HTTP api methods used to manage communications with the provider server.
*
@@ -358,6 +360,9 @@ public class ProviderAPI extends IntentService {
session_idAndM2.put(ConfigHelper.SESSION_ID_COOKIE_KEY, session_id_cookie.getName());
session_idAndM2.put(ConfigHelper.SESSION_ID_KEY, session_id_cookie.getValue());*/
session_idAndM2.put(LeapSRPSession.M2, ConfigHelper.trim(M2_not_trimmed));
+ CookieHandler.setDefault(null); // we don't need cookies anymore
+ String token = json_response.getString(LeapSRPSession.TOKEN);
+ LeapSRPSession.setToken(token);
}
return session_idAndM2;
}
@@ -429,12 +434,35 @@ public class ProviderAPI extends IntentService {
return result.toString();
}
+
+
+
+
/**
* Downloads a provider.json from a given URL, adding a new provider using the given name.
* @param task containing a boolean meaning if the provider is custom or not, another boolean meaning if the user completely trusts this provider, the provider name and its provider.json url.
* @return a bundle with a boolean value mapped to a key named RESULT_KEY, and which is true if the update was successful.
*/
private Bundle setUpProvider(Bundle task) {
+//<<<<<<< HEAD
+// Bundle result = new Bundle();
+// int progress = 0;
+// boolean danger_on = task.getBoolean(ProviderItem.DANGER_ON);
+// String provider_main_url = task.getString(Provider.MAIN_URL);
+// if(downloadCACert(provider_main_url, danger_on)) {
+// broadcast_progress(progress++);
+// result.putBoolean(RESULT_KEY, true);
+// if(getAndSetProviderJson(provider_main_url)) {
+// broadcast_progress(progress++);
+// if(getAndSetEipServiceJson())
+// broadcast_progress(progress++);
+// }
+// }
+// return result;
+// }
+//
+//
+//=======
int progress = 0;
Bundle current_download = new Bundle();
@@ -480,6 +508,7 @@ public class ProviderAPI extends IntentService {
return result;
}
+
public static boolean caCertDownloaded() {
return CA_CERT_DOWNLOADED;
}
@@ -522,6 +551,7 @@ public class ProviderAPI extends IntentService {
return result;
}
+
public static boolean providerJsonDownloaded() {
return PROVIDER_JSON_DOWNLOADED;
@@ -589,6 +619,8 @@ public class ProviderAPI extends IntentService {
provider_url = new URL(string_url);
URLConnection url_connection = provider_url.openConnection();
url_connection.setConnectTimeout(seconds_of_timeout*1000);
+ if(!LeapSRPSession.getToken().isEmpty())
+ url_connection.addRequestProperty(LeapSRPSession.TOKEN, LeapSRPSession.getToken());
json_file_content = new Scanner(url_connection.getInputStream()).useDelimiter("\\A").next();
} catch (MalformedURLException e) {
json_file_content = formatErrorMessage(R.string.malformed_url);
@@ -624,6 +656,8 @@ public class ProviderAPI extends IntentService {
HttpsURLConnection urlConnection =
(HttpsURLConnection)url.openConnection();
urlConnection.setSSLSocketFactory(getProviderSSLSocketFactory());
+ if(!LeapSRPSession.getToken().isEmpty())
+ urlConnection.addRequestProperty(LeapSRPSession.TOKEN, LeapSRPSession.getToken());
json_file_content = new Scanner(urlConnection.getInputStream()).useDelimiter("\\A").next();
} catch (CertificateException e) {
// TODO Auto-generated catch block
@@ -743,6 +777,7 @@ public class ProviderAPI extends IntentService {
int responseCode = urlConnection.getResponseCode();
broadcast_progress(progress++);
+ LeapSRPSession.setToken("");
Log.d("logout", Integer.toString(responseCode));
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
@@ -783,11 +818,13 @@ public class ProviderAPI extends IntentService {
try {
String type_of_certificate = task.getString(ConfigurationWizard.TYPE_OF_CERTIFICATE);
JSONObject provider_json = ConfigHelper.getJsonFromSharedPref(Provider.KEY);
- URL provider_main_url = new URL(provider_json.getString(Provider.API_URL));
- String new_cert_string_url = provider_main_url.toString() + "/" + provider_json.getString(Provider.API_VERSION) + "/" + EIP.CERTIFICATE;
+ String provider_main_url = provider_json.getString(Provider.API_URL);
+ URL new_cert_string_url = new URL(provider_main_url + "/" + provider_json.getString(Provider.API_VERSION) + "/" + EIP.CERTIFICATE);
boolean danger_on = ConfigHelper.getBoolFromSharedPref(ProviderItem.DANGER_ON);
- String cert_string = downloadWithProviderCA(new_cert_string_url, true);
+
+ String cert_string = downloadWithProviderCA(new_cert_string_url.toString(), danger_on);
+
if(!cert_string.isEmpty()) {
if(ConfigHelper.checkErroneousDownload(cert_string)) {
String reason_to_fail = provider_json.getString(ERRORS);
diff --git a/src/se/leap/bitmaskclient/ProviderListFragment.java b/src/se/leap/bitmaskclient/ProviderListFragment.java
index 53b6cb6d..45047982 100644
--- a/src/se/leap/bitmaskclient/ProviderListFragment.java
+++ b/src/se/leap/bitmaskclient/ProviderListFragment.java
@@ -155,7 +155,7 @@ public class ProviderListFragment extends ListFragment {
// Notify the active callbacks interface (the activity, if the
// fragment is attached to one) that an item has been selected.
mCallbacks.onItemSelected(ProviderListContent.ITEMS.get(position).name());
-
+
for(int item_position = 0; item_position < listView.getCount(); item_position++) {
if(item_position != position)
content_adapter.hide(item_position);
@@ -196,23 +196,27 @@ public class ProviderListFragment extends ListFragment {
mActivatedPosition = position;
}
- public void addItem(ProviderItem provider) {
- content_adapter.add(provider);
- content_adapter.notifyDataSetChanged();
- }
-
public void removeLastItem() {
unhideAll();
content_adapter.remove(content_adapter.getItem(content_adapter.getCount()-1));
content_adapter.notifyDataSetChanged();
}
+ public void addItem(ProviderItem provider) {
+ content_adapter.add(provider);
+ content_adapter.notifyDataSetChanged();
+ }
+
public void hideAllBut(int position) {
- for(int i = 0; i < content_adapter.getCount(); i++)
- if(i != position)
+ int real_count = content_adapter.getCount();
+ for(int i = 0; i < real_count;)
+ if(i != position) {
content_adapter.hide(i);
- else
- content_adapter.unHide(i);
+ position--;
+ real_count--;
+ } else {
+ i++;
+ }
}
public void unhideAll() {
diff --git a/src/se/leap/openvpn/OpenVpnService.java b/src/se/leap/openvpn/OpenVpnService.java
index 69dd56f4..b5c9c798 100644
--- a/src/se/leap/openvpn/OpenVpnService.java
+++ b/src/se/leap/openvpn/OpenVpnService.java
@@ -114,7 +114,7 @@ public class OpenVpnService extends VpnService implements StateListener, Callbac
android.app.Notification.Builder nbuilder = new Notification.Builder(this);
- nbuilder.setContentTitle(getString(R.string.notifcation_title,mProfile.mName));
+ nbuilder.setContentTitle(getString(R.string.notifcation_title,mProfile.mLocation));
nbuilder.setContentText(msg);
nbuilder.setOnlyAlertOnce(true);
nbuilder.setOngoing(persistant);
@@ -482,6 +482,8 @@ public class OpenVpnService extends VpnService implements StateListener, Callbac
if (("NOPROCESS".equals(state) ) || ("EXITING").equals(state)){
showNotification(state, getString(R.string.eip_state_not_connected), ticker, false, 0, persist);
}
+ else if (state.equals("GET_CONFIG") || state.equals("ASSIGN_IP")){ //don't show them in the notification message
+ }
else{
persist = true;
showNotification(state, getString(resid) +" " + logmessage,ticker,false,0,persist);