diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index bab33a25..61d6e639 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -53,16 +53,15 @@
Importiertes Profil
Importiertes Profil %d
Broken Images
- <p>Offical HTC images are known to have a strange routing problem causing traffic not to flow through the tunnel (See also <a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=18\">Issue 18</a> in the bug tracker.)</p><p>The offical SONY images from Xperia arc S and Xperia Ray have been reported to be missing the VPNService completly from the image. Other Sony images may be affected as well. (See also <a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=29\">Issue 29</a> in the bug tracker.)</p><p>On custom build images the tun module might be missing or the rights of /dev/tun might be wrong. On the experimental CM9 Defy image a <i>chown system /dev/tun</i> is needed to make the VPNService API work.</p>
Der Benutzername darf nicht leer sein
PKCS12 File Encryption Key
- Passwort privater Schlümmel
+ Passphrase privater Schlüssel
Passwort
IPv4
IPv6
TLS Richtung
Tragen Sie die IPv6 Adresse und Netzmaske im CIDR Format ein (z.B. 2000:dd::23/64)
- Tragen Sie die IPv4 Adresse und Netmaske im CIDR Format ein (z.B. 1.2.3.4/24)
+ Tragen Sie die IPv4 Adresse und Netzmaske im CIDR Format ein (z.B. 1.2.3.4/24)
IPv4 Adresse
IPv6 Adresse
Tragen Sie eigene OpenVPN Optionen ein. Beachten Sie, dass einige (vor allem tun spezifische) Optionen von der Android Version nicht unterstützt werden können. Wenn Sie denken, dass eine wichtige Option fehlt, kontaktieren Sie den Author.
@@ -81,7 +80,7 @@
Fehler in der Konfiguration
Kann die die IPv4 Adresse nicht parsen
Kann die Routes nicht parsen
- Leer lassen um nicht zu speichern
+ Password nicht speichern
OpenVPN Verknüpfung
VPN verbinden
Von der Verknüpfung referenziertes Profil konnte nicht gefunden werden
@@ -97,7 +96,16 @@
VPN löschen
Überprüft ob der Server ein TLS Server Zertifikat benutzt.
Erwarte TLS Server
- Prüfe Server CN gegen eine Zeichenfolge/string>Zertifikat Hostnamem ÜberprüfungGeben Sie die Zeichenkette an gegen die Openvn den CN (common name) prüfen soll. Openvpn prüft auf Präfixe. D.h. die Angabe "Server" wertet "Server-1" und "Server-2" als gültig\nLeer lassen um gegen den Servernamen zu prüfen.Server Hostname(CN)Benutzte TLS Schlüssel AuthentifizierungTLS Auth DateiFordert IP Addressen, Routen and andere Optionen vom Server an.Keine Informationen werden vom Server bezogen. Geben Sie manuell die Optionen an.Pull SettingsDNS
+ Prüft den CN des Serverzertifikats gegen eine Zeichenfolge
+ Zertifikat Namen überprüfen
+ Geben Sie die Zeichenkette an gegen die Openvn den CN (common name) prüfen soll. Openvpn prüft auf Präfixe. D.h. die Angabe "Server" wertet "Server-1" und "Server-2" als gültig\nLeer lassen um gegen den Servernamen zu prüfen.
+ Server Hostname(CN)
+ Benutzte TLS Schlüssel Authentifizierung
+ TLS Auth Datei
+ Fordert IP Addressen, Routen and andere Optionen vom Server an.
+ Keine Informationen werden vom Server bezogen. Geben Sie manuell die Optionen an.
+ Pull Settings
+ DNS
Eigene DNS Server.
Eigene DNS Server benutzen.
DNS Such Domäne
@@ -105,9 +113,9 @@
DNS Server
Sekundärer DNS Server. Wird genutzt falls der normale DNS Server nicht erreicht werden kann
Backup DNS Server
- Vom Server erhaltene Routen ignorieren
- Ignore routed pushed by the server.
- Redirects all Traffic over the VPN
+ Ignoriere gepushte Routen
+ Ingoriere die Routen, die der Server dem Client sendet.
+ Leitet allen Internet Vekehr über das VPN
Benutze Default Route
Benutze eigene Routen. Geben Sie Zielnetzwerk im CIDR format an. Z.b. "10.0.0.0/8 2002::/16" würde die Netzwerke 10.0.0.0/8 und 2002::/16 über das VPN routen.
Eigene Routen
@@ -137,11 +145,11 @@
ICS Openvpn log Datei
Log Eintrag in die Zwischenablage kopiert
Tap Mode
- Tap Mode ist mit der VPNService API, die VPN mit nicht root möglich macht, unterstützt nur tun modus. Das Unterstützen des Tap Modus ist daher nicht möglich.
+ Die VPN API von Android, die ohne rooten des Telefons funktioniert, unterstützt nur den tun modus. Das Unterstützen des Tap Modus ist daher nicht möglich.
Again? Are you kidding? No tap mode is really not supported and sending more mail aksing if it will be supported will not help.
A third time? Actually one could write a a tap emulator based on tun that would add layer2 information on send and strip layer2 information on receive. But this tap emulator would have to implement also ARP and possible a DHCP client. I am not aware of anybody doing any work in this direction. Contact me if you want to start coding on this.
FAQ
- häufig gefragte Fragen und Hinweise
+ häufig gestellte Fragen und Hinweise
Kopieren von Log Einträgen
To copy a single log entry press and and hold on the log entry. To copy/send the whole log use the Send Log option. Use the hardware menu button if not visible in the gui.
Verknüpfung zu einem VPN
@@ -156,6 +164,9 @@
Allgemeine Einstellungen
Dieses Android ROM enthält keine VPNService API, sorry :(
Fehler beim Anzeigen des Zertifikatsauswahlbildschirmes
- Versuch den Eigentümer von /dev/tun auf system zu ändern. Einige Cyanogenmod 9 ROM Versionen benötigen diese Option, damit die VPN API funktioniert.
- Repariere Eigentümer of /dev/tun
+ Versuch den Eigentümer von /dev/tun auf system zu ändern. Einige Cyanogenmod 9 ROM Versionen benötigen diese Option, damit die VPN API funktioniert. Benötigt root.
+ /dev/tun Eigentümer setzen.
+ Zeigt die generierte Konfigurationsdatei
+ Editiere \"%s\"
+
\ No newline at end of file
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 0e13a89a..84142feb 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -193,7 +193,7 @@
imported profile
imported profile %d
Broken Images
- <p>Offical HTC images are known to have a strange routing problem causing traffic not to flow through the tunnel (See also <a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=18\">Issue 18</a> in the bug tracker.)</p><p>The offical SONY images from Xperia arc S and Xperia Ray have been reported to be missing the VPNService completly from the image. Other Sony images may be affected as well. (See also <a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=29\">Issue 29</a> in the bug tracker.)</p><p>On custom build images the tun module might be missing or the rights of /dev/tun might be wrong. Some CM9 images need the fix ownership option under general settings.</p>
+ <p>Offical HTC images are known to have a strange routing problem causing traffic not to flow through the tunnel (See also <a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=18\">Issue 18</a> in the bug tracker.)</p><p>The offical SONY images from Xperia arc S and Xperia Ray have been reported to be missing the VPNService completly from the image. Other Sony images may be affected as well. (See also <a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=29\">Issue 29</a> in the bug tracker.)</p><p>On custom build images the tun module might be missing or the rights of /dev/tun might be wrong. Some CM9 images need the fix ownership option under general settings.</p><p>Most important: If you have a broken image, report it to your vendor. The more people report the issue to the vendor the more likely you will get a fix.</p>
The username must not be empty.
PKCS12 File Encryption Key
Private Key Password
@@ -204,4 +204,6 @@
General Settings
Tries to set the owner of /dev/tun to system. Some CM9 images need this to make the VPNService API work. Requires root.
Fix ownership of /dev/tun
+ Shows the generated openvpn Configuration File
+ Editing \"%s\"
diff --git a/res/xml/vpn_headers.xml b/res/xml/vpn_headers.xml
index 11409a8d..9d051a4d 100644
--- a/res/xml/vpn_headers.xml
+++ b/res/xml/vpn_headers.xml
@@ -25,7 +25,7 @@
\ No newline at end of file
diff --git a/src/de/blinkt/openvpn/ConfigConverter.java b/src/de/blinkt/openvpn/ConfigConverter.java
index 8aebc664..5e0a6eb3 100644
--- a/src/de/blinkt/openvpn/ConfigConverter.java
+++ b/src/de/blinkt/openvpn/ConfigConverter.java
@@ -5,6 +5,8 @@ import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
+import java.util.List;
+import java.util.Vector;
import android.app.Activity;
import android.app.ListActivity;
@@ -24,6 +26,8 @@ public class ConfigConverter extends ListActivity {
private VpnProfile mResult;
private ArrayAdapter mArrayAdapter;
+ private List mPathsegments;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -91,7 +95,20 @@ public class ConfigConverter extends ListActivity {
// Try diffent path relative to /mnt/sdcard
File sdcard = Environment.getExternalStorageDirectory();
File root = new File("/");
- File[] dirlist = {root, sdcard};
+
+ Vector dirlist = new Vector();
+
+ for(int i=mPathsegments.size()-1;i >=0 ;i--){
+ String path = "";
+ for (int j = 0;j<=i;j++) {
+ path += "/" + mPathsegments.get(j);
+ }
+ dirlist.add(new File(path));
+ }
+ dirlist.add(sdcard);
+ dirlist.add(root);
+
+
String[] fileparts = filename.split("/");
for(File rootdir:dirlist){
String suffix="";
@@ -159,6 +176,8 @@ public class ConfigConverter extends ListActivity {
log(R.string.importing_config,data.toString());
try {
InputStream is = getContentResolver().openInputStream(data);
+ mPathsegments = data.getPathSegments();
+
doImport(is);
} catch (FileNotFoundException e) {
log(R.string.import_content_resolve_error);
diff --git a/src/de/blinkt/openvpn/LaunchVPN.java b/src/de/blinkt/openvpn/LaunchVPN.java
index b7b010a4..4b21c959 100644
--- a/src/de/blinkt/openvpn/LaunchVPN.java
+++ b/src/de/blinkt/openvpn/LaunchVPN.java
@@ -301,7 +301,7 @@ public class LaunchVPN extends ListActivity implements OnItemClickListener {
}
} else if (resultCode == Activity.RESULT_CANCELED) {
- // User does want us to start, so we just vanish
+ // User does not want us to start, so we just vanish
finish();
}
}
diff --git a/src/de/blinkt/openvpn/OpenVpnPreferencesFragment.java b/src/de/blinkt/openvpn/OpenVpnPreferencesFragment.java
index 10378a80..4cf3b10b 100644
--- a/src/de/blinkt/openvpn/OpenVpnPreferencesFragment.java
+++ b/src/de/blinkt/openvpn/OpenVpnPreferencesFragment.java
@@ -13,11 +13,11 @@ public abstract class OpenVpnPreferencesFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- // Make sure there is an instance of the profile manager
- ProfileManager.getInstance(getActivity());
-
+
String profileUUID = getArguments().getString(getActivity().getPackageName() + ".profileUUID");
- mProfile = ProfileManager.get(profileUUID);
+ mProfile = ProfileManager.get(getActivity(),profileUUID);
+ getActivity().setTitle(getString(R.string.edit_profile_title, mProfile.getName()));
+
}
@Override
@@ -31,8 +31,7 @@ public abstract class OpenVpnPreferencesFragment extends PreferenceFragment {
super.onActivityCreated(savedInstanceState);
if(savedInstanceState!=null) {
String profileUUID=savedInstanceState.getString(VpnProfile.EXTRA_PROFILEUUID);
- ProfileManager.getInstance(getActivity());
- mProfile = ProfileManager.get(profileUUID);
+ mProfile = ProfileManager.get(getActivity(),profileUUID);
loadSettings();
}
}
diff --git a/src/de/blinkt/openvpn/ProfileManager.java b/src/de/blinkt/openvpn/ProfileManager.java
index 0164fe53..b1321b97 100644
--- a/src/de/blinkt/openvpn/ProfileManager.java
+++ b/src/de/blinkt/openvpn/ProfileManager.java
@@ -150,4 +150,11 @@ public class ProfileManager {
}
+
+
+ public static VpnProfile get(Context context, String profileUUID) {
+ checkInstance(context);
+ return get(profileUUID);
+ }
+
}
diff --git a/src/de/blinkt/openvpn/Settings_Basic.java b/src/de/blinkt/openvpn/Settings_Basic.java
index 2c478b70..bafee229 100644
--- a/src/de/blinkt/openvpn/Settings_Basic.java
+++ b/src/de/blinkt/openvpn/Settings_Basic.java
@@ -16,8 +16,6 @@
package de.blinkt.openvpn;
-import java.util.HashMap;
-
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
@@ -98,6 +96,7 @@ public class Settings_Basic extends Fragment implements View.OnClickListener, On
super.onCreate(savedInstanceState);
String profileuuid =getArguments().getString(getActivity().getPackageName() + ".profileUUID");
mProfile=ProfileManager.get(profileuuid);
+ getActivity().setTitle(getString(R.string.edit_profile_title, mProfile.getName()));
}
@Override
diff --git a/src/de/blinkt/openvpn/VPNPreferences.java b/src/de/blinkt/openvpn/VPNPreferences.java
index f128270a..a2c8407c 100644
--- a/src/de/blinkt/openvpn/VPNPreferences.java
+++ b/src/de/blinkt/openvpn/VPNPreferences.java
@@ -28,6 +28,10 @@ public class VPNPreferences extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
mProfileUUID = getIntent().getStringExtra(getPackageName() + ".profileUUID");
+ VpnProfile profile = ProfileManager.get(this,mProfileUUID);
+ if(profile!=null) {
+ setTitle(getString(R.string.edit_profile_title, profile.getName()));
+ }
super.onCreate(savedInstanceState);
}
diff --git a/src/de/blinkt/openvpn/VpnProfile.java b/src/de/blinkt/openvpn/VpnProfile.java
index b862bb8c..d9c39cab 100644
--- a/src/de/blinkt/openvpn/VpnProfile.java
+++ b/src/de/blinkt/openvpn/VpnProfile.java
@@ -102,6 +102,7 @@ public class VpnProfile implements Serializable{
mUsePull=false;
mUseLzo=false;
mUseDefaultRoute=false;
+ mUseDefaultRoutev6=false;
mExpectTLSCert=false;
}
@@ -130,7 +131,6 @@ public class VpnProfile implements Serializable{
}
public String getName() {
- // TODO Auto-generated method stub
return mName;
}
diff --git a/todo.txt b/todo.txt
index b7a58aef..f4945b4f 100644
--- a/todo.txt
+++ b/todo.txt
@@ -17,6 +17,7 @@ Ideas:
Bugfixes:
- startpath file explorer
+ - fix opening of files in email etc.
Missing configuration options: