From 20caa22f058d86477571921c7097d7388b42b0c9 Mon Sep 17 00:00:00 2001 From: Stelian Pop Date: Fri, 16 Apr 2021 11:36:25 +0200 Subject: [PATCH] Fix parsing of EOL in keyserver answer --- .../keychain/keyimport/HkpKeyserverClient.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/HkpKeyserverClient.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/HkpKeyserverClient.java index f838aa757..e30542a32 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/HkpKeyserverClient.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/HkpKeyserverClient.java @@ -54,7 +54,7 @@ import static java.util.Locale.ENGLISH; public class HkpKeyserverClient implements KeyserverClient { private static final Pattern INFO_LINE = Pattern - .compile("^info:1:([0-9]*)\n", Pattern.CASE_INSENSITIVE); + .compile("^info:1:([0-9]*)\r?\n", Pattern.CASE_INSENSITIVE); /** * uid:%escaped uid string%:%creationdate%:%expirationdate%:%flags% @@ -82,11 +82,11 @@ public class HkpKeyserverClient implements KeyserverClient { */ private static final Pattern UID_LINE = Pattern .compile("(uid:" + // group 1 - "([^:\n]*)" + // group 2 + "([^:\r?\n]*)" +// group 2 "(?::([0-9]*)" + // group 3 "(?::([0-9]*)" + // group 4 "(?::(((?=(r(?!(.?r))|d(?!(.?d))|e(?!(.?e))))[rde]){0,3})" + // group 5 - ")?)?)?\n)", + ")?)?)?\r?\n)", Pattern.CASE_INSENSITIVE); /** @@ -128,7 +128,7 @@ public class HkpKeyserverClient implements KeyserverClient { "(?::([0-9]*)" + // group 5 "(?::([0-9]*)" + // group 6 "(?::((?:(?=(?:r(?!(.?r))|d(?!(.?d))|e(?!(.?e))))[rde]){0,3})" + // group 7 - ")?)?)?)?)?\n)"// pub line + ")?)?)?)?)?\r\n)"// pub line + "(" + UID_LINE.pattern() + // group 11 "+)", // one or more uid lines Pattern.CASE_INSENSITIVE