From 0f17ce17cb00be0fd46576d60a283863140b2859 Mon Sep 17 00:00:00 2001 From: Artur Sukhenko Date: Fri, 29 Jul 2016 23:07:20 +0300 Subject: [PATCH 1/4] [SPARK-16796] [Web UI] Visible passwords on Spark environment page --- .../org/apache/spark/ui/env/EnvironmentPage.scala | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/core/src/main/scala/org/apache/spark/ui/env/EnvironmentPage.scala b/core/src/main/scala/org/apache/spark/ui/env/EnvironmentPage.scala index f0a1174a71d34..7c0498a59fc49 100644 --- a/core/src/main/scala/org/apache/spark/ui/env/EnvironmentPage.scala +++ b/core/src/main/scala/org/apache/spark/ui/env/EnvironmentPage.scala @@ -25,12 +25,20 @@ import org.apache.spark.ui.{UIUtils, WebUIPage} private[ui] class EnvironmentPage(parent: EnvironmentTab) extends WebUIPage("") { private val listener = parent.listener - + val passwordProperties: Seq[String] = Seq("spark.ssl.keyPassword", + "spark.ssl.keyStorePassword", "spark.ssl.trustStorePassword") + + def removePass(kv: (String, String)): (String, String) = { + if (passwordProperties.contains(kv._1)) { + return (kv._1, "******") + } + kv + } def render(request: HttpServletRequest): Seq[Node] = { val runtimeInformationTable = UIUtils.listingTable( propertyHeader, jvmRow, listener.jvmInformation, fixedWidth = true) val sparkPropertiesTable = UIUtils.listingTable( - propertyHeader, propertyRow, listener.sparkProperties, fixedWidth = true) + propertyHeader, propertyRow, listener.sparkProperties.map(removePass), fixedWidth = true) val systemPropertiesTable = UIUtils.listingTable( propertyHeader, propertyRow, listener.systemProperties, fixedWidth = true) val classpathEntriesTable = UIUtils.listingTable( From e97f89472d466e4dd55e617baa6fa08cd91cbe1f Mon Sep 17 00:00:00 2001 From: Artur Sukhenko Date: Fri, 29 Jul 2016 23:39:09 +0300 Subject: [PATCH 2/4] Change Seq to Set for passwordProperties --- .../main/scala/org/apache/spark/ui/env/EnvironmentPage.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/scala/org/apache/spark/ui/env/EnvironmentPage.scala b/core/src/main/scala/org/apache/spark/ui/env/EnvironmentPage.scala index 7c0498a59fc49..ed920ecb0bc68 100644 --- a/core/src/main/scala/org/apache/spark/ui/env/EnvironmentPage.scala +++ b/core/src/main/scala/org/apache/spark/ui/env/EnvironmentPage.scala @@ -25,7 +25,7 @@ import org.apache.spark.ui.{UIUtils, WebUIPage} private[ui] class EnvironmentPage(parent: EnvironmentTab) extends WebUIPage("") { private val listener = parent.listener - val passwordProperties: Seq[String] = Seq("spark.ssl.keyPassword", + val passwordProperties: Set[String] = Set("spark.ssl.keyPassword", "spark.ssl.keyStorePassword", "spark.ssl.trustStorePassword") def removePass(kv: (String, String)): (String, String) = { From 1bee0da0d88ea76d38f557b89560c0651fd50963 Mon Sep 17 00:00:00 2001 From: Artur Sukhenko Date: Sun, 31 Jul 2016 17:13:23 +0300 Subject: [PATCH 3/4] [SPARK-16796][Web UI] Visible passwords on Spark environment page --- .../scala/org/apache/spark/ui/env/EnvironmentPage.scala | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/core/src/main/scala/org/apache/spark/ui/env/EnvironmentPage.scala b/core/src/main/scala/org/apache/spark/ui/env/EnvironmentPage.scala index ed920ecb0bc68..3c7062113406d 100644 --- a/core/src/main/scala/org/apache/spark/ui/env/EnvironmentPage.scala +++ b/core/src/main/scala/org/apache/spark/ui/env/EnvironmentPage.scala @@ -25,11 +25,9 @@ import org.apache.spark.ui.{UIUtils, WebUIPage} private[ui] class EnvironmentPage(parent: EnvironmentTab) extends WebUIPage("") { private val listener = parent.listener - val passwordProperties: Set[String] = Set("spark.ssl.keyPassword", - "spark.ssl.keyStorePassword", "spark.ssl.trustStorePassword") - def removePass(kv: (String, String)): (String, String) = { - if (passwordProperties.contains(kv._1)) { + private def removePass(kv: (String, String)): (String, String) = { + if (kv._1.toLowerCase.contains("password")) { return (kv._1, "******") } kv From e4b617c576868d42b57acdc0192e23b81ffc4bf4 Mon Sep 17 00:00:00 2001 From: Artur Sukhenko Date: Mon, 1 Aug 2016 17:12:21 +0300 Subject: [PATCH 4/4] Refactor removePass to follow scala style --- .../scala/org/apache/spark/ui/env/EnvironmentPage.scala | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/core/src/main/scala/org/apache/spark/ui/env/EnvironmentPage.scala b/core/src/main/scala/org/apache/spark/ui/env/EnvironmentPage.scala index 3c7062113406d..22136a6f10743 100644 --- a/core/src/main/scala/org/apache/spark/ui/env/EnvironmentPage.scala +++ b/core/src/main/scala/org/apache/spark/ui/env/EnvironmentPage.scala @@ -27,11 +27,9 @@ private[ui] class EnvironmentPage(parent: EnvironmentTab) extends WebUIPage("") private val listener = parent.listener private def removePass(kv: (String, String)): (String, String) = { - if (kv._1.toLowerCase.contains("password")) { - return (kv._1, "******") - } - kv + if (kv._1.toLowerCase.contains("password")) (kv._1, "******") else kv } + def render(request: HttpServletRequest): Seq[Node] = { val runtimeInformationTable = UIUtils.listingTable( propertyHeader, jvmRow, listener.jvmInformation, fixedWidth = true)