From d69b37d8ae8ec2742837716598ff0150c0fcbfee Mon Sep 17 00:00:00 2001 From: "wm624@hotmail.com" Date: Tue, 16 Aug 2016 15:56:49 -0700 Subject: [PATCH 1/4] add require for ssl.protocol --- core/src/main/scala/org/apache/spark/SecurityManager.scala | 4 +++- docs/configuration.md | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/core/src/main/scala/org/apache/spark/SecurityManager.scala b/core/src/main/scala/org/apache/spark/SecurityManager.scala index f72c7ded5ea52..b7a8030734e1d 100644 --- a/core/src/main/scala/org/apache/spark/SecurityManager.scala +++ b/core/src/main/scala/org/apache/spark/SecurityManager.scala @@ -282,7 +282,9 @@ private[spark] class SecurityManager(sparkConf: SparkConf) }: TrustManager }) - val sslContext = SSLContext.getInstance(fileServerSSLOptions.protocol.getOrElse("Default")) + require(fileServerSSLOptions.protocol != None, + "spark.ssl.protocol is required when enabling SSL connections.") + val sslContext = SSLContext.getInstance(fileServerSSLOptions.protocol.get) sslContext.init(null, trustStoreManagers.getOrElse(credulousTrustStoreManagers), null) val hostVerifier = new HostnameVerifier { diff --git a/docs/configuration.md b/docs/configuration.md index 96e8c6d08a1e3..4bda464b98bf6 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -1472,6 +1472,9 @@ Apart from these, the following properties are also available, and may be useful

Whether to enable SSL connections on all supported protocols.

+

When spark.ssl.enabled is configured, spark.ssl.protocol + is required.

+

All the SSL settings like spark.ssl.xxx where xxx is a particular configuration property, denote the global configuration for all the supported protocols. In order to override the global configuration for the particular protocol, From 0f18e9417157e1df7c7bea52342e7ae9f0727785 Mon Sep 17 00:00:00 2001 From: "wm624@hotmail.com" Date: Wed, 17 Aug 2016 14:45:57 -0700 Subject: [PATCH 2/4] address review comments --- .../main/scala/org/apache/spark/SecurityManager.scala | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/core/src/main/scala/org/apache/spark/SecurityManager.scala b/core/src/main/scala/org/apache/spark/SecurityManager.scala index b7a8030734e1d..2ff0d8cffb087 100644 --- a/core/src/main/scala/org/apache/spark/SecurityManager.scala +++ b/core/src/main/scala/org/apache/spark/SecurityManager.scala @@ -282,9 +282,12 @@ private[spark] class SecurityManager(sparkConf: SparkConf) }: TrustManager }) - require(fileServerSSLOptions.protocol != None, - "spark.ssl.protocol is required when enabling SSL connections.") - val sslContext = SSLContext.getInstance(fileServerSSLOptions.protocol.get) + if (!fileServerSSLOptions.protocol.isDefined) { + throw new IllegalArgumentException( + "Error: spark.ssl.protocol is required when enabling SSL connections. ") + } + + val sslContext = SSLContext.getInstance(fileServerSSLOptions.protocol.getOrElse("Default")) sslContext.init(null, trustStoreManagers.getOrElse(credulousTrustStoreManagers), null) val hostVerifier = new HostnameVerifier { From a38bd6b58d2e3232c31f03f0fcd472d60dd351c4 Mon Sep 17 00:00:00 2001 From: "wm624@hotmail.com" Date: Thu, 18 Aug 2016 11:00:31 -0700 Subject: [PATCH 3/4] address review comments --- core/src/main/scala/org/apache/spark/SecurityManager.scala | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/core/src/main/scala/org/apache/spark/SecurityManager.scala b/core/src/main/scala/org/apache/spark/SecurityManager.scala index 2ff0d8cffb087..4111ac596fafe 100644 --- a/core/src/main/scala/org/apache/spark/SecurityManager.scala +++ b/core/src/main/scala/org/apache/spark/SecurityManager.scala @@ -282,10 +282,8 @@ private[spark] class SecurityManager(sparkConf: SparkConf) }: TrustManager }) - if (!fileServerSSLOptions.protocol.isDefined) { - throw new IllegalArgumentException( - "Error: spark.ssl.protocol is required when enabling SSL connections. ") - } + require(fileServerSSLOptions.protocol.isDefined, + "spark.ssl.protocol is required when enabling SSL connections.") val sslContext = SSLContext.getInstance(fileServerSSLOptions.protocol.getOrElse("Default")) sslContext.init(null, trustStoreManagers.getOrElse(credulousTrustStoreManagers), null) From 901780768a3984896104b74e93309f8eb3e19068 Mon Sep 17 00:00:00 2001 From: "wm624@hotmail.com" Date: Fri, 19 Aug 2016 09:37:01 -0700 Subject: [PATCH 4/4] remove OrElse --- core/src/main/scala/org/apache/spark/SecurityManager.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/scala/org/apache/spark/SecurityManager.scala b/core/src/main/scala/org/apache/spark/SecurityManager.scala index 4111ac596fafe..a6550b6ca8c94 100644 --- a/core/src/main/scala/org/apache/spark/SecurityManager.scala +++ b/core/src/main/scala/org/apache/spark/SecurityManager.scala @@ -285,7 +285,7 @@ private[spark] class SecurityManager(sparkConf: SparkConf) require(fileServerSSLOptions.protocol.isDefined, "spark.ssl.protocol is required when enabling SSL connections.") - val sslContext = SSLContext.getInstance(fileServerSSLOptions.protocol.getOrElse("Default")) + val sslContext = SSLContext.getInstance(fileServerSSLOptions.protocol.get) sslContext.init(null, trustStoreManagers.getOrElse(credulousTrustStoreManagers), null) val hostVerifier = new HostnameVerifier {