Fix SslOptions.isSpecified() logic
Prior to this commit `SslOptions.isSpecified()` only returned `true` if both ciphers and enabled protocols were set. If should have returned `true` if either were set. Fixes gh-43082
This commit is contained in:
@@ -45,7 +45,7 @@ public interface SslOptions {
|
||||
* @return {@code true} if SSL options have been specified
|
||||
*/
|
||||
default boolean isSpecified() {
|
||||
return (getCiphers() != null) && (getEnabledProtocols() != null);
|
||||
return (getCiphers() != null) || (getEnabledProtocols() != null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2023 the original author or authors.
|
||||
* Copyright 2012-2024 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -72,4 +72,22 @@ class SslOptionsTests {
|
||||
assertThat(options.getEnabledProtocols()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
void isSpecifiedWhenHasCiphers() {
|
||||
SslOptions options = SslOptions.of(Set.of("a", "b", "c"), null);
|
||||
assertThat(options.isSpecified()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
void isSpecifiedWhenHasEnabledProtocols() {
|
||||
SslOptions options = SslOptions.of(null, Set.of("d", "e", "f"));
|
||||
assertThat(options.isSpecified()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
void isSpecifiedWhenHasNoCiphersOrEnabledProtocols() {
|
||||
SslOptions options = SslOptions.NONE;
|
||||
assertThat(options.isSpecified()).isFalse();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user