You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by gn...@apache.org on 2014/01/24 14:56:08 UTC
git commit: Improve a few logging statements
Updated Branches:
refs/heads/master fea5aa335 -> 562288bb6
Improve a few logging statements
Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/562288bb
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/562288bb
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/562288bb
Branch: refs/heads/master
Commit: 562288bb678831d1e993100641f9da48f25f95ce
Parents: fea5aa3
Author: Guillaume Nodet <gn...@apache.org>
Authored: Fri Jan 24 14:56:00 2014 +0100
Committer: Guillaume Nodet <gn...@apache.org>
Committed: Fri Jan 24 14:56:00 2014 +0100
----------------------------------------------------------------------
.../client/channel/AbstractClientChannel.java | 2 +-
.../keyverifier/AcceptAllServerKeyVerifier.java | 6 ++-
.../sshd/common/session/AbstractSession.java | 8 +++
.../apache/sshd/common/util/BufferUtils.java | 6 ++-
.../org/apache/sshd/common/util/KeyUtils.java | 55 ++++++++++++++++++++
5 files changed, 73 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/562288bb/sshd-core/src/main/java/org/apache/sshd/client/channel/AbstractClientChannel.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/channel/AbstractClientChannel.java b/sshd-core/src/main/java/org/apache/sshd/client/channel/AbstractClientChannel.java
index 5108cf3..fd5e180 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/channel/AbstractClientChannel.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/channel/AbstractClientChannel.java
@@ -251,7 +251,7 @@ public abstract class AbstractClientChannel extends AbstractChannel implements C
}
public boolean handleRequest(String req, Buffer buffer) throws IOException {
- log.info("Received SSH_MSG_CHANNEL_REQUEST on channel {}", id);
+ log.info("Received SSH_MSG_CHANNEL_REQUEST {} on channel {}", req, id);
if ("exit-status".equals(req)) {
exitStatus = buffer.getInt();
notifyStateChanged();
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/562288bb/sshd-core/src/main/java/org/apache/sshd/client/keyverifier/AcceptAllServerKeyVerifier.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/keyverifier/AcceptAllServerKeyVerifier.java b/sshd-core/src/main/java/org/apache/sshd/client/keyverifier/AcceptAllServerKeyVerifier.java
index 22aed42..8fa9005 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/keyverifier/AcceptAllServerKeyVerifier.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/keyverifier/AcceptAllServerKeyVerifier.java
@@ -23,7 +23,7 @@ import java.security.PublicKey;
import org.apache.sshd.ClientSession;
import org.apache.sshd.client.ServerKeyVerifier;
-import org.apache.sshd.common.util.BufferUtils;
+import org.apache.sshd.common.util.KeyUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -42,7 +42,9 @@ public class AcceptAllServerKeyVerifier implements ServerKeyVerifier {
}
public boolean verifyServerKey(ClientSession sshClientSession, SocketAddress remoteAddress, PublicKey serverKey) {
- log.warn("Server at {} presented unverified key: ", remoteAddress, BufferUtils.printHex(serverKey.getEncoded()));
+ log.warn("Server at {} presented unverified {} key: {}",
+ new Object[] { remoteAddress, serverKey.getAlgorithm(), KeyUtils.getFingerPrint(serverKey) });
return true;
}
+
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/562288bb/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java b/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java
index 61666a9..7766a53 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java
@@ -977,6 +977,14 @@ public abstract class AbstractSession implements Session {
}
}
negociated = guess;
+ log.info("Kex: server->client {} {} {}",
+ new Object[] { negociated[SshConstants.PROPOSAL_ENC_ALGS_STOC],
+ negociated[SshConstants.PROPOSAL_MAC_ALGS_STOC],
+ negociated[SshConstants.PROPOSAL_COMP_ALGS_STOC]});
+ log.info("Kex: client->server {} {} {}",
+ new Object[] { negociated[SshConstants.PROPOSAL_ENC_ALGS_CTOS],
+ negociated[SshConstants.PROPOSAL_MAC_ALGS_CTOS],
+ negociated[SshConstants.PROPOSAL_COMP_ALGS_CTOS]});
}
protected void requestSuccess(Buffer buffer) throws Exception{
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/562288bb/sshd-core/src/main/java/org/apache/sshd/common/util/BufferUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/BufferUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/BufferUtils.java
index 823887d..dde95e6 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/BufferUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/BufferUtils.java
@@ -30,11 +30,15 @@ public class BufferUtils {
}
public static String printHex(byte[] array, int offset, int len) {
+ return printHex(array, offset, len, ' ');
+ }
+
+ public static String printHex(byte[] array, int offset, int len, char sep) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < len; i++) {
byte b = array[offset + i];
if (sb.length() > 0) {
- sb.append(' ');
+ sb.append(sep);
}
sb.append(digits[(b >> 4) & 0x0F]);
sb.append(digits[b & 0x0F]);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/562288bb/sshd-core/src/main/java/org/apache/sshd/common/util/KeyUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/KeyUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/KeyUtils.java
new file mode 100644
index 0000000..cd9fd65
--- /dev/null
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/KeyUtils.java
@@ -0,0 +1,55 @@
+/*
+ * 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.util;
+
+import java.security.PublicKey;
+
+import org.apache.sshd.common.digest.MD5;
+
+/**
+ * Utility class for keys
+ *
+ * @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
+ */
+public class KeyUtils {
+
+ /**
+ * Retrieve the public key fingerprint
+ *
+ * @param key the public key
+ * @return the fingerprint
+ */
+ public static String getFingerPrint(PublicKey key) {
+ try {
+ Buffer buffer = new Buffer();
+ buffer.putRawPublicKey(key);
+ MD5 md5 = new MD5();
+ md5.init();
+ md5.update(buffer.array(), 0, buffer.wpos());
+ byte[] data = md5.digest();
+ return BufferUtils.printHex(data, 0, data.length, ':');
+ } catch (Exception e) {
+ return "Unable to compute fingerprint";
+ }
+ }
+
+ private KeyUtils() {
+ }
+
+}