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 2015/12/02 11:00:33 UTC
[1/7] mina-sshd git commit: Fixed KeyReExchangeTest
outputDebugMessage format
Repository: mina-sshd
Updated Branches:
refs/heads/master 3802e5212 -> 23ac5e3bd
Fixed KeyReExchangeTest outputDebugMessage format
Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/d74fae19
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/d74fae19
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/d74fae19
Branch: refs/heads/master
Commit: d74fae196a086d86871f4459299375201be2efba
Parents: 3802e52
Author: Lyor Goldstein <lg...@vmware.com>
Authored: Wed Dec 2 11:54:03 2015 +0200
Committer: Lyor Goldstein <lg...@vmware.com>
Committed: Wed Dec 2 11:54:03 2015 +0200
----------------------------------------------------------------------
sshd-core/src/test/java/org/apache/sshd/KeyReExchangeTest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/d74fae19/sshd-core/src/test/java/org/apache/sshd/KeyReExchangeTest.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/test/java/org/apache/sshd/KeyReExchangeTest.java b/sshd-core/src/test/java/org/apache/sshd/KeyReExchangeTest.java
index a1b62b6..323e131 100644
--- a/sshd-core/src/test/java/org/apache/sshd/KeyReExchangeTest.java
+++ b/sshd-core/src/test/java/org/apache/sshd/KeyReExchangeTest.java
@@ -552,7 +552,7 @@ public class KeyReExchangeTest extends BaseTestSupport {
// no need to wait until the packets limit is reached if a re-key occurred
if (exchanges.get() > 0) {
- outputDebugMessage("Stop sending after % packets and %d bytes - exchanges=%s",
+ outputDebugMessage("Stop sending after %d packets and %d bytes - exchanges=%s",
(index + 1), (index + 1L) * data.length, exchanges);
break;
}
[7/7] mina-sshd git commit: Lazy calculate BaseMac#toString() value
Posted by lg...@apache.org.
Lazy calculate BaseMac#toString() value
Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/23ac5e3b
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/23ac5e3b
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/23ac5e3b
Branch: refs/heads/master
Commit: 23ac5e3bd1b8292f4a98f4036226e648812a7fb5
Parents: 00a5eb6
Author: Lyor Goldstein <lg...@vmware.com>
Authored: Wed Dec 2 12:00:11 2015 +0200
Committer: Lyor Goldstein <lg...@vmware.com>
Committed: Wed Dec 2 12:00:11 2015 +0200
----------------------------------------------------------------------
.../main/java/org/apache/sshd/common/mac/BaseMac.java | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/23ac5e3b/sshd-core/src/main/java/org/apache/sshd/common/mac/BaseMac.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/mac/BaseMac.java b/sshd-core/src/main/java/org/apache/sshd/common/mac/BaseMac.java
index 5c9fc82..f5e89c7 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/mac/BaseMac.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/mac/BaseMac.java
@@ -35,6 +35,7 @@ public class BaseMac implements Mac {
private final int bsize;
private final byte[] tmp;
private javax.crypto.Mac mac;
+ private String s;
public BaseMac(String algorithm, int bsize, int defbsize) {
this.algorithm = algorithm;
@@ -107,8 +108,13 @@ public class BaseMac implements Mac {
@Override
public String toString() {
- return getClass().getSimpleName() + "[" + getAlgorithm() + "] - "
- + " block=" + getBlockSize() + "/" + getDefaultBlockSize() + " bytes";
- }
+ synchronized (this) {
+ if (s == null) {
+ s = getClass().getSimpleName() + "[" + getAlgorithm() + "] - "
+ + " block=" + getBlockSize() + "/" + getDefaultBlockSize() + " bytes";
+ }
+ }
+ return s;
+ }
}
[2/7] mina-sshd git commit: [SSHD-533] Add support for SHA-224
(builtin) digest
Posted by lg...@apache.org.
[SSHD-533] Add support for SHA-224 (builtin) digest
* Detecting the support for the digest in a standard way for ALL built-in ones
Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/0fcccf64
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/0fcccf64
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/0fcccf64
Branch: refs/heads/master
Commit: 0fcccf6421ce526f1a4866ef5812373ade32b81f
Parents: d74fae1
Author: Lyor Goldstein <lg...@vmware.com>
Authored: Wed Dec 2 11:55:46 2015 +0200
Committer: Lyor Goldstein <lg...@vmware.com>
Committed: Wed Dec 2 11:55:46 2015 +0200
----------------------------------------------------------------------
.../apache/sshd/common/digest/BaseDigest.java | 22 ++++++++++++---
.../sshd/common/digest/BuiltinDigests.java | 28 ++++++++------------
.../apache/sshd/common/digest/DigestUtils.java | 17 ++++++++++++
3 files changed, 46 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/0fcccf64/sshd-core/src/main/java/org/apache/sshd/common/digest/BaseDigest.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/digest/BaseDigest.java b/sshd-core/src/main/java/org/apache/sshd/common/digest/BaseDigest.java
index 793f571..221dc0c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/digest/BaseDigest.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/digest/BaseDigest.java
@@ -35,8 +35,8 @@ public class BaseDigest implements Digest {
private final String algorithm;
private final int bsize;
- private final int h;
- private final String s;
+ private int h;
+ private String s;
private MessageDigest md;
/**
@@ -51,8 +51,6 @@ public class BaseDigest implements Digest {
this.algorithm = ValidateUtils.checkNotNullAndNotEmpty(algorithm, "No algorithm");
ValidateUtils.checkTrue(bsize > 0, "Invalid block size: %d", bsize);
this.bsize = bsize;
- this.s = getClass().getSimpleName() + "[" + algorithm + ":" + bsize + "]";
- this.h = Objects.hashCode(algorithm) + bsize;
}
@Override
@@ -94,9 +92,19 @@ public class BaseDigest implements Digest {
@Override
public int hashCode() {
+ synchronized (this) {
+ if (h == 0) {
+ h = Objects.hashCode(getAlgorithm()) + getBlockSize();
+ if (h == 0) {
+ h = 1;
+ }
+ }
+ }
+
return h;
}
+
@Override
public int compareTo(Digest that) {
if (that == null) {
@@ -138,6 +146,12 @@ public class BaseDigest implements Digest {
@Override
public String toString() {
+ synchronized (this) {
+ if (s == null) {
+ s = getClass().getSimpleName() + "[" + getAlgorithm() + ":" + getBlockSize() + "]";
+ }
+ }
+
return s;
}
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/0fcccf64/sshd-core/src/main/java/org/apache/sshd/common/digest/BuiltinDigests.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/digest/BuiltinDigests.java b/sshd-core/src/main/java/org/apache/sshd/common/digest/BuiltinDigests.java
index 19cd28c..01ed09a 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/digest/BuiltinDigests.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/digest/BuiltinDigests.java
@@ -26,9 +26,6 @@ import java.util.Set;
import org.apache.sshd.common.NamedFactory;
import org.apache.sshd.common.NamedResource;
import org.apache.sshd.common.util.GenericUtils;
-import org.apache.sshd.common.util.OsUtils;
-import org.apache.sshd.common.util.SecurityUtils;
-import org.apache.sshd.common.util.VersionInfo;
/**
* Provides easy access to the currently implemented digests
@@ -38,18 +35,7 @@ import org.apache.sshd.common.util.VersionInfo;
public enum BuiltinDigests implements DigestFactory {
md5(Constants.MD5, "MD5", 16),
sha1(Constants.SHA1, "SHA-1", 20),
- sha224(Constants.SHA224, "SHA-224", 28) {
- @Override
- public boolean isSupported() {
- if (SecurityUtils.isBouncyCastleRegistered()) {
- return true;
- }
-
- // SHA-224 was introduced in Java-8
- VersionInfo version = OsUtils.getJavaVersion();
- return version.getMinorVersion() >= 8;
- }
- },
+ sha224(Constants.SHA224, "SHA-224", 28),
sha256(Constants.SHA256, "SHA-256", 32),
sha384(Constants.SHA384, "SHA-384", 48),
sha512(Constants.SHA512, "SHA-512", 64);
@@ -60,11 +46,19 @@ public enum BuiltinDigests implements DigestFactory {
private final String algorithm;
private final int blockSize;
private final String factoryName;
+ private final boolean supported;
BuiltinDigests(String factoryName, String algorithm, int blockSize) {
this.factoryName = factoryName;
this.algorithm = algorithm;
this.blockSize = blockSize;
+ /*
+ * This can be done once since in order to change the support the JVM
+ * needs to be stopped, some unlimited-strength files need be installed
+ * and then the JVM re-started. Therefore, the answer is not going to
+ * change while the JVM is running
+ */
+ this.supported = DigestUtils.checkSupported(algorithm);
}
@Override
@@ -93,8 +87,8 @@ public enum BuiltinDigests implements DigestFactory {
}
@Override
- public boolean isSupported() {
- return true;
+ public final boolean isSupported() {
+ return supported;
}
/**
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/0fcccf64/sshd-core/src/main/java/org/apache/sshd/common/digest/DigestUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/digest/DigestUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/digest/DigestUtils.java
index fdf9adc..e54ceeb 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/digest/DigestUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/digest/DigestUtils.java
@@ -21,6 +21,7 @@ package org.apache.sshd.common.digest;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
+import java.security.MessageDigest;
import java.util.Collection;
import java.util.Comparator;
@@ -28,6 +29,7 @@ import org.apache.sshd.common.Factory;
import org.apache.sshd.common.util.Base64;
import org.apache.sshd.common.util.GenericUtils;
import org.apache.sshd.common.util.NumberUtils;
+import org.apache.sshd.common.util.SecurityUtils;
import org.apache.sshd.common.util.ValidateUtils;
import org.apache.sshd.common.util.buffer.BufferUtils;
@@ -40,6 +42,21 @@ public final class DigestUtils {
}
/**
+ * @param algorithm The digest algorithm - never {@code null}/empty
+ * @return {@code true} if this digest algorithm is supported
+ * @see SecurityUtils#getMessageDigest(String)
+ */
+ public static boolean checkSupported(String algorithm) {
+ ValidateUtils.checkNotNullAndNotEmpty(algorithm, "No algorithm");
+ try {
+ MessageDigest digest = SecurityUtils.getMessageDigest(algorithm);
+ return digest != null; // just in case
+ } catch (Exception e) {
+ return false;
+ }
+ }
+
+ /**
* @param <D> The generic type of digest factory
* @param algo The required algorithm name - ignored if {@code null}/empty
* @param comp The {@link Comparator} to use to compare algorithm names
[3/7] mina-sshd git commit: Expose more information about the cipher
via its CipherFactory as well
Posted by lg...@apache.org.
Expose more information about the cipher via its CipherFactory as well
* Also exposed the "checkSupported" method as a Utils one
Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/c437270b
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/c437270b
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/c437270b
Branch: refs/heads/master
Commit: c437270b6044cca55071f5eba97819d74dc463f1
Parents: 0fcccf6
Author: Lyor Goldstein <lg...@vmware.com>
Authored: Wed Dec 2 11:57:03 2015 +0200
Committer: Lyor Goldstein <lg...@vmware.com>
Committed: Wed Dec 2 11:57:03 2015 +0200
----------------------------------------------------------------------
.../apache/sshd/common/cipher/BaseCipher.java | 19 ++++---
.../sshd/common/cipher/BuiltinCiphers.java | 29 +++-------
.../org/apache/sshd/common/cipher/Cipher.java | 57 ++++++++++++--------
.../sshd/common/cipher/CipherFactory.java | 4 +-
.../sshd/common/cipher/CipherInformation.java | 45 ++++++++++++++++
5 files changed, 102 insertions(+), 52 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/c437270b/sshd-core/src/main/java/org/apache/sshd/common/cipher/BaseCipher.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/cipher/BaseCipher.java b/sshd-core/src/main/java/org/apache/sshd/common/cipher/BaseCipher.java
index 381825d..546685e 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/cipher/BaseCipher.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/cipher/BaseCipher.java
@@ -38,6 +38,7 @@ public class BaseCipher implements Cipher {
private final int bsize;
private final String algorithm;
private final String transformation;
+ private String s;
public BaseCipher(int ivsize, int bsize, String algorithm, String transformation) {
this.ivsize = ivsize;
@@ -102,11 +103,17 @@ public class BaseCipher implements Cipher {
@Override
public String toString() {
- return getClass().getSimpleName()
- + "[" + getAlgorithm()
- + "," + getIVSize()
- + "," + getBlockSize()
- + "," + getTransformation()
- + "]";
+ synchronized (this) {
+ if (s == null) {
+ s = getClass().getSimpleName()
+ + "[" + getAlgorithm()
+ + "," + getIVSize()
+ + "," + getBlockSize()
+ + "," + getTransformation()
+ + "]";
+ }
+ }
+
+ return s;
}
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/c437270b/sshd-core/src/main/java/org/apache/sshd/common/cipher/BuiltinCiphers.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/cipher/BuiltinCiphers.java b/sshd-core/src/main/java/org/apache/sshd/common/cipher/BuiltinCiphers.java
index f2cc3ef..3b236bd 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/cipher/BuiltinCiphers.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/cipher/BuiltinCiphers.java
@@ -96,9 +96,9 @@ public enum BuiltinCiphers implements CipherFactory {
* This can be done once since in order to change the support the JVM
* needs to be stopped, some unlimited-strength files need be installed
* and then the JVM re-started. Therefore, the answer is not going to
- * change while the JVM is running
+ * change while the JVM is running
*/
- this.supported = checkSupported(this.transformation, this.keysize);
+ this.supported = Constants.NONE.equals(factoryName) || Cipher.Utils.checkSupported(this.transformation, this.keysize);
}
@Override
@@ -121,15 +121,6 @@ public enum BuiltinCiphers implements CipherFactory {
return supported;
}
- private static boolean checkSupported(String xform, int keyLength) {
- try {
- int maxKeyLength = javax.crypto.Cipher.getMaxAllowedKeyLength(xform);
- return maxKeyLength >= keyLength;
- } catch (Exception e) {
- return false;
- }
- }
-
/**
* @return The key size (in bits) for the cipher
*/
@@ -137,30 +128,22 @@ public enum BuiltinCiphers implements CipherFactory {
return keysize;
}
- /**
- * @return The size of the initialization vector
- */
+ @Override
public int getIVSize() {
return ivsize;
}
- /**
- * @return The block size for this cipher
- */
+ @Override
public int getBlockSize() {
return blocksize;
}
- /**
- * @return The algorithm for this cipher
- */
+ @Override
public String getAlgorithm() {
return algorithm;
}
- /**
- * @return The transformation for this cipher
- */
+ @Override
public String getTransformation() {
return transformation;
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/c437270b/sshd-core/src/main/java/org/apache/sshd/common/cipher/Cipher.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/cipher/Cipher.java b/sshd-core/src/main/java/org/apache/sshd/common/cipher/Cipher.java
index 9e53cc9..20f1267 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/cipher/Cipher.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/cipher/Cipher.java
@@ -18,39 +18,21 @@
*/
package org.apache.sshd.common.cipher;
+import org.apache.sshd.common.util.ValidateUtils;
+
/**
* Wrapper for a cryptographic cipher, used either for encryption
* or decryption.
*
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
-public interface Cipher {
+public interface Cipher extends CipherInformation {
enum Mode {
Encrypt, Decrypt
}
/**
- * @return The cipher's algorithm
- */
- String getAlgorithm();
-
- /**
- * @return The actual transformation used - e.g., AES/CBC/NoPadding
- */
- String getTransformation();
-
- /**
- * @return Size of the initialization vector (in bytes)
- */
- int getIVSize();
-
- /**
- * @return The block size (in bytes) for this cipher
- */
- int getBlockSize();
-
- /**
* Initialize the cipher for encryption or decryption with
* the given key and initialization vector
*
@@ -80,4 +62,37 @@ public interface Cipher {
*/
void update(byte[] input, int inputOffset, int inputLen) throws Exception;
+ /**
+ * Utility class to help using {@link Cipher}s
+ */
+ // CHECKSTYLE:OFF
+ final class Utils {
+ // CHECKSTYLE:ON
+
+ private Utils() {
+ throw new UnsupportedOperationException("No instance allowed");
+ }
+
+ /**
+ * @param xform The full cipher transformation - e.g., AES/CBC/NoPadding -
+ * never {@code null}/empty
+ * @param keyLength The required key length in bits - always positive
+ * @return {@code true} if the cipher transformation <U>and</U> required
+ * key length are supported
+ * @see {@link javax.crypto.Cipher#getMaxAllowedKeyLength(String)}
+ */
+ public static boolean checkSupported(String xform, int keyLength) {
+ ValidateUtils.checkNotNullAndNotEmpty(xform, "No transformation");
+ if (keyLength <= 0) {
+ throw new IllegalArgumentException("Bad key length (" + keyLength + ") for cipher=" + xform);
+ }
+
+ try {
+ int maxKeyLength = javax.crypto.Cipher.getMaxAllowedKeyLength(xform);
+ return maxKeyLength >= keyLength;
+ } catch (Exception e) {
+ return false;
+ }
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/c437270b/sshd-core/src/main/java/org/apache/sshd/common/cipher/CipherFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/cipher/CipherFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/cipher/CipherFactory.java
index 3cafe49..36909f3 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/cipher/CipherFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/cipher/CipherFactory.java
@@ -25,7 +25,7 @@ import org.apache.sshd.common.BuiltinFactory;
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
// CHECKSTYLE:OFF
-public interface CipherFactory extends BuiltinFactory<Cipher> {
-
+public interface CipherFactory extends BuiltinFactory<Cipher>, CipherInformation {
+ // nothing extra
}
//CHECKSTYLE:ON
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/c437270b/sshd-core/src/main/java/org/apache/sshd/common/cipher/CipherInformation.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/cipher/CipherInformation.java b/sshd-core/src/main/java/org/apache/sshd/common/cipher/CipherInformation.java
new file mode 100644
index 0000000..f17fd16
--- /dev/null
+++ b/sshd-core/src/main/java/org/apache/sshd/common/cipher/CipherInformation.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.sshd.common.cipher;
+
+/**
+ * @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
+ */
+public interface CipherInformation {
+ /**
+ * @return The cipher's algorithm
+ */
+ String getAlgorithm();
+
+ /**
+ * @return The actual transformation used - e.g., AES/CBC/NoPadding
+ */
+ String getTransformation();
+
+ /**
+ * @return Size of the initialization vector (in bytes)
+ */
+ int getIVSize();
+
+ /**
+ * @return The block size (in bytes) for this cipher
+ */
+ int getBlockSize();
+}
[6/7] mina-sshd git commit: Made KeyExchange a NamedResource
Posted by lg...@apache.org.
Made KeyExchange a NamedResource
Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/00a5eb61
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/00a5eb61
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/00a5eb61
Branch: refs/heads/master
Commit: 00a5eb61a02df4870342d6fdadd80f8de1159b67
Parents: 76fc62f
Author: Lyor Goldstein <lg...@vmware.com>
Authored: Wed Dec 2 11:59:41 2015 +0200
Committer: Lyor Goldstein <lg...@vmware.com>
Committed: Wed Dec 2 11:59:41 2015 +0200
----------------------------------------------------------------------
.../main/java/org/apache/sshd/client/kex/DHGClient.java | 10 +++++-----
.../main/java/org/apache/sshd/client/kex/DHGEXClient.java | 10 +++++-----
.../main/java/org/apache/sshd/common/kex/KeyExchange.java | 3 ++-
.../apache/sshd/common/kex/dh/AbstractDHKeyExchange.java | 5 +++++
.../main/java/org/apache/sshd/server/kex/DHGEXServer.java | 10 +++++-----
.../main/java/org/apache/sshd/server/kex/DHGServer.java | 10 +++++-----
6 files changed, 27 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/00a5eb61/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGClient.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGClient.java b/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGClient.java
index 9ffdb9c..430c296 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGClient.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGClient.java
@@ -50,6 +50,11 @@ public class DHGClient extends AbstractDHClientKeyExchange {
this.factory = ValidateUtils.checkNotNull(factory, "No factory");
}
+ @Override
+ public final String getName() {
+ return factory.getName();
+ }
+
public static final KeyExchangeFactory newFactory(final DHFactory delegate) {
return new KeyExchangeFactory() {
@Override
@@ -139,9 +144,4 @@ public class DHGClient extends AbstractDHClientKeyExchange {
}
return true;
}
-
- @Override
- public String toString() {
- return getClass().getSimpleName() + "[" + factory.getName() + "]";
- }
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/00a5eb61/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGEXClient.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGEXClient.java b/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGEXClient.java
index 8548dff..dca86aa 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGEXClient.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGEXClient.java
@@ -60,6 +60,11 @@ public class DHGEXClient extends AbstractDHClientKeyExchange {
this.prf = Math.min(SecurityUtils.PREFERRED_DHGEX_KEY_SIZE, max);
}
+ @Override
+ public final String getName() {
+ return factory.getName();
+ }
+
public static KeyExchangeFactory newFactory(final DHFactory delegate) {
return new KeyExchangeFactory() {
@Override
@@ -179,9 +184,4 @@ public class DHGEXClient extends AbstractDHClientKeyExchange {
protected AbstractDH getDH(BigInteger p, BigInteger g) throws Exception {
return factory.create(p, g);
}
-
- @Override
- public String toString() {
- return getClass().getSimpleName() + "[" + factory.getName() + "]";
- }
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/00a5eb61/sshd-core/src/main/java/org/apache/sshd/common/kex/KeyExchange.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/kex/KeyExchange.java b/sshd-core/src/main/java/org/apache/sshd/common/kex/KeyExchange.java
index 73c2c21..24fcd57 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/kex/KeyExchange.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/kex/KeyExchange.java
@@ -21,6 +21,7 @@ package org.apache.sshd.common.kex;
import java.security.PublicKey;
import java.util.Map;
+import org.apache.sshd.common.NamedResource;
import org.apache.sshd.common.SshConstants;
import org.apache.sshd.common.digest.Digest;
import org.apache.sshd.common.session.AbstractSession;
@@ -33,7 +34,7 @@ import org.apache.sshd.common.util.logging.LoggingUtils;
*
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
-public interface KeyExchange {
+public interface KeyExchange extends NamedResource {
/**
* Initialize the key exchange algorithm.
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/00a5eb61/sshd-core/src/main/java/org/apache/sshd/common/kex/dh/AbstractDHKeyExchange.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/kex/dh/AbstractDHKeyExchange.java b/sshd-core/src/main/java/org/apache/sshd/common/kex/dh/AbstractDHKeyExchange.java
index 6cbb376..666e2b7 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/kex/dh/AbstractDHKeyExchange.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/kex/dh/AbstractDHKeyExchange.java
@@ -73,4 +73,9 @@ public abstract class AbstractDHKeyExchange extends AbstractLoggingBean implemen
public byte[] getK() {
return k;
}
+
+ @Override
+ public String toString() {
+ return getClass().getSimpleName() + "[" + getName() + "]";
+ }
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/00a5eb61/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGEXServer.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGEXServer.java b/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGEXServer.java
index 667db11..4694de4 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGEXServer.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGEXServer.java
@@ -68,6 +68,11 @@ public class DHGEXServer extends AbstractDHServerKeyExchange {
this.factory = ValidateUtils.checkNotNull(factory, "No factory");
}
+ @Override
+ public final String getName() {
+ return factory.getName();
+ }
+
public static KeyExchangeFactory newFactory(final DHFactory factory) {
return new KeyExchangeFactory() {
@Override
@@ -309,9 +314,4 @@ public class DHGEXServer extends AbstractDHServerKeyExchange {
protected DHG getDH(BigInteger p, BigInteger g) throws Exception {
return (DHG) factory.create(p, g);
}
-
- @Override
- public String toString() {
- return getClass().getSimpleName() + "[" + factory.getName() + "]";
- }
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/00a5eb61/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGServer.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGServer.java b/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGServer.java
index 7e1757c..8a9704a 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGServer.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGServer.java
@@ -48,6 +48,11 @@ public class DHGServer extends AbstractDHServerKeyExchange {
this.factory = ValidateUtils.checkNotNull(factory, "No factory");
}
+ @Override
+ public final String getName() {
+ return factory.getName();
+ }
+
public static KeyExchangeFactory newFactory(final DHFactory factory) {
return new KeyExchangeFactory() {
@Override
@@ -146,9 +151,4 @@ public class DHGServer extends AbstractDHServerKeyExchange {
session.writePacket(buffer);
return true;
}
-
- @Override
- public String toString() {
- return getClass().getSimpleName() + "[" + factory.getName() + "]";
- }
}
[5/7] mina-sshd git commit: Added remark to avoid undocumented blocks
Posted by lg...@apache.org.
Added remark to avoid undocumented blocks
Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/76fc62f8
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/76fc62f8
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/76fc62f8
Branch: refs/heads/master
Commit: 76fc62f8962ab07d69fa7bdcdeeb52f6c282d210
Parents: 6bd17ce
Author: Lyor Goldstein <lg...@vmware.com>
Authored: Wed Dec 2 11:58:53 2015 +0200
Committer: Lyor Goldstein <lg...@vmware.com>
Committed: Wed Dec 2 11:58:53 2015 +0200
----------------------------------------------------------------------
.../src/main/java/org/apache/sshd/client/auth/UserAuthFactory.java | 2 +-
.../src/main/java/org/apache/sshd/common/io/IoHandlerFactory.java | 2 +-
.../main/java/org/apache/sshd/common/kex/KeyExchangeFactory.java | 2 +-
.../src/main/java/org/apache/sshd/common/random/RandomFactory.java | 2 +-
.../java/org/apache/sshd/common/signature/SignatureFactory.java | 2 +-
.../src/main/java/org/apache/sshd/server/auth/UserAuthFactory.java | 2 +-
.../java/org/apache/sshd/server/subsystem/SubsystemFactory.java | 2 +-
7 files changed, 7 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/76fc62f8/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthFactory.java b/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthFactory.java
index d77fa16..af77bb5 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthFactory.java
@@ -25,6 +25,6 @@ import org.apache.sshd.common.auth.UserAuthMethodFactory;
*/
// CHECKSTYLE:OFF
public interface UserAuthFactory extends UserAuthMethodFactory<UserAuth> {
-
+ // nothing extra
}
//CHECKSTYLE:ON
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/76fc62f8/sshd-core/src/main/java/org/apache/sshd/common/io/IoHandlerFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/IoHandlerFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/io/IoHandlerFactory.java
index 2e63801..878ebd1 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/IoHandlerFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/IoHandlerFactory.java
@@ -26,6 +26,6 @@ import org.apache.sshd.common.Factory;
*/
// CHECKSTYLE:OFF
public interface IoHandlerFactory extends Factory<IoHandler> {
-
+ // nothing extra
}
//CHECKSTYLE:ON
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/76fc62f8/sshd-core/src/main/java/org/apache/sshd/common/kex/KeyExchangeFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/kex/KeyExchangeFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/kex/KeyExchangeFactory.java
index 3026e7b..cea659d 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/kex/KeyExchangeFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/kex/KeyExchangeFactory.java
@@ -26,6 +26,6 @@ import org.apache.sshd.common.NamedFactory;
*/
// CHECKSTYLE:OFF
public interface KeyExchangeFactory extends NamedFactory<KeyExchange> {
-
+ // nothing extra
}
//CHECKSTYLE:ON
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/76fc62f8/sshd-core/src/main/java/org/apache/sshd/common/random/RandomFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/random/RandomFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/random/RandomFactory.java
index 3563234..dded06f 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/random/RandomFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/random/RandomFactory.java
@@ -26,6 +26,6 @@ import org.apache.sshd.common.BuiltinFactory;
*/
// CHECKSTYLE:OFF
public interface RandomFactory extends BuiltinFactory<Random> {
-
+ // nothing extra
}
//CHECKSTYLE:ON
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/76fc62f8/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureFactory.java
index 1d0b9d1..0881714 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureFactory.java
@@ -26,6 +26,6 @@ import org.apache.sshd.common.BuiltinFactory;
*/
// CHECKSTYLE:OFF
public interface SignatureFactory extends BuiltinFactory<Signature> {
-
+ // nothing extra
}
//CHECKSTYLE:ON
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/76fc62f8/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthFactory.java b/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthFactory.java
index 8e90aed..49d45dc 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthFactory.java
@@ -26,6 +26,6 @@ import org.apache.sshd.common.auth.UserAuthMethodFactory;
*/
// CHECKSTYLE:OFF
public interface UserAuthFactory extends UserAuthMethodFactory<UserAuth> {
-
+ // nothing extra
}
//CHECKSTYLE:ON
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/76fc62f8/sshd-core/src/main/java/org/apache/sshd/server/subsystem/SubsystemFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/subsystem/SubsystemFactory.java b/sshd-core/src/main/java/org/apache/sshd/server/subsystem/SubsystemFactory.java
index 2d57129..f9dbf0f 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/subsystem/SubsystemFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/subsystem/SubsystemFactory.java
@@ -27,6 +27,6 @@ import org.apache.sshd.server.Command;
*/
// CHECKSTYLE:OFF
public interface SubsystemFactory extends NamedFactory<Command> {
-
+ // nothing extra
}
//CHECKSTYLE:ON
[4/7] mina-sshd git commit: Make Compression a NamedResource
Posted by lg...@apache.org.
Make Compression a NamedResource
Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/6bd17ce7
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/6bd17ce7
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/6bd17ce7
Branch: refs/heads/master
Commit: 6bd17ce7490477ea7b809b34d82207b5849fb02a
Parents: c437270
Author: Lyor Goldstein <lg...@vmware.com>
Authored: Wed Dec 2 11:57:50 2015 +0200
Committer: Lyor Goldstein <lg...@vmware.com>
Committed: Wed Dec 2 11:57:50 2015 +0200
----------------------------------------------------------------------
.../common/compression/BaseCompression.java | 43 ++++++++++++++++++++
.../sshd/common/compression/Compression.java | 3 +-
.../compression/CompressionDelayedZlib.java | 2 +-
.../common/compression/CompressionFactory.java | 2 +-
.../common/compression/CompressionZlib.java | 7 +++-
5 files changed, 53 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/6bd17ce7/sshd-core/src/main/java/org/apache/sshd/common/compression/BaseCompression.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/compression/BaseCompression.java b/sshd-core/src/main/java/org/apache/sshd/common/compression/BaseCompression.java
new file mode 100644
index 0000000..7feda60
--- /dev/null
+++ b/sshd-core/src/main/java/org/apache/sshd/common/compression/BaseCompression.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.sshd.common.compression;
+
+import org.apache.sshd.common.util.ValidateUtils;
+
+/**
+ * @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
+ */
+public abstract class BaseCompression implements Compression {
+ private final String name;
+
+ protected BaseCompression(String name) {
+ this.name = ValidateUtils.checkNotNullAndNotEmpty(name, "No compression name");
+ }
+
+ @Override
+ public final String getName() {
+ return name;
+ }
+
+ @Override
+ public String toString() {
+ return getName();
+ }
+}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/6bd17ce7/sshd-core/src/main/java/org/apache/sshd/common/compression/Compression.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/compression/Compression.java b/sshd-core/src/main/java/org/apache/sshd/common/compression/Compression.java
index 85326cc..33f6fb2 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/compression/Compression.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/compression/Compression.java
@@ -20,6 +20,7 @@ package org.apache.sshd.common.compression;
import java.io.IOException;
+import org.apache.sshd.common.NamedResource;
import org.apache.sshd.common.util.buffer.Buffer;
/**
@@ -28,7 +29,7 @@ import org.apache.sshd.common.util.buffer.Buffer;
*
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
-public interface Compression {
+public interface Compression extends NamedResource {
/**
* Enum identifying if this object will be used to compress
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/6bd17ce7/sshd-core/src/main/java/org/apache/sshd/common/compression/CompressionDelayedZlib.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/compression/CompressionDelayedZlib.java b/sshd-core/src/main/java/org/apache/sshd/common/compression/CompressionDelayedZlib.java
index 140825f..c062e38 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/compression/CompressionDelayedZlib.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/compression/CompressionDelayedZlib.java
@@ -30,7 +30,7 @@ public class CompressionDelayedZlib extends CompressionZlib {
* Create a new instance of a delayed ZLib compression
*/
public CompressionDelayedZlib() {
- super();
+ super(BuiltinCompressions.Constants.DELAYED_ZLIB);
}
@Override
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/6bd17ce7/sshd-core/src/main/java/org/apache/sshd/common/compression/CompressionFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/compression/CompressionFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/compression/CompressionFactory.java
index e7c874e..a6dd4c9 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/compression/CompressionFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/compression/CompressionFactory.java
@@ -26,6 +26,6 @@ import org.apache.sshd.common.BuiltinFactory;
*/
// CHECKSTYLE:OFF
public interface CompressionFactory extends BuiltinFactory<Compression> {
-
+ // nothing extra
}
//CHECKSTYLE:ON
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/6bd17ce7/sshd-core/src/main/java/org/apache/sshd/common/compression/CompressionZlib.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/compression/CompressionZlib.java b/sshd-core/src/main/java/org/apache/sshd/common/compression/CompressionZlib.java
index 02f92db..5b76754 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/compression/CompressionZlib.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/compression/CompressionZlib.java
@@ -30,7 +30,7 @@ import org.apache.sshd.common.util.buffer.Buffer;
*
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
-public class CompressionZlib implements Compression {
+public class CompressionZlib extends BaseCompression {
private static final int BUF_SIZE = 4096;
@@ -42,6 +42,11 @@ public class CompressionZlib implements Compression {
* Create a new instance of a ZLib base compression
*/
public CompressionZlib() {
+ this(BuiltinCompressions.Constants.ZLIB);
+ }
+
+ protected CompressionZlib(String name) {
+ super(name);
}
@Override