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/05/18 13:29:38 UTC
mina-sshd git commit: [SSHD-463] Use a common base class to provide
logger instance wherever possible
Repository: mina-sshd
Updated Branches:
refs/heads/master bd1d975ad -> 60dac4dde
[SSHD-463] Use a common base class to provide logger instance wherever possible
Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/60dac4dd
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/60dac4dd
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/60dac4dd
Branch: refs/heads/master
Commit: 60dac4dded99dfd2f0989f65d245c9c3299ef6de
Parents: bd1d975
Author: Lyor Goldstein <lg...@vmware.com>
Authored: Mon May 18 14:29:28 2015 +0300
Committer: Lyor Goldstein <lg...@vmware.com>
Committed: Mon May 18 14:29:28 2015 +0300
----------------------------------------------------------------------
.../sshd/agent/local/AgentServerProxy.java | 6 ---
.../sshd/agent/unix/AgentServerProxy.java | 27 +++++------
.../auth/UserAuthKeyboardInteractive.java | 16 ++++---
.../sshd/client/auth/UserAuthPassword.java | 10 ++--
.../sshd/client/auth/UserAuthPublicKey.java | 10 ++--
.../keyverifier/AcceptAllServerKeyVerifier.java | 12 ++---
.../DelegatingServerKeyVerifier.java | 17 ++++---
.../keyverifier/RequiredServerKeyVerifier.java | 22 +++++----
.../sshd/common/channel/AbstractChannel.java | 8 ++++
.../org/apache/sshd/common/channel/Window.java | 8 +---
.../file/nativefs/NativeFileSystemFactory.java | 25 +++++-----
.../sshd/common/future/DefaultSshFuture.java | 10 ++--
.../common/io/AbstractIoServiceFactory.java | 4 --
.../io/DefaultIoServiceFactoryFactory.java | 2 +-
.../apache/sshd/common/io/mina/MinaService.java | 5 --
.../sshd/common/io/nio2/Nio2Acceptor.java | 14 +++---
.../sshd/common/io/nio2/Nio2Connector.java | 2 +-
.../apache/sshd/common/io/nio2/Nio2Service.java | 10 ++--
.../sshd/common/io/nio2/Nio2ServiceFactory.java | 12 +++--
.../common/kex/dh/AbstractDHKeyExchange.java | 7 +--
.../keyprovider/AbstractKeyPairProvider.java | 7 +--
.../keyprovider/ResourceKeyPairProvider.java | 9 ----
.../org/apache/sshd/common/scp/ScpHelper.java | 10 ++--
.../common/session/SessionTimeoutListener.java | 23 ++++-----
.../sshd/common/util/AbstractLoggingBean.java | 49 ++++++++++++++++++++
.../apache/sshd/common/util/CloseableUtils.java | 27 ++++++++---
.../apache/sshd/common/util/SecurityUtils.java | 23 +++++----
.../sshd/server/auth/AbstractUserAuth.java | 13 +++---
.../server/channel/AbstractServerChannel.java | 15 +++++-
.../sshd/server/channel/PipeDataReceiver.java | 9 ++--
.../server/channel/PuttyRequestHandler.java | 16 +++----
.../apache/sshd/server/command/ScpCommand.java | 29 +++++++-----
.../server/jaas/JaasPasswordAuthenticator.java | 17 +++++--
.../apache/sshd/server/sftp/SftpSubsystem.java | 7 +--
.../sshd/server/shell/ProcessShellFactory.java | 18 ++++---
.../sshd/deprecated/AbstractUserAuth.java | 9 +---
.../deprecated/ClientUserAuthServiceOld.java | 6 ---
.../sshd/deprecated/UserAuthPassword.java | 5 --
.../sshd/deprecated/UserAuthPublicKey.java | 5 --
.../java/org/apache/sshd/util/JSchLogger.java | 4 ++
40 files changed, 288 insertions(+), 240 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentServerProxy.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentServerProxy.java b/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentServerProxy.java
index 78cb8ce..32ae13f 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentServerProxy.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentServerProxy.java
@@ -25,17 +25,11 @@ import org.apache.sshd.agent.SshAgent;
import org.apache.sshd.agent.SshAgentServer;
import org.apache.sshd.client.future.OpenFuture;
import org.apache.sshd.common.session.ConnectionService;
-import org.apache.sshd.server.session.ServerSession;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* The server side fake agent, acting as an agent, but actually forwarding the requests to the auth channel on the client side.
*/
public class AgentServerProxy implements SshAgentServer {
-
- private static final Logger LOG = LoggerFactory.getLogger(AgentServerProxy.class);
-
private final ConnectionService service;
private String id;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServerProxy.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServerProxy.java b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServerProxy.java
index 993c174..aa40241 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServerProxy.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServerProxy.java
@@ -25,21 +25,17 @@ import org.apache.sshd.agent.SshAgentServer;
import org.apache.sshd.client.future.OpenFuture;
import org.apache.sshd.common.SshException;
import org.apache.sshd.common.session.ConnectionService;
+import org.apache.sshd.common.util.AbstractLoggingBean;
import org.apache.sshd.common.util.OsUtils;
import org.apache.tomcat.jni.Local;
import org.apache.tomcat.jni.Pool;
import org.apache.tomcat.jni.Socket;
import org.apache.tomcat.jni.Status;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* The server side fake agent, acting as an agent, but actually forwarding the requests to the auth channel on the client side.
*/
-public class AgentServerProxy implements SshAgentServer {
-
- private static final Logger LOG = LoggerFactory.getLogger(AgentServerProxy.class);
-
+public class AgentServerProxy extends AbstractLoggingBean implements SshAgentServer {
private final ConnectionService service;
private final String authSocket;
private final long pool;
@@ -93,7 +89,7 @@ public class AgentServerProxy implements SshAgentServer {
}
} catch (Exception e) {
if (!closed) {
- LOG.info("Exchange caught in authentication forwarding", e);
+ log.info("Exchange caught in authentication forwarding", e);
}
}
}
@@ -122,7 +118,7 @@ public class AgentServerProxy implements SshAgentServer {
return;
}
closed = true;
- final boolean isDebug = LOG.isDebugEnabled();
+ final boolean isDebug = log.isDebugEnabled();
if (handle != 0) {
if (!innerFinished) {
@@ -134,7 +130,7 @@ public class AgentServerProxy implements SshAgentServer {
if (connectResult != Status.APR_SUCCESS) {
if (isDebug) {
- LOG.debug("Unable to connect to socket PIPE {}. APR errcode {}", authSocket, connectResult);
+ log.debug("Unable to connect to socket PIPE {}. APR errcode {}", authSocket, Long.valueOf(connectResult));
}
}
@@ -142,21 +138,20 @@ public class AgentServerProxy implements SshAgentServer {
int sendResult = Socket.send(tmpSocket, END_OF_STREAM_MESSAGE, 0, 1);
if (sendResult != 1) {
if (isDebug) {
- LOG.debug("Unable to send signal the EOS for {}. APR retcode {} != 1", authSocket,
- sendResult);
+ log.debug("Unable to send signal the EOS for {}. APR retcode {} != 1", authSocket, Integer.valueOf(sendResult));
}
}
} catch (Exception e) {
//log eventual exceptions in debug mode
if (isDebug) {
- LOG.debug("Exception connecting to the PIPE socket: " + authSocket, e);
+ log.debug("Exception connecting to the PIPE socket: " + authSocket, e);
}
}
}
final int closeCode = Socket.close(handle);
if (closeCode != Status.APR_SUCCESS) {
- LOG.warn("Exceptions closing the PIPE: {}. APR error code: {} ", authSocket, closeCode);
+ log.warn("Exceptions closing the PIPE: {}. APR error code: {} ", authSocket, Integer.valueOf(closeCode));
}
}
@@ -167,7 +162,7 @@ public class AgentServerProxy implements SshAgentServer {
if (socketFile.exists()) {
if (socketFile.delete()) {
if (isDebug) {
- LOG.debug("Deleted PIPE socket {}", socketFile);
+ log.debug("Deleted PIPE socket {}", socketFile);
}
}
@@ -175,7 +170,7 @@ public class AgentServerProxy implements SshAgentServer {
final File parentFile = socketFile.getParentFile();
if (parentFile.delete()) {
if (isDebug) {
- LOG.debug("Deleted parent PIPE socket {}", parentFile);
+ log.debug("Deleted parent PIPE socket {}", parentFile);
}
}
}
@@ -184,7 +179,7 @@ public class AgentServerProxy implements SshAgentServer {
} catch (Exception e) {
//log eventual exceptions in debug mode
if (isDebug) {
- LOG.debug("Exception deleting the PIPE socket: " + authSocket, e);
+ log.debug("Exception deleting the PIPE socket: " + authSocket, e);
}
}
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthKeyboardInteractive.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthKeyboardInteractive.java b/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthKeyboardInteractive.java
index e3ec446..b27b182 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthKeyboardInteractive.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthKeyboardInteractive.java
@@ -18,6 +18,9 @@
*/
package org.apache.sshd.client.auth;
+import static org.apache.sshd.common.SshConstants.SSH_MSG_USERAUTH_INFO_REQUEST;
+import static org.apache.sshd.common.SshConstants.SSH_MSG_USERAUTH_INFO_RESPONSE;
+
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
@@ -29,20 +32,16 @@ import org.apache.sshd.client.UserAuth;
import org.apache.sshd.client.UserInteraction;
import org.apache.sshd.common.NamedFactory;
import org.apache.sshd.common.SshConstants;
+import org.apache.sshd.common.util.AbstractLoggingBean;
import org.apache.sshd.common.util.GenericUtils;
import org.apache.sshd.common.util.buffer.Buffer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static org.apache.sshd.common.SshConstants.SSH_MSG_USERAUTH_INFO_REQUEST;
-import static org.apache.sshd.common.SshConstants.SSH_MSG_USERAUTH_INFO_RESPONSE;
/**
* TODO Add javadoc
*
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
-public class UserAuthKeyboardInteractive implements UserAuth {
+public class UserAuthKeyboardInteractive extends AbstractLoggingBean implements UserAuth {
public static class UserAuthKeyboardInteractiveFactory implements NamedFactory<UserAuth> {
public static final UserAuthKeyboardInteractiveFactory INSTANCE = new UserAuthKeyboardInteractiveFactory();
@@ -61,7 +60,6 @@ public class UserAuthKeyboardInteractive implements UserAuth {
}
}
- protected final Logger log = LoggerFactory.getLogger(getClass());
private ClientSession session;
private String service;
private Iterator<String> passwords;
@@ -69,6 +67,10 @@ public class UserAuthKeyboardInteractive implements UserAuth {
private int nbTrials;
private int maxTrials;
+ public UserAuthKeyboardInteractive() {
+ super();
+ }
+
@Override
public void init(ClientSession session, String service, List<Object> identities) throws Exception {
this.session = session;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPassword.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPassword.java b/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPassword.java
index 3f91481..0754014 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPassword.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPassword.java
@@ -26,16 +26,15 @@ import org.apache.sshd.ClientSession;
import org.apache.sshd.client.UserAuth;
import org.apache.sshd.common.NamedFactory;
import org.apache.sshd.common.SshConstants;
+import org.apache.sshd.common.util.AbstractLoggingBean;
import org.apache.sshd.common.util.buffer.Buffer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* TODO Add javadoc
*
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
-public class UserAuthPassword implements UserAuth {
+public class UserAuthPassword extends AbstractLoggingBean implements UserAuth {
public static class UserAuthPasswordFactory implements NamedFactory<UserAuth> {
public static final UserAuthPasswordFactory INSTANCE = new UserAuthPasswordFactory();
@@ -54,12 +53,15 @@ public class UserAuthPassword implements UserAuth {
}
}
- protected final Logger log = LoggerFactory.getLogger(getClass());
private ClientSession session;
private String service;
private Iterator<String> passwords;
private String current;
+ public UserAuthPassword() {
+ super();
+ }
+
@Override
public void init(ClientSession session, String service, List<Object> identities) throws Exception {
this.session = session;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPublicKey.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPublicKey.java b/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPublicKey.java
index 12b334a..70b9426 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPublicKey.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPublicKey.java
@@ -37,17 +37,16 @@ import org.apache.sshd.common.NamedFactory;
import org.apache.sshd.common.Signature;
import org.apache.sshd.common.SshConstants;
import org.apache.sshd.common.session.AbstractSession;
+import org.apache.sshd.common.util.AbstractLoggingBean;
import org.apache.sshd.common.util.buffer.Buffer;
import org.apache.sshd.common.util.buffer.ByteArrayBuffer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* TODO Add javadoc
*
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
-public class UserAuthPublicKey implements UserAuth {
+public class UserAuthPublicKey extends AbstractLoggingBean implements UserAuth {
public static class UserAuthPublicKeyFactory implements NamedFactory<UserAuth> {
public static final UserAuthPublicKeyFactory INSTANCE = new UserAuthPublicKeyFactory();
@@ -66,13 +65,16 @@ public class UserAuthPublicKey implements UserAuth {
}
}
- protected final Logger log = LoggerFactory.getLogger(getClass());
private ClientSession session;
private String service;
private SshAgent agent;
private Iterator<PublicKeyIdentity> keys;
private PublicKeyIdentity current;
+ public UserAuthPublicKey() {
+ super();
+ }
+
@Override
public void init(ClientSession session, String service, List<Object> identities) throws Exception {
this.session = session;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/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 9836618..5732191 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,29 +23,25 @@ import java.security.PublicKey;
import org.apache.sshd.ClientSession;
import org.apache.sshd.client.ServerKeyVerifier;
+import org.apache.sshd.common.util.AbstractLoggingBean;
import org.apache.sshd.common.util.KeyUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* A ServerKeyVerifier that accepts all server keys.
*
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
-public class AcceptAllServerKeyVerifier implements ServerKeyVerifier {
-
- protected final Logger log = LoggerFactory.getLogger(getClass());
-
+public class AcceptAllServerKeyVerifier extends AbstractLoggingBean implements ServerKeyVerifier {
public static final ServerKeyVerifier INSTANCE = new AcceptAllServerKeyVerifier();
private AcceptAllServerKeyVerifier() {
+ super();
}
@Override
public boolean verifyServerKey(ClientSession sshClientSession, SocketAddress remoteAddress, PublicKey serverKey) {
log.warn("Server at {} presented unverified {} key: {}",
- new Object[] { remoteAddress, serverKey.getAlgorithm(), KeyUtils.getFingerPrint(serverKey) });
+ new Object[] { remoteAddress, serverKey.getAlgorithm(), KeyUtils.getFingerPrint(serverKey) });
return true;
}
-
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/client/keyverifier/DelegatingServerKeyVerifier.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/keyverifier/DelegatingServerKeyVerifier.java b/sshd-core/src/main/java/org/apache/sshd/client/keyverifier/DelegatingServerKeyVerifier.java
index 81b49ec..6bdbdc7 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/keyverifier/DelegatingServerKeyVerifier.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/keyverifier/DelegatingServerKeyVerifier.java
@@ -24,8 +24,7 @@ import java.util.Map;
import org.apache.sshd.ClientSession;
import org.apache.sshd.client.ServerKeyVerifier;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.sshd.common.util.AbstractLoggingBean;
/*
* A ServerKeyVerifier that delegates verification to the ServerKeyVerifier found in the ClientSession metadata
@@ -34,15 +33,19 @@ import org.slf4j.LoggerFactory;
*
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
-public class DelegatingServerKeyVerifier implements ServerKeyVerifier {
+public class DelegatingServerKeyVerifier extends AbstractLoggingBean implements ServerKeyVerifier {
+ public DelegatingServerKeyVerifier() {
+ super();
+ }
- protected final Logger log = LoggerFactory.getLogger(getClass());
-
- public boolean verifyServerKey(ClientSession sshClientSession, SocketAddress remoteAddress, PublicKey serverKey) {
+ @Override
+ public boolean verifyServerKey(ClientSession sshClientSession, SocketAddress remoteAddress, PublicKey serverKey) {
Map<Object, Object> metadataMap = sshClientSession.getMetadataMap();
Object verifier = metadataMap.get(ServerKeyVerifier.class);
if (verifier == null) {
- log.trace("No verifier found in ClientSession metadata; accepting server key");
+ if (log.isTraceEnabled()) {
+ log.trace("verifyServerKey(" + remoteAddress + ") No verifier found in ClientSession metadata; accepting server key");
+ }
return true;
}
// We throw if it's not a ServerKeyVerifier...
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/client/keyverifier/RequiredServerKeyVerifier.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/keyverifier/RequiredServerKeyVerifier.java b/sshd-core/src/main/java/org/apache/sshd/client/keyverifier/RequiredServerKeyVerifier.java
index 9a29f6d..4543546 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/keyverifier/RequiredServerKeyVerifier.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/keyverifier/RequiredServerKeyVerifier.java
@@ -23,29 +23,31 @@ import java.security.PublicKey;
import org.apache.sshd.ClientSession;
import org.apache.sshd.client.ServerKeyVerifier;
+import org.apache.sshd.common.util.AbstractLoggingBean;
import org.apache.sshd.common.util.buffer.BufferUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* A ServerKeyVerifier that accepts one server key (specified in the constructor)
*
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
-public class RequiredServerKeyVerifier implements ServerKeyVerifier {
-
- protected final Logger log = LoggerFactory.getLogger(getClass());
-
- final PublicKey requiredKey;
+public class RequiredServerKeyVerifier extends AbstractLoggingBean implements ServerKeyVerifier {
+ private final PublicKey requiredKey;
public RequiredServerKeyVerifier(PublicKey requiredKey) {
- super();
this.requiredKey = requiredKey;
}
- public boolean verifyServerKey(ClientSession sshClientSession, SocketAddress remoteAddress, PublicKey serverKey) {
+ public final PublicKey getRequiredKey() {
+ return requiredKey;
+ }
+
+ @Override
+ public boolean verifyServerKey(ClientSession sshClientSession, SocketAddress remoteAddress, PublicKey serverKey) {
if (requiredKey.equals(serverKey)) {
- log.debug("Server at {} presented expected key: {}", remoteAddress, BufferUtils.printHex(serverKey.getEncoded()));
+ if (log.isDebugEnabled()) {
+ log.debug("Server at {} presented expected key: {}", remoteAddress, BufferUtils.printHex(serverKey.getEncoded()));
+ }
return true;
} else {
log.error("Server at {} presented wrong key: {}", remoteAddress, BufferUtils.printHex(serverKey.getEncoded()));
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/common/channel/AbstractChannel.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/channel/AbstractChannel.java b/sshd-core/src/main/java/org/apache/sshd/common/channel/AbstractChannel.java
index 51a8a08..7b8c7ef 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/channel/AbstractChannel.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/channel/AbstractChannel.java
@@ -68,6 +68,14 @@ public abstract class AbstractChannel extends CloseableUtils.AbstractInnerClosea
protected final DefaultCloseFuture gracefulFuture = new DefaultCloseFuture(lock);
protected final List<RequestHandler<Channel>> handlers = new ArrayList<RequestHandler<Channel>>();
+ protected AbstractChannel() {
+ super();
+ }
+
+ protected AbstractChannel(String discriminator) {
+ super(discriminator);
+ }
+
public void addRequestHandler(RequestHandler<Channel> handler) {
handlers.add(handler);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/common/channel/Window.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/channel/Window.java b/sshd-core/src/main/java/org/apache/sshd/common/channel/Window.java
index cf7534c..d1bce18 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/channel/Window.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/channel/Window.java
@@ -20,8 +20,7 @@ package org.apache.sshd.common.channel;
import java.io.IOException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.sshd.common.util.AbstractLoggingBean;
/**
* A Window for a given channel.
@@ -32,10 +31,7 @@ import org.slf4j.LoggerFactory;
*
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
-public class Window {
-
- private final static Logger log = LoggerFactory.getLogger(Window.class);
-
+public class Window extends AbstractLoggingBean {
private final AbstractChannel channel;
private final Object lock;
private final String name;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/common/file/nativefs/NativeFileSystemFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/file/nativefs/NativeFileSystemFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/file/nativefs/NativeFileSystemFactory.java
index 1561dbc..0da3070 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/file/nativefs/NativeFileSystemFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/file/nativefs/NativeFileSystemFactory.java
@@ -25,20 +25,24 @@ import java.nio.file.FileSystems;
import org.apache.sshd.common.Session;
import org.apache.sshd.common.file.FileSystemFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.sshd.common.util.AbstractLoggingBean;
/**
* Native file system factory. It uses the OS file system.
*
* @author <a href="http://mina.apache.org">Apache MINA Project</a>
*/
-public class NativeFileSystemFactory implements FileSystemFactory {
-
- private final Logger LOG = LoggerFactory.getLogger(NativeFileSystemFactory.class);
-
+public class NativeFileSystemFactory extends AbstractLoggingBean implements FileSystemFactory {
private boolean createHome;
+ public NativeFileSystemFactory() {
+ this(false);
+ }
+
+ public NativeFileSystemFactory(boolean createHome) {
+ this.createHome = createHome;
+ }
+
/**
* Should the home directories be created automatically
* @return true if the file system will create the home directory if not available
@@ -51,14 +55,11 @@ public class NativeFileSystemFactory implements FileSystemFactory {
* Set if the home directories be created automatically
* @param createHome true if the file system will create the home directory if not available
*/
-
public void setCreateHome(boolean createHome) {
this.createHome = createHome;
}
- /**
- * Create the appropriate user file system view.
- */
+ @Override
public FileSystem createFileSystem(Session session) {
String userName = session.getUsername();
// create home if does not exist
@@ -66,11 +67,11 @@ public class NativeFileSystemFactory implements FileSystemFactory {
String homeDirStr = "/home/" + userName;
File homeDir = new File(homeDirStr);
if (homeDir.isFile()) {
- LOG.warn("Not a directory :: " + homeDirStr);
+ log.warn("Not a directory :: " + homeDirStr);
// throw new FtpException("Not a directory :: " + homeDirStr);
}
if ((!homeDir.exists()) && (!homeDir.mkdirs())) {
- LOG.warn("Cannot create user home :: " + homeDirStr);
+ log.warn("Cannot create user home :: " + homeDirStr);
// throw new FtpException("Cannot create user home :: "
// + homeDirStr);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/common/future/DefaultSshFuture.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/future/DefaultSshFuture.java b/sshd-core/src/main/java/org/apache/sshd/common/future/DefaultSshFuture.java
index 2e9b8af..8d263e8 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/future/DefaultSshFuture.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/future/DefaultSshFuture.java
@@ -21,18 +21,14 @@ package org.apache.sshd.common.future;
import java.lang.reflect.Array;
import java.util.concurrent.TimeUnit;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.sshd.common.util.AbstractLoggingBean;
/**
* A default implementation of {@link SshFuture}.
*
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
-public class DefaultSshFuture<T extends SshFuture> implements SshFuture<T> {
-
- final Logger logger = LoggerFactory.getLogger(getClass());
-
+public class DefaultSshFuture<T extends SshFuture> extends AbstractLoggingBean implements SshFuture<T> {
/** A default value to indicate the future has been canceled */
private static final Object CANCELED = new Object();
/** A value indicating a null */
@@ -272,7 +268,7 @@ public class DefaultSshFuture<T extends SshFuture> implements SshFuture<T> {
try {
l.operationComplete(asT());
} catch (Throwable t) {
- logger.warn("Listener threw an exception", t);
+ log.warn("Listener threw an exception", t);
}
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoServiceFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoServiceFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoServiceFactory.java
index 6682884..8acf795 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoServiceFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoServiceFactory.java
@@ -25,21 +25,17 @@ import java.util.concurrent.TimeUnit;
import org.apache.sshd.common.FactoryManager;
import org.apache.sshd.common.FactoryManagerUtils;
import org.apache.sshd.common.util.CloseableUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
public abstract class AbstractIoServiceFactory extends CloseableUtils.AbstractCloseable implements IoServiceFactory {
- protected final Logger logger;
private final FactoryManager manager;
private final ExecutorService executor;
private final boolean shutdownExecutor;
protected AbstractIoServiceFactory(FactoryManager factoryManager, ExecutorService executorService, boolean shutdownOnExit) {
- logger = LoggerFactory.getLogger(getClass());
manager = factoryManager;
executor = executorService;
shutdownExecutor = shutdownOnExit;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java
index 6cc56a6..f40700c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java
@@ -33,6 +33,7 @@ public class DefaultIoServiceFactoryFactory implements IoServiceFactoryFactory {
private IoServiceFactoryFactory factory;
+ @Override
public IoServiceFactory create(FactoryManager manager) {
return getFactory().create(manager);
}
@@ -101,5 +102,4 @@ public class DefaultIoServiceFactoryFactory implements IoServiceFactoryFactory {
}
throw new IllegalStateException("Unable to create instance of class " + factory);
}
-
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaService.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaService.java b/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaService.java
index 5eefd24..0d0cdc8 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaService.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaService.java
@@ -34,15 +34,10 @@ import org.apache.sshd.common.Closeable;
import org.apache.sshd.common.FactoryManager;
import org.apache.sshd.common.FactoryManagerUtils;
import org.apache.sshd.common.util.CloseableUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
*/
public abstract class MinaService extends CloseableUtils.AbstractCloseable implements org.apache.sshd.common.io.IoService, IoHandler, Closeable {
-
- protected final Logger log = LoggerFactory.getLogger(getClass());
-
protected final FactoryManager manager;
protected final org.apache.sshd.common.io.IoHandler handler;
protected final IoProcessor<NioSession> ioProcessor;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Acceptor.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Acceptor.java b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Acceptor.java
index 925c966..b38e549 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Acceptor.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Acceptor.java
@@ -54,7 +54,7 @@ public class Nio2Acceptor extends Nio2Service implements IoAcceptor {
@Override
public void bind(Collection<? extends SocketAddress> addresses) throws IOException {
for (SocketAddress address : addresses) {
- logger.debug("Binding Nio2Acceptor to address {}", address);
+ log.debug("Binding Nio2Acceptor to address {}", address);
AsynchronousServerSocketChannel socket = AsynchronousServerSocketChannel.open(group);
setOption(socket, FactoryManager.SOCKET_KEEPALIVE, StandardSocketOptions.SO_KEEPALIVE, null);
setOption(socket, FactoryManager.SOCKET_LINGER, StandardSocketOptions.SO_LINGER, null);
@@ -76,7 +76,7 @@ public class Nio2Acceptor extends Nio2Service implements IoAcceptor {
@Override
public void unbind() {
- logger.debug("Unbinding");
+ log.debug("Unbinding");
unbind(getBoundAddresses());
}
@@ -116,7 +116,7 @@ public class Nio2Acceptor extends Nio2Service implements IoAcceptor {
try {
channels.get(address).close();
} catch (IOException e) {
- logger.debug("Exception caught while closing channel", e);
+ log.debug("Exception caught while closing channel", e);
}
}
super.doCloseImmediately();
@@ -170,10 +170,10 @@ public class Nio2Acceptor extends Nio2Service implements IoAcceptor {
@Override
protected void onFailed(final Throwable exc, final SocketAddress address) {
if (channels.containsKey(address) && !disposing.get()) {
- logger.warn("Caught " + exc.getClass().getSimpleName()
- + " while accepting incoming connection from " + address
- + ": " + exc.getMessage(),
- exc);
+ log.warn("Caught " + exc.getClass().getSimpleName()
+ + " while accepting incoming connection from " + address
+ + ": " + exc.getMessage(),
+ exc);
}
}
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Connector.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Connector.java b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Connector.java
index d544cc8..722f9f5 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Connector.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Connector.java
@@ -41,7 +41,7 @@ public class Nio2Connector extends Nio2Service implements IoConnector {
@Override
public IoConnectFuture connect(SocketAddress address) {
- logger.debug("Connecting to {}", address);
+ log.debug("Connecting to {}", address);
final IoConnectFuture future = new DefaultIoConnectFuture(null);
try {
final AsynchronousSocketChannel socket = AsynchronousSocketChannel.open(group);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Service.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Service.java b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Service.java
index 7c9af13..a9b23a5 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Service.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Service.java
@@ -35,14 +35,10 @@ import org.apache.sshd.common.io.IoService;
import org.apache.sshd.common.io.IoSession;
import org.apache.sshd.common.util.CloseableUtils;
import org.apache.sshd.common.util.GenericUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
*/
public abstract class Nio2Service extends CloseableUtils.AbstractInnerCloseable implements IoService {
-
- protected final Logger logger = LoggerFactory.getLogger(getClass());
protected final FactoryManager manager;
protected final IoHandler handler;
protected final Map<Long, IoSession> sessions;
@@ -50,7 +46,7 @@ public abstract class Nio2Service extends CloseableUtils.AbstractInnerCloseable
protected final AsynchronousChannelGroup group;
protected Nio2Service(FactoryManager manager, IoHandler handler, AsynchronousChannelGroup group) {
- logger.debug("Creating {}", getClass().getSimpleName());
+ log.debug("Creating {}", getClass().getSimpleName());
this.manager = manager;
this.handler = handler;
this.sessions = new ConcurrentHashMap<Long, IoSession>();
@@ -61,7 +57,7 @@ public abstract class Nio2Service extends CloseableUtils.AbstractInnerCloseable
try {
close(true).await();
} catch (InterruptedException e) {
- logger.debug("Exception caught while closing", e);
+ log.debug("Exception caught while closing", e);
}
}
@@ -96,7 +92,7 @@ public abstract class Nio2Service extends CloseableUtils.AbstractInnerCloseable
try {
socket.setOption(option, val);
} catch (IOException e) {
- logger.warn("Unable to set socket option " + option + " to " + val, e);
+ log.warn("Unable to set socket option " + option + " to " + val, e);
}
}
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2ServiceFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2ServiceFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2ServiceFactory.java
index 9f433fe..5b144d8 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2ServiceFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2ServiceFactory.java
@@ -44,15 +44,17 @@ public class Nio2ServiceFactory extends AbstractIoServiceFactory {
try {
group = AsynchronousChannelGroup.withThreadPool(ThreadUtils.protectExecutorServiceShutdown(getExecutorService(), isShutdownExecutor()));
} catch(IOException e) {
- logger.warn("Failed (" + e.getClass().getSimpleName() + " to start async. channel group: " + e.getMessage(), e);
+ log.warn("Failed (" + e.getClass().getSimpleName() + " to start async. channel group: " + e.getMessage(), e);
throw new RuntimeSshException(e);
}
}
+ @Override
public IoConnector createConnector(IoHandler handler) {
return new Nio2Connector(getFactoryManager(), handler, group);
}
+ @Override
public IoAcceptor createAcceptor(IoHandler handler) {
return new Nio2Acceptor(getFactoryManager(), handler, group);
}
@@ -61,20 +63,20 @@ public class Nio2ServiceFactory extends AbstractIoServiceFactory {
protected void doCloseImmediately() {
try {
if (!group.isShutdown()) {
- logger.debug("Shutdown group");
+ log.debug("Shutdown group");
group.shutdownNow();
// if we protect the executor then the await will fail since we didn't really shut it down...
if (isShutdownExecutor()) {
if (group.awaitTermination(5, TimeUnit.SECONDS)) {
- logger.debug("Group successfully shut down");
+ log.debug("Group successfully shut down");
} else {
- logger.debug("Not all group tasks terminated");
+ log.debug("Not all group tasks terminated");
}
}
}
} catch (Exception e) {
- logger.debug("Exception caught while closing channel group", e);
+ log.debug("Exception caught while closing channel group", e);
} finally {
super.doCloseImmediately();
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/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 17d3a00..0629e8c 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
@@ -22,15 +22,12 @@ package org.apache.sshd.common.kex.dh;
import org.apache.sshd.common.Digest;
import org.apache.sshd.common.KeyExchange;
import org.apache.sshd.common.session.AbstractSession;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.sshd.common.util.AbstractLoggingBean;
/**
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
-public abstract class AbstractDHKeyExchange implements KeyExchange {
-
- protected final Logger log = LoggerFactory.getLogger(getClass());
+public abstract class AbstractDHKeyExchange extends AbstractLoggingBean implements KeyExchange {
protected byte[] V_S;
protected byte[] V_C;
protected byte[] I_S;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractKeyPairProvider.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractKeyPairProvider.java b/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractKeyPairProvider.java
index c85cd63..c51811f 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractKeyPairProvider.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractKeyPairProvider.java
@@ -23,20 +23,17 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.sshd.common.KeyPairProvider;
+import org.apache.sshd.common.util.AbstractLoggingBean;
import org.apache.sshd.common.util.GenericUtils;
import org.apache.sshd.common.util.KeyUtils;
import org.apache.sshd.common.util.ValidateUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* TODO Add javadoc
*
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
-public abstract class AbstractKeyPairProvider implements KeyPairProvider {
- protected final Logger log = LoggerFactory.getLogger(getClass());
-
+public abstract class AbstractKeyPairProvider extends AbstractLoggingBean implements KeyPairProvider {
protected AbstractKeyPairProvider() {
super();
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/ResourceKeyPairProvider.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/ResourceKeyPairProvider.java b/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/ResourceKeyPairProvider.java
index 1582702..134416e 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/ResourceKeyPairProvider.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/ResourceKeyPairProvider.java
@@ -34,8 +34,6 @@ import org.bouncycastle.openssl.PEMParser;
import org.bouncycastle.openssl.PasswordFinder;
import org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter;
import org.bouncycastle.openssl.jcajce.JcePEMDecryptorProviderBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* <p>This host key provider loads private keys from the specified resources.</p>
@@ -46,13 +44,6 @@ import org.slf4j.LoggerFactory;
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
public class ResourceKeyPairProvider extends AbstractKeyPairProvider {
- // --- Shared ---
-
- /**
- * Logger
- */
- protected final Logger log = LoggerFactory.getLogger(getClass());
-
// --- Properties ---
/**
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpHelper.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpHelper.java b/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpHelper.java
index f2b69db..d1ee197 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpHelper.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpHelper.java
@@ -42,19 +42,15 @@ import java.util.concurrent.TimeUnit;
import org.apache.sshd.common.SshException;
import org.apache.sshd.common.scp.ScpTransferEventListener.FileOperation;
+import org.apache.sshd.common.util.AbstractLoggingBean;
import org.apache.sshd.common.util.DirectoryScanner;
import org.apache.sshd.common.util.GenericUtils;
import org.apache.sshd.common.util.IoUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
-public class ScpHelper {
-
- protected static final Logger log = LoggerFactory.getLogger(ScpHelper.class);
-
+public class ScpHelper extends AbstractLoggingBean {
public static final int OK = 0;
public static final int WARNING = 1;
public static final int ERROR = 2;
@@ -649,7 +645,7 @@ public class ScpHelper {
}
}
- return String.format("%04o", pf);
+ return String.format("%04o", Integer.valueOf(pf));
}
public static Set<PosixFilePermission> setOctalPerms(Path path, String str) throws IOException {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/common/session/SessionTimeoutListener.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/SessionTimeoutListener.java b/sshd-core/src/main/java/org/apache/sshd/common/session/SessionTimeoutListener.java
index 74091ff..60d2d69 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/session/SessionTimeoutListener.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/session/SessionTimeoutListener.java
@@ -18,45 +18,46 @@
*/
package org.apache.sshd.common.session;
-import org.apache.sshd.common.Session;
-import org.apache.sshd.common.SessionListener;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet;
+import org.apache.sshd.common.Session;
+import org.apache.sshd.common.SessionListener;
+import org.apache.sshd.common.util.AbstractLoggingBean;
+
/**
* Task that iterates over all currently open {@link AbstractSession}s and checks each of them for timeouts. If
* the {@link AbstractSession} has timed out (either auth or idle timeout), the session will be disconnected.
*
* @see org.apache.sshd.common.session.AbstractSession#checkForTimeouts()
*/
-public class SessionTimeoutListener implements SessionListener, Runnable {
-
- private final Logger log = LoggerFactory.getLogger(SessionTimeoutListener.class);
-
+public class SessionTimeoutListener extends AbstractLoggingBean implements SessionListener, Runnable {
private final Set<AbstractSession> sessions = new CopyOnWriteArraySet<AbstractSession>();
+ @Override
public void sessionCreated(Session session) {
if (session instanceof AbstractSession && (session.getAuthTimeout() > 0 || session.getIdleTimeout() > 0)) {
sessions.add((AbstractSession) session);
}
}
+ @Override
public void sessionEvent(Session session, Event event) {
+ // ignored
}
+ @Override
public void sessionClosed(Session s) {
sessions.remove(s);
}
+ @Override
public void run() {
for (AbstractSession session : sessions) {
try {
session.checkForTimeouts();
- } catch (Exception e) {
- log.warn("An error occurred while checking session timeouts", e);
+ } catch(Exception e) {
+ log.warn("An error occurred while checking session=" + session + " timeouts", e);
}
}
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/common/util/AbstractLoggingBean.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/AbstractLoggingBean.java b/sshd-core/src/main/java/org/apache/sshd/common/util/AbstractLoggingBean.java
new file mode 100644
index 0000000..39131c8
--- /dev/null
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/AbstractLoggingBean.java
@@ -0,0 +1,49 @@
+/*
+ * 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 org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Serves as a common base class for the vast majority of classes that require
+ * some kind of logging. Facilitates quick and easy replacement of the actual used
+ * logger from one framework to another
+ * @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
+ */
+public abstract class AbstractLoggingBean {
+ protected final Logger log;
+
+ /**
+ * Default constructor - creates a logger using the full class name
+ */
+ protected AbstractLoggingBean() {
+ log = LoggerFactory.getLogger(getClass());
+ }
+
+ /**
+ * Create a logger for instances of the same class for which we might
+ * want to have a "discriminator" for them
+ * @param discriminator The discriminator value
+ */
+ protected AbstractLoggingBean(String discriminator) {
+ log = LoggerFactory.getLogger(getClass().getName() + "[" + discriminator + "]");
+ }
+}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/common/util/CloseableUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/CloseableUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/CloseableUtils.java
index 01e02c3..7d4df66 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/CloseableUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/CloseableUtils.java
@@ -36,8 +36,6 @@ import org.apache.sshd.common.future.DefaultCloseFuture;
import org.apache.sshd.common.future.DefaultSshFuture;
import org.apache.sshd.common.future.SshFuture;
import org.apache.sshd.common.future.SshFutureListener;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* Utility class to help with {@link Closeable}s.
@@ -150,14 +148,15 @@ public class CloseableUtils {
}
- public static abstract class IoBaseCloseable implements Closeable {
- /** Our logger */
- protected final Logger log = LoggerFactory.getLogger(getClass());
-
+ public static abstract class IoBaseCloseable extends AbstractLoggingBean implements Closeable {
protected IoBaseCloseable() {
super();
}
+ protected IoBaseCloseable(String discriminator) {
+ super(discriminator);
+ }
+
// TODO once JDK 8+ becomes the minimum for this project, make it a default method instead of this class
@Override
public void close() throws IOException {
@@ -309,6 +308,14 @@ public class CloseableUtils {
/** A future that will be set 'closed' when the object is actually closed */
protected final CloseFuture closeFuture = new DefaultCloseFuture(lock);
+ protected AbstractCloseable() {
+ super();
+ }
+
+ protected AbstractCloseable(String discriminator) {
+ super(discriminator);
+ }
+
@Override
public CloseFuture close(boolean immediately) {
if (immediately) {
@@ -394,6 +401,14 @@ public class CloseableUtils {
protected abstract Closeable getInnerCloseable();
+ protected AbstractInnerCloseable() {
+ super();
+ }
+
+ protected AbstractInnerCloseable(String discriminator) {
+ super(discriminator);
+ }
+
@Override
protected CloseFuture doCloseGracefully() {
return getInnerCloseable().close(false);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/common/util/SecurityUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/SecurityUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/SecurityUtils.java
index 2b52c5a..30bd0ac 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/SecurityUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/SecurityUtils.java
@@ -24,6 +24,7 @@ import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.Signature;
+import java.util.concurrent.Callable;
import javax.crypto.Cipher;
import javax.crypto.KeyAgreement;
@@ -54,12 +55,12 @@ public class SecurityUtils {
if (hasEcc == null) {
try {
getKeyPairGenerator("EC");
- hasEcc = true;
+ hasEcc = Boolean.TRUE;
} catch (Throwable t) {
- hasEcc = false;
+ hasEcc = Boolean.TRUE;
}
}
- return hasEcc;
+ return hasEcc.booleanValue();
}
public static synchronized void setSecurityProvider(String securityProvider) {
@@ -68,7 +69,7 @@ public class SecurityUtils {
}
public static synchronized void setRegisterBouncyCastle(boolean registerBouncyCastle) {
- SecurityUtils.registerBouncyCastle = registerBouncyCastle;
+ SecurityUtils.registerBouncyCastle = Boolean.valueOf(registerBouncyCastle);
registrationDone = false;
}
@@ -86,14 +87,14 @@ public class SecurityUtils {
if (!registrationDone) {
if (registerBouncyCastle == null) {
String prop = System.getProperty("org.apache.sshd.registerBouncyCastle");
- if (prop != null) {
- registerBouncyCastle = Boolean.parseBoolean(prop);
+ if (!GenericUtils.isEmpty(prop)) {
+ registerBouncyCastle = Boolean.valueOf(prop);
}
}
- if (securityProvider == null && (registerBouncyCastle == null || registerBouncyCastle)) {
+ if (securityProvider == null && (registerBouncyCastle == null || registerBouncyCastle.booleanValue())) {
// Use an inner class to avoid a strong dependency from SshServer on BouncyCastle
try {
- new BouncyCastleRegistration().run();
+ new BouncyCastleRegistration().call();
} catch (Throwable t) {
if (registerBouncyCastle == null) {
LOG.info("BouncyCastle not registered, using the default JCE provider");
@@ -107,8 +108,9 @@ public class SecurityUtils {
}
}
- private static class BouncyCastleRegistration {
- public void run() throws Exception {
+ private static class BouncyCastleRegistration implements Callable<Void> {
+ @Override
+ public Void call() throws Exception {
if (java.security.Security.getProvider(BOUNCY_CASTLE) == null) {
LOG.info("Trying to register BouncyCastle as a JCE provider");
java.security.Security.addProvider(new BouncyCastleProvider());
@@ -119,6 +121,7 @@ public class SecurityUtils {
LOG.info("BouncyCastle already registered as a JCE provider");
}
securityProvider = BOUNCY_CASTLE;
+ return null;
}
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/server/auth/AbstractUserAuth.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/auth/AbstractUserAuth.java b/sshd-core/src/main/java/org/apache/sshd/server/auth/AbstractUserAuth.java
index 7d70939..9293ff2 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/AbstractUserAuth.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/AbstractUserAuth.java
@@ -18,22 +18,19 @@
*/
package org.apache.sshd.server.auth;
+import org.apache.sshd.common.util.AbstractLoggingBean;
import org.apache.sshd.common.util.buffer.Buffer;
import org.apache.sshd.server.UserAuth;
import org.apache.sshd.server.session.ServerSession;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
*/
-public abstract class AbstractUserAuth implements UserAuth {
-
- protected final Logger log = LoggerFactory.getLogger(this.getClass());
-
+public abstract class AbstractUserAuth extends AbstractLoggingBean implements UserAuth {
protected ServerSession session;
protected String service;
protected String username;
+ @Override
public String getUserName() {
return username;
}
@@ -42,6 +39,7 @@ public abstract class AbstractUserAuth implements UserAuth {
return service;
}
+ @Override
public Boolean auth(ServerSession session, String username, String service, Buffer buffer) throws Exception {
this.session = session;
this.username = username;
@@ -49,11 +47,14 @@ public abstract class AbstractUserAuth implements UserAuth {
return doAuth(buffer, true);
}
+ @Override
public Boolean next(Buffer buffer) throws Exception {
return doAuth(buffer, false);
}
+ @Override
public void destroy() {
+ // ignored
}
protected abstract Boolean doAuth(Buffer buffer, boolean init) throws Exception;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/server/channel/AbstractServerChannel.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/channel/AbstractServerChannel.java b/sshd-core/src/main/java/org/apache/sshd/server/channel/AbstractServerChannel.java
index 8f6bb24..43c9f74 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/channel/AbstractServerChannel.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/channel/AbstractServerChannel.java
@@ -35,6 +35,15 @@ public abstract class AbstractServerChannel extends AbstractChannel {
protected boolean exitStatusSent;
+ protected AbstractServerChannel() {
+ super();
+ }
+
+ protected AbstractServerChannel(String discriminator) {
+ super(discriminator);
+ }
+
+ @Override
public OpenFuture open(int recipient, int rwsize, int rmpsize, Buffer buffer) {
this.recipient = recipient;
this.remoteWindow.init(rwsize, rmpsize);
@@ -42,10 +51,12 @@ public abstract class AbstractServerChannel extends AbstractChannel {
return doInit(buffer);
}
+ @Override
public void handleOpenSuccess(int recipient, int rwsize, int rmpsize, Buffer buffer) throws IOException {
throw new IllegalStateException();
}
+ @Override
public void handleOpenFailure(Buffer buffer) {
throw new IllegalStateException();
}
@@ -59,7 +70,9 @@ public abstract class AbstractServerChannel extends AbstractChannel {
protected void sendExitStatus(int v) throws IOException {
if (!exitStatusSent) {
exitStatusSent = true;
- log.debug("Send SSH_MSG_CHANNEL_REQUEST exit-status on channel {}", id);
+ if (log.isDebugEnabled()) {
+ log.debug("Send SSH_MSG_CHANNEL_REQUEST exit-status on channel {}", Integer.valueOf(id));
+ }
Buffer buffer = session.createBuffer(SshConstants.SSH_MSG_CHANNEL_REQUEST);
buffer.putInt(recipient);
buffer.putString("exit-status");
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/server/channel/PipeDataReceiver.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/channel/PipeDataReceiver.java b/sshd-core/src/main/java/org/apache/sshd/server/channel/PipeDataReceiver.java
index 9d21f9e..677ae72 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/channel/PipeDataReceiver.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/channel/PipeDataReceiver.java
@@ -25,9 +25,8 @@ import java.io.OutputStream;
import org.apache.sshd.common.channel.ChannelPipedInputStream;
import org.apache.sshd.common.channel.ChannelPipedOutputStream;
import org.apache.sshd.common.channel.Window;
+import org.apache.sshd.common.util.AbstractLoggingBean;
import org.apache.sshd.common.util.io.LoggingFilterOutputStream;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* {@link ChannelDataReceiver} that buffers the received data into byte buffer
@@ -35,7 +34,7 @@ import org.slf4j.LoggerFactory;
*
* @author Kohsuke Kawaguchi
*/
-public class PipeDataReceiver implements ChannelDataReceiver {
+public class PipeDataReceiver extends AbstractLoggingBean implements ChannelDataReceiver {
private InputStream in;
private OutputStream out;
@@ -52,14 +51,14 @@ public class PipeDataReceiver implements ChannelDataReceiver {
return in;
}
+ @Override
public void close() throws IOException {
out.close();
}
+ @Override
public int data(ChannelSession channel, byte[] buf, int start, int len) throws IOException {
out.write(buf, start, len);
return 0; // ChannelPipedOutputStream calls consume method on its own, so here we return 0 to make the ends meet.
}
-
- protected final Logger log = LoggerFactory.getLogger(getClass());
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/server/channel/PuttyRequestHandler.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/channel/PuttyRequestHandler.java b/sshd-core/src/main/java/org/apache/sshd/server/channel/PuttyRequestHandler.java
index 0c43929..6df5ea7 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/channel/PuttyRequestHandler.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/channel/PuttyRequestHandler.java
@@ -20,25 +20,26 @@ package org.apache.sshd.server.channel;
import org.apache.sshd.common.Channel;
import org.apache.sshd.common.RequestHandler;
+import org.apache.sshd.common.util.AbstractLoggingBean;
import org.apache.sshd.common.util.buffer.Buffer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* Handles Putty specific channel requests as indicated by
* <A HREF="http://tartarus.org/~simon/putty-snapshots/htmldoc/AppendixF.html">Appendix F: SSH-2 names specified for PuTTY</A>
*/
-public class PuttyRequestHandler implements RequestHandler<Channel> {
-
+public class PuttyRequestHandler extends AbstractLoggingBean implements RequestHandler<Channel> {
public static final String REQUEST_SUFFIX = "@putty.projects.tartarus.org";
- protected final Logger log = LoggerFactory.getLogger(getClass());
+ public PuttyRequestHandler() {
+ super();
+ }
+ @Override
public Result process(Channel channel, String request, boolean wantReply, Buffer buffer) throws Exception {
// make sure proper suffix
if ((request == null)
- || (request.length() <= REQUEST_SUFFIX.length())
- || (!request.endsWith(REQUEST_SUFFIX))) {
+ || (request.length() <= REQUEST_SUFFIX.length())
+ || (!request.endsWith(REQUEST_SUFFIX))) {
return Result.Unsupported;
}
@@ -64,5 +65,4 @@ public class PuttyRequestHandler implements RequestHandler<Channel> {
return Result.ReplyFailure;
}
-
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/server/command/ScpCommand.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/command/ScpCommand.java b/sshd-core/src/main/java/org/apache/sshd/server/command/ScpCommand.java
index f8d3635..593ed43 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/command/ScpCommand.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/command/ScpCommand.java
@@ -30,12 +30,11 @@ import java.util.concurrent.Future;
import org.apache.sshd.common.file.FileSystemAware;
import org.apache.sshd.common.scp.ScpHelper;
import org.apache.sshd.common.scp.ScpTransferEventListener;
+import org.apache.sshd.common.util.AbstractLoggingBean;
import org.apache.sshd.common.util.ThreadUtils;
import org.apache.sshd.server.Command;
import org.apache.sshd.server.Environment;
import org.apache.sshd.server.ExitCallback;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* This commands provide SCP support on both server and client side.
@@ -44,10 +43,7 @@ import org.slf4j.LoggerFactory;
*
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
-public class ScpCommand implements Command, Runnable, FileSystemAware {
-
- protected static final Logger log = LoggerFactory.getLogger(ScpCommand.class);
-
+public class ScpCommand extends AbstractLoggingBean implements Command, Runnable, FileSystemAware {
protected String name;
protected boolean optR;
protected boolean optT;
@@ -107,9 +103,11 @@ public class ScpCommand implements Command, Runnable, FileSystemAware {
log.debug("Executing command {}", command);
String[] args = command.split(" ");
for (int i = 1; i < args.length; i++) {
- if (args[i].charAt(0) == '-') {
- for (int j = 1; j < args[i].length(); j++) {
- switch (args[i].charAt(j)) {
+ String argVal=args[i];
+ if (argVal.charAt(0) == '-') {
+ for (int j = 1; j < argVal.length(); j++) {
+ char option=argVal.charAt(j);
+ switch(option) {
case 'f':
optF = true;
break;
@@ -125,13 +123,14 @@ public class ScpCommand implements Command, Runnable, FileSystemAware {
case 'd':
optD = true;
break;
-// default:
+ default: // ignored
// error = new IOException("Unsupported option: " + args[i].charAt(j));
// return;
}
}
} else {
- path = command.substring(command.indexOf(args[i - 1]) + args[i - 1].length() + 1);
+ String prevArg=args[i - 1];
+ path = command.substring(command.indexOf(prevArg) + prevArg.length() + 1);
if (path.startsWith("\"") && path.endsWith("\"") || path.startsWith("'") && path.endsWith("'")) {
path = path.substring(1, path.length() - 1);
}
@@ -143,26 +142,32 @@ public class ScpCommand implements Command, Runnable, FileSystemAware {
}
}
+ @Override
public void setInputStream(InputStream in) {
this.in = in;
}
+ @Override
public void setOutputStream(OutputStream out) {
this.out = out;
}
+ @Override
public void setErrorStream(OutputStream err) {
this.err = err;
}
+ @Override
public void setExitCallback(ExitCallback callback) {
this.callback = callback;
}
+ @Override
public void setFileSystem(FileSystem fs) {
this.fileSystem = fs;
}
+ @Override
public void start(Environment env) throws IOException {
if (error != null) {
throw error;
@@ -176,6 +181,7 @@ public class ScpCommand implements Command, Runnable, FileSystemAware {
}
}
+ @Override
public void destroy() {
// if thread has not completed, cancel it
if ((pendingFuture != null) && (!pendingFuture.isDone())) {
@@ -206,6 +212,7 @@ public class ScpCommand implements Command, Runnable, FileSystemAware {
}
}
+ @Override
public void run() {
int exitValue = ScpHelper.OK;
String exitMessage = null;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/server/jaas/JaasPasswordAuthenticator.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/jaas/JaasPasswordAuthenticator.java b/sshd-core/src/main/java/org/apache/sshd/server/jaas/JaasPasswordAuthenticator.java
index 218ead7..aba2c5c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/jaas/JaasPasswordAuthenticator.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/jaas/JaasPasswordAuthenticator.java
@@ -28,6 +28,7 @@ import javax.security.auth.callback.PasswordCallback;
import javax.security.auth.callback.UnsupportedCallbackException;
import javax.security.auth.login.LoginContext;
+import org.apache.sshd.common.util.AbstractLoggingBean;
import org.apache.sshd.server.PasswordAuthenticator;
import org.apache.sshd.server.session.ServerSession;
import org.slf4j.Logger;
@@ -38,12 +39,18 @@ import org.slf4j.LoggerFactory;
*
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
-public class JaasPasswordAuthenticator implements PasswordAuthenticator {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(JaasPasswordAuthenticator.class);
+public class JaasPasswordAuthenticator extends AbstractLoggingBean implements PasswordAuthenticator {
private String domain;
+ public JaasPasswordAuthenticator() {
+ this(null);
+ }
+
+ public JaasPasswordAuthenticator(String domain) {
+ this.domain = domain;
+ }
+
public String getDomain() {
return domain;
}
@@ -52,6 +59,7 @@ public class JaasPasswordAuthenticator implements PasswordAuthenticator {
this.domain = domain;
}
+ @Override
public boolean authenticate(final String username, final String password, final ServerSession session) {
return authenticate(username, password);
}
@@ -60,6 +68,7 @@ public class JaasPasswordAuthenticator implements PasswordAuthenticator {
try {
Subject subject = new Subject();
LoginContext loginContext = new LoginContext(domain, subject, new CallbackHandler() {
+ @Override
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
for (int i = 0; i < callbacks.length; i++) {
if (callbacks[i] instanceof NameCallback) {
@@ -76,7 +85,7 @@ public class JaasPasswordAuthenticator implements PasswordAuthenticator {
loginContext.logout();
return true;
} catch (Exception e) {
- LOGGER.error("Authentication failed with error", e);
+ log.error("Authentication failed with error", e);
return false;
}
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/server/sftp/SftpSubsystem.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/sftp/SftpSubsystem.java b/sshd-core/src/main/java/org/apache/sshd/server/sftp/SftpSubsystem.java
index d2250b3..f4be035 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/sftp/SftpSubsystem.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/sftp/SftpSubsystem.java
@@ -80,6 +80,7 @@ import java.util.concurrent.TimeUnit;
import org.apache.sshd.common.FactoryManagerUtils;
import org.apache.sshd.common.file.FileSystemAware;
+import org.apache.sshd.common.util.AbstractLoggingBean;
import org.apache.sshd.common.util.GenericUtils;
import org.apache.sshd.common.util.IoUtils;
import org.apache.sshd.common.util.OsUtils;
@@ -92,17 +93,13 @@ import org.apache.sshd.server.Environment;
import org.apache.sshd.server.ExitCallback;
import org.apache.sshd.server.SessionAware;
import org.apache.sshd.server.session.ServerSession;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* SFTP subsystem
*
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
-public class SftpSubsystem implements Command, Runnable, SessionAware, FileSystemAware {
-
- protected final Logger log = LoggerFactory.getLogger(getClass());
+public class SftpSubsystem extends AbstractLoggingBean implements Command, Runnable, SessionAware, FileSystemAware {
/**
* Properties key for the maximum of available open handles per session.
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/main/java/org/apache/sshd/server/shell/ProcessShellFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/shell/ProcessShellFactory.java b/sshd-core/src/main/java/org/apache/sshd/server/shell/ProcessShellFactory.java
index 44f2137..0555186 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/shell/ProcessShellFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/shell/ProcessShellFactory.java
@@ -27,11 +27,10 @@ import java.util.EnumSet;
import java.util.Map;
import org.apache.sshd.common.Factory;
+import org.apache.sshd.common.util.AbstractLoggingBean;
import org.apache.sshd.common.util.buffer.Buffer;
import org.apache.sshd.common.util.buffer.ByteArrayBuffer;
import org.apache.sshd.server.Command;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* A {@link Factory} of {@link Command} that will create a new process and bridge
@@ -39,7 +38,7 @@ import org.slf4j.LoggerFactory;
*
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
-public class ProcessShellFactory implements Factory<Command> {
+public class ProcessShellFactory extends AbstractLoggingBean implements Factory<Command> {
public enum TtyOptions {
Echo,
@@ -49,8 +48,6 @@ public class ProcessShellFactory implements Factory<Command> {
OCrNl
}
- private static final Logger LOG = LoggerFactory.getLogger(ProcessShellFactory.class);
-
private String[] command;
private EnumSet<TtyOptions> ttyOptions;
@@ -86,6 +83,11 @@ public class ProcessShellFactory implements Factory<Command> {
private TtyFilterInputStream out;
private TtyFilterInputStream err;
+ public ProcessShell() {
+ super();
+ }
+
+ @SuppressWarnings("synthetic-access")
@Override
public void start(Map<String,String> env) throws IOException {
String[] cmds = new String[command.length];
@@ -101,10 +103,10 @@ public class ProcessShellFactory implements Factory<Command> {
try {
builder.environment().putAll(env);
} catch (Exception e) {
- LOG.info("Could not set environment for command", e);
+ log.info("Could not set environment for command", e);
}
}
- LOG.info("Starting shell with command: '{}' and env: {}", builder.command(), builder.environment());
+ log.info("Starting shell with command: '{}' and env: {}", builder.command(), builder.environment());
process = builder.start();
out = new TtyFilterInputStream(process.getInputStream());
err = new TtyFilterInputStream(process.getErrorStream());
@@ -169,6 +171,7 @@ public class ProcessShellFactory implements Factory<Command> {
public int available() throws IOException {
return super.available() + buffer.available();
}
+ @SuppressWarnings("synthetic-access")
@Override
public synchronized int read() throws IOException {
int c;
@@ -210,6 +213,7 @@ public class ProcessShellFactory implements Factory<Command> {
super(out);
this.echo = echo;
}
+ @SuppressWarnings("synthetic-access")
@Override
public void write(int c) throws IOException {
if (c == '\n' && ttyOptions.contains(TtyOptions.INlCr)) {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/test/java/org/apache/sshd/deprecated/AbstractUserAuth.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/test/java/org/apache/sshd/deprecated/AbstractUserAuth.java b/sshd-core/src/test/java/org/apache/sshd/deprecated/AbstractUserAuth.java
index 0666192..e7ab084 100644
--- a/sshd-core/src/test/java/org/apache/sshd/deprecated/AbstractUserAuth.java
+++ b/sshd-core/src/test/java/org/apache/sshd/deprecated/AbstractUserAuth.java
@@ -19,15 +19,11 @@
package org.apache.sshd.deprecated;
import org.apache.sshd.client.session.ClientSessionImpl;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.sshd.common.util.AbstractLoggingBean;
/**
*/
-public abstract class AbstractUserAuth implements UserAuth {
-
- protected final Logger log = LoggerFactory.getLogger(this.getClass());
-
+public abstract class AbstractUserAuth extends AbstractLoggingBean implements UserAuth {
protected final ClientSessionImpl session;
protected final String service;
@@ -39,5 +35,4 @@ public abstract class AbstractUserAuth implements UserAuth {
public String getService() {
return service;
}
-
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/test/java/org/apache/sshd/deprecated/ClientUserAuthServiceOld.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/test/java/org/apache/sshd/deprecated/ClientUserAuthServiceOld.java b/sshd-core/src/test/java/org/apache/sshd/deprecated/ClientUserAuthServiceOld.java
index a15a3ab..e752132 100644
--- a/sshd-core/src/test/java/org/apache/sshd/deprecated/ClientUserAuthServiceOld.java
+++ b/sshd-core/src/test/java/org/apache/sshd/deprecated/ClientUserAuthServiceOld.java
@@ -31,8 +31,6 @@ import org.apache.sshd.common.SshConstants;
import org.apache.sshd.common.SshException;
import org.apache.sshd.common.util.CloseableUtils;
import org.apache.sshd.common.util.buffer.Buffer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* Client side <code>ssh-auth</code> service.
@@ -53,10 +51,6 @@ public class ClientUserAuthServiceOld extends CloseableUtils.AbstractCloseable i
return new ClientUserAuthServiceOld(session);
}
}
-
- /** Our logger */
- protected final Logger log = LoggerFactory.getLogger(getClass());
-
/**
* When !authFuture.isDone() the current authentication
*/
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/test/java/org/apache/sshd/deprecated/UserAuthPassword.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/test/java/org/apache/sshd/deprecated/UserAuthPassword.java b/sshd-core/src/test/java/org/apache/sshd/deprecated/UserAuthPassword.java
index 60ac764..3da08b0 100644
--- a/sshd-core/src/test/java/org/apache/sshd/deprecated/UserAuthPassword.java
+++ b/sshd-core/src/test/java/org/apache/sshd/deprecated/UserAuthPassword.java
@@ -23,8 +23,6 @@ import java.io.IOException;
import org.apache.sshd.client.session.ClientSessionImpl;
import org.apache.sshd.common.SshConstants;
import org.apache.sshd.common.util.buffer.Buffer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* TODO Add javadoc
@@ -32,9 +30,6 @@ import org.slf4j.LoggerFactory;
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
public class UserAuthPassword extends AbstractUserAuth {
-
- protected final Logger log = LoggerFactory.getLogger(getClass());
-
private final String password;
public UserAuthPassword(ClientSessionImpl session, String service, String password) {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/test/java/org/apache/sshd/deprecated/UserAuthPublicKey.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/test/java/org/apache/sshd/deprecated/UserAuthPublicKey.java b/sshd-core/src/test/java/org/apache/sshd/deprecated/UserAuthPublicKey.java
index 73f15bb..a8b7e21 100644
--- a/sshd-core/src/test/java/org/apache/sshd/deprecated/UserAuthPublicKey.java
+++ b/sshd-core/src/test/java/org/apache/sshd/deprecated/UserAuthPublicKey.java
@@ -28,8 +28,6 @@ import org.apache.sshd.common.SshConstants;
import org.apache.sshd.common.util.KeyUtils;
import org.apache.sshd.common.util.buffer.Buffer;
import org.apache.sshd.common.util.buffer.ByteArrayBuffer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* TODO Add javadoc
@@ -37,9 +35,6 @@ import org.slf4j.LoggerFactory;
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
public class UserAuthPublicKey extends AbstractUserAuth {
-
- protected final Logger log = LoggerFactory.getLogger(getClass());
-
private final KeyPair key;
public UserAuthPublicKey(ClientSessionImpl session, String service, KeyPair key) {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/60dac4dd/sshd-core/src/test/java/org/apache/sshd/util/JSchLogger.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/test/java/org/apache/sshd/util/JSchLogger.java b/sshd-core/src/test/java/org/apache/sshd/util/JSchLogger.java
index a356dbc..a96f756 100644
--- a/sshd-core/src/test/java/org/apache/sshd/util/JSchLogger.java
+++ b/sshd-core/src/test/java/org/apache/sshd/util/JSchLogger.java
@@ -33,6 +33,10 @@ public class JSchLogger implements Logger {
private final org.slf4j.Logger log = LoggerFactory.getLogger("org.jcraft.jsch.JSch");
+ public JSchLogger() {
+ super();
+ }
+
@Override
public boolean isEnabled(int level) {
switch (level) {