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 "raw" 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"));
/**