From: Tobias Brunner Date: Tue, 13 Jun 2017 15:42:33 +0000 (+0200) Subject: android: Escape backslashes in settings values X-Git-Tag: 5.6.0dr1~24^2~30 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e5ec18009f6bef7a0c8bd54a4761c9abcd6780b2;p=thirdparty%2Fstrongswan.git android: Escape backslashes in settings values For usernames that use domain specifiers. --- diff --git a/src/frontends/android/app/src/main/java/org/strongswan/android/utils/SettingsWriter.java b/src/frontends/android/app/src/main/java/org/strongswan/android/utils/SettingsWriter.java index 01c0ab8a83..dd7749049e 100644 --- a/src/frontends/android/app/src/main/java/org/strongswan/android/utils/SettingsWriter.java +++ b/src/frontends/android/app/src/main/java/org/strongswan/android/utils/SettingsWriter.java @@ -118,7 +118,7 @@ public class SettingsWriter */ private String escapeValue(String value) { - return value.replace("\"", "\\\""); + return value.replace("\\", "\\\\").replace("\"", "\\\""); } /** diff --git a/src/frontends/android/app/src/test/java/org/strongswan/android/test/SettingsWriterTest.java b/src/frontends/android/app/src/test/java/org/strongswan/android/test/SettingsWriterTest.java index aaa880cd7c..cfad01d007 100644 --- a/src/frontends/android/app/src/test/java/org/strongswan/android/test/SettingsWriterTest.java +++ b/src/frontends/android/app/src/test/java/org/strongswan/android/test/SettingsWriterTest.java @@ -95,7 +95,8 @@ public class SettingsWriterTest SettingsWriter writer = new SettingsWriter(); writer.setValue("key", "val\"ue"); writer.setValue("nl", "val\nue"); - assertEquals("serialized", "key=\"val\\\"ue\"\nnl=\"val\nue\"\n", writer.serialize()); + writer.setValue("bs", "val\\ue"); + assertEquals("serialized", "key=\"val\\\"ue\"\nnl=\"val\nue\"\nbs=\"val\\\\ue\"\n", writer.serialize()); } @Test