From e5ec18009f6bef7a0c8bd54a4761c9abcd6780b2 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Tue, 13 Jun 2017 17:42:33 +0200 Subject: [PATCH] android: Escape backslashes in settings values For usernames that use domain specifiers. --- .../main/java/org/strongswan/android/utils/SettingsWriter.java | 2 +- .../java/org/strongswan/android/test/SettingsWriterTest.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) 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 -- 2.47.2