You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by lg...@apache.org on 2018/09/14 16:29:43 UTC

mina-sshd git commit: [SSHD-843] Fixed ability to disable registering security providers using system property

Repository: mina-sshd
Updated Branches:
  refs/heads/master e7a75e42f -> 8e6e0313c


[SSHD-843] Fixed ability to disable registering security providers using system property


Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/8e6e0313
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/8e6e0313
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/8e6e0313

Branch: refs/heads/master
Commit: 8e6e0313c664d768e909fc989d8a2cf2e29715ae
Parents: e7a75e4
Author: Lyor Goldstein <ly...@gmail.com>
Authored: Fri Sep 14 18:59:32 2018 +0300
Committer: Lyor Goldstein <ly...@gmail.com>
Committed: Fri Sep 14 19:34:40 2018 +0300

----------------------------------------------------------------------
 .../apache/sshd/common/PropertyResolver.java    |  3 +-
 .../sshd/common/PropertyResolverUtils.java      |  6 ++--
 .../apache/sshd/common/SyspropsMapWrapper.java  | 35 +++++++++++++-------
 .../security/SecurityProviderRegistrar.java     |  5 +--
 .../common/util/security/SecurityUtils.java     |  8 ++---
 5 files changed, 35 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/8e6e0313/sshd-common/src/main/java/org/apache/sshd/common/PropertyResolver.java
