From c4f7cb98b887b1d5e1dc3796339402ba974ddc93 Mon Sep 17 00:00:00 2001 From: Bjørn Christian Seime Date: Fri, 17 Feb 2023 11:31:09 +0100 Subject: Warn instead of fail for unknown capability (set) --- .../src/main/java/com/yahoo/security/tls/CapabilitySet.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'security-utils/src/main/java/com/yahoo/security/tls/CapabilitySet.java') diff --git a/security-utils/src/main/java/com/yahoo/security/tls/CapabilitySet.java b/security-utils/src/main/java/com/yahoo/security/tls/CapabilitySet.java index b4674e2ac38..3d8d5ced6d6 100644 --- a/security-utils/src/main/java/com/yahoo/security/tls/CapabilitySet.java +++ b/security-utils/src/main/java/com/yahoo/security/tls/CapabilitySet.java @@ -12,6 +12,7 @@ import java.util.Objects; import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; +import java.util.logging.Logger; import java.util.stream.Collectors; /** @@ -19,6 +20,8 @@ import java.util.stream.Collectors; */ public class CapabilitySet implements ToCapabilitySet { + private static final Logger log = Logger.getLogger(CapabilitySet.class.getName()); + private static final Map PREDEFINED = new HashMap<>(); @@ -71,9 +74,11 @@ public class CapabilitySet implements ToCapabilitySet { public static CapabilitySet fromNames(Collection names) { EnumSet caps = EnumSet.noneOf(Capability.class); for (String name : names) { - var predefined = PREDEFINED.get(name); - if (predefined != null) caps.addAll(predefined.caps); - else caps.add(Capability.fromName(name)); + var predefinedSet = PREDEFINED.get(name); + var capability = Capability.fromName(name).orElse(null); + if (capability != null) caps.add(capability); + else if (predefinedSet != null) caps.addAll(predefinedSet.caps); + else log.warning("Cannot find capability or capability set with name '%s'".formatted(name)); } return new CapabilitySet(caps); } -- cgit v1.2.3