summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--security-utils/src/main/java/com/yahoo/security/tls/policy/HostGlobPattern.java6
-rw-r--r--security-utils/src/test/java/com/yahoo/security/tls/policy/HostGlobPatternTest.java6
2 files changed, 6 insertions, 6 deletions
diff --git a/security-utils/src/main/java/com/yahoo/security/tls/policy/HostGlobPattern.java b/security-utils/src/main/java/com/yahoo/security/tls/policy/HostGlobPattern.java
index f667d832d9e..c7acf5dfbeb 100644
--- a/security-utils/src/main/java/com/yahoo/security/tls/policy/HostGlobPattern.java
+++ b/security-utils/src/main/java/com/yahoo/security/tls/policy/HostGlobPattern.java
@@ -35,7 +35,7 @@ public class HostGlobPattern {
} else if (c == '?') {
// Same applies for single chars; they should only match _within_ a dot boundary.
builder.append("[^.]");
- } else if (isSpecialCharacter(c)){
+ } else if (isRegexMetaCharacter(c)){
builder.append("\\");
builder.append(c);
} else {
@@ -46,8 +46,8 @@ public class HostGlobPattern {
return Pattern.compile(builder.toString());
}
- private static boolean isSpecialCharacter(char c) {
- return "\\.[]{}()<>*+-=?^$|".indexOf(c) != -1;
+ private static boolean isRegexMetaCharacter(char c) {
+ return "<([{\\^-=$!|]})?*+.>".indexOf(c) != -1; // note: includes '?' and '*'
}
@Override
diff --git a/security-utils/src/test/java/com/yahoo/security/tls/policy/HostGlobPatternTest.java b/security-utils/src/test/java/com/yahoo/security/tls/policy/HostGlobPatternTest.java
index d03ca14a728..ebec5605621 100644
--- a/security-utils/src/test/java/com/yahoo/security/tls/policy/HostGlobPatternTest.java
+++ b/security-utils/src/test/java/com/yahoo/security/tls/policy/HostGlobPatternTest.java
@@ -59,11 +59,11 @@ public class HostGlobPatternTest {
}
@Test
- public void regex_special_characters_are_matched_as_literal_characters() {
- assertTrue(globMatches("\\.[]{}()<>+-=^$|", "\\.[]{}()<>+-=^$|"));
+ public void other_regex_meta_characters_are_matched_as_literal_characters() {
+ assertTrue(globMatches("<([{\\^-=$!|]})+.>", "<([{\\^-=$!|]})+.>"));
}
private static boolean globMatches(String pattern, String value) {
return new HostGlobPattern(pattern).matches(value);
}
-} \ No newline at end of file
+}