Skip to content

Commit 2f618dd

Browse files
committed
Bring back disableSNI used in Pekko < v2 and Akka <= v2.8
1 parent 44916cc commit 2f618dd

File tree

1 file changed

+8
-1
lines changed
  • ssl-config-core/src/main/scala/com/typesafe/sslconfig/ssl

1 file changed

+8
-1
lines changed

ssl-config-core/src/main/scala/com/typesafe/sslconfig/ssl/Config.scala

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,34 +260,39 @@ object SSLDebugConfig {
260260
* default.
261261
* @param disableHostnameVerification Whether hostname verification should be disabled. Be aware: SSL Config itself is not using this config.
262262
* However, it was kept because 3rd party libraries rely on its existence.
263+
* @param disableSNI Whether SNI should be disabled (up to client library to respect this setting or not)
263264
* @param acceptAnyCertificate Whether any X.509 certificate should be accepted or not.
264265
*/
265266
final class SSLLooseConfig private[sslconfig] (
266267
val acceptAnyCertificate: Boolean = false,
267268
val allowLegacyHelloMessages: Option[Boolean] = None,
268269
val allowUnsafeRenegotiation: Option[Boolean] = None,
269270
val disableHostnameVerification: Boolean = false,
271+
val disableSNI: Boolean = false,
270272
) {
271273

272274
def withAcceptAnyCertificate(value: Boolean): SSLLooseConfig = copy(acceptAnyCertificate = value)
273275
def withAllowLegacyHelloMessages(value: Option[Boolean]): SSLLooseConfig = copy(allowLegacyHelloMessages = value)
274276
def withAllowUnsafeRenegotiation(value: Option[Boolean]): SSLLooseConfig = copy(allowUnsafeRenegotiation = value)
275277
def withDisableHostnameVerification(value: Boolean): SSLLooseConfig = copy(disableHostnameVerification = value)
278+
def withDisableSNI(value: Boolean): SSLLooseConfig = copy(disableSNI = value)
276279

277280
private def copy(
278281
acceptAnyCertificate: Boolean = acceptAnyCertificate,
279282
allowLegacyHelloMessages: Option[Boolean] = allowLegacyHelloMessages,
280283
allowUnsafeRenegotiation: Option[Boolean] = allowUnsafeRenegotiation,
281284
disableHostnameVerification: Boolean = disableHostnameVerification,
285+
disableSNI: Boolean = disableSNI,
282286
): SSLLooseConfig = new SSLLooseConfig(
283287
acceptAnyCertificate = acceptAnyCertificate,
284288
allowLegacyHelloMessages = allowLegacyHelloMessages,
285289
allowUnsafeRenegotiation = allowUnsafeRenegotiation,
286290
disableHostnameVerification = disableHostnameVerification,
291+
disableSNI = disableSNI,
287292
)
288293

289294
override def toString =
290-
s"""SSLLooseConfig(${acceptAnyCertificate},${allowLegacyHelloMessages},${allowUnsafeRenegotiation},${disableHostnameVerification})"""
295+
s"""SSLLooseConfig(${acceptAnyCertificate},${allowLegacyHelloMessages},${allowUnsafeRenegotiation},${disableHostnameVerification},${disableSNI})"""
291296
}
292297
object SSLLooseConfig {
293298
def apply() = new SSLLooseConfig()
@@ -459,12 +464,14 @@ class SSLConfigParser(c: EnrichedConfig, classLoader: ClassLoader, loggerFactory
459464
val allowMessages = config.getOptional[Boolean]("allowLegacyHelloMessages")
460465
val allowUnsafeRenegotiation = config.getOptional[Boolean]("allowUnsafeRenegotiation")
461466
val disableHostnameVerification = config.getOptional[Boolean]("disableHostnameVerification").getOrElse(false)
467+
val disableSNI = config.get[Boolean]("disableSNI")
462468
val acceptAnyCertificate = config.get[Boolean]("acceptAnyCertificate")
463469

464470
new SSLLooseConfig(
465471
allowLegacyHelloMessages = allowMessages,
466472
allowUnsafeRenegotiation = allowUnsafeRenegotiation,
467473
disableHostnameVerification = disableHostnameVerification,
474+
disableSNI = disableSNI,
468475
acceptAnyCertificate = acceptAnyCertificate
469476
)
470477
}

0 commit comments

Comments
 (0)