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/03/05 12:38:33 UTC
[1/2] mina-sshd git commit: Activated a few more checkstyle rules
Repository: mina-sshd
Updated Branches:
refs/heads/master b8301774d -> f38e14df3
Activated a few more checkstyle rules
Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/f38e14df
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/f38e14df
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/f38e14df
Branch: refs/heads/master
Commit: f38e14df34b5d1de3ea738abb5ee6fc945171b90
Parents: fdb98ac
Author: Goldstein Lyor <ly...@c-b4.com>
Authored: Mon Mar 5 14:05:14 2018 +0200
Committer: Goldstein Lyor <ly...@c-b4.com>
Committed: Mon Mar 5 14:38:22 2018 +0200
----------------------------------------------------------------------
sshd-checkstyle.xml | 5 +++++
.../src/main/java/org/apache/sshd/agent/SshAgentConstants.java | 1 +
.../src/main/java/org/apache/sshd/agent/unix/AprLibrary.java | 1 +
.../apache/sshd/client/auth/hostbased/UserAuthHostBased.java | 2 +-
4 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f38e14df/sshd-checkstyle.xml
----------------------------------------------------------------------
diff --git a/sshd-checkstyle.xml b/sshd-checkstyle.xml
index 0067bb8..e95e89c 100644
--- a/sshd-checkstyle.xml
+++ b/sshd-checkstyle.xml
@@ -124,6 +124,7 @@
<module name="GenericWhitespace"/>
<module name="OperatorWrap" />
<module name="ParenPad" />
+ <module name="NoLineWrap" />
<module name="TypecastParenPad" />
<module name="WhitespaceAfter">
<property name="tokens" value="COMMA, SEMI" />
@@ -173,6 +174,7 @@
<!--<module name="MagicNumber" />-->
<module name="MissingSwitchDefault" />
<!--module name="ModifiedControlVariable"/-->
+ <module name="NoFinalizer" />
<module name="SimplifyBooleanExpression" />
<module name="SimplifyBooleanReturn" />
<module name="StringLiteralEquality" />
@@ -207,6 +209,9 @@
<!--<module name="MissingCtor" />-->
<module name="FallThrough" />
<!--<module name="MultipleStringLiterals" />-->
+ <!--<module name="VariableDeclarationUsageDistance">
+ <property name="allowedDistance" value="8" />
+ </module>-->
<module name="MultipleVariableDeclarations" />
<!--<module name="RequireThis" />-->
<module name="UnnecessaryParentheses" />
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f38e14df/sshd-core/src/main/java/org/apache/sshd/agent/SshAgentConstants.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/SshAgentConstants.java b/sshd-core/src/main/java/org/apache/sshd/agent/SshAgentConstants.java
index 83443ff..e7692db 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/SshAgentConstants.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/SshAgentConstants.java
@@ -78,6 +78,7 @@ public final class SshAgentConstants {
public static final byte SSH_AGENT_OPERATION_COMPLETE = 105;
private SshAgentConstants() {
+ throw new UnsupportedOperationException("N/A instance");
}
private static class LazyMessagesMapHolder {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f38e14df/sshd-core/src/main/java/org/apache/sshd/agent/unix/AprLibrary.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AprLibrary.java b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AprLibrary.java
index 2c0bfb8..7d408ae 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AprLibrary.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AprLibrary.java
@@ -103,6 +103,7 @@ public final class AprLibrary {
}
@Override
+ @SuppressWarnings("checkstyle:NoFinalizer")
protected void finalize() throws Throwable {
library = null;
Pool.destroy(pool);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f38e14df/sshd-core/src/main/java/org/apache/sshd/client/auth/hostbased/UserAuthHostBased.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/auth/hostbased/UserAuthHostBased.java b/sshd-core/src/main/java/org/apache/sshd/client/auth/hostbased/UserAuthHostBased.java
index 17d090c..d19dcfe 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/auth/hostbased/UserAuthHostBased.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/auth/hostbased/UserAuthHostBased.java
@@ -144,9 +144,9 @@ public class UserAuthHostBased extends AbstractUserAuth implements SignatureFact
buffer.putRawBytes(c.getEncoded());
}
}
- byte[] keyBytes = buffer.getCompactData();
verifier.initSigner(kp.getPrivate());
+ byte[] keyBytes = buffer.getCompactData();
buffer = session.prepareBuffer(SshConstants.SSH_MSG_USERAUTH_REQUEST, BufferUtils.clear(buffer));
buffer.putString(username);
buffer.putString(service);
[2/2] mina-sshd git commit: Using encapsulating getter/setter(s) for
Moduli.DhGroup members
Posted by lg...@apache.org.
Using encapsulating getter/setter(s) for Moduli.DhGroup members
Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/fdb98ac0
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/fdb98ac0
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/fdb98ac0
Branch: refs/heads/master
Commit: fdb98ac0198c36604a5fe199e86bf437bcc62fcc
Parents: b830177
Author: Goldstein Lyor <ly...@c-b4.com>
Authored: Mon Mar 5 13:40:21 2018 +0200
Committer: Goldstein Lyor <ly...@c-b4.com>
Committed: Mon Mar 5 14:38:22 2018 +0200
----------------------------------------------------------------------
.../org/apache/sshd/client/kex/DHGEXClient.java | 3 +-
.../org/apache/sshd/common/kex/DHGroupData.java | 3 +-
.../org/apache/sshd/server/kex/DHGEXServer.java | 34 ++++++++++++-----
.../java/org/apache/sshd/server/kex/Moduli.java | 39 +++++++++++++++-----
4 files changed, 58 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/fdb98ac0/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 5a93609..0b01638 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
@@ -141,7 +141,8 @@ public class DHGEXClient extends AbstractDHClientKeyExchange {
buffer = new ByteArrayBuffer(k_s);
serverKey = buffer.getRawPublicKey();
- final String keyAlg = KeyUtils.getKeyType(serverKey);
+
+ String keyAlg = KeyUtils.getKeyType(serverKey);
if (GenericUtils.isEmpty(keyAlg)) {
throw new SshException("Unsupported server key type");
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/fdb98ac0/sshd-core/src/main/java/org/apache/sshd/common/kex/DHGroupData.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/kex/DHGroupData.java b/sshd-core/src/main/java/org/apache/sshd/common/kex/DHGroupData.java
index 2b584af..ee0be8a 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/kex/DHGroupData.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/kex/DHGroupData.java
@@ -23,6 +23,7 @@ import java.io.IOError;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
@@ -130,7 +131,7 @@ public final class DHGroupData {
if (is == null) {
throw new IOException("Resource not found: " + name);
}
- try (BufferedReader br = new BufferedReader(new InputStreamReader(is))) {
+ try (BufferedReader br = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8))) {
String str = br.lines()
.filter(s -> !s.startsWith("#"))
.map(s -> s.replaceAll("\\s", ""))
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/fdb98ac0/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 39e93ca..a27e7dc 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
@@ -103,7 +103,8 @@ public class DHGEXServer extends AbstractDHServerKeyExchange {
@Override
public boolean next(int cmd, Buffer buffer) throws Exception {
ServerSession session = getServerSession();
- if (log.isDebugEnabled()) {
+ boolean debugEnabled = log.isDebugEnabled();
+ if (debugEnabled) {
log.debug("next({})[{}] process command={}", this, session, KeyExchange.getGroupKexOpcodeName(cmd));
}
@@ -122,7 +123,7 @@ public class DHGEXServer extends AbstractDHServerKeyExchange {
hash = dh.getHash();
hash.init();
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug("next({})[{}] send SSH_MSG_KEX_DH_GEX_GROUP", this, session);
}
@@ -148,7 +149,7 @@ public class DHGEXServer extends AbstractDHServerKeyExchange {
hash = dh.getHash();
hash.init();
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug("next({})[{}] Send SSH_MSG_KEX_DH_GEX_GROUP", this, session);
}
buffer = session.createBuffer(SshConstants.SSH_MSG_KEX_DH_GEX_GROUP);
@@ -219,7 +220,7 @@ public class DHGEXServer extends AbstractDHServerKeyExchange {
}
// Send response
- if (log.isDebugEnabled()) {
+ if (debugEnabled) {
log.debug("next({})[{}] Send SSH_MSG_KEX_DH_GEX_REPLY", this, session);
}
@@ -234,7 +235,7 @@ public class DHGEXServer extends AbstractDHServerKeyExchange {
return false;
}
- private DHG chooseDH(int min, int prf, int max) throws Exception {
+ protected DHG chooseDH(int min, int prf, int max) throws Exception {
List<Moduli.DhGroup> groups = loadModuliGroups();
min = Math.max(min, SecurityUtils.MIN_DHGEX_KEY_SIZE);
@@ -243,15 +244,28 @@ public class DHGEXServer extends AbstractDHServerKeyExchange {
max = Math.min(max, SecurityUtils.getMaxDHGroupExchangeKeySize());
int bestSize = 0;
List<Moduli.DhGroup> selected = new ArrayList<>();
+ boolean traceEnabled = log.isTraceEnabled();
for (Moduli.DhGroup group : groups) {
- if (group.size < min || group.size > max) {
+ int size = group.getSize();
+ if ((size < min) || (size > max)) {
+ if (traceEnabled) {
+ log.trace("chooseDH - skip group={} - size not in range [{}-{}]", group, min, max);
+ }
continue;
}
- if ((group.size > prf && group.size < bestSize) || (group.size > bestSize && bestSize < prf)) {
- bestSize = group.size;
+
+ if (((size > prf) && (size < bestSize)) || ((size > bestSize) && (bestSize < prf))) {
+ bestSize = size;
+ if (traceEnabled) {
+ log.trace("chooseDH(prf={}, min={}, max={}) new best size={} from group={}", prf, min, max, bestSize, group);
+ }
selected.clear();
}
- if (group.size == bestSize) {
+
+ if (size == bestSize) {
+ if (traceEnabled) {
+ log.trace("chooseDH(prf={}, min={}, max={}) selected {}", prf, min, max, group);
+ }
selected.add(group);
}
}
@@ -267,7 +281,7 @@ public class DHGEXServer extends AbstractDHServerKeyExchange {
Random random = Objects.requireNonNull(factory.create(), "No random generator");
int which = random.random(selected.size());
Moduli.DhGroup group = selected.get(which);
- return getDH(group.p, group.g);
+ return getDH(group.getP(), group.getG());
}
protected List<Moduli.DhGroup> loadModuliGroups() throws IOException {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/fdb98ac0/sshd-core/src/main/java/org/apache/sshd/server/kex/Moduli.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/kex/Moduli.java b/sshd-core/src/main/java/org/apache/sshd/server/kex/Moduli.java
index 79bf988..adb7098 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/kex/Moduli.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/kex/Moduli.java
@@ -26,6 +26,7 @@ import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
/**
* Helper class to load DH group primes from a file.
@@ -38,9 +39,32 @@ public final class Moduli {
public static final int MODULI_TESTS_COMPOSITE = 0x01;
public static class DhGroup {
- int size;
- BigInteger g;
- BigInteger p;
+ private final int size;
+ private final BigInteger g;
+ private final BigInteger p;
+
+ public DhGroup(int size, BigInteger g, BigInteger p) {
+ this.size = size;
+ this.g = Objects.requireNonNull(g, "No G value provided");
+ this.p = Objects.requireNonNull(p, "No P value provided");
+ }
+
+ public int getSize() {
+ return size;
+ }
+
+ public BigInteger getG() {
+ return g;
+ }
+
+ public BigInteger getP() {
+ return p;
+ }
+
+ @Override
+ public String toString() {
+ return "[size=" + getSize() + ",G=" + getG() + ",P=" + getP() + "]";
+ }
}
// Private constructor
@@ -69,9 +93,9 @@ public final class Moduli {
continue;
}
- // Discard untested modulis
+ // Discard untested moduli
int tests = Integer.parseInt(parts[2]);
- if ((tests & MODULI_TESTS_COMPOSITE) != 0 || (tests & ~MODULI_TESTS_COMPOSITE) == 0) {
+ if (((tests & MODULI_TESTS_COMPOSITE) != 0) || ((tests & ~MODULI_TESTS_COMPOSITE) == 0)) {
continue;
}
@@ -81,10 +105,7 @@ public final class Moduli {
continue;
}
- DhGroup group = new DhGroup();
- group.size = Integer.parseInt(parts[4]) + 1;
- group.g = new BigInteger(parts[5], 16);
- group.p = new BigInteger(parts[6], 16);
+ DhGroup group = new DhGroup(Integer.parseInt(parts[4]) + 1, new BigInteger(parts[5], 16), new BigInteger(parts[6], 16));
groups.add(group);
}