diff options
author | Bjørn Christian Seime <bjorncs@oath.com> | 2018-11-26 15:37:53 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@oath.com> | 2018-11-26 15:40:20 +0100 |
commit | 5a752f667d9b517c0bdcf6cc4d343ba377c7009f (patch) | |
tree | 03c266f7cb8cab4b0c81e0263a0a8f06d1ad494c /security-utils | |
parent | 5fda15658e85d4c0bf7c52e9afa07a6aae072c25 (diff) |
Escape '!' which is also a regex meta character
Diffstat (limited to 'security-utils')
-rw-r--r-- | security-utils/src/main/java/com/yahoo/security/tls/policy/HostGlobPattern.java | 6 | ||||
-rw-r--r-- | security-utils/src/test/java/com/yahoo/security/tls/policy/HostGlobPatternTest.java | 6 |
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 +} |