diff --git a/api/src/main/java/com/github/eyefloaters/console/api/support/FetchFilterPredicate.java b/api/src/main/java/com/github/eyefloaters/console/api/support/FetchFilterPredicate.java index 0006aa285..029bd053e 100644 --- a/api/src/main/java/com/github/eyefloaters/console/api/support/FetchFilterPredicate.java +++ b/api/src/main/java/com/github/eyefloaters/console/api/support/FetchFilterPredicate.java @@ -24,10 +24,37 @@ public FetchFilterPredicate(String name, FetchFilter filter, Function if (operator.equals("like")) { // throws ClassCastException if this class is constructed with an incorrect operandParser (API bug) String firstOperand = (String) firstOperand(); - likePattern = Pattern.compile(firstOperand - .replace(".", "\\.") - .replace("*", ".*") - .replace("?", ".")); + StringBuilder pattern = new StringBuilder(); + StringBuilder quoted = new StringBuilder(); + Runnable appendQuoted = () -> { + if (quoted.length() > 0) { + pattern.append(Pattern.quote(quoted.toString())); + quoted.setLength(0); + } + }; + + firstOperand.chars().forEach(c -> { + switch (c) { + case '.': + appendQuoted.run(); + pattern.append("\\."); + break; + case '*': + appendQuoted.run(); + pattern.append(".*"); + break; + case '?': + appendQuoted.run(); + pattern.append("."); + break; + default: + quoted.append((char) c); + break; + } + }); + + appendQuoted.run(); + likePattern = Pattern.compile(pattern.toString()); } else { likePattern = null; } diff --git a/api/src/main/java/com/github/eyefloaters/console/api/support/TrustAllCertificateManager.java b/api/src/main/java/com/github/eyefloaters/console/api/support/TrustAllCertificateManager.java index d2adee625..a43a219f1 100644 --- a/api/src/main/java/com/github/eyefloaters/console/api/support/TrustAllCertificateManager.java +++ b/api/src/main/java/com/github/eyefloaters/console/api/support/TrustAllCertificateManager.java @@ -36,7 +36,7 @@ public void trustClusterCertificate(Map cfg) { TrustManager[] trustAllCerts = {this}; try { - SSLContext sc = SSLContext.getInstance("TLS"); + SSLContext sc = SSLContext.getInstance("TLSv1.2"); sc.init(null, trustAllCerts, new SecureRandom()); SSLSocketFactory factory = sc.getSocketFactory(); String bootstrap = (String) cfg.get(CommonClientConfigs.BOOTSTRAP_SERVERS_CONFIG);