----------------------------------------------------------------------
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/PropertyResolver.java b/sshd-common/src/main/java/org/apache/sshd/common/PropertyResolver.java
index c333c7f..91c3d41 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/PropertyResolver.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/PropertyResolver.java
@@ -81,8 +81,7 @@ public interface PropertyResolver {
      * be converted into one.
      * </P>
      *
-     * @return a valid <code>Map</code> containing configuration values, never
-     *         {@code null}
+     * @return a valid <code>Map</code> containing configuration values, never {@code null}
      */
     Map<String, Object> getProperties();
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/8e6e0313/sshd-common/src/main/java/org/apache/sshd/common/PropertyResolverUtils.java
----------------------------------------------------------------------
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/PropertyResolverUtils.java b/sshd-common/src/main/java/org/apache/sshd/common/PropertyResolverUtils.java
index 6677685..39ce5f6 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/PropertyResolverUtils.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/PropertyResolverUtils.java
@@ -268,11 +268,13 @@ public final class PropertyResolverUtils {
     }
 
     public static Boolean getBoolean(PropertyResolver resolver, String name) {
-        return toBoolean(resolvePropertyValue(resolver, name));
+        Object propValue = resolvePropertyValue(resolver, name);
+        return toBoolean(propValue);
     }
 
     public static Boolean getBoolean(Map<String, ?> props, String name) {
-        return toBoolean(resolvePropertyValue(props, name));
+        Object propValue = resolvePropertyValue(props, name);
+        return toBoolean(propValue);
     }
 
     public static Boolean toBoolean(Object value) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/8e6e0313/sshd-common/src/main/java/org/apache/sshd/common/SyspropsMapWrapper.java
----------------------------------------------------------------------
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/SyspropsMapWrapper.java b/sshd-common/src/main/java/org/apache/sshd/common/SyspropsMapWrapper.java
index 4408be2..09ef03a 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/SyspropsMapWrapper.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/SyspropsMapWrapper.java
@@ -46,6 +46,13 @@ public final class SyspropsMapWrapper implements Map<String, Object> {
     public static final String SYSPROPS_MAPPED_PREFIX = "org.apache.sshd.config";
 
     /**
+     * Exposes the &quot;raw&quot; system properties as a {@link PropertyResolver}
+     * without any further filtering
+     */
+    public static final PropertyResolver RAW_PROPS_RESOLVER =
+        PropertyResolverUtils.toPropertyResolver(System.getProperties());
+
+    /**
      * The one and only wrapper instance
      */
     public static final SyspropsMapWrapper INSTANCE = new SyspropsMapWrapper();
@@ -114,7 +121,8 @@ public final class SyspropsMapWrapper implements Map<String, Object> {
 
             Object v = props.getProperty(key);
             if (v != null) {
-                entries.add(new SimpleImmutableEntry<>(getUnmappedSyspropKey(key), v));
+                String unmappedKey = getUnmappedSyspropKey(key);
+                entries.add(new SimpleImmutableEntry<>(unmappedKey, v));
             }
         }
 
@@ -123,7 +131,8 @@ public final class SyspropsMapWrapper implements Map<String, Object> {
 
     @Override
     public Object get(Object key) {
-        return (key instanceof String) ? System.getProperty(getMappedSyspropKey(key)) : null;
+        String propName = getMappedSyspropKey(key);
+        return (key instanceof String) ? System.getProperty(propName) : null;
     }
 
     @Override
@@ -134,11 +143,12 @@ public final class SyspropsMapWrapper implements Map<String, Object> {
     @Override
     public Set<String> keySet() {
         return System.getProperties()
-                .stringPropertyNames().stream()
-                // filter out any non-SSHD properties
-                .filter(SyspropsMapWrapper::isMappedSyspropKey)
-                .map(SyspropsMapWrapper::getUnmappedSyspropKey)
-                .collect(Collectors.toSet());
+            .stringPropertyNames()
+            .stream()
+            // filter out any non-SSHD properties
+            .filter(SyspropsMapWrapper::isMappedSyspropKey)
+            .map(SyspropsMapWrapper::getUnmappedSyspropKey)
+            .collect(Collectors.toSet());
     }
 
     @Override
@@ -166,15 +176,16 @@ public final class SyspropsMapWrapper implements Map<String, Object> {
         Properties props = System.getProperties();
         // return a copy in order to avoid concurrent modifications
         return props
-                .stringPropertyNames().stream()
-                .filter(SyspropsMapWrapper::isMappedSyspropKey)
-                .map(props::get)
-                .collect(Collectors.toList());
+            .stringPropertyNames()
+            .stream()
+            .filter(SyspropsMapWrapper::isMappedSyspropKey)
+            .map(props::get)
+            .collect(Collectors.toList());
     }
 
     @Override
     public String toString() {
-        return Objects.toString(System.getProperties(), null);
+        return Objects.toString(entrySet(), null);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/8e6e0313/sshd-common/src/main/java/org/apache/sshd/common/util/security/SecurityProviderRegistrar.java
----------------------------------------------------------------------
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/util/security/SecurityProviderRegistrar.java b/sshd-common/src/main/java/org/apache/sshd/common/util/security/SecurityProviderRegistrar.java
index 31e428b..dc852eb 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/util/security/SecurityProviderRegistrar.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/util/security/SecurityProviderRegistrar.java
@@ -106,12 +106,13 @@ public interface SecurityProviderRegistrar extends SecurityProviderChoice, Optio
             return false;
         }
 
-        return this.getBooleanProperty(getConfigurationPropertyName(ENABLED_PROPERTY), true);
+        String configPropName = getConfigurationPropertyName(ENABLED_PROPERTY);
+        return this.getBooleanProperty(configPropName, true);
     }
 
     @Override
     default PropertyResolver getParentPropertyResolver() {
-        return SyspropsMapWrapper.SYSPROPS_RESOLVER;
+        return SyspropsMapWrapper.RAW_PROPS_RESOLVER;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/8e6e0313/sshd-common/src/main/java/org/apache/sshd/common/util/security/SecurityUtils.java
----------------------------------------------------------------------
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/util/security/SecurityUtils.java b/sshd-common/src/main/java/org/apache/sshd/common/util/security/SecurityUtils.java
index ee755e6..e05f429 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/util/security/SecurityUtils.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/util/security/SecurityUtils.java
@@ -126,10 +126,10 @@ public final class SecurityUtils {
      */
     public static final String SECURITY_PROVIDER_REGISTRARS = "org.apache.sshd.security.registrars";
     public static final List<String> DEFAULT_SECURITY_PROVIDER_REGISTRARS =
-            Collections.unmodifiableList(
-                    Arrays.asList(
-                            "org.apache.sshd.common.util.security.bouncycastle.BouncyCastleSecurityProviderRegistrar",
-                            "org.apache.sshd.common.util.security.eddsa.EdDSASecurityProviderRegistrar"));
+        Collections.unmodifiableList(
+            Arrays.asList(
+                "org.apache.sshd.common.util.security.bouncycastle.BouncyCastleSecurityProviderRegistrar",
+                "org.apache.sshd.common.util.security.eddsa.EdDSASecurityProviderRegistrar"));
 
 
     /**