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/20 11:11:52 UTC
[1/2] mina-sshd git commit: [SSHD-414] Make the source code
(including tests) truly 1.5 compatible
Repository: mina-sshd
Updated Branches:
refs/heads/master a7e2e3fa7 -> e2f7ff720
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/future/DefaultCloseFuture.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/future/DefaultCloseFuture.java b/sshd-core/src/main/java/org/apache/sshd/common/future/DefaultCloseFuture.java
index 4d5aff7..0092033 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/future/DefaultCloseFuture.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/future/DefaultCloseFuture.java
@@ -32,14 +32,16 @@ public class DefaultCloseFuture extends DefaultSshFuture<CloseFuture> implements
super(lock);
}
+ @Override
public boolean isClosed() {
if (isDone()) {
- return (Boolean) getValue();
+ return ((Boolean) getValue()).booleanValue();
} else {
return false;
}
}
+ @Override
public void setClosed() {
setValue(Boolean.TRUE);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/io/IoSession.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/IoSession.java b/sshd-core/src/main/java/org/apache/sshd/common/io/IoSession.java
index 0158064..699e83e 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/IoSession.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/IoSession.java
@@ -77,6 +77,7 @@ public interface IoSession extends Closeable {
* {@code false} to close this session after all queued
* write requests are flushed.
*/
+ @Override
CloseFuture close(boolean immediately);
/**
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaAcceptor.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaAcceptor.java b/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaAcceptor.java
index 2e92590..f6a9936 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaAcceptor.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaAcceptor.java
@@ -76,26 +76,32 @@ public class MinaAcceptor extends MinaService implements org.apache.sshd.common.
return getAcceptor();
}
+ @Override
public void bind(Collection<? extends SocketAddress> addresses) throws IOException {
getAcceptor().bind(addresses);
}
+ @Override
public void bind(SocketAddress address) throws IOException {
getAcceptor().bind(address);
}
+ @Override
public void unbind() {
getAcceptor().unbind();
}
+ @Override
public void unbind(Collection<? extends SocketAddress> addresses) {
getAcceptor().unbind(addresses);
}
+ @Override
public void unbind(SocketAddress address) {
getAcceptor().unbind(address);
}
+ @Override
public Set<SocketAddress> getBoundAddresses() {
return getAcceptor().getLocalAddresses();
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaConnector.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaConnector.java b/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaConnector.java
index 6e4e368..7623fce 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaConnector.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaConnector.java
@@ -64,36 +64,43 @@ public class MinaConnector extends MinaService implements org.apache.sshd.common
return getConnector();
}
+ @Override
public IoConnectFuture connect(SocketAddress address) {
class Future extends DefaultSshFuture<IoConnectFuture> implements IoConnectFuture {
Future(Object lock) {
super(lock);
}
+ @Override
public org.apache.sshd.common.io.IoSession getSession() {
Object v = getValue();
return v instanceof org.apache.sshd.common.io.IoSession ? (org.apache.sshd.common.io.IoSession) v : null;
}
+ @Override
public Throwable getException() {
Object v = getValue();
return v instanceof Throwable ? (Throwable) v : null;
}
+ @Override
public boolean isConnected() {
return getValue() instanceof org.apache.sshd.common.io.IoSession;
}
+ @Override
public void setSession(org.apache.sshd.common.io.IoSession session) {
setValue(session);
}
+ @Override
public void setException(Throwable exception) {
setValue(exception);
}
}
final IoConnectFuture future = new Future(null);
getConnector().connect(address).addListener(new IoFutureListener<ConnectFuture>() {
+ @Override
public void operationComplete(ConnectFuture cf) {
if (cf.getException() != null) {
future.setException(cf.getException());
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/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 0d0cdc8..cbf0ef8 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
@@ -61,6 +61,7 @@ public abstract class MinaService extends CloseableUtils.AbstractCloseable imple
super.doCloseImmediately();
}
+ @Override
public Map<Long, org.apache.sshd.common.io.IoSession> getManagedSessions() {
Map<Long, IoSession> mina = new HashMap<Long, IoSession>(getIoService().getManagedSessions());
Map<Long, org.apache.sshd.common.io.IoSession> sessions = new HashMap<Long, org.apache.sshd.common.io.IoSession>();
@@ -74,36 +75,44 @@ public abstract class MinaService extends CloseableUtils.AbstractCloseable imple
return sessions;
}
+ @Override
public void sessionOpened(IoSession session) throws Exception {
// Empty handler
}
+ @Override
public void sessionIdle(IoSession session, IdleStatus status) throws Exception {
// Empty handler
}
+ @Override
public void messageSent(IoSession session, Object message) throws Exception {
// Empty handler
}
+ @Override
public void inputClosed(IoSession session) throws Exception {
session.close(true);
}
+ @Override
public void sessionCreated(IoSession session) throws Exception {
org.apache.sshd.common.io.IoSession ioSession = new MinaSession(this, session);
session.setAttribute(org.apache.sshd.common.io.IoSession.class, ioSession);
handler.sessionCreated(ioSession);
}
+ @Override
public void sessionClosed(IoSession session) throws Exception {
handler.sessionClosed(getSession(session));
}
+ @Override
public void exceptionCaught(IoSession session, Throwable cause) throws Exception {
handler.exceptionCaught(getSession(session), cause);
}
+ @Override
public void messageReceived(IoSession session, Object message) throws Exception {
handler.messageReceived(getSession(session), MinaSupport.asReadable((IoBuffer) message));
}
@@ -117,19 +126,19 @@ public abstract class MinaService extends CloseableUtils.AbstractCloseable imple
Integer intVal;
Boolean boolVal;
if ((boolVal = getBoolean(FactoryManager.SOCKET_KEEPALIVE)) != null) {
- config.setKeepAlive(boolVal);
+ config.setKeepAlive(boolVal.booleanValue());
}
if ((intVal = getInteger(FactoryManager.SOCKET_SNDBUF)) != null) {
- config.setSendBufferSize(intVal);
+ config.setSendBufferSize(intVal.intValue());
}
if ((intVal = getInteger(FactoryManager.SOCKET_RCVBUF)) != null) {
- config.setReceiveBufferSize(intVal);
+ config.setReceiveBufferSize(intVal.intValue());
}
if ((intVal = getInteger(FactoryManager.SOCKET_LINGER)) != null) {
- config.setSoLinger(intVal);
+ config.setSoLinger(intVal.intValue());
}
if ((boolVal = getBoolean(FactoryManager.SOCKET_LINGER)) != null) {
- config.setTcpNoDelay(boolVal);
+ config.setTcpNoDelay(boolVal.booleanValue());
}
if (sessionConfig != null) {
config.setAll(sessionConfig);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaSession.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaSession.java b/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaSession.java
index 64d245c..2dae76c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaSession.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaSession.java
@@ -55,22 +55,27 @@ public class MinaSession extends CloseableUtils.AbstractInnerCloseable implement
session.suspendWrite();
}
+ @Override
public Object getAttribute(Object key) {
return session.getAttribute(key);
}
+ @Override
public Object setAttribute(Object key, Object value) {
return session.setAttribute(key, value);
}
+ @Override
public SocketAddress getRemoteAddress() {
return session.getRemoteAddress();
}
+ @Override
public SocketAddress getLocalAddress() {
return session.getLocalAddress();
}
+ @Override
public long getId() {
return session.getId();
}
@@ -83,17 +88,24 @@ public class MinaSession extends CloseableUtils.AbstractInnerCloseable implement
@Override
protected Closeable getInnerCloseable() {
return new CloseableUtils.IoBaseCloseable() {
+ @SuppressWarnings("synthetic-access")
+ @Override
public boolean isClosing() {
return session.isClosing();
}
+ @SuppressWarnings("synthetic-access")
+ @Override
public boolean isClosed() {
return !session.isConnected();
}
+ @SuppressWarnings("synthetic-access")
+ @Override
public org.apache.sshd.common.future.CloseFuture close(boolean immediately) {
final DefaultCloseFuture future = new DefaultCloseFuture(lock);
session.close(false).addListener(new IoFutureListener<IoFuture>() {
+ @Override
public void operationComplete(IoFuture f) {
- future.setValue(true);
+ future.setValue(Boolean.TRUE);
}
});
return future;
@@ -101,12 +113,14 @@ public class MinaSession extends CloseableUtils.AbstractInnerCloseable implement
};
}
+ @Override
public IoWriteFuture write(Buffer buffer) {
class Future extends DefaultSshFuture<IoWriteFuture> implements IoWriteFuture {
Future(Object lock) {
super(lock);
}
+ @Override
public void verify() throws SshException {
try {
await();
@@ -119,6 +133,7 @@ public class MinaSession extends CloseableUtils.AbstractInnerCloseable implement
}
}
+ @Override
public boolean isWritten() {
return getValue() instanceof Boolean;
}
@@ -127,6 +142,7 @@ public class MinaSession extends CloseableUtils.AbstractInnerCloseable implement
setValue(Boolean.TRUE);
}
+ @Override
public Throwable getException() {
Object v = getValue();
return v instanceof Throwable ? (Throwable) v : null;
@@ -141,6 +157,7 @@ public class MinaSession extends CloseableUtils.AbstractInnerCloseable implement
}
final Future future = new Future(null);
session.write(MinaSupport.asIoBuffer(buffer)).addListener(new IoFutureListener<WriteFuture>() {
+ @Override
public void operationComplete(WriteFuture cf) {
if (cf.getException() != null) {
future.setException(cf.getException());
@@ -152,10 +169,12 @@ public class MinaSession extends CloseableUtils.AbstractInnerCloseable implement
return future;
}
+ @Override
public IoService getService() {
return service;
}
+ @Override
public String toString() {
return getClass().getSimpleName() + "[local=" + session.getLocalAddress() + ", remote=" + session.getRemoteAddress() + "]";
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaSupport.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaSupport.java b/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaSupport.java
index 9b623e5..86ace1b 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaSupport.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaSupport.java
@@ -26,10 +26,12 @@ public class MinaSupport {
public static Readable asReadable(final IoBuffer buffer) {
return new Readable() {
+ @Override
public int available() {
return buffer.remaining();
}
+ @Override
public void getRawBytes(byte[] data, int offset, int len) {
buffer.get(data, offset, len);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/kex/DHG.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/kex/DHG.java b/sshd-core/src/main/java/org/apache/sshd/common/kex/DHG.java
index 2658eb1..15602cf 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/kex/DHG.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/kex/DHG.java
@@ -60,6 +60,7 @@ public class DHG extends AbstractDH {
g = gValue;
}
+ @Override
public byte[] getE() throws Exception {
if (e == null) {
DHParameterSpec dhSkipParamSpec = new DHParameterSpec(p, g);
@@ -72,6 +73,7 @@ public class DHG extends AbstractDH {
return e_array;
}
+ @Override
protected byte[] calculateK() throws Exception {
KeyFactory myKeyFac = SecurityUtils.getKeyFactory("DH");
DHPublicKeySpec keySpec = new DHPublicKeySpec(f, p, g);
@@ -88,6 +90,7 @@ public class DHG extends AbstractDH {
setG(new BigInteger(g));
}
+ @Override
public void setF(byte[] f) {
setF(new BigInteger(f));
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/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 0629e8c..55fc735 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
@@ -42,6 +42,7 @@ public abstract class AbstractDHKeyExchange extends AbstractLoggingBean implemen
super();
}
+ @Override
public void init(AbstractSession s, byte[] V_S, byte[] V_C, byte[] I_S, byte[] I_C) throws Exception {
this.V_S = V_S;
this.V_C = V_C;
@@ -49,14 +50,17 @@ public abstract class AbstractDHKeyExchange extends AbstractLoggingBean implemen
this.I_C = I_C;
}
+ @Override
public Digest getHash() {
return hash;
}
+ @Override
public byte[] getH() {
return H;
}
+ @Override
public byte[] getK() {
return K;
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractConnectionService.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractConnectionService.java b/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractConnectionService.java
index 26f589e..efab024 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractConnectionService.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractConnectionService.java
@@ -87,13 +87,17 @@ public abstract class AbstractConnectionService extends CloseableUtils.AbstractI
return channels.values();
}
+ @Override
public AbstractSession getSession() {
return (AbstractSession) session;
}
+ @Override
public void start() {
+ // do nothing
}
+ @Override
public TcpipForwarder getTcpipForwarder() {
return tcpipForwarder;
}
@@ -117,6 +121,7 @@ public abstract class AbstractConnectionService extends CloseableUtils.AbstractI
* @return the id of this channel
* @throws IOException
*/
+ @Override
public int registerChannel(Channel channel) throws IOException {
int channelId = getNextChannelId();
channel.init(this, session, channelId);
@@ -124,7 +129,7 @@ public abstract class AbstractConnectionService extends CloseableUtils.AbstractI
if (isClosing()) {
throw new IllegalStateException("Session is being closed");
}
- channels.put(channelId, channel);
+ channels.put(Integer.valueOf(channelId), channel);
}
return channelId;
}
@@ -134,10 +139,12 @@ public abstract class AbstractConnectionService extends CloseableUtils.AbstractI
*
* @param channel the channel
*/
+ @Override
public void unregisterChannel(Channel channel) {
- channels.remove(channel.getId());
+ channels.remove(Integer.valueOf(channel.getId()));
}
+ @Override
public void process(byte cmd, Buffer buffer) throws Exception {
switch (cmd) {
case SSH_MSG_CHANNEL_OPEN:
@@ -184,13 +191,16 @@ public abstract class AbstractConnectionService extends CloseableUtils.AbstractI
}
}
+ @Override
public void setAllowMoreSessions(boolean allow) {
allowMoreSessions = allow;
}
public void channelOpenConfirmation(Buffer buffer) throws IOException {
Channel channel = getChannel(buffer);
- log.debug("Received SSH_MSG_CHANNEL_OPEN_CONFIRMATION on channel {}", channel.getId());
+ if (log.isDebugEnabled()) {
+ log.debug("Received SSH_MSG_CHANNEL_OPEN_CONFIRMATION on channel {}", Integer.valueOf(channel.getId()));
+ }
int recipient = buffer.getInt();
int rwsize = buffer.getInt();
int rmpsize = buffer.getInt();
@@ -199,8 +209,11 @@ public abstract class AbstractConnectionService extends CloseableUtils.AbstractI
public void channelOpenFailure(Buffer buffer) throws IOException {
AbstractClientChannel channel = (AbstractClientChannel) getChannel(buffer);
- log.debug("Received SSH_MSG_CHANNEL_OPEN_FAILURE on channel {}", channel.getId());
- channels.remove(channel.getId());
+ Integer id = Integer.valueOf(channel.getId());
+ if (log.isDebugEnabled()) {
+ log.debug("Received SSH_MSG_CHANNEL_OPEN_FAILURE on channel {}", id);
+ }
+ channels.remove(id);
channel.handleOpenFailure(buffer);
}
@@ -237,7 +250,7 @@ public abstract class AbstractConnectionService extends CloseableUtils.AbstractI
Channel channel = getChannel(buffer);
channel.handleWindowAdjust(buffer);
} catch (SshException e) {
- log.info(e.getMessage());
+ log.info("channelWindowAdjust error: {}", e.getMessage());
}
}
@@ -294,7 +307,7 @@ public abstract class AbstractConnectionService extends CloseableUtils.AbstractI
*/
protected Channel getChannel(Buffer buffer) throws IOException {
int recipient = buffer.getInt();
- Channel channel = channels.get(recipient);
+ Channel channel = channels.get(Integer.valueOf(recipient));
if (channel == null) {
buffer.rpos(buffer.rpos() - 5);
byte cmd = buffer.getByte();
@@ -343,6 +356,7 @@ public abstract class AbstractConnectionService extends CloseableUtils.AbstractI
final int channelId = registerChannel(channel);
channel.open(id, rwsize, rmpsize, buffer).addListener(new SshFutureListener<OpenFuture>() {
+ @Override
public void operationComplete(OpenFuture future) {
try {
if (future.isOpened()) {
@@ -410,6 +424,10 @@ public abstract class AbstractConnectionService extends CloseableUtils.AbstractI
session.writePacket(buffer);
}
return;
+ default:
+ if (log.isTraceEnabled()) {
+ log.trace("globalRequest({}) {}#process: {}", req, handler.getClass().getSimpleName(), result);
+ }
}
}
}
@@ -428,6 +446,7 @@ public abstract class AbstractConnectionService extends CloseableUtils.AbstractI
((AbstractSession) session).requestFailure(buffer);
}
+ @Override
public String toString() {
return getClass().getSimpleName() + "[" + session + "]";
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/session/ConnectionService.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/ConnectionService.java b/sshd-core/src/main/java/org/apache/sshd/common/session/ConnectionService.java
index 244b522..58cb0f9 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/session/ConnectionService.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/session/ConnectionService.java
@@ -20,10 +20,8 @@ package org.apache.sshd.common.session;
import java.io.IOException;
-import org.apache.sshd.agent.local.AgentForwardedChannel;
import org.apache.sshd.common.Channel;
import org.apache.sshd.common.Service;
-import org.apache.sshd.common.Session;
import org.apache.sshd.common.TcpipForwarder;
/**
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/util/EventListenerUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/EventListenerUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/EventListenerUtils.java
index f951a91..b89774f 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/EventListenerUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/EventListenerUtils.java
@@ -90,6 +90,7 @@ public class EventListenerUtils {
}
Object wrapper = Proxy.newProxyInstance(loader, new Class<?>[]{listenerType}, new InvocationHandler() {
+ @Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
for (T l : listeners) {
method.invoke(l, args);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/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 30bd0ac..1a8bd7e 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
@@ -83,6 +83,7 @@ public class SecurityUtils {
return BOUNCY_CASTLE.equals(securityProvider);
}
+ @SuppressWarnings("synthetic-access")
private static void register() {
if (!registrationDone) {
if (registerBouncyCastle == null) {
@@ -109,6 +110,7 @@ public class SecurityUtils {
}
private static class BouncyCastleRegistration implements Callable<Void> {
+ @SuppressWarnings("synthetic-access")
@Override
public Void call() throws Exception {
if (java.security.Security.getProvider(BOUNCY_CASTLE) == null) {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/util/SelectorUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/SelectorUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/SelectorUtils.java
index 0203eed..a075759 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/SelectorUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/SelectorUtils.java
@@ -223,11 +223,11 @@ public final class SelectorUtils {
// up to first '**'
while (patIdxStart <= patIdxEnd && strIdxStart <= strIdxEnd) {
- String patDir = (String) patDirs.get(patIdxStart);
+ String patDir = patDirs.get(patIdxStart);
if (patDir.equals("**")) {
break;
}
- if (!match(patDir, (String) strDirs.get(strIdxStart),
+ if (!match(patDir, strDirs.get(strIdxStart),
isCaseSensitive)) {
patDirs = null;
strDirs = null;
@@ -257,11 +257,11 @@ public final class SelectorUtils {
// up to last '**'
while (patIdxStart <= patIdxEnd && strIdxStart <= strIdxEnd) {
- String patDir = (String) patDirs.get(patIdxEnd);
+ String patDir = patDirs.get(patIdxEnd);
if (patDir.equals("**")) {
break;
}
- if (!match(patDir, (String) strDirs.get(strIdxEnd),
+ if (!match(patDir, strDirs.get(strIdxEnd),
isCaseSensitive)) {
patDirs = null;
strDirs = null;
@@ -303,8 +303,8 @@ public final class SelectorUtils {
strLoop:
for (int i = 0; i <= strLength - patLength; i++) {
for (int j = 0; j < patLength; j++) {
- String subPat = (String) patDirs.get(patIdxStart + j + 1);
- String subStr = (String) strDirs.get(strIdxStart + i + j);
+ String subPat = patDirs.get(patIdxStart + j + 1);
+ String subStr = strDirs.get(strIdxStart + i + j);
if (!match(subPat, subStr, isCaseSensitive)) {
continue strLoop;
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/util/SttySupport.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/SttySupport.java b/sshd-core/src/main/java/org/apache/sshd/common/util/SttySupport.java
index 3340360..537a16f 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/SttySupport.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/SttySupport.java
@@ -46,7 +46,7 @@ public class SttySupport {
Map<PtyMode, Integer> modes = new TreeMap<PtyMode, Integer>();
for (PtyMode mode : PtyMode.values()) {
if (mode == PtyMode.TTY_OP_ISPEED || mode == PtyMode.TTY_OP_OSPEED) {
-
+ // TODO ...
} else {
String str = mode.name().toLowerCase();
// Are we looking for a character?
@@ -57,12 +57,12 @@ public class SttySupport {
v = findChar(stty, "rprnt");
}
if (v >= 0) {
- modes.put(mode, v);
+ modes.put(mode, Integer.valueOf(v));
}
} else {
int v = findFlag(stty, str);
if (v >= 0) {
- modes.put(mode, v);
+ modes.put(mode, Integer.valueOf(v));
}
}
}
@@ -136,6 +136,7 @@ public class SttySupport {
try {
val = getTerminalProperty("columns");
} catch (Exception e) {
+ // ignored
}
if (val == -1) {
@@ -159,6 +160,7 @@ public class SttySupport {
try {
val = getTerminalProperty("rows");
} catch (Exception e) {
+ // ignored
}
if (val == -1) {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/server/AsyncCommand.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/AsyncCommand.java b/sshd-core/src/main/java/org/apache/sshd/server/AsyncCommand.java
index 8654dce..55337ab 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/AsyncCommand.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/AsyncCommand.java
@@ -18,10 +18,6 @@
*/
package org.apache.sshd.server;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
import org.apache.sshd.common.io.IoInputStream;
import org.apache.sshd.common.io.IoOutputStream;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/server/auth/CachingPublicKeyAuthenticator.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/auth/CachingPublicKeyAuthenticator.java b/sshd-core/src/main/java/org/apache/sshd/server/auth/CachingPublicKeyAuthenticator.java
index 9ce9284..d836f4e 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/CachingPublicKeyAuthenticator.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/CachingPublicKeyAuthenticator.java
@@ -19,7 +19,6 @@
package org.apache.sshd.server.auth;
import java.security.PublicKey;
-import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -42,27 +41,35 @@ public class CachingPublicKeyAuthenticator implements PublickeyAuthenticator, Se
this.authenticator = authenticator;
}
+ @Override
public boolean authenticate(String username, PublicKey key, ServerSession session) {
Map<PublicKey, Boolean> map = cache.get(session);
if (map == null) {
- map = new HashMap<PublicKey, Boolean>();
+ map = new ConcurrentHashMap<PublicKey, Boolean>();
cache.put(session, map);
session.addListener(this);
}
- if (map.containsKey(key)) {
- return map.get(key);
+
+ Boolean result = map.get(key);
+ if (result == null) {
+ result = Boolean.valueOf(authenticator.authenticate(username, key, session));
+ map.put(key, result);
}
- boolean result = authenticator.authenticate(username, key, session);
- map.put(key, result);
- return result;
+
+ return result.booleanValue();
}
+ @Override
public void sessionCreated(Session session) {
+ // ignored
}
+ @Override
public void sessionEvent(Session session, Event event) {
+ // ignored
}
+ @Override
public void sessionClosed(Session session) {
cache.remove(session);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/server/auth/gss/CredentialHelper.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/auth/gss/CredentialHelper.java b/sshd-core/src/main/java/org/apache/sshd/server/auth/gss/CredentialHelper.java
index 37ce5d3..3a0d4d7 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/gss/CredentialHelper.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/gss/CredentialHelper.java
@@ -40,13 +40,13 @@ import org.ietf.jgss.GSSManager;
public class CredentialHelper {
+ @SuppressWarnings("synthetic-access")
public static GSSCredential creds(GSSManager mgr, String spn, String keytab) throws LoginException, GSSException {
LoginContext lc = new LoginContext("x", null, null, new FixedLoginConfiguration(spn, keytab));
-
lc.login();
try {
- return (GSSCredential) Subject.doAs(lc.getSubject(), new G(mgr));
+ return Subject.doAs(lc.getSubject(), new G(mgr));
} catch (PrivilegedActionException e) {
throw (GSSException) e.getCause();
}
@@ -88,6 +88,7 @@ public class CredentialHelper {
* @return The entries, or <code>null</code> if the name is not known
*/
+ @Override
public AppConfigurationEntry[] getAppConfigurationEntry(String name) {
return new AppConfigurationEntry[]{entry};
}
@@ -96,7 +97,9 @@ public class CredentialHelper {
* Refresh the configuration. Nothing to do here.
*/
+ @Override
public void refresh() {
+ // ignored
}
}
@@ -123,6 +126,7 @@ public class CredentialHelper {
* @throws GSSException If an error occurred
*/
+ @Override
public GSSCredential run() throws GSSException {
return mgr.createCredential(null, GSSCredential.INDEFINITE_LIFETIME, UserAuthGSS.KRB5_MECH, GSSCredential.ACCEPT_ONLY);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/server/channel/ChannelDataReceiver.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/channel/ChannelDataReceiver.java b/sshd-core/src/main/java/org/apache/sshd/server/channel/ChannelDataReceiver.java
index d832b61..67e709f 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/channel/ChannelDataReceiver.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/channel/ChannelDataReceiver.java
@@ -106,5 +106,6 @@ public interface ChannelDataReceiver extends Closeable {
*
* The client will no longer send us any more data.
*/
+ @Override
void close() throws IOException;
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/server/channel/OpenChannelException.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/channel/OpenChannelException.java b/sshd-core/src/main/java/org/apache/sshd/server/channel/OpenChannelException.java
index afc16b9..84d6677 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/channel/OpenChannelException.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/channel/OpenChannelException.java
@@ -26,6 +26,7 @@ import org.apache.sshd.common.SshConstants;
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
public class OpenChannelException extends Exception {
+ private static final long serialVersionUID = 3861183351970782341L;
private final int code;
public OpenChannelException(int code, String message) {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/server/command/UnknownCommand.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/command/UnknownCommand.java b/sshd-core/src/main/java/org/apache/sshd/server/command/UnknownCommand.java
index 95c0fda..f4f0387 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/command/UnknownCommand.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/command/UnknownCommand.java
@@ -45,22 +45,27 @@ public class UnknownCommand implements Command {
this.command = command;
}
+ @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 start(Environment env) throws IOException {
err.write(("Unknown command: " + command + "\n").getBytes());
err.flush();
@@ -69,7 +74,8 @@ public class UnknownCommand implements Command {
}
}
+ @Override
public void destroy() {
+ // ignored
}
-
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/server/global/CancelTcpipForwardHandler.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/global/CancelTcpipForwardHandler.java b/sshd-core/src/main/java/org/apache/sshd/server/global/CancelTcpipForwardHandler.java
index 189f328..f21c027 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/global/CancelTcpipForwardHandler.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/global/CancelTcpipForwardHandler.java
@@ -31,6 +31,7 @@ import org.apache.sshd.common.util.buffer.Buffer;
*/
public class CancelTcpipForwardHandler implements RequestHandler<ConnectionService> {
+ @Override
public Result process(ConnectionService connectionService, String request, boolean wantReply, Buffer buffer) throws Exception {
if (request.equals("cancel-tcpip-forward")) {
String address = buffer.getString();
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/server/global/KeepAliveHandler.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/global/KeepAliveHandler.java b/sshd-core/src/main/java/org/apache/sshd/server/global/KeepAliveHandler.java
index c6881d0..7c3b07e 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/global/KeepAliveHandler.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/global/KeepAliveHandler.java
@@ -19,7 +19,6 @@
package org.apache.sshd.server.global;
import org.apache.sshd.common.RequestHandler;
-import org.apache.sshd.common.SshConstants;
import org.apache.sshd.common.session.ConnectionService;
import org.apache.sshd.common.util.buffer.Buffer;
@@ -30,6 +29,7 @@ import org.apache.sshd.common.util.buffer.Buffer;
*/
public class KeepAliveHandler implements RequestHandler<ConnectionService> {
+ @Override
public Result process(ConnectionService connectionService, String request, boolean wantReply, Buffer buffer) throws Exception {
if (request.startsWith("keepalive@")) {
return Result.ReplyFailure;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/server/global/NoMoreSessionsHandler.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/global/NoMoreSessionsHandler.java b/sshd-core/src/main/java/org/apache/sshd/server/global/NoMoreSessionsHandler.java
index 38bf122..14da738 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/global/NoMoreSessionsHandler.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/global/NoMoreSessionsHandler.java
@@ -19,7 +19,6 @@
package org.apache.sshd.server.global;
import org.apache.sshd.common.RequestHandler;
-import org.apache.sshd.common.SshConstants;
import org.apache.sshd.common.session.ConnectionService;
import org.apache.sshd.common.util.buffer.Buffer;
@@ -30,6 +29,7 @@ import org.apache.sshd.common.util.buffer.Buffer;
*/
public class NoMoreSessionsHandler implements RequestHandler<ConnectionService> {
+ @Override
public Result process(ConnectionService connectionService, String request, boolean wantReply, Buffer buffer) throws Exception {
if (request.startsWith("no-more-sessions@")) {
connectionService.setAllowMoreSessions(false);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/server/global/TcpipForwardHandler.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/global/TcpipForwardHandler.java b/sshd-core/src/main/java/org/apache/sshd/server/global/TcpipForwardHandler.java
index 7151e4b..c453101 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/global/TcpipForwardHandler.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/global/TcpipForwardHandler.java
@@ -31,6 +31,7 @@ import org.apache.sshd.common.util.buffer.Buffer;
*/
public class TcpipForwardHandler implements RequestHandler<ConnectionService> {
+ @Override
public Result process(ConnectionService connectionService, String request, boolean wantReply, Buffer buffer) throws Exception {
if (request.equals("tcpip-forward")) {
String address = buffer.getString();
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/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 aba2c5c..7200083 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
@@ -31,8 +31,6 @@ 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;
-import org.slf4j.LoggerFactory;
/**
* TODO Add javadoc
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/server/kex/AbstractDHServerKeyExchange.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/kex/AbstractDHServerKeyExchange.java b/sshd-core/src/main/java/org/apache/sshd/server/kex/AbstractDHServerKeyExchange.java
index 6d1172b..169efe6 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/kex/AbstractDHServerKeyExchange.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/kex/AbstractDHServerKeyExchange.java
@@ -36,6 +36,7 @@ public abstract class AbstractDHServerKeyExchange extends AbstractDHKeyExchange
super();
}
+ @Override
public void init(AbstractSession s, byte[] V_S, byte[] V_C, byte[] I_S, byte[] I_C) throws Exception {
super.init(s, V_S, V_C, I_S, I_C);
if (!(s instanceof ServerSession)) {
@@ -44,6 +45,7 @@ public abstract class AbstractDHServerKeyExchange extends AbstractDHKeyExchange
session = (ServerSession) s;
}
+ @Override
public PublicKey getServerKey() {
return session.getHostKey().getPublic();
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/server/session/ServerConnectionService.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/session/ServerConnectionService.java b/sshd-core/src/main/java/org/apache/sshd/server/session/ServerConnectionService.java
index 101b5a5..776ce8a 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/session/ServerConnectionService.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/session/ServerConnectionService.java
@@ -35,10 +35,12 @@ public class ServerConnectionService extends AbstractConnectionService {
public static class Factory implements ServiceFactory {
+ @Override
public String getName() {
return "ssh-connection";
}
+ @Override
public Service create(Session session) throws IOException {
return new ServerConnectionService(session);
}
@@ -56,10 +58,12 @@ public class ServerConnectionService extends AbstractConnectionService {
}
}
+ @Override
public String initAgentForward() throws IOException {
return agentForward.initialize();
}
+ @Override
public String createX11Display(boolean singleConnection, String authenticationProtocol, String authenticationCookie, int screen) throws IOException {
return x11Forward.createDisplay(singleConnection, authenticationProtocol, authenticationCookie, screen);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java b/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java
index c0ec866..1e5ad3d 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java
@@ -24,7 +24,6 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.List;
-import org.apache.sshd.SshServer;
import org.apache.sshd.common.FactoryManager;
import org.apache.sshd.common.FactoryManagerUtils;
import org.apache.sshd.common.NamedFactory;
@@ -47,10 +46,12 @@ public class ServerUserAuthService extends CloseableUtils.AbstractCloseable impl
public static class Factory implements ServiceFactory {
+ @Override
public String getName() {
return "ssh-userauth";
}
+ @Override
public Service create(Session session) throws IOException {
return new ServerUserAuthService(session);
}
@@ -106,14 +107,17 @@ public class ServerUserAuthService extends CloseableUtils.AbstractCloseable impl
}
}
+ @Override
public void start() {
// do nothing
}
+ @Override
public ServerSession getSession() {
return session;
}
+ @Override
public void process(byte cmd, Buffer buffer) throws Exception {
Boolean authed = Boolean.FALSE;
@@ -144,8 +148,7 @@ public class ServerUserAuthService extends CloseableUtils.AbstractCloseable impl
}
if (log.isDebugEnabled()) {
- log.debug("Authenticating user '{}' with service '{}' and method '{}'",
- new Object[] { username, service, method });
+ log.debug("Authenticating user '{}' with service '{}' and method '{}'", username, service, method);
}
NamedFactory<UserAuth> factory = NamedFactory.Utils.get(userAuthFactories, method);
if (factory != null) {
@@ -162,7 +165,9 @@ public class ServerUserAuthService extends CloseableUtils.AbstractCloseable impl
// This should not happen
throw new IllegalStateException();
}
- log.debug("Received authentication message {}", cmd);
+ if (log.isDebugEnabled()) {
+ log.debug("Received authentication message {}", Integer.valueOf(cmd & 0xFF));
+ }
buffer.rpos(buffer.rpos() - 1);
try {
authed = currentAuth.next(buffer);
@@ -175,7 +180,7 @@ public class ServerUserAuthService extends CloseableUtils.AbstractCloseable impl
if (authed == null) {
// authentication is still ongoing
log.debug("Authentication not finished");
- } else if (authed) {
+ } else if (authed.booleanValue()) {
log.debug("Authentication succeeded");
String username = currentAuth.getUserName();
@@ -192,7 +197,7 @@ public class ServerUserAuthService extends CloseableUtils.AbstractCloseable impl
Integer maxSessionCount = FactoryManagerUtils.getInteger(manager, ServerFactoryManager.MAX_CONCURRENT_SESSIONS);
if (maxSessionCount != null) {
int currentSessionCount = session.getActiveSessionCountForUser(username);
- if (currentSessionCount >= maxSessionCount) {
+ if (currentSessionCount >= maxSessionCount.intValue()) {
session.disconnect(SshConstants.SSH2_DISCONNECT_SERVICE_NOT_AVAILABLE,
"Too many concurrent connections (" + currentSessionCount + ") - max. allowed: " + maxSessionCount);
return;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/server/session/SessionFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/session/SessionFactory.java b/sshd-core/src/main/java/org/apache/sshd/server/session/SessionFactory.java
index 05e8e2f..53684b8 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/session/SessionFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/session/SessionFactory.java
@@ -39,6 +39,7 @@ public class SessionFactory extends AbstractSessionFactory {
this.server = server;
}
+ @Override
protected AbstractSession doCreateSession(IoSession ioSession) throws Exception {
return new ServerSession(server, ioSession);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/server/shell/InvertedShellWrapper.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/shell/InvertedShellWrapper.java b/sshd-core/src/main/java/org/apache/sshd/server/shell/InvertedShellWrapper.java
index 69d9379..849afd1 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/shell/InvertedShellWrapper.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/shell/InvertedShellWrapper.java
@@ -83,28 +83,34 @@ public class InvertedShellWrapper implements Command, SessionAware {
this.shutdownExecutor = shutdownExecutor;
}
+ @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 setSession(ServerSession session) {
if (shell instanceof SessionAware) {
((SessionAware) shell).setSession(session);
}
}
+ @Override
public synchronized void start(Environment env) throws IOException {
// TODO propagate the Environment itself and support signal sending.
shell.start(env.getEnv());
@@ -112,12 +118,14 @@ public class InvertedShellWrapper implements Command, SessionAware {
shellOut = shell.getOutputStream();
shellErr = shell.getErrorStream();
executor.execute(new Runnable() {
+ @Override
public void run() {
pumpStreams();
}
});
}
+ @Override
public synchronized void destroy() {
shell.destroy();
if (shutdownExecutor && executor instanceof ExecutorService) {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/server/x11/X11ForwardSupport.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/x11/X11ForwardSupport.java b/sshd-core/src/main/java/org/apache/sshd/server/x11/X11ForwardSupport.java
index a04ff11..cff5849 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/x11/X11ForwardSupport.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/x11/X11ForwardSupport.java
@@ -181,7 +181,9 @@ public class X11ForwardSupport extends CloseableUtils.AbstractInnerCloseable imp
throw new SshException("Session has been closed");
}
openFuture = new DefaultOpenFuture(lock);
- log.info("Send SSH_MSG_CHANNEL_OPEN on channel {}", id);
+ if (log.isDebugEnabled()) {
+ log.debug("Send SSH_MSG_CHANNEL_OPEN on channel {}", Integer.valueOf(id));
+ }
Buffer buffer = session.createBuffer(SshConstants.SSH_MSG_CHANNEL_OPEN);
buffer.putString(type);
buffer.putInt(id);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/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 e752132..9c51182 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,6 +31,7 @@ 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.apache.sshd.deprecated.UserAuth.Result;
/**
* Client side <code>ssh-auth</code> service.
@@ -99,7 +100,7 @@ public class ClientUserAuthServiceOld extends CloseableUtils.AbstractCloseable i
} else if (cmd == SshConstants.SSH_MSG_USERAUTH_BANNER) {
String welcome = buffer.getString();
String lang = buffer.getString();
- log.debug("Welcome banner: {}", welcome);
+ log.debug("Welcome banner[{}]: {}", lang, welcome);
UserInteraction ui = session.getFactoryManager().getUserInteraction();
if (ui != null) {
ui.welcome(welcome);
@@ -156,7 +157,8 @@ public class ClientUserAuthServiceOld extends CloseableUtils.AbstractCloseable i
*/
private void processUserAuth(Buffer buffer) throws IOException {
log.debug("processing {}", userAuth);
- switch (userAuth.next(buffer)) {
+ Result result = userAuth.next(buffer);
+ switch(result) {
case Success:
log.debug("succeeded with {}", userAuth);
session.setAuthenticated();
@@ -174,6 +176,8 @@ public class ClientUserAuthServiceOld extends CloseableUtils.AbstractCloseable i
// Will wake up anyone sitting in waitFor
log.debug("continuing with {}", userAuth);
break;
+ default:
+ log.debug("ignored result={} for {}", result, userAuth);
}
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/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 3da08b0..4d6fbd5 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
@@ -58,7 +58,9 @@ public class UserAuthPassword extends AbstractUserAuth {
log.debug("Received SSH_MSG_USERAUTH_FAILURE");
return Result.Failure;
} else {
- log.debug("Received unkown packet {}", cmd);
+ if (log.isDebugEnabled()) {
+ log.debug("Received unkown packet {}", Integer.valueOf(cmd & 0xFF));
+ }
// TODO: check packets
return Result.Continued;
}
[2/2] mina-sshd git commit: [SSHD-414] Make the source code
(including tests) truly 1.5 compatible
Posted by lg...@apache.org.
[SSHD-414] Make the source code (including tests) truly 1.5 compatible
Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/e2f7ff72
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/e2f7ff72
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/e2f7ff72
Branch: refs/heads/master
Commit: e2f7ff7206284b8d0e1b217a8975b9c61775b178
Parents: a7e2e3f
Author: Lyor Goldstein <lg...@vmware.com>
Authored: Wed May 20 12:11:40 2015 +0300
Committer: Lyor Goldstein <lg...@vmware.com>
Committed: Wed May 20 12:11:40 2015 +0300
----------------------------------------------------------------------
.../java/org/apache/sshd/ClientSession.java | 2 +
.../org/apache/sshd/agent/SshAgentFactory.java | 1 -
.../sshd/agent/common/AbstractAgentClient.java | 3 +-
.../apache/sshd/agent/common/AgentDelegate.java | 5 +
.../sshd/agent/common/AgentForwardSupport.java | 2 +
.../org/apache/sshd/agent/local/AgentImpl.java | 5 +
.../agent/local/ChannelAgentForwarding.java | 4 +-
.../sshd/agent/local/ProxyAgentFactory.java | 3 +
.../sshd/agent/unix/AgentForwardedChannel.java | 2 +
.../org/apache/sshd/agent/unix/AgentServer.java | 10 +-
.../sshd/agent/unix/ChannelAgentForwarding.java | 2 +
.../sshd/client/ClientFactoryManager.java | 1 +
.../org/apache/sshd/client/SessionFactory.java | 1 +
.../org/apache/sshd/client/SftpException.java | 2 +-
.../auth/UserAuthKeyboardInteractive.java | 4 +-
.../sshd/client/channel/ChannelDirectTcpip.java | 7 +-
.../sshd/client/channel/ChannelSession.java | 3 +-
.../sshd/client/channel/ChannelShell.java | 1 +
.../sshd/client/channel/ChannelSubsystem.java | 2 +
.../channel/PtyCapableChannelSession.java | 34 ++--
.../client/future/DefaultConnectFuture.java | 5 +
.../client/kex/AbstractDHClientKeyExchange.java | 1 +
.../sshd/client/scp/DefaultScpClient.java | 4 +-
.../client/session/ClientConnectionService.java | 9 +-
.../sshd/client/session/ClientSessionImpl.java | 2 +-
.../client/session/ClientUserAuthService.java | 6 +
.../client/sftp/SftpFileSystemProvider.java | 195 +++++++++++--------
.../org/apache/sshd/client/sftp/SftpPath.java | 2 +
.../sshd/common/AbstractSessionIoHandler.java | 4 +
.../java/org/apache/sshd/common/Channel.java | 1 +
.../org/apache/sshd/common/KeyPairProvider.java | 1 -
.../java/org/apache/sshd/common/PtyMode.java | 4 +-
.../org/apache/sshd/common/RequestHandler.java | 1 -
.../apache/sshd/common/RuntimeSshException.java | 1 +
.../java/org/apache/sshd/common/Service.java | 3 +-
.../java/org/apache/sshd/common/Session.java | 3 +
.../org/apache/sshd/common/SshConstants.java | 4 -
.../apache/sshd/common/SshdSocketAddress.java | 2 +-
.../apache/sshd/common/digest/BaseDigest.java | 4 +
.../sshd/common/file/root/RootedFileSystem.java | 2 +-
.../sshd/common/file/root/RootedPath.java | 2 +
.../apache/sshd/common/file/util/BasePath.java | 24 +++
.../virtualfs/VirtualFileSystemFactory.java | 1 +
.../common/forward/DefaultTcpipForwarder.java | 20 +-
.../forward/DefaultTcpipForwarderFactory.java | 4 +-
.../apache/sshd/common/forward/SocksProxy.java | 13 +-
.../sshd/common/forward/TcpipClientChannel.java | 7 +-
.../sshd/common/forward/TcpipServerChannel.java | 20 +-
.../sshd/common/future/DefaultCloseFuture.java | 4 +-
.../org/apache/sshd/common/io/IoSession.java | 1 +
.../sshd/common/io/mina/MinaAcceptor.java | 6 +
.../sshd/common/io/mina/MinaConnector.java | 7 +
.../apache/sshd/common/io/mina/MinaService.java | 19 +-
.../apache/sshd/common/io/mina/MinaSession.java | 21 +-
.../apache/sshd/common/io/mina/MinaSupport.java | 2 +
.../java/org/apache/sshd/common/kex/DHG.java | 3 +
.../common/kex/dh/AbstractDHKeyExchange.java | 4 +
.../session/AbstractConnectionService.java | 33 +++-
.../sshd/common/session/ConnectionService.java | 2 -
.../sshd/common/util/EventListenerUtils.java | 1 +
.../apache/sshd/common/util/SecurityUtils.java | 2 +
.../apache/sshd/common/util/SelectorUtils.java | 12 +-
.../apache/sshd/common/util/SttySupport.java | 8 +-
.../org/apache/sshd/server/AsyncCommand.java | 4 -
.../auth/CachingPublicKeyAuthenticator.java | 21 +-
.../sshd/server/auth/gss/CredentialHelper.java | 8 +-
.../server/channel/ChannelDataReceiver.java | 1 +
.../server/channel/OpenChannelException.java | 1 +
.../sshd/server/command/UnknownCommand.java | 8 +-
.../global/CancelTcpipForwardHandler.java | 1 +
.../sshd/server/global/KeepAliveHandler.java | 2 +-
.../server/global/NoMoreSessionsHandler.java | 2 +-
.../sshd/server/global/TcpipForwardHandler.java | 1 +
.../server/jaas/JaasPasswordAuthenticator.java | 2 -
.../server/kex/AbstractDHServerKeyExchange.java | 2 +
.../server/session/ServerConnectionService.java | 4 +
.../server/session/ServerUserAuthService.java | 17 +-
.../sshd/server/session/SessionFactory.java | 1 +
.../sshd/server/shell/InvertedShellWrapper.java | 8 +
.../sshd/server/x11/X11ForwardSupport.java | 4 +-
.../deprecated/ClientUserAuthServiceOld.java | 8 +-
.../sshd/deprecated/UserAuthPassword.java | 4 +-
82 files changed, 465 insertions(+), 198 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/ClientSession.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/ClientSession.java b/sshd-core/src/main/java/org/apache/sshd/ClientSession.java
index e1d587c..fca6b4a 100644
--- a/sshd-core/src/main/java/org/apache/sshd/ClientSession.java
+++ b/sshd-core/src/main/java/org/apache/sshd/ClientSession.java
@@ -214,6 +214,7 @@ public interface ClientSession extends Session {
/**
* Close this session.
*/
+ @Override
CloseFuture close(boolean immediately);
/**
@@ -224,6 +225,7 @@ public interface ClientSession extends Session {
/**
* Return ClientFactoryManager for this session.
*/
+ @Override
ClientFactoryManager getFactoryManager();
/**
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/agent/SshAgentFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/SshAgentFactory.java b/sshd-core/src/main/java/org/apache/sshd/agent/SshAgentFactory.java
index ff50ac5..7fb8ebc 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/SshAgentFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/SshAgentFactory.java
@@ -23,7 +23,6 @@ import java.io.IOException;
import org.apache.sshd.common.Channel;
import org.apache.sshd.common.FactoryManager;
import org.apache.sshd.common.NamedFactory;
-import org.apache.sshd.common.Session;
import org.apache.sshd.common.session.ConnectionService;
/**
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/agent/common/AbstractAgentClient.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/common/AbstractAgentClient.java b/sshd-core/src/main/java/org/apache/sshd/agent/common/AbstractAgentClient.java
index 6f68856..44d6c23 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/common/AbstractAgentClient.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/common/AbstractAgentClient.java
@@ -33,11 +33,12 @@ import java.security.PublicKey;
import java.util.List;
import org.apache.sshd.agent.SshAgent;
+import org.apache.sshd.common.util.AbstractLoggingBean;
import org.apache.sshd.common.util.KeyUtils;
import org.apache.sshd.common.util.buffer.Buffer;
import org.apache.sshd.common.util.buffer.ByteArrayBuffer;
-public abstract class AbstractAgentClient {
+public abstract class AbstractAgentClient extends AbstractLoggingBean {
private final Buffer buffer = new ByteArrayBuffer();
private final SshAgent agent;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/agent/common/AgentDelegate.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/common/AgentDelegate.java b/sshd-core/src/main/java/org/apache/sshd/agent/common/AgentDelegate.java
index c3ef510..26df439 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/common/AgentDelegate.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/common/AgentDelegate.java
@@ -38,22 +38,27 @@ public class AgentDelegate implements SshAgent {
// ignored
}
+ @Override
public List<Pair<PublicKey, String>> getIdentities() throws IOException {
return agent.getIdentities();
}
+ @Override
public byte[] sign(PublicKey key, byte[] data) throws IOException {
return agent.sign(key, data);
}
+ @Override
public void addIdentity(KeyPair key, String comment) throws IOException {
agent.addIdentity(key, comment);
}
+ @Override
public void removeIdentity(PublicKey key) throws IOException {
agent.removeIdentity(key);
}
+ @Override
public void removeAllIdentities() throws IOException {
agent.removeAllIdentities();
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/agent/common/AgentForwardSupport.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/common/AgentForwardSupport.java b/sshd-core/src/main/java/org/apache/sshd/agent/common/AgentForwardSupport.java
index 38d75ce..8184498 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/common/AgentForwardSupport.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/common/AgentForwardSupport.java
@@ -52,6 +52,7 @@ public class AgentForwardSupport extends CloseableUtils.AbstractCloseable {
}
}
+ @Override
public synchronized void close() throws IOException {
if (agentId != null) {
agentId = null;
@@ -70,6 +71,7 @@ public class AgentForwardSupport extends CloseableUtils.AbstractCloseable {
super.doCloseImmediately();
}
+ @Override
public String toString() {
return getClass().getSimpleName() + "[" + service.getSession() + "]";
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentImpl.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentImpl.java b/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentImpl.java
index 6385d9a..d4c6850 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentImpl.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentImpl.java
@@ -42,6 +42,7 @@ public class AgentImpl implements SshAgent {
private final List<Pair<KeyPair, String>> keys = new ArrayList<Pair<KeyPair, String>>();
private boolean closed;
+ @Override
public List<Pair<PublicKey, String>> getIdentities() throws IOException {
if (closed) {
throw new SshException("Agent closed");
@@ -53,6 +54,7 @@ public class AgentImpl implements SshAgent {
return pks;
}
+ @Override
public byte[] sign(PublicKey key, byte[] data) throws IOException {
if (closed) {
throw new SshException("Agent closed");
@@ -83,6 +85,7 @@ public class AgentImpl implements SshAgent {
}
}
+ @Override
public void addIdentity(KeyPair key, String comment) throws IOException {
if (closed) {
throw new SshException("Agent closed");
@@ -90,6 +93,7 @@ public class AgentImpl implements SshAgent {
keys.add(new Pair<KeyPair, String>(key, comment));
}
+ @Override
public void removeIdentity(PublicKey key) throws IOException {
if (closed) {
throw new SshException("Agent closed");
@@ -101,6 +105,7 @@ public class AgentImpl implements SshAgent {
keys.remove(kp);
}
+ @Override
public void removeAllIdentities() throws IOException {
if (closed) {
throw new SshException("Agent closed");
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/agent/local/ChannelAgentForwarding.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/local/ChannelAgentForwarding.java b/sshd-core/src/main/java/org/apache/sshd/agent/local/ChannelAgentForwarding.java
index e06298c..5b59be4 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/local/ChannelAgentForwarding.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/local/ChannelAgentForwarding.java
@@ -67,6 +67,7 @@ public class ChannelAgentForwarding extends AbstractServerChannel {
private AgentClient client;
public ChannelAgentForwarding() {
+ super();
}
@Override
@@ -101,6 +102,7 @@ public class ChannelAgentForwarding extends AbstractServerChannel {
public CloseFuture close(boolean immediately) {
return super.close(immediately).addListener(new SshFutureListener<CloseFuture>() {
@Override
+ @SuppressWarnings("synthetic-access")
public void operationComplete(CloseFuture sshFuture) {
closeImmediately0();
}
@@ -123,8 +125,8 @@ public class ChannelAgentForwarding extends AbstractServerChannel {
throw new UnsupportedOperationException("AgentForward channel does not support extended data");
}
+ @SuppressWarnings("synthetic-access")
protected class AgentClient extends AbstractAgentClient {
-
public AgentClient() {
super(agent);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/agent/local/ProxyAgentFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/local/ProxyAgentFactory.java b/sshd-core/src/main/java/org/apache/sshd/agent/local/ProxyAgentFactory.java
index ec93844..6f5e307 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/local/ProxyAgentFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/local/ProxyAgentFactory.java
@@ -38,10 +38,12 @@ public class ProxyAgentFactory implements SshAgentFactory {
private final Map<String, AgentServerProxy> proxies = new ConcurrentHashMap<String, AgentServerProxy>();
+ @Override
public NamedFactory<Channel> getChannelForwardingFactory() {
return new ChannelAgentForwarding.ChannelAgentForwardingFactory();
}
+ @Override
public SshAgent createClient(FactoryManager manager) throws IOException {
String proxyId = FactoryManagerUtils.getString(manager, SshAgent.SSH_AUTHSOCKET_ENV_NAME);
if (GenericUtils.isEmpty(proxyId)) {
@@ -56,6 +58,7 @@ public class ProxyAgentFactory implements SshAgentFactory {
return proxy.createClient();
}
+ @Override
public SshAgentServer createServer(ConnectionService service) throws IOException {
Session session = service.getSession();
if (!(session instanceof ServerSession)) {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentForwardedChannel.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentForwardedChannel.java b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentForwardedChannel.java
index 486c837..418b05d 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentForwardedChannel.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentForwardedChannel.java
@@ -35,6 +35,7 @@ public class AgentForwardedChannel extends AbstractClientChannel implements Runn
this.socket = socket;
}
+ @Override
public void run() {
try {
byte[] buf = new byte[1024];
@@ -69,6 +70,7 @@ public class AgentForwardedChannel extends AbstractClientChannel implements Runn
super.doCloseImmediately();
}
+ @Override
protected synchronized void doWriteData(byte[] data, int off, int len) throws IOException {
localWindow.consumeAndCheck(len);
int result = Socket.send(socket, data, off, len);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServer.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServer.java b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServer.java
index 4536df0..52146da 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServer.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServer.java
@@ -24,6 +24,7 @@ import java.io.IOException;
import org.apache.sshd.agent.SshAgent;
import org.apache.sshd.agent.common.AbstractAgentClient;
import org.apache.sshd.agent.local.AgentImpl;
+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.tomcat.jni.Local;
@@ -35,7 +36,7 @@ import org.apache.tomcat.jni.Status;
/**
* A server for an SSH Agent
*/
-public class AgentServer implements Closeable {
+public class AgentServer extends AbstractLoggingBean implements Closeable {
private final SshAgent agent;
private String authSocket;
@@ -69,6 +70,7 @@ public class AgentServer implements Closeable {
throwException(result);
}
thread = new Thread() {
+ @SuppressWarnings("synthetic-access")
@Override
public void run() {
try {
@@ -78,7 +80,7 @@ public class AgentServer implements Closeable {
new SshAgentSession(clientSock, agent);
}
} catch (Exception e) {
- e.printStackTrace();
+ log.error("Failed to run session", e);
}
}
};
@@ -102,6 +104,7 @@ public class AgentServer implements Closeable {
new Thread(this).start();
}
+ @SuppressWarnings("synthetic-access")
@Override
public void run() {
try {
@@ -116,12 +119,13 @@ public class AgentServer implements Closeable {
messageReceived(new ByteArrayBuffer(buf, 0, result));
}
} catch (Exception e) {
- e.printStackTrace();
+ log.error("Failed to process", e);
} finally {
Socket.close(socket);
}
}
+ @SuppressWarnings("synthetic-access")
@Override
protected void reply(Buffer buf) throws IOException {
int result = Socket.send(socket, buf.array(), buf.rpos(), buf.available());
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/agent/unix/ChannelAgentForwarding.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/unix/ChannelAgentForwarding.java b/sshd-core/src/main/java/org/apache/sshd/agent/unix/ChannelAgentForwarding.java
index decd46c..1913652 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/unix/ChannelAgentForwarding.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/unix/ChannelAgentForwarding.java
@@ -83,6 +83,7 @@ public class ChannelAgentForwarding extends AbstractServerChannel {
throwException(result);
}
thread = new Thread() {
+ @SuppressWarnings("synthetic-access")
@Override
public void run() {
try {
@@ -124,6 +125,7 @@ public class ChannelAgentForwarding extends AbstractServerChannel {
@Override
public CloseFuture close(boolean immediately) {
return super.close(immediately).addListener(new SshFutureListener<CloseFuture>() {
+ @SuppressWarnings("synthetic-access")
@Override
public void operationComplete(CloseFuture sshFuture) {
closeImmediately0();
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/client/ClientFactoryManager.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/ClientFactoryManager.java b/sshd-core/src/main/java/org/apache/sshd/client/ClientFactoryManager.java
index 2121ae7..a9014ed 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/ClientFactoryManager.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/ClientFactoryManager.java
@@ -68,6 +68,7 @@ public interface ClientFactoryManager extends FactoryManager {
*
* @return A <code>TcpipForwarderFactory</code>
*/
+ @Override
TcpipForwarderFactory getTcpipForwarderFactory();
/**
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/client/SessionFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/SessionFactory.java b/sshd-core/src/main/java/org/apache/sshd/client/SessionFactory.java
index c5b3885..c5d011a 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/SessionFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/SessionFactory.java
@@ -39,6 +39,7 @@ public class SessionFactory extends AbstractSessionFactory {
this.client = client;
}
+ @Override
protected AbstractSession doCreateSession(IoSession ioSession) throws Exception {
return new ClientSessionImpl(client, ioSession);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/client/SftpException.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/SftpException.java b/sshd-core/src/main/java/org/apache/sshd/client/SftpException.java
index 80e9064..f06d406 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/SftpException.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/SftpException.java
@@ -24,7 +24,7 @@ import java.io.IOException;
* @author <a href="http://mina.apache.org">Apache MINA Project</a>
*/
public class SftpException extends IOException {
-
+ private static final long serialVersionUID = 8096963562429466995L;
private final int status;
public SftpException(int status, String msg) {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/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 b27b182..241381b 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
@@ -111,7 +111,9 @@ public class UserAuthKeyboardInteractive extends AbstractLoggingBean implements
String name = buffer.getString();
String instruction = buffer.getString();
String language_tag = buffer.getString();
- log.info("Received {} {} {}", new Object[]{name, instruction, language_tag});
+ if (log.isDebugEnabled()) {
+ log.debug("SSH_MSG_USERAUTH_INFO_REQUEST {} {} {}", name, instruction, language_tag);
+ }
int num = buffer.getInt();
String[] prompt = new String[num];
boolean[] echo = new boolean[num];
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelDirectTcpip.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelDirectTcpip.java b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelDirectTcpip.java
index bb3c94f..da3f0ad 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelDirectTcpip.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelDirectTcpip.java
@@ -19,8 +19,6 @@
package org.apache.sshd.client.channel;
import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
import java.net.InetAddress;
import java.net.UnknownHostException;
@@ -69,7 +67,10 @@ public class ChannelDirectTcpip extends AbstractClientChannel {
throw new SshException("Session has been closed");
}
openFuture = new DefaultOpenFuture(lock);
- log.info("Send SSH_MSG_CHANNEL_OPEN on channel {}", id);
+ if (log.isDebugEnabled()) {
+ log.debug("Send SSH_MSG_CHANNEL_OPEN on channel {}", Integer.valueOf(id));
+ }
+
Buffer buffer = session.createBuffer(SshConstants.SSH_MSG_CHANNEL_OPEN);
buffer.putString(type);
buffer.putInt(id);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSession.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSession.java b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSession.java
index fe254fc..91d6153 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSession.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSession.java
@@ -46,6 +46,7 @@ public class ChannelSession extends AbstractClientChannel {
protected void doOpen() throws IOException {
if (streaming == Streaming.Async) {
asyncIn = new ChannelAsyncOutputStream(this, SshConstants.SSH_MSG_CHANNEL_DATA) {
+ @SuppressWarnings("synthetic-access")
@Override
protected CloseFuture doCloseGracefully() {
try {
@@ -113,7 +114,7 @@ public class ChannelSession extends AbstractClientChannel {
}
} catch (Exception e) {
if (!isClosing()) {
- log.info("Caught exception", e);
+ log.debug("Caught exception", e);
close(false);
}
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelShell.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelShell.java b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelShell.java
index f9a1c25..f7d24e7 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelShell.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelShell.java
@@ -34,6 +34,7 @@ public class ChannelShell extends PtyCapableChannelSession {
super(true);
}
+ @Override
protected void doOpen() throws IOException {
doOpenPty();
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSubsystem.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSubsystem.java b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSubsystem.java
index 1073b05..9250847 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSubsystem.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSubsystem.java
@@ -41,6 +41,7 @@ public class ChannelSubsystem extends ChannelSession {
this.subsystem = subsystem;
}
+ @Override
protected void doOpen() throws IOException {
log.debug("Send SSH_MSG_CHANNEL_REQUEST exec");
Buffer buffer = session.createBuffer(SshConstants.SSH_MSG_CHANNEL_REQUEST);
@@ -55,6 +56,7 @@ public class ChannelSubsystem extends ChannelSession {
public void onClose(final Runnable run) {
closeFuture.addListener(new SshFutureListener<CloseFuture>() {
+ @Override
public void operationComplete(CloseFuture future) {
run.run();
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/client/channel/PtyCapableChannelSession.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/channel/PtyCapableChannelSession.java b/sshd-core/src/main/java/org/apache/sshd/client/channel/PtyCapableChannelSession.java
index 2c7448b..a345b8b 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/channel/PtyCapableChannelSession.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/channel/PtyCapableChannelSession.java
@@ -58,13 +58,13 @@ public class PtyCapableChannelSession extends ChannelSession {
ptyHeight = 480;
// Set up default pty modes
ptyModes = new HashMap<PtyMode, Integer>();
- ptyModes.put(PtyMode.ISIG, 1);
- ptyModes.put(PtyMode.ICANON, 1);
- ptyModes.put(PtyMode.ECHO, 1);
- ptyModes.put(PtyMode.ECHOE, 1);
- ptyModes.put(PtyMode.ECHOK, 1);
- ptyModes.put(PtyMode.ECHONL, 0);
- ptyModes.put(PtyMode.NOFLSH, 0);
+ ptyModes.put(PtyMode.ISIG, Integer.valueOf(1));
+ ptyModes.put(PtyMode.ICANON, Integer.valueOf(1));
+ ptyModes.put(PtyMode.ECHO, Integer.valueOf(1));
+ ptyModes.put(PtyMode.ECHOE, Integer.valueOf(1));
+ ptyModes.put(PtyMode.ECHOK, Integer.valueOf(1));
+ ptyModes.put(PtyMode.ECHONL, Integer.valueOf(0));
+ ptyModes.put(PtyMode.NOFLSH, Integer.valueOf(0));
}
public void setupSensibleDefaultPty() {
@@ -153,7 +153,9 @@ public class PtyCapableChannelSession extends ChannelSession {
Buffer buffer;
if (agentForwarding) {
- log.debug("Send agent forwarding request");
+ if (log.isDebugEnabled()) {
+ log.debug("Send agent forwarding request - recipient={}", Integer.valueOf(recipient));
+ }
buffer = session.createBuffer(SshConstants.SSH_MSG_CHANNEL_REQUEST);
buffer.putInt(recipient);
buffer.putString("auth-agent-req@openssh.com");
@@ -162,7 +164,12 @@ public class PtyCapableChannelSession extends ChannelSession {
}
if (usePty) {
- log.debug("Send SSH_MSG_CHANNEL_REQUEST pty-req");
+ if (log.isDebugEnabled()) {
+ log.debug("Send SSH_MSG_CHANNEL_REQUEST pty-req: type={}, cols={}, lines={}, height={}, width={}, modes={}",
+ ptyType, Integer.valueOf(ptyColumns), Integer.valueOf(ptyLines),
+ Integer.valueOf(ptyHeight), Integer.valueOf(ptyWidth), ptyModes);
+ }
+
buffer = session.createBuffer(SshConstants.SSH_MSG_CHANNEL_REQUEST);
buffer.putInt(recipient);
buffer.putString("pty-req");
@@ -172,10 +179,13 @@ public class PtyCapableChannelSession extends ChannelSession {
buffer.putInt(ptyLines);
buffer.putInt(ptyHeight);
buffer.putInt(ptyWidth);
+
Buffer modes = new ByteArrayBuffer();
- for (PtyMode mode : ptyModes.keySet()) {
+ for (Map.Entry<PtyMode,? extends Number> modeEntry : ptyModes.entrySet()) {
+ PtyMode mode = modeEntry.getKey();
+ Number value = modeEntry.getValue();
modes.putByte((byte) mode.toInt());
- modes.putInt(ptyModes.get(mode));
+ modes.putInt(value.longValue());
}
modes.putByte((byte) 0);
buffer.putBytes(modes.getCompactData());
@@ -183,7 +193,7 @@ public class PtyCapableChannelSession extends ChannelSession {
}
if (!env.isEmpty()) {
- log.debug("Send SSH_MSG_CHANNEL_REQUEST env");
+ log.debug("Send SSH_MSG_CHANNEL_REQUEST env: {}", env);
for (Map.Entry<String, String> entry : env.entrySet()) {
buffer = session.createBuffer(SshConstants.SSH_MSG_CHANNEL_REQUEST);
buffer.putInt(recipient);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultConnectFuture.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultConnectFuture.java b/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultConnectFuture.java
index 34819f4..547890c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultConnectFuture.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultConnectFuture.java
@@ -33,6 +33,7 @@ public class DefaultConnectFuture extends DefaultSshFuture<ConnectFuture> implem
super(lock);
}
+ @Override
public ClientSession getSession() {
Object v = getValue();
if (v instanceof RuntimeException) {
@@ -48,6 +49,7 @@ public class DefaultConnectFuture extends DefaultSshFuture<ConnectFuture> implem
}
}
+ @Override
public Throwable getException() {
Object v = getValue();
if (v instanceof Throwable) {
@@ -57,10 +59,12 @@ public class DefaultConnectFuture extends DefaultSshFuture<ConnectFuture> implem
}
}
+ @Override
public boolean isConnected() {
return getValue() instanceof ClientSession;
}
+ @Override
public void setSession(ClientSession session) {
if (session == null) {
throw new NullPointerException("session");
@@ -68,6 +72,7 @@ public class DefaultConnectFuture extends DefaultSshFuture<ConnectFuture> implem
setValue(session);
}
+ @Override
public void setException(Throwable exception) {
if (exception == null) {
throw new NullPointerException("exception");
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/client/kex/AbstractDHClientKeyExchange.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/kex/AbstractDHClientKeyExchange.java b/sshd-core/src/main/java/org/apache/sshd/client/kex/AbstractDHClientKeyExchange.java
index 077f159..f55943f 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/kex/AbstractDHClientKeyExchange.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/kex/AbstractDHClientKeyExchange.java
@@ -46,6 +46,7 @@ public abstract class AbstractDHClientKeyExchange extends AbstractDHKeyExchange
session = (ClientSessionImpl) s;
}
+ @Override
public PublicKey getServerKey() {
return serverKey;
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/client/scp/DefaultScpClient.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/scp/DefaultScpClient.java b/sshd-core/src/main/java/org/apache/sshd/client/scp/DefaultScpClient.java
index e42cf80..9c72dda 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/scp/DefaultScpClient.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/scp/DefaultScpClient.java
@@ -135,6 +135,7 @@ public class DefaultScpClient extends AbstractScpClient {
public void upload(String[] local, String remote, Collection<Option> options) throws IOException {
final Collection<String> paths=Arrays.asList(ValidateUtils.checkNotNullAndNotEmpty(local, "Invalid argument local: %s", (Object) local));
runUpload(remote, options, paths, new ScpOperationExecutor<String>() {
+ @Override
public void execute(ScpHelper helper, Collection<String> local, Collection<Option> options) throws IOException {
helper.send(local,
options.contains(Option.Recursive),
@@ -146,8 +147,9 @@ public class DefaultScpClient extends AbstractScpClient {
@Override
public void upload(Path[] local, String remote, Collection<Option> options) throws IOException {
- final Collection<Path> paths=Arrays.asList(ValidateUtils.checkNotNullAndNotEmpty(local, "Invalid argument local: %s", local));
+ final Collection<Path> paths=Arrays.asList(ValidateUtils.checkNotNullAndNotEmpty(local, "Invalid argument local: %s", (Object) local));
runUpload(remote, options, paths, new ScpOperationExecutor<Path>() {
+ @Override
public void execute(ScpHelper helper, Collection<Path> local, Collection<Option> options) throws IOException {
helper.sendPaths(local,
options.contains(Option.Recursive),
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/client/session/ClientConnectionService.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/session/ClientConnectionService.java b/sshd-core/src/main/java/org/apache/sshd/client/session/ClientConnectionService.java
index d9988f2..10654d8 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/session/ClientConnectionService.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/session/ClientConnectionService.java
@@ -45,10 +45,12 @@ public class ClientConnectionService extends AbstractConnectionService {
public static class Factory implements ServiceFactory {
+ @Override
public String getName() {
return "ssh-connection";
}
+ @Override
public Service create(Session session) throws IOException {
return new ClientConnectionService(session);
}
@@ -75,11 +77,14 @@ public class ClientConnectionService extends AbstractConnectionService {
FactoryManager manager = session.getFactoryManager();
ScheduledExecutorService service = manager.getScheduledExecutorService();
service.scheduleAtFixedRate(new Runnable() {
+ @Override
public void run() {
sendHeartBeat();
}
}, interval, interval, TimeUnit.MILLISECONDS);
- log.debug("startHeartbeat - started at interval={}", interval);
+ if (log.isDebugEnabled()) {
+ log.debug("startHeartbeat - started at interval={}", Long.valueOf(interval));
+ }
}
}
@@ -96,11 +101,13 @@ public class ClientConnectionService extends AbstractConnectionService {
}
// TODO: remove from interface
+ @Override
public String initAgentForward() throws IOException {
throw new IllegalStateException("Server side operation");
}
// TODO: remove from interface
+ @Override
public String createX11Display(boolean singleConnection, String authenticationProtocol, String authenticationCookie, int screen) throws IOException {
throw new IllegalStateException("Server side operation");
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/client/session/ClientSessionImpl.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/session/ClientSessionImpl.java b/sshd-core/src/main/java/org/apache/sshd/client/session/ClientSessionImpl.java
index beac954..6761a88 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/session/ClientSessionImpl.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/session/ClientSessionImpl.java
@@ -86,7 +86,7 @@ public class ClientSessionImpl extends AbstractSession implements ClientSession
public ClientSessionImpl(ClientFactoryManager client, IoSession session) throws Exception {
super(false, client, session);
- log.info("Client session created");
+ log.info("Client session created: {}", session);
// Need to set the initial service early as calling code likes to start trying to
// manipulate it before the connection has even been established. For instance, to
// set the authPassword.
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/client/session/ClientUserAuthService.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/session/ClientUserAuthService.java b/sshd-core/src/main/java/org/apache/sshd/client/session/ClientUserAuthService.java
index 3e8d64d..d36251f 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/session/ClientUserAuthService.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/session/ClientUserAuthService.java
@@ -48,10 +48,12 @@ public class ClientUserAuthService extends CloseableUtils.AbstractCloseable impl
public static class Factory implements ServiceFactory {
+ @Override
public String getName() {
return "ssh-userauth";
}
+ @Override
public Service create(Session session) throws IOException {
return new ClientUserAuthService(session);
}
@@ -98,11 +100,14 @@ public class ClientUserAuthService extends CloseableUtils.AbstractCloseable impl
}
}
+ @Override
public ClientSessionImpl getSession() {
return session;
}
+ @Override
public void start() {
+ // ignored
}
public AuthFuture auth(List<Object> identities, String service) throws IOException {
@@ -120,6 +125,7 @@ public class ClientUserAuthService extends CloseableUtils.AbstractCloseable impl
return authFuture;
}
+ @Override
public void process(byte cmd, Buffer buffer) throws Exception {
if (this.authFuture.isSuccess()) {
throw new IllegalStateException("UserAuth message delivered to authenticated client");
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/client/sftp/SftpFileSystemProvider.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/sftp/SftpFileSystemProvider.java b/sshd-core/src/main/java/org/apache/sshd/client/sftp/SftpFileSystemProvider.java
index c765712..ec3c2f3 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/sftp/SftpFileSystemProvider.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/sftp/SftpFileSystemProvider.java
@@ -18,6 +18,17 @@
*/
package org.apache.sshd.client.sftp;
+import static org.apache.sshd.common.sftp.SftpConstants.SFTP_V3;
+import static org.apache.sshd.common.sftp.SftpConstants.S_IRGRP;
+import static org.apache.sshd.common.sftp.SftpConstants.S_IROTH;
+import static org.apache.sshd.common.sftp.SftpConstants.S_IRUSR;
+import static org.apache.sshd.common.sftp.SftpConstants.S_IWGRP;
+import static org.apache.sshd.common.sftp.SftpConstants.S_IWOTH;
+import static org.apache.sshd.common.sftp.SftpConstants.S_IWUSR;
+import static org.apache.sshd.common.sftp.SftpConstants.S_IXGRP;
+import static org.apache.sshd.common.sftp.SftpConstants.S_IXOTH;
+import static org.apache.sshd.common.sftp.SftpConstants.S_IXUSR;
+
import java.io.IOException;
import java.io.InputStream;
import java.io.InterruptedIOException;
@@ -34,7 +45,6 @@ import java.nio.file.FileStore;
import java.nio.file.FileSystem;
import java.nio.file.FileSystemAlreadyExistsException;
import java.nio.file.FileSystemNotFoundException;
-import java.nio.file.Files;
import java.nio.file.LinkOption;
import java.nio.file.NoSuchFileException;
import java.nio.file.OpenOption;
@@ -53,6 +63,7 @@ import java.nio.file.attribute.PosixFileAttributes;
import java.nio.file.attribute.PosixFilePermission;
import java.nio.file.attribute.UserPrincipal;
import java.nio.file.spi.FileSystemProvider;
+import java.util.Collection;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.HashSet;
@@ -70,29 +81,22 @@ import org.apache.sshd.client.SftpException;
import org.apache.sshd.common.SshException;
import org.apache.sshd.common.config.SshConfigFileReader;
import org.apache.sshd.common.sftp.SftpConstants;
+import org.apache.sshd.common.util.GenericUtils;
import org.apache.sshd.common.util.IoUtils;
-
-import static org.apache.sshd.common.sftp.SftpConstants.SFTP_V3;
-import static org.apache.sshd.common.sftp.SftpConstants.S_IRGRP;
-import static org.apache.sshd.common.sftp.SftpConstants.S_IROTH;
-import static org.apache.sshd.common.sftp.SftpConstants.S_IRUSR;
-import static org.apache.sshd.common.sftp.SftpConstants.S_IWGRP;
-import static org.apache.sshd.common.sftp.SftpConstants.S_IWOTH;
-import static org.apache.sshd.common.sftp.SftpConstants.S_IWUSR;
-import static org.apache.sshd.common.sftp.SftpConstants.S_IXGRP;
-import static org.apache.sshd.common.sftp.SftpConstants.S_IXOTH;
-import static org.apache.sshd.common.sftp.SftpConstants.S_IXUSR;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class SftpFileSystemProvider extends FileSystemProvider {
-
- final SshClient client;
- final Map<String, SftpFileSystem> fileSystems = new HashMap<String, SftpFileSystem>();
+ private final SshClient client;
+ private final Map<String, SftpFileSystem> fileSystems = new HashMap<String, SftpFileSystem>();
+ protected final Logger log;
public SftpFileSystemProvider() {
this(null);
}
public SftpFileSystemProvider(SshClient client) {
+ this.log = LoggerFactory.getLogger(getClass());
if (client == null) {
// TODO: make this configurable using system properties
client = SshBuilder.client().build();
@@ -477,6 +481,7 @@ public class SftpFileSystemProvider extends FileSystemProvider {
return "view";
}
+ @SuppressWarnings("synthetic-access")
@Override
public PosixFileAttributes readAttributes() throws IOException {
SftpPath p = toSftpPath(path);
@@ -600,9 +605,10 @@ public class SftpFileSystemProvider extends FileSystemProvider {
@Override
public <A extends BasicFileAttributes> A readAttributes(Path path, Class<A> type, LinkOption... options) throws IOException {
if (type.isAssignableFrom(PosixFileAttributes.class)) {
- return (A) getFileAttributeView(path, PosixFileAttributeView.class, options).readAttributes();
+ return type.cast(getFileAttributeView(path, PosixFileAttributeView.class, options).readAttributes());
}
- throw new UnsupportedOperationException();
+
+ throw new UnsupportedOperationException("readAttributes(" + path + ")[" + type.getSimpleName() + "] N/A");
}
@Override
@@ -628,42 +634,46 @@ public class SftpFileSystemProvider extends FileSystemProvider {
Map<String, Object> map = new HashMap<>();
for (String attr : attrs.split(",")) {
switch (attr) {
- case "lastModifiedTime":
- map.put(attr, v.lastModifiedTime());
- break;
- case "lastAccessTime":
- map.put(attr, v.lastAccessTime());
- break;
- case "creationTime":
- map.put(attr, v.creationTime());
- break;
- case "size":
- map.put(attr, v.size());
- break;
- case "isRegularFile":
- map.put(attr, v.isRegularFile());
- break;
- case "isDirectory":
- map.put(attr, v.isDirectory());
- break;
- case "isSymbolicLink":
- map.put(attr, v.isSymbolicLink());
- break;
- case "isOther":
- map.put(attr, v.isOther());
- break;
- case "fileKey":
- map.put(attr, v.fileKey());
- break;
- case "owner":
- map.put(attr, v.owner());
- break;
- case "permissions":
- map.put(attr, v.permissions());
- break;
- case "group":
- map.put(attr, v.group());
- break;
+ case "lastModifiedTime":
+ map.put(attr, v.lastModifiedTime());
+ break;
+ case "lastAccessTime":
+ map.put(attr, v.lastAccessTime());
+ break;
+ case "creationTime":
+ map.put(attr, v.creationTime());
+ break;
+ case "size":
+ map.put(attr, Long.valueOf(v.size()));
+ break;
+ case "isRegularFile":
+ map.put(attr, Boolean.valueOf(v.isRegularFile()));
+ break;
+ case "isDirectory":
+ map.put(attr, Boolean.valueOf(v.isDirectory()));
+ break;
+ case "isSymbolicLink":
+ map.put(attr, Boolean.valueOf(v.isSymbolicLink()));
+ break;
+ case "isOther":
+ map.put(attr, Boolean.valueOf(v.isOther()));
+ break;
+ case "fileKey":
+ map.put(attr, v.fileKey());
+ break;
+ case "owner":
+ map.put(attr, v.owner());
+ break;
+ case "permissions":
+ map.put(attr, v.permissions());
+ break;
+ case "group":
+ map.put(attr, v.group());
+ break;
+ default:
+ if (log.isTraceEnabled()) {
+ log.trace("readAttributes({})[{}] ignored {}={}", path, attributes, attr, v);
+ }
}
}
return map;
@@ -687,34 +697,42 @@ public class SftpFileSystemProvider extends FileSystemProvider {
}
SftpClient.Attributes attributes = new SftpClient.Attributes();
switch (attr) {
- case "lastModifiedTime":
- attributes.mtime((int) ((FileTime) value).to(TimeUnit.SECONDS));
- break;
- case "lastAccessTime":
- attributes.atime((int) ((FileTime) value).to(TimeUnit.SECONDS));
- break;
- case "creationTime":
- attributes.ctime((int) ((FileTime) value).to(TimeUnit.SECONDS));
- break;
- case "size":
- attributes.size((long) value);
- break;
- case "permissions":
- attributes.perms(attributesToPermissions((Set<PosixFilePermission>) value));
- break;
- case "owner":
- attributes.owner(((UserPrincipal) value).getName());
- break;
- case "group":
- attributes.group(((GroupPrincipal) value).getName());
- break;
- case "isRegularFile":
- case "isDirectory":
- case "isSymbolicLink":
- case "isOther":
- case "fileKey":
- throw new IllegalArgumentException(attr);
+ case "lastModifiedTime":
+ attributes.mtime((int) ((FileTime) value).to(TimeUnit.SECONDS));
+ break;
+ case "lastAccessTime":
+ attributes.atime((int) ((FileTime) value).to(TimeUnit.SECONDS));
+ break;
+ case "creationTime":
+ attributes.ctime((int) ((FileTime) value).to(TimeUnit.SECONDS));
+ break;
+ case "size":
+ attributes.size(((Number) value).longValue());
+ break;
+ case "permissions": {
+ @SuppressWarnings("unchecked")
+ Set<PosixFilePermission> attrSet = (Set<PosixFilePermission>) value;
+ attributes.perms(attributesToPermissions(path, attrSet));
+ }
+ break;
+ case "owner":
+ attributes.owner(((UserPrincipal) value).getName());
+ break;
+ case "group":
+ attributes.group(((GroupPrincipal) value).getName());
+ break;
+ case "isRegularFile":
+ case "isDirectory":
+ case "isSymbolicLink":
+ case "isOther":
+ case "fileKey":
+ throw new UnsupportedOperationException("setAttribute(" + path + ")[" + attribute + "] unknown view attribute: " + attr);
+ default:
+ if (log.isTraceEnabled()) {
+ log.trace("setAttribute({})[{}] ignore {}={}", path, attribute, attr, value);
+ }
}
+
try (SftpClient client = p.getFileSystem().getClient()) {
client.setStat(p.toString(), attributes);
}
@@ -772,11 +790,14 @@ public class SftpFileSystemProvider extends FileSystemProvider {
return p;
}
- protected int attributesToPermissions(Set<PosixFilePermission> perms) {
+ protected int attributesToPermissions(Path path, Collection<PosixFilePermission> perms) {
+ if (GenericUtils.isEmpty(perms)) {
+ return 0;
+ }
+
int pf = 0;
- if (perms != null) {
- for (PosixFilePermission p : perms) {
- switch (p) {
+ for (PosixFilePermission p : perms) {
+ switch (p) {
case OWNER_READ:
pf |= S_IRUSR;
break;
@@ -804,9 +825,13 @@ public class SftpFileSystemProvider extends FileSystemProvider {
case OTHERS_EXECUTE:
pf |= S_IXOTH;
break;
- }
+ default:
+ if (log.isTraceEnabled()) {
+ log.trace("attributesToPermissions(" + path + ") ignored " + p);
+ }
}
}
+
return pf;
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/client/sftp/SftpPath.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/sftp/SftpPath.java b/sshd-core/src/main/java/org/apache/sshd/client/sftp/SftpPath.java
index 8e70c62..a1afbd8 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/sftp/SftpPath.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/sftp/SftpPath.java
@@ -31,11 +31,13 @@ public class SftpPath extends BasePath<SftpPath, SftpFileSystem> {
super(fileSystem, root, names);
}
+ @Override
public URI toUri() {
// TODO
return null;
}
+ @Override
public SftpPath toRealPath(LinkOption... options) throws IOException {
// try (SftpClient client = fileSystem.getClient()) {
// client.realP
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/AbstractSessionIoHandler.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/AbstractSessionIoHandler.java b/sshd-core/src/main/java/org/apache/sshd/common/AbstractSessionIoHandler.java
index 80f14d2..2ca762a 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/AbstractSessionIoHandler.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/AbstractSessionIoHandler.java
@@ -32,15 +32,18 @@ public abstract class AbstractSessionIoHandler implements IoHandler {
protected abstract AbstractSession createSession(IoSession ioSession) throws Exception;
+ @Override
public void sessionCreated(IoSession ioSession) throws Exception {
AbstractSession session = createSession(ioSession);
AbstractSession.attachSession(ioSession, session);
}
+ @Override
public void sessionClosed(IoSession ioSession) throws Exception {
AbstractSession.getSession(ioSession).close(true);
}
+ @Override
public void exceptionCaught(IoSession ioSession, Throwable cause) throws Exception {
AbstractSession session = AbstractSession.getSession(ioSession, true);
if (session != null) {
@@ -50,6 +53,7 @@ public abstract class AbstractSessionIoHandler implements IoHandler {
}
}
+ @Override
public void messageReceived(IoSession ioSession, Readable message) throws Exception {
AbstractSession.getSession(ioSession).messageReceived(message);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/Channel.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/Channel.java b/sshd-core/src/main/java/org/apache/sshd/common/Channel.java
index e353b38..f343686 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/Channel.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/Channel.java
@@ -57,6 +57,7 @@ public interface Channel extends Closeable {
void handleFailure() throws IOException;
+ @Override
CloseFuture close(boolean immediately);
void init(ConnectionService service, Session session, int id) throws IOException;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/KeyPairProvider.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/KeyPairProvider.java b/sshd-core/src/main/java/org/apache/sshd/common/KeyPairProvider.java
index 15b7941..52a8553 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/KeyPairProvider.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/KeyPairProvider.java
@@ -19,7 +19,6 @@
package org.apache.sshd.common;
import java.security.KeyPair;
-import java.util.List;
/**
* Provider for key pairs. This provider is used on the server side to provide
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/PtyMode.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/PtyMode.java b/sshd-core/src/main/java/org/apache/sshd/common/PtyMode.java
index 47ec123..5b06714 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/PtyMode.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/PtyMode.java
@@ -65,11 +65,11 @@ public enum PtyMode {
static {
commands = new HashMap<Integer, PtyMode>();
for (PtyMode c : PtyMode.values()) {
- commands.put(c.toInt(), c);
+ commands.put(Integer.valueOf(c.toInt()), c);
}
}
public static PtyMode fromInt(int b) {
- return commands.get(0x00FF & (b + 256));
+ return commands.get(Integer.valueOf(0x00FF & (b + 256)));
}
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/RequestHandler.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/RequestHandler.java b/sshd-core/src/main/java/org/apache/sshd/common/RequestHandler.java
index 0a78f45..db688eb 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/RequestHandler.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/RequestHandler.java
@@ -18,7 +18,6 @@
*/
package org.apache.sshd.common;
-import org.apache.sshd.common.session.ConnectionService;
import org.apache.sshd.common.util.buffer.Buffer;
/**
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/RuntimeSshException.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/RuntimeSshException.java b/sshd-core/src/main/java/org/apache/sshd/common/RuntimeSshException.java
index 11ae5e5..9ff4246 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/RuntimeSshException.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/RuntimeSshException.java
@@ -24,6 +24,7 @@ package org.apache.sshd.common;
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
public class RuntimeSshException extends RuntimeException {
+ private static final long serialVersionUID = -2423550196146939503L;
public RuntimeSshException() {
this(null, null);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/Service.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/Service.java b/sshd-core/src/main/java/org/apache/sshd/common/Service.java
index fabdac0..b62a905 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/Service.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/Service.java
@@ -18,8 +18,6 @@
*/
package org.apache.sshd.common;
-import java.io.IOException;
-
import org.apache.sshd.common.future.CloseFuture;
import org.apache.sshd.common.util.buffer.Buffer;
@@ -48,6 +46,7 @@ public interface Service extends Closeable {
* @param immediately
*
*/
+ @Override
CloseFuture close(boolean immediately);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/Session.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/Session.java b/sshd-core/src/main/java/org/apache/sshd/common/Session.java
index 6ec08d1..50f7144 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/Session.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/Session.java
@@ -227,6 +227,9 @@ public interface Session extends Closeable {
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
public class AttributeKey<T> {
+ public AttributeKey() {
+ super();
+ }
}
public void resetIdleTimeout();
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/SshConstants.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/SshConstants.java b/sshd-core/src/main/java/org/apache/sshd/common/SshConstants.java
index 648ec88..eebd1b1 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/SshConstants.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/SshConstants.java
@@ -18,10 +18,6 @@
*/
package org.apache.sshd.common;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
/**
* This interface defines constants for the SSH protocol.
*
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/SshdSocketAddress.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/SshdSocketAddress.java b/sshd-core/src/main/java/org/apache/sshd/common/SshdSocketAddress.java
index caa2a96..eb2e53d 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/SshdSocketAddress.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/SshdSocketAddress.java
@@ -27,7 +27,7 @@ import java.net.SocketAddress;
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
public class SshdSocketAddress extends SocketAddress {
-
+ private static final long serialVersionUID = 6461645947151952729L;
private final String hostName;
private final int port;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/digest/BaseDigest.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/digest/BaseDigest.java b/sshd-core/src/main/java/org/apache/sshd/common/digest/BaseDigest.java
index 52e583b..a540c8c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/digest/BaseDigest.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/digest/BaseDigest.java
@@ -47,18 +47,22 @@ public class BaseDigest implements Digest {
this.bsize = bsize;
}
+ @Override
public int getBlockSize() {
return bsize;
}
+ @Override
public void init() throws Exception {
this.md = SecurityUtils.getMessageDigest(algorithm);
}
+ @Override
public void update(byte[] foo, int start, int len) throws Exception {
md.update(foo, start, len);
}
+ @Override
public byte[] digest() throws Exception {
return md.digest();
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/file/root/RootedFileSystem.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/file/root/RootedFileSystem.java b/sshd-core/src/main/java/org/apache/sshd/common/file/root/RootedFileSystem.java
index 293d054..fa24a39 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/file/root/RootedFileSystem.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/file/root/RootedFileSystem.java
@@ -20,7 +20,6 @@ package org.apache.sshd.common.file.root;
import java.io.IOException;
import java.nio.file.Path;
-import java.nio.file.WatchService;
import java.nio.file.attribute.UserPrincipalLookupService;
import java.util.Map;
import java.util.Set;
@@ -46,6 +45,7 @@ public class RootedFileSystem extends BaseFileSystem<RootedPath> {
@Override
public void close() throws IOException {
+ // ignored
}
@Override
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/file/root/RootedPath.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/file/root/RootedPath.java b/sshd-core/src/main/java/org/apache/sshd/common/file/root/RootedPath.java
index e7be13e..8b06584 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/file/root/RootedPath.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/file/root/RootedPath.java
@@ -34,11 +34,13 @@ public class RootedPath extends BasePath<RootedPath, RootedFileSystem> {
super(fileSystem, root, names);
}
+ @Override
public URI toUri() {
// TODO
return null;
}
+ @Override
public RootedPath toRealPath(LinkOption... options) throws IOException {
RootedPath absolute = toAbsolutePath();
fileSystem.provider().checkAccess(absolute);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/file/util/BasePath.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/file/util/BasePath.java b/sshd-core/src/main/java/org/apache/sshd/common/file/util/BasePath.java
index a5fde82..2bc3542 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/file/util/BasePath.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/file/util/BasePath.java
@@ -63,14 +63,17 @@ public abstract class BasePath<T extends BasePath<T, FS>, FS extends BaseFileSys
return fileSystem.create(root, names);
}
+ @Override
public FS getFileSystem() {
return fileSystem;
}
+ @Override
public boolean isAbsolute() {
return root != null;
}
+ @Override
public T getRoot() {
if (isAbsolute()) {
return create(root);
@@ -78,6 +81,7 @@ public abstract class BasePath<T extends BasePath<T, FS>, FS extends BaseFileSys
return null;
}
+ @Override
public T getFileName() {
if (!names.isEmpty()) {
return create(null, names.get(names.size() - 1));
@@ -85,6 +89,7 @@ public abstract class BasePath<T extends BasePath<T, FS>, FS extends BaseFileSys
return null;
}
+ @Override
public T getParent() {
if (names.isEmpty() || names.size() == 1 && root == null) {
return null;
@@ -92,10 +97,12 @@ public abstract class BasePath<T extends BasePath<T, FS>, FS extends BaseFileSys
return create(root, names.subList(0, names.size() - 1));
}
+ @Override
public int getNameCount() {
return names.size();
}
+ @Override
public T getName(int index) {
if (index < 0 || index >= names.size()) {
throw new IllegalArgumentException();
@@ -103,6 +110,7 @@ public abstract class BasePath<T extends BasePath<T, FS>, FS extends BaseFileSys
return create(null, names.subList(index, index + 1));
}
+ @Override
public T subpath(int beginIndex, int endIndex) {
if ((beginIndex < 0) || (beginIndex >= names.size()) || (endIndex > names.size()) || (beginIndex >= endIndex)) {
throw new IllegalArgumentException();
@@ -114,6 +122,7 @@ public abstract class BasePath<T extends BasePath<T, FS>, FS extends BaseFileSys
return list.size() >= other.size() && list.subList(0, other.size()).equals(other);
}
+ @Override
public boolean startsWith(Path other) {
T p1 = asT();
T p2 = checkPath(other);
@@ -122,6 +131,7 @@ public abstract class BasePath<T extends BasePath<T, FS>, FS extends BaseFileSys
&& startsWith(p1.names, p2.names);
}
+ @Override
public boolean startsWith(String other) {
return startsWith(getFileSystem().getPath(other));
}
@@ -130,6 +140,7 @@ public abstract class BasePath<T extends BasePath<T, FS>, FS extends BaseFileSys
return other.size() <= list.size() && list.subList(list.size() - other.size(), list.size()).equals(other);
}
+ @Override
public boolean endsWith(Path other) {
T p1 = asT();
T p2 = checkPath(other);
@@ -139,6 +150,7 @@ public abstract class BasePath<T extends BasePath<T, FS>, FS extends BaseFileSys
return endsWith(p1.names, p2.names);
}
+ @Override
public boolean endsWith(String other) {
return endsWith(getFileSystem().getPath(other));
}
@@ -166,6 +178,7 @@ public abstract class BasePath<T extends BasePath<T, FS>, FS extends BaseFileSys
return normal;
}
+ @Override
public T normalize() {
if (isNormal()) {
return asT();
@@ -189,6 +202,7 @@ public abstract class BasePath<T extends BasePath<T, FS>, FS extends BaseFileSys
return newNames.equals(names) ? asT() : create(root, newNames);
}
+ @Override
public T resolve(Path other) {
T p1 = asT();
T p2 = checkPath(other);
@@ -209,10 +223,12 @@ public abstract class BasePath<T extends BasePath<T, FS>, FS extends BaseFileSys
return create(p1.root, names);
}
+ @Override
public T resolve(String other) {
return resolve(getFileSystem().getPath(other));
}
+ @Override
public Path resolveSibling(Path other) {
if (other == null) {
throw new NullPointerException();
@@ -221,10 +237,12 @@ public abstract class BasePath<T extends BasePath<T, FS>, FS extends BaseFileSys
return parent == null ? other : parent.resolve(other);
}
+ @Override
public Path resolveSibling(String other) {
return resolveSibling(getFileSystem().getPath(other));
}
+ @Override
public T relativize(Path other) {
T p1 = asT();
T p2 = checkPath(other);
@@ -258,6 +276,7 @@ public abstract class BasePath<T extends BasePath<T, FS>, FS extends BaseFileSys
return create(null, parts);
}
+ @Override
public T toAbsolutePath() {
if (isAbsolute()) {
return asT();
@@ -265,18 +284,22 @@ public abstract class BasePath<T extends BasePath<T, FS>, FS extends BaseFileSys
return fileSystem.getDefaultDir().resolve(this);
}
+ @Override
public File toFile() {
throw new UnsupportedOperationException();
}
+ @Override
public WatchKey register(WatchService watcher, WatchEvent.Kind<?>[] events, WatchEvent.Modifier... modifiers) throws IOException {
throw new UnsupportedOperationException();
}
+ @Override
public WatchKey register(WatchService watcher, WatchEvent.Kind<?>... events) throws IOException {
throw new UnsupportedOperationException();
}
+ @Override
public Iterator<Path> iterator() {
return new AbstractList<Path>() {
@Override
@@ -291,6 +314,7 @@ public abstract class BasePath<T extends BasePath<T, FS>, FS extends BaseFileSys
}.iterator();
}
+ @Override
public int compareTo(Path paramPath) {
T p1 = asT();
T p2 = checkPath(paramPath);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/file/virtualfs/VirtualFileSystemFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/file/virtualfs/VirtualFileSystemFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/file/virtualfs/VirtualFileSystemFactory.java
index 2d74509..7b60d65 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/file/virtualfs/VirtualFileSystemFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/file/virtualfs/VirtualFileSystemFactory.java
@@ -70,6 +70,7 @@ public class VirtualFileSystemFactory implements FileSystemFactory {
return homeDir;
}
+ @Override
public FileSystem createFileSystem(Session session) throws IOException {
String dir = computeRootDir(session.getUsername());
return new RootedFileSystemProvider().newFileSystem(Paths.get(dir), null);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultTcpipForwarder.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultTcpipForwarder.java b/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultTcpipForwarder.java
index 458b483..d85da03 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultTcpipForwarder.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultTcpipForwarder.java
@@ -87,13 +87,13 @@ public class DefaultTcpipForwarder extends CloseableUtils.AbstractInnerCloseable
throw new IllegalStateException("TcpipForwarder is closing");
}
SshdSocketAddress bound = doBind(local, new StaticIoHandler());
- localToRemote.put(bound.getPort(), remote);
+ localToRemote.put(Integer.valueOf(bound.getPort()), remote);
return bound;
}
@Override
public synchronized void stopLocalPortForwarding(SshdSocketAddress local) throws IOException {
- if (localToRemote.remove(local.getPort()) != null && acceptor != null) {
+ if (localToRemote.remove(Integer.valueOf(local.getPort())) != null && acceptor != null) {
acceptor.unbind(local.toInetSocketAddress());
}
}
@@ -111,13 +111,13 @@ public class DefaultTcpipForwarder extends CloseableUtils.AbstractInnerCloseable
}
int port = remote.getPort() == 0 ? result.getInt() : remote.getPort();
// TODO: Is it really safe to only store the local address after the request ?
- remoteToLocal.put(port, local);
+ remoteToLocal.put(Integer.valueOf(port), local);
return new SshdSocketAddress(remote.getHostName(), port);
}
@Override
public synchronized void stopRemotePortForwarding(SshdSocketAddress remote) throws IOException {
- if (remoteToLocal.remove(remote.getPort()) != null) {
+ if (remoteToLocal.remove(Integer.valueOf(remote.getPort())) != null) {
Buffer buffer = session.createBuffer(SshConstants.SSH_MSG_GLOBAL_REQUEST);
buffer.putString("cancel-tcpip-forward");
buffer.putBoolean(false);
@@ -143,13 +143,13 @@ public class DefaultTcpipForwarder extends CloseableUtils.AbstractInnerCloseable
}
SocksProxy socksProxy = new SocksProxy(service);
SshdSocketAddress bound = doBind(local, new SocksProxy(service));
- dynamicLocal.put(bound.getPort(), socksProxy);
+ dynamicLocal.put(Integer.valueOf(bound.getPort()), socksProxy);
return bound;
}
@Override
public synchronized void stopDynamicPortForwarding(SshdSocketAddress local) throws IOException {
- Closeable obj = dynamicLocal.remove(local.getPort());
+ Closeable obj = dynamicLocal.remove(Integer.valueOf(local.getPort()));
if (obj != null) {
obj.close(true);
acceptor.unbind(local.toInetSocketAddress());
@@ -158,7 +158,7 @@ public class DefaultTcpipForwarder extends CloseableUtils.AbstractInnerCloseable
@Override
public synchronized SshdSocketAddress getForwardedPort(int remotePort) {
- return remoteToLocal.get(remotePort);
+ return remoteToLocal.get(Integer.valueOf(remotePort));
}
@Override
@@ -230,12 +230,13 @@ public class DefaultTcpipForwarder extends CloseableUtils.AbstractInnerCloseable
class StaticIoHandler implements IoHandler {
+ @SuppressWarnings("synthetic-access")
@Override
public void sessionCreated(final IoSession session) throws Exception {
final TcpipClientChannel channel;
int localPort = ((InetSocketAddress) session.getLocalAddress()).getPort();
- if (localToRemote.containsKey(localPort)) {
- SshdSocketAddress remote = localToRemote.get(localPort);
+ SshdSocketAddress remote = localToRemote.get(Integer.valueOf(localPort));
+ if (remote != null) {
channel = new TcpipClientChannel(TcpipClientChannel.Type.Direct, session, remote);
} else {
channel = new TcpipClientChannel(TcpipClientChannel.Type.Forwarded, session, null);
@@ -254,6 +255,7 @@ public class DefaultTcpipForwarder extends CloseableUtils.AbstractInnerCloseable
});
}
+ @SuppressWarnings("synthetic-access")
@Override
public void sessionClosed(IoSession session) throws Exception {
TcpipClientChannel channel = (TcpipClientChannel) session.getAttribute(TcpipClientChannel.class);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultTcpipForwarderFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultTcpipForwarderFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultTcpipForwarderFactory.java
index a732d7e..62acbf8 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultTcpipForwarderFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultTcpipForwarderFactory.java
@@ -18,7 +18,6 @@
*/
package org.apache.sshd.common.forward;
-import org.apache.sshd.common.Session;
import org.apache.sshd.common.TcpipForwarder;
import org.apache.sshd.common.TcpipForwarderFactory;
import org.apache.sshd.common.session.ConnectionService;
@@ -31,7 +30,8 @@ import org.apache.sshd.common.session.ConnectionService;
*/
public class DefaultTcpipForwarderFactory implements TcpipForwarderFactory
{
- public TcpipForwarder create( ConnectionService service )
+ @Override
+public TcpipForwarder create( ConnectionService service )
{
return new DefaultTcpipForwarder( service );
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/forward/SocksProxy.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/forward/SocksProxy.java b/sshd-core/src/main/java/org/apache/sshd/common/forward/SocksProxy.java
index a009144..21df217 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/forward/SocksProxy.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/forward/SocksProxy.java
@@ -125,6 +125,7 @@ public class SocksProxy extends CloseableUtils.AbstractCloseable implements IoHa
super(session);
}
+ @SuppressWarnings("synthetic-access")
@Override
protected void onMessage(Buffer buffer) throws IOException {
if (channel == null) {
@@ -142,7 +143,10 @@ public class SocksProxy extends CloseableUtils.AbstractCloseable implements IoHa
if (host.startsWith("0.0.0.")) {
host = getNTString(buffer);
}
- log.debug("Received socks4 connection request to {}:{}", host, port);
+ if (log.isDebugEnabled()) {
+ log.debug("Received socks4 connection request for {} to {}:{}", userId, host, Integer.valueOf(port));
+ }
+
SshdSocketAddress remote = new SshdSocketAddress(host, port);
channel = new TcpipClientChannel(TcpipClientChannel.Type.Direct, session, remote);
service.registerChannel(channel);
@@ -157,6 +161,7 @@ public class SocksProxy extends CloseableUtils.AbstractCloseable implements IoHa
}
}
+ @SuppressWarnings("synthetic-access")
protected void onChannelOpened(OpenFuture future) {
Buffer buffer = new ByteArrayBuffer(8);
buffer.putByte((byte) 0x00);
@@ -197,6 +202,7 @@ public class SocksProxy extends CloseableUtils.AbstractCloseable implements IoHa
super(session);
}
+ @SuppressWarnings("synthetic-access")
@Override
protected void onMessage(Buffer buffer) throws IOException {
if (authMethods == null) {
@@ -249,7 +255,9 @@ public class SocksProxy extends CloseableUtils.AbstractCloseable implements IoHa
throw new IllegalStateException("Unsupported address type: " + type);
}
int port = getUShort(buffer);
- log.debug("Received socks5 connection request to {}:{}", host, port);
+ if (log.isDebugEnabled()) {
+ log.debug("Received socks5 connection request to {}:{}", host, Integer.valueOf(port));
+ }
SshdSocketAddress remote = new SshdSocketAddress(host, port);
channel = new TcpipClientChannel(TcpipClientChannel.Type.Direct, session, remote);
service.registerChannel(channel);
@@ -265,6 +273,7 @@ public class SocksProxy extends CloseableUtils.AbstractCloseable implements IoHa
}
}
+ @SuppressWarnings("synthetic-access")
protected void onChannelOpened(OpenFuture future) {
int wpos = response.wpos();
response.rpos(0);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/forward/TcpipClientChannel.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/forward/TcpipClientChannel.java b/sshd-core/src/main/java/org/apache/sshd/common/forward/TcpipClientChannel.java
index cb93049..0f4d89a 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/forward/TcpipClientChannel.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/forward/TcpipClientChannel.java
@@ -63,7 +63,7 @@ public class TcpipClientChannel extends AbstractClientChannel {
@Override
public synchronized OpenFuture open() throws IOException {
- InetSocketAddress src = null, dst = null;
+ final InetSocketAddress src, dst;
switch (typeEnum) {
case Direct:
src = (InetSocketAddress) serverSession.getRemoteAddress();
@@ -73,12 +73,15 @@ public class TcpipClientChannel extends AbstractClientChannel {
src = (InetSocketAddress) serverSession.getRemoteAddress();
dst = (InetSocketAddress) serverSession.getLocalAddress();
break;
+ default:
+ throw new SshException("Unknown client channel type: " + typeEnum);
}
if (closeFuture.isClosed()) {
throw new SshException("Session has been closed");
}
openFuture = new DefaultOpenFuture(lock);
- log.info("Send SSH_MSG_CHANNEL_OPEN on channel {}", this);
+ log.debug("Send SSH_MSG_CHANNEL_OPEN on channel {}", this);
+
Buffer buffer = session.createBuffer(SshConstants.SSH_MSG_CHANNEL_OPEN);
buffer.putString(type);
buffer.putInt(id);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/e2f7ff72/sshd-core/src/main/java/org/apache/sshd/common/forward/TcpipServerChannel.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/forward/TcpipServerChannel.java b/sshd-core/src/main/java/org/apache/sshd/common/forward/TcpipServerChannel.java
index 8d43156..21e60df 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/forward/TcpipServerChannel.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/forward/TcpipServerChannel.java
@@ -114,15 +114,23 @@ public class TcpipServerChannel extends AbstractServerChannel {
int portToConnect = buffer.getInt();
String originatorIpAddress = buffer.getString();
int originatorPort = buffer.getInt();
- log.info("Receiving request for direct tcpip: hostToConnect={}, portToConnect={}, originatorIpAddress={}, originatorPort={}",
- new Object[] { hostToConnect, Integer.valueOf(portToConnect), originatorIpAddress, Integer.valueOf(originatorPort) });
-
+ if (log.isDebugEnabled()) {
+ log.debug("Receiving request for direct tcpip: hostToConnect={}, portToConnect={}, originatorIpAddress={}, originatorPort={}",
+ hostToConnect, Integer.valueOf(portToConnect), originatorIpAddress, Integer.valueOf(originatorPort));
+ }
- SshdSocketAddress address = null;
+ final SshdSocketAddress address;
switch (type) {
- case Direct: address = new SshdSocketAddress(hostToConnect, portToConnect); break;
- case Forwarded: address = service.getTcpipForwarder().getForwardedPort(portToConnect); break;
+ case Direct:
+ address = new SshdSocketAddress(hostToConnect, portToConnect);
+ break;
+ case Forwarded:
+ address = service.getTcpipForwarder().getForwardedPort(portToConnect);
+ break;
+ default:
+ throw new IllegalStateException("Unknown server channel type: " + type);
}
+
final ForwardingFilter filter = getSession().getFactoryManager().getTcpipForwardingFilter();
if (address == null || filter == null || !filter.canConnect(address, getSession())) {
super.close(true);