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/07/28 14:08:07 UTC
[3/4] mina-sshd git commit: [SSHD-542] Checkstyle validation
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/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 699e83e..2ea4333 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
@@ -27,7 +27,7 @@ import org.apache.sshd.common.util.buffer.Buffer;
public interface IoSession extends Closeable {
/**
- * Returns a unique identifier for this session. Every session has its own
+ * @return a unique identifier for this session. Every session has its own
* ID which is different from each other.
*/
long getId();
@@ -50,12 +50,12 @@ public interface IoSession extends Closeable {
Object setAttribute(Object key, Object value);
/**
- * Returns the socket address of remote peer.
+ * @return the socket address of remote peer.
*/
SocketAddress getRemoteAddress();
/**
- * Returns the socket address of local machine which is associated with this
+ * @return the socket address of local machine which is associated with this
* session.
*/
SocketAddress getLocalAddress();
@@ -63,6 +63,9 @@ public interface IoSession extends Closeable {
/**
* Write a packet on the socket.
* Multiple writes can be issued concurrently and will be queued.
+ *
+ * @param buffer The {@link Buffer} with the encoded packet data
+ * @return The {@link IoWriteFuture} for the request
*/
IoWriteFuture write(Buffer buffer);
@@ -76,12 +79,13 @@ public interface IoSession extends Closeable {
* The pending write requests will simply be discarded.
* {@code false} to close this session after all queued
* write requests are flushed.
+ * @return The generated {@link CloseFuture}
*/
@Override
CloseFuture close(boolean immediately);
/**
- * Returns the IoService that created this session.
+ * @return the {@link IoService} that created this session.
*/
IoService getService();
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/io/IoWriteFuture.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/IoWriteFuture.java b/sshd-core/src/main/java/org/apache/sshd/common/io/IoWriteFuture.java
index a702621..033d615 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/IoWriteFuture.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/IoWriteFuture.java
@@ -36,12 +36,12 @@ public interface IoWriteFuture extends SshFuture<IoWriteFuture> {
void verify(long timeout) throws IOException;
/**
- * Returns <tt>true</tt> if the write operation is finished successfully.
+ * @return <tt>true</tt> if the write operation is finished successfully.
*/
boolean isWritten();
/**
- * Returns the cause of the write failure if and only if the write
+ * @return the cause of the write failure if and only if the write
* operation has failed due to an {@link Exception}. Otherwise,
* <tt>null</tt> is returned.
*/
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/kex/KexProposalOption.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/kex/KexProposalOption.java b/sshd-core/src/main/java/org/apache/sshd/common/kex/KexProposalOption.java
index 2a01e64..250d3fe 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/kex/KexProposalOption.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/kex/KexProposalOption.java
@@ -43,7 +43,7 @@ public enum KexProposalOption {
S2CLANG(Constants.PROPOSAL_LANG_STOC, "languages (server to client)");
/**
- * A {@link List} of all the options <U>sorted</U> according to {@link #getProposalIndex(){
+ * A {@link List} of all the options <U>sorted</U> according to {@link #getProposalIndex()}
*
* @see #BY_PROPOSAL_INDEX
*/
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/kex/KeyExchange.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/kex/KeyExchange.java b/sshd-core/src/main/java/org/apache/sshd/common/kex/KeyExchange.java
index 9d052ac..0967287 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/kex/KeyExchange.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/kex/KeyExchange.java
@@ -60,21 +60,23 @@ public interface KeyExchange {
Digest getHash();
/**
- * Retrieves the computed h parameter
+ * Retrieves the computed {@code h} parameter
*
- * @return
+ * @return The {@code h} parameter
*/
byte[] getH();
/**
* Retrieves the computed k parameter
*
- * @return
+ * @return The {@code k} parameter
*/
byte[] getK();
/**
* Retrieves the server's key
+ *
+ * @return The server's {@link PublicKey}
*/
PublicKey getServerKey();
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/random/Random.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/random/Random.java b/sshd-core/src/main/java/org/apache/sshd/common/random/Random.java
index b4b4d7f..7b74ce3 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/random/Random.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/random/Random.java
@@ -44,6 +44,9 @@ public interface Random {
/**
* Returns a pseudo-random uniformly distributed {@code int}
* in the half-open range [0, n).
+ *
+ * @param n The range upper limit
+ * @return The randomly selected value in the range
*/
int random(int n);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/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 939d283..aae7abe 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
@@ -426,8 +426,8 @@ public abstract class AbstractConnectionService extends CloseableUtils.AbstractI
/**
* Process global requests
*
- * @param buffer the request
- * @throws Exception
+ * @param buffer The request {@link Buffer}
+ * @throws Exception If failed to process the request
*/
protected void globalRequest(Buffer buffer) throws Exception {
String req = buffer.getString();
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java b/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java
index ba4ac67..c032ec0 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java
@@ -75,12 +75,14 @@ import static org.apache.sshd.common.SshConstants.SSH_MSG_SERVICE_REQUEST;
import static org.apache.sshd.common.SshConstants.SSH_MSG_UNIMPLEMENTED;
/**
+ * <P>
* The AbstractSession handles all the basic SSH protocol such as key exchange, authentication,
* encoding and decoding. Both server side and client side sessions should inherit from this
* abstract class. Some basic packet processing methods are defined but the actual call to these
* methods should be done from the {@link #handleMessage(org.apache.sshd.common.util.buffer.Buffer)}
- * method, which is dependant on the state and side of this session.
- * <p/>
+ * method, which is dependent on the state and side of this session.
+ * </P>
+ *
* TODO: if there is any very big packet, decoderBuffer and uncompressBuffer will get quite big
* and they won't be resized down at any time. Though the packet size is really limited
* by the channel max packet size
@@ -192,6 +194,7 @@ public abstract class AbstractSession extends CloseableUtils.AbstractInnerClosea
/**
* Create a new session.
*
+ * @param isServer {@code true} if this is a server session, {@code false} if client one
* @param factoryManager the factory manager
* @param ioSession the underlying MINA session
*/
@@ -222,7 +225,7 @@ public abstract class AbstractSession extends CloseableUtils.AbstractInnerClosea
/**
* Retrieve the session from the MINA session.
* If the session has not been attached and allowNull is <code>false</code>,
- * an IllegalStateException will be thrown, else a {@code null} will
+ * an {@link IllegalStateException} will be thrown, else a {@code null} will
* be returned
*
* @param ioSession the MINA session
@@ -232,7 +235,7 @@ public abstract class AbstractSession extends CloseableUtils.AbstractInnerClosea
*/
public static AbstractSession getSession(IoSession ioSession, boolean allowNull) {
AbstractSession session = (AbstractSession) ioSession.getAttribute(SESSION);
- if (!allowNull && session == null) {
+ if ((session == null) && (!allowNull)) {
throw new IllegalStateException("No session available");
}
return session;
@@ -302,11 +305,13 @@ public abstract class AbstractSession extends CloseableUtils.AbstractInnerClosea
}
/**
- * Main input point for the MINA framework.
- * <p/>
+ * <P>Main input point for the MINA framework.</P>
+ *
+ * <P>
* This method will be called each time new data is received on
* the socket and will append it to the input buffer before
* calling the {@link #decode()} method.
+ * </P>
*
* @param buffer the new buffer received
* @throws Exception if an error occurs while decoding or handling the data
@@ -759,7 +764,7 @@ public abstract class AbstractSession extends CloseableUtils.AbstractInnerClosea
/**
* Decode the incoming buffer and handle packets as needed.
*
- * @throws Exception
+ * @throws Exception If failed to decode
*/
protected void decode() throws Exception {
// Decoding loop
@@ -885,6 +890,8 @@ public abstract class AbstractSession extends CloseableUtils.AbstractInnerClosea
* string will be returned and the data read will be consumed from the buffer.
*
* @param buffer the buffer containing the identification string
+ * @param server {@code true} if it is called by the server session,
+ * {@code false} if by the client session
* @return the remote identification or {@code null} if more data is needed
*/
protected String doReadIdentification(Buffer buffer, boolean server) {
@@ -928,8 +935,8 @@ public abstract class AbstractSession extends CloseableUtils.AbstractInnerClosea
/**
* Create our proposal for SSH negotiation
*
- * @param hostKeyTypes the list of supported host key types
- * @return The proposal {@link Map>
+ * @param hostKeyTypes The comma-separated list of supported host key types
+ * @return The proposal {@link Map}
*/
protected Map<KexProposalOption, String> createProposal(String hostKeyTypes) {
Map<KexProposalOption, String> proposal = new EnumMap<>(KexProposalOption.class);
@@ -1497,7 +1504,7 @@ public abstract class AbstractSession extends CloseableUtils.AbstractInnerClosea
* Checks whether the session has timed out (both auth and idle timeouts are checked). If the session has
* timed out, a DISCONNECT message will be sent.
*
- * @throws IOException
+ * @throws IOException If failed to check
*/
protected void checkForTimeouts() throws IOException {
if (!isClosing()) {
@@ -1521,7 +1528,7 @@ public abstract class AbstractSession extends CloseableUtils.AbstractInnerClosea
/**
* Check if timeout has occurred.
*
- * @return
+ * @return The {@link TimeoutStatus}
*/
@Override
public TimeoutStatus getTimeoutStatus() {
@@ -1531,7 +1538,7 @@ public abstract class AbstractSession extends CloseableUtils.AbstractInnerClosea
/**
* What is timeout value in milliseconds for authentication stage
*
- * @return
+ * @return The timeout value in milliseconds for authentication stage
*/
@Override
public long getAuthTimeout() {
@@ -1541,7 +1548,7 @@ public abstract class AbstractSession extends CloseableUtils.AbstractInnerClosea
/**
* What is timeout value in milliseconds for communication
*
- * @return
+ * @return The timeout value in milliseconds for communication
*/
@Override
public long getIdleTimeout() {
@@ -1552,5 +1559,4 @@ public abstract class AbstractSession extends CloseableUtils.AbstractInnerClosea
public String toString() {
return getClass().getSimpleName() + "[" + getUsername() + "@" + getIoSession().getRemoteAddress() + "]";
}
-
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/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 c03eb14..4db9cc2 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
@@ -42,14 +42,14 @@ public interface ConnectionService extends Service {
/**
* Remove this channel from the list of managed channels
*
- * @param channel the channel
+ * @param channel The {@link Channel} instance
*/
void unregisterChannel(Channel channel);
/**
* Retrieve the tcpip forwarder
*
- * @return
+ * @return The {@link TcpipForwarder}
*/
TcpipForwarder getTcpipForwarder();
@@ -60,5 +60,4 @@ public interface ConnectionService extends Service {
String createX11Display(boolean singleConnection, String authenticationProtocol, String authenticationCookie, int screen) throws IOException;
void setAllowMoreSessions(boolean allow);
-
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/session/Session.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/Session.java b/sshd-core/src/main/java/org/apache/sshd/common/session/Session.java
index fc5673a..d2ce89c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/session/Session.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/session/Session.java
@@ -50,7 +50,8 @@ public interface Session extends Closeable {
/**
* Returns the value of the user-defined attribute of this session.
*
- * @param key the key of the attribute; must not be null.
+ * @param <T> The generic attribute type
+ * @param key The key of the attribute; must not be {@code null}.
* @return <tt>null</tt> if there is no attribute with the specified key
*/
<T> T getAttribute(AttributeKey<T> key);
@@ -58,9 +59,11 @@ public interface Session extends Closeable {
/**
* Sets a user-defined attribute.
*
- * @param key the key of the attribute; must not be null.
- * @param value the value of the attribute; must not be null.
- * @return The old value of the attribute. <tt>null</tt> if it is new.
+ * @param <T> The generic attribute type
+ * @param <E> The generic value type
+ * @param key The key of the attribute; must not be {@code null}.
+ * @param value The value of the attribute; must not be {@code null}.
+ * @return The old value of the attribute. {@code null} if it is new.
*/
<T, E extends T> T setAttribute(AttributeKey<T> key, E value);
@@ -193,6 +196,9 @@ public interface Session extends Closeable {
/**
* Initiate a new key exchange.
+ *
+ * @return An {@link SshFuture} for awaiting the completion of the exchange
+ * @throws IOException If failed to negotiate keys
*/
@SuppressWarnings("rawtypes")
SshFuture reExchangeKeys() throws IOException;
@@ -202,21 +208,26 @@ public interface Session extends Closeable {
* If the service is not of the specified class,
* an IllegalStateException will be thrown.
*
- * @throws java.lang.IllegalStateException
+ * @param <T> The generic service type
+ * @param clazz The service class
+ * @return The service instance
+ * @throws IllegalStateException If failed to find a matching service
*/
<T extends Service> T getService(Class<T> clazz);
/**
- * Returns the IoSession associated to this ssh session
+ * @return the {@link IoSession} associated to this session
*/
IoSession getIoSession();
/**
+ * <P>
* Type safe key for storage within the user attributes of {@link org.apache.sshd.common.session.AbstractSession}.
* Typically it is used as a static variable that is shared between the producer
* and the consumer. To further restrict access the setting or getting it from
* the Session you can add static get and set methods, e.g:
- * <p/>
+ * </P>
+ *
* <pre>
* private static final AttributeKey<MyValue> MY_KEY = new AttributeKey<MyValue>();
*
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/session/SessionListener.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/SessionListener.java b/sshd-core/src/main/java/org/apache/sshd/common/session/SessionListener.java
index e4e881c..4effca7 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/session/SessionListener.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/session/SessionListener.java
@@ -21,7 +21,7 @@ package org.apache.sshd.common.session;
import java.util.EventListener;
/**
- * Represents an interface receiving Session events.
+ * Represents an interface receiving session events.
*
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
@@ -34,22 +34,22 @@ public interface SessionListener extends EventListener {
/**
* A new session just been created
*
- * @param session
+ * @param session The created {@link Session}
*/
void sessionCreated(Session session);
/**
* An event has been triggered
*
- * @param session
- * @param event
+ * @param session The referenced {@link Session}
+ * @param event The generated {@link Event}
*/
void sessionEvent(Session session, Event event);
/**
* A session has been closed
*
- * @param session
+ * @param session The closed {@link Session}
*/
void sessionClosed(Session session);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/signature/BuiltinSignatures.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/signature/BuiltinSignatures.java b/sshd-core/src/main/java/org/apache/sshd/common/signature/BuiltinSignatures.java
index 0edf496..68a2105 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/signature/BuiltinSignatures.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/signature/BuiltinSignatures.java
@@ -224,7 +224,7 @@ public enum BuiltinSignatures implements SignatureFactory {
* if {@code null}/empty
* @return A {@link ParseResult} of all the {@link NamedFactory} whose
* name appears in the string and represent a built-in signature. Any
- * unknown name is <U>ignored</I>. The order of the returned result
+ * unknown name is <U>ignored</U>. The order of the returned result
* is the same as the original order - bar the unknown signatures.
* <B>Note:</B> it is up to caller to ensure that the list does not
* contain duplicates
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/ParserUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/ParserUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/ParserUtils.java
index 693d033..7768119 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/ParserUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/ParserUtils.java
@@ -41,7 +41,7 @@ import org.apache.sshd.common.util.ValidateUtils;
/**
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
- * @see <A HREF="https://github.com/openssh/openssh-portable/blob/master/PROTOCOL">OpenSSH</A> section 3.4
+ * @see <A HREF="https://github.com/openssh/openssh-portable/blob/master/PROTOCOL">OpenSSH - section 3.4</A>
*/
public final class ParserUtils {
public static final Collection<ExtensionParser<?>> BUILT_IN_PARSERS =
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/FsyncExtensionParser.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/FsyncExtensionParser.java b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/FsyncExtensionParser.java
index e8dbd38..d9c8b5e 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/FsyncExtensionParser.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/FsyncExtensionParser.java
@@ -21,7 +21,7 @@ package org.apache.sshd.common.subsystem.sftp.extensions.openssh;
/**
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
- * @see <A HREF="https://github.com/openssh/openssh-portable/blob/master/PROTOCOL">OpenSSH</A> section 10
+ * @see <A HREF="https://github.com/openssh/openssh-portable/blob/master/PROTOCOL">OpenSSH - section 10</A>
*/
public class FsyncExtensionParser extends AbstractOpenSSHExtensionParser {
public static final String NAME = "fsync@openssh.com";
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/HardLinkExtensionParser.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/HardLinkExtensionParser.java b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/HardLinkExtensionParser.java
index 2bbfb02..7e6264e 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/HardLinkExtensionParser.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/HardLinkExtensionParser.java
@@ -21,7 +21,7 @@ package org.apache.sshd.common.subsystem.sftp.extensions.openssh;
/**
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
- * @see <A HREF="https://github.com/openssh/openssh-portable/blob/master/PROTOCOL">OpenSSH</A> section 10
+ * @see <A HREF="https://github.com/openssh/openssh-portable/blob/master/PROTOCOL">OpenSSH - section 10</A>
*/
public class HardLinkExtensionParser extends AbstractOpenSSHExtensionParser {
public static final String NAME = "hardlink@openssh.com";
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/PosixRenameExtensionParser.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/PosixRenameExtensionParser.java b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/PosixRenameExtensionParser.java
index 9871914..5ac949e 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/PosixRenameExtensionParser.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/PosixRenameExtensionParser.java
@@ -21,7 +21,7 @@ package org.apache.sshd.common.subsystem.sftp.extensions.openssh;
/**
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
- * @see <A HREF="https://github.com/openssh/openssh-portable/blob/master/PROTOCOL">OpenSSH</A> section 3.3
+ * @see <A HREF="https://github.com/openssh/openssh-portable/blob/master/PROTOCOL">OpenSSH - section 3.3</A>
*/
public class PosixRenameExtensionParser extends AbstractOpenSSHExtensionParser {
public static final String NAME = "posix-rename@openssh.com";
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/StatVfsExtensionParser.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/StatVfsExtensionParser.java b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/StatVfsExtensionParser.java
index 83f4b03..bd86582 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/StatVfsExtensionParser.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/StatVfsExtensionParser.java
@@ -21,7 +21,7 @@ package org.apache.sshd.common.subsystem.sftp.extensions.openssh;
/**
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
- * @see <A HREF="https://github.com/openssh/openssh-portable/blob/master/PROTOCOL">OpenSSH</A> section 3.4
+ * @see <A HREF="https://github.com/openssh/openssh-portable/blob/master/PROTOCOL">OpenSSH - section 3.4</A>
*/
public class StatVfsExtensionParser extends AbstractOpenSSHExtensionParser {
public static final String NAME = "statvfs@openssh.com";
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/util/Base64.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/Base64.java b/sshd-core/src/main/java/org/apache/sshd/common/util/Base64.java
index 8b3b3cb..10e8684 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/Base64.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/Base64.java
@@ -22,8 +22,8 @@ import java.nio.charset.StandardCharsets;
import java.security.InvalidParameterException;
/**
- * Provides Base64 encoding and decoding as defined by RFC 2045.
- * <p/>
+ * <p>Provides Base64 encoding and decoding as defined by RFC 2045.</p>
+ *
* <p>This class implements section <cite>6.8. Base64 Content-Transfer-Encoding</cite>
* from RFC 2045 <cite>Multipurpose Internet Mail Extensions (MIME) Part One:
* Format of Internet Message Bodies</cite> by Freed and Borenstein.</p>
@@ -32,14 +32,12 @@ import java.security.InvalidParameterException;
* @author <a href="http://mina.apache.org">Apache MINA Project</a>
* TODO replace this class with {@code java.util.Base64} when upgrading to JDK 1.8
* @see <a href="http://www.ietf.org/rfc/rfc2045.txt">RFC 2045</a>
- * <p/>
- * This class was
*/
public class Base64 {
/**
- * Chunk size per RFC 2045 section 6.8.
- * <p/>
+ * <P>Chunk size per RFC 2045 section 6.8.</P>
+ *
* <p>The {@value} character limit does not count the trailing CRLF, but counts
* all other characters, including any equal signs.</p>
*
@@ -94,7 +92,7 @@ public class Base64 {
*/
static final byte PAD = (byte) '=';
- // Create arrays to hold the base64 characters and a
+ // Create arrays to hold the base64 characters and a
// lookup for base64 chars
private static byte[] base64Alphabet = new byte[BASELENGTH];
@@ -244,8 +242,8 @@ public class Base64 {
encodedDataLength = numberTriplets * 4;
}
- // If the output is to be "chunked" into 76 character sections,
- // for compliance with RFC 2045 MIME, then it is important to
+ // If the output is to be "chunked" into 76 character sections,
+ // for compliance with RFC 2045 MIME, then it is important to
// allow for extra length to account for the separator(s)
if (isChunked) {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/util/CloseableUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/CloseableUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/CloseableUtils.java
index 6b81aae..13874c2 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/CloseableUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/CloseableUtils.java
@@ -401,11 +401,11 @@ public final class CloseableUtils {
}
/**
- * doCloseImmediately is called once and only once
- * with state == Immediate
- * <p/>
- * Overriding methods should always call the base implementation.
- * It may be called concurrently while preClose() or doCloseGracefully is executing
+ * <P>doCloseImmediately is called once and only once
+ * with state == Immediate</P>
+ *
+ * <P>Overriding methods should always call the base implementation.
+ * It may be called concurrently while preClose() or doCloseGracefully is executing</P>
*/
protected void doCloseImmediately() {
closeFuture.setClosed();
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/util/DirectoryScanner.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/DirectoryScanner.java b/sshd-core/src/main/java/org/apache/sshd/common/util/DirectoryScanner.java
index f6f9c14..19ed426 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/DirectoryScanner.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/DirectoryScanner.java
@@ -25,12 +25,12 @@ import java.util.List;
/**
* <p>Class for scanning a directory for files/directories which match certain
* criteria.</p>
- * <p/>
+ *
* <p>These criteria consist of selectors and patterns which have been specified.
* With the selectors you can select which files you want to have included.
* Files which are not selected are excluded. With patterns you can include
* or exclude files based on their filename.</p>
- * <p/>
+ *
* <p>The idea is simple. A given directory is recursively scanned for all files
* and directories. Each file/directory is matched against a set of selectors,
* including special support for matching against filenames with include and
@@ -38,12 +38,12 @@ import java.util.List;
* pattern of the include pattern list or other file selector, and don't match
* any pattern of the exclude pattern list or fail to match against a required
* selector will be placed in the list of files/directories found.</p>
- * <p/>
+ *
* <p>When no list of include patterns is supplied, "**" will be used, which
* means that everything will be matched. When no list of exclude patterns is
* supplied, an empty list is used, such that nothing will be excluded. When
* no selectors are supplied, none are applied.</p>
- * <p/>
+ *
* <p>The filename pattern matching is done as follows:
* The name to be matched is split up in path segments. A path segment is the
* name of a directory or file, which is bounded by
@@ -51,11 +51,11 @@ import java.util.List;
* For example, "abc/def/ghi/xyz.java" is split up in the segments "abc",
* "def","ghi" and "xyz.java".
* The same is done for the pattern against which should be matched.</p>
- * <p/>
+ *
* <p>The segments of the name and the pattern are then matched against each
* other. When '**' is used for a path segment in the pattern, it matches
* zero or more path segments of the name.</p>
- * <p/>
+ *
* <p>There is a special case regarding the use of <code>File.separator</code>s
* at the beginning of the pattern and the string to match:<br>
* When a pattern starts with a <code>File.separator</code>, the string
@@ -64,12 +64,12 @@ import java.util.List;
* string to match may not start with a <code>File.separator</code>.
* When one of these rules is not obeyed, the string will not
* match.</p>
- * <p/>
+ *
* <p>When a name path segment is matched against a pattern path segment, the
* following special characters can be used:<br>
* '*' matches zero or more characters<br>
* '?' matches one character.</p>
- * <p/>
+ *
* <p>Examples:
* <br>
* <code>"**\*.class"</code> matches all <code>.class</code> files/dirs in a directory tree.
@@ -82,10 +82,10 @@ import java.util.List;
* <code>"**\test\**\XYZ*"</code> matches all files/dirs which start with <code>"XYZ"</code> and where
* there is a parent directory called test (e.g. <code>"abc\test\def\ghi\XYZ123"</code>).
* </p>
- * <p/>
+ *
* <p>Case sensitivity may be turned off if necessary. By default, it is
* turned on.</p>
- * <p/>
+ *
* <p>Example of usage:</p>
* <pre>
* String[] includes = {"**\\*.class"};
@@ -182,7 +182,7 @@ public class DirectoryScanner {
* <p>Sets the list of include patterns to use. All '/' and '\' characters
* are replaced by <code>File.separatorChar</code>, so the separator used
* need not match <code>File.separatorChar</code>.</p>
- * <p/>
+ *
* <p>When a pattern ends with a '/' or '\', "**" is appended.</p>
*
* @param includes A list of include patterns.
@@ -208,6 +208,7 @@ public class DirectoryScanner {
* pattern and don't match any exclude patterns. If there are selectors
* then the files must pass muster there, as well.
*
+ * @return the matching files
* @throws IllegalStateException if the base directory was set
* incorrectly (i.e. if it is {@code null}, doesn't exist,
* or isn't a directory).
@@ -347,7 +348,7 @@ public class DirectoryScanner {
/**
* <p>Replace a String with another String inside a larger String,
* for the first <code>max</code> values of the search String.</p>
- * <p/>
+ *
* <p>A {@code null} reference passed to this method is a no-op.</p>
*
* @param text text to search and replace in
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/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 48df9f4..774adf4 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
@@ -38,18 +38,27 @@ public final class EventListenerUtils {
* interface implementation. <b>Note:</b> a listener interface is one whose
* invoked methods return <u>only</u> {@code void}.
*
+ * @param <T> Generic listener type
* @param listenerType The expected listener <u>interface</u>
- * @param listeners An {@link Iterable} container of listeners to be invoked.</P>
+ * @param listeners An {@link Iterable} container of listeners to be invoked.
+ * <p>
* <b>Note(s):</b>
+ * </p>
* <ul>
- * <li>The invocation order is same as the {@link Iterable} container</li>
- * <p/>
- * <li>If any of the invoked listener methods throws an exception, the
+ * <li><p>
+ * The invocation order is same as the {@link Iterable} container
+ * </p></li>
+ *
+ * <li><p>
+ * If any of the invoked listener methods throws an exception, the
* rest of the listener are <u>not</u> invoked and the exception is
- * propagated to the caller</li>
- * <p/>
- * <li>It is up to the <u>caller</u> to ensure that the container does
- * not change while the proxy is invoked</li>
+ * propagated to the caller
+ * </p></li>
+ *
+ * <li><p>
+ * It is up to the <u>caller</u> to ensure that the container does
+ * not change while the proxy is invoked
+ * </p></li>
* </ul>
* @return A proxy wrapper implementing the same interface, but delegating
* the calls to the container
@@ -64,19 +73,28 @@ public final class EventListenerUtils {
* interface implementation. <b>Note:</b> a listener interface is one whose
* invoked methods return <u>only</u> {@code void}.
*
+ * @param <T> Generic listener type
* @param listenerType The expected listener <u>interface</u>
* @param loader The {@link ClassLoader} to use for the proxy
- * @param listeners An {@link Iterable} container of listeners to be invoked.</P>
+ * @param listeners An {@link Iterable} container of listeners to be invoked.
+ * <p>
* <b>Note(s):</b>
+ * </p>
* <ul>
- * <li>The invocation order is same as the {@link Iterable} container</li>
- * <p/>
- * <li>If any of the invoked listener methods throws an exception, the
+ * <li><p>
+ * The invocation order is same as the {@link Iterable} container
+ * </p></li>
+ *
+ * <li><p>
+ * If any of the invoked listener methods throws an exception, the
* rest of the listener are <u>not</u> invoked and the exception is
- * propagated to the caller</li>
- * <p/>
- * <li>It is up to the <u>caller</u> to ensure that the container does
- * not change while the proxy is invoked</li>
+ * propagated to the caller
+ * </p></li>
+ *
+ * <li><p>
+ * It is up to the <u>caller</u> to ensure that the container does
+ * not change while the proxy is invoked
+ * </p></li>
* </ul>
* @return A proxy wrapper implementing the same interface, but delegating
* the calls to the container
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/util/GenericUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/GenericUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/GenericUtils.java
index 8d17799..7cd4ef6 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/GenericUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/GenericUtils.java
@@ -265,18 +265,19 @@ public final class GenericUtils {
@SuppressWarnings({"unchecked", "rawtypes"})
public static <V extends Comparable<V>> Comparator<V> naturalComparator() {
- // TODO for JDK-8 use Comparator.naturalOrder()
+ // TODO for JDK-8 use Comparator.naturalOrder()
return (Comparator) NATURAL_ORDER_COMPARATOR;
}
public static <V extends Comparable<V>> SortedSet<V> asSortedSet(Collection<? extends V> values) {
- // TODO for JDK-8 use Comparator.naturalOrder()
+ // TODO for JDK-8 use Comparator.naturalOrder()
return asSortedSet(GenericUtils.<V>naturalComparator(), values);
}
/**
+ * @param <V> The element type
* @param comp The (non-{@code null}) {@link Comparator} to use
- * @param values The values to be added (ignored if {@code null))
+ * @param values The values to be added (ignored if {@code null})
* @return A {@link SortedSet} containing the values (if any) sorted
* using the provided comparator
*/
@@ -356,6 +357,7 @@ public final class GenericUtils {
* otherwise the new one is added as a <U>suppressed</U> exception to the
* current one
*
+ * @param <T> The exception type
* @param current The current exception
* @param extra The extra/new exception
* @return The resolved exception
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/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 e7319c8..8e6c98a 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
@@ -61,7 +61,7 @@ public final class SelectorUtils {
/**
* <p>Tests whether or not a given path matches the start of a given
* pattern up to the first "**".</p>
- * <p/>
+ *
* <p>This is not a general purpose test and should only be used if you
* can live with false positives. For example, <code>pattern=**\a</code>
* and <code>str=b</code> will yield <code>true</code>.</p>
@@ -80,7 +80,7 @@ public final class SelectorUtils {
/**
* <p>Tests whether or not a given path matches the start of a given
* pattern up to the first "**".</p>
- * <p/>
+ *
* <p>This is not a general purpose test and should only be used if you
* can live with false positives. For example, <code>pattern=**\a</code>
* and <code>str=b</code> will yield <code>true</code>.</p>
@@ -571,7 +571,7 @@ public final class SelectorUtils {
if (GenericUtils.isEmpty(tokens)) {
if (removedDots > 0) {
- return ""; // had some "." and ".." after which we remained with no path
+ return ""; // had some "." and ".." after which we remained with no path
} else {
return separator; // it was all separators
}
@@ -623,7 +623,7 @@ public final class SelectorUtils {
* @see #translateToFileSystemPath(String, String, String)
*/
public static String translateToLocalFileSystemPath(String path, char pathSeparator, String fsSeparator) {
- // In case double slashes and other patterns are used
+ // In case double slashes and other patterns are used
String slashified = applySlashifyRules(path, pathSeparator);
// In case we are running on Windows
String localPath = translateToLocalPath(slashified);
@@ -643,20 +643,20 @@ public final class SelectorUtils {
if (GenericUtils.isEmpty(path)) {
return path;
}
-
+
int curPos = path.indexOf(sepChar);
if (curPos < 0) {
return path; // no slashes to handle
}
-
+
int lastPos = 0;
StringBuilder sb = null;
while (curPos < path.length()) {
curPos++; // skip the 1st '/'
-
+
/*
* As per Single Unix Specification version 3, section 3.266:
- *
+ *
* Multiple successive slashes are considered to be the
* same as one slash
*/
@@ -664,7 +664,7 @@ public final class SelectorUtils {
while ((nextPos < path.length()) && (path.charAt(nextPos) == sepChar)) {
nextPos++;
}
-
+
/*
* At this stage, nextPos is the first non-slash character after a
* possibly 'seqLen' sequence of consecutive slashes.
@@ -674,19 +674,19 @@ public final class SelectorUtils {
if (sb == null) {
sb = new StringBuilder(path.length() - seqLen);
}
-
+
if (lastPos < curPos) {
String clrText = path.substring(lastPos, curPos);
sb.append(clrText);
}
-
+
lastPos = nextPos;
}
-
+
if (nextPos >= path.length()) {
break; // no more data
}
-
+
curPos = path.indexOf(sepChar, nextPos);
if (curPos < nextPos) {
break; // no more slashes
@@ -699,14 +699,14 @@ public final class SelectorUtils {
String clrText = path.substring(lastPos);
sb.append(clrText);
}
-
+
path = sb.toString();
}
/*
* At this point we know for sure that 'path' contains only SINGLE
* slashes. According to section 4.11 - Pathname resolution
- *
+ *
* A pathname that contains at least one non-slash character
* and that ends with one or more trailing slashes shall be
* resolved as if a single dot character ( '.' ) were appended
@@ -779,7 +779,7 @@ public final class SelectorUtils {
public static String translateToFileSystemPath(String path, String pathSeparator, FileSystem fs) {
return translateToFileSystemPath(path, pathSeparator, ValidateUtils.checkNotNull(fs, "No target file system").getSeparator());
}
-
+
/**
* Converts a path containing a specific separator to one using the
* specified file-system one
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/Buffer.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/Buffer.java b/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/Buffer.java
index 1595a79..6a33c3b 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/Buffer.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/Buffer.java
@@ -186,8 +186,8 @@ public abstract class Buffer implements Readable {
* data available
* @param charset The {@link Charset} to use for the string
* @return A {@link Collection} of the read strings
- * @see {@link #getStringList(int, Charset)}
- * @see {@link #getAvailableStrings()}
+ * @see #getStringList(int, Charset)
+ * @see #getAvailableStrings()
*/
public Collection<String> getStringList(boolean usePrependedLength, Charset charset) {
if (usePrependedLength) {
@@ -223,7 +223,7 @@ public abstract class Buffer implements Readable {
}
/**
- * @param count The <U>exact</V> number of strings to read - can be zero
+ * @param count The <U>exact</U> number of strings to read - can be zero
* @return A {@link List} with the specified number of strings
* @see #getStringList(int, Charset)
*/
@@ -232,9 +232,10 @@ public abstract class Buffer implements Readable {
}
/**
- * @param count The <U>exact</V> number of strings to read - can be zero
+ * @param count The <U>exact</U> number of strings to read - can be zero
* @param charset The {@link Charset} of the strings
* @return A {@link List} with the specified number of strings
+ * @see #getString(Charset)
*/
public List<String> getStringList(int count, Charset charset) {
if (count == 0) {
@@ -438,7 +439,7 @@ public abstract class Buffer implements Readable {
/**
* Writes 16 bits
*
- * @param i
+ * @param i The 16-bit value
*/
public void putShort(int i) {
// TODO use Short.BYTES for JDK-8
@@ -463,7 +464,7 @@ public abstract class Buffer implements Readable {
/**
* Writes 64 bits
*
- * @param i
+ * @param i The 64-bit value
*/
public void putLong(long i) {
// TODO use Long.BYTES for JDK-8
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/BufferUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/BufferUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/BufferUtils.java
index dfc9f0b..02a800a 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/BufferUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/BufferUtils.java
@@ -190,8 +190,9 @@ public final class BufferUtils {
/**
* Writes a 32-bit value in network order (i.e., MSB 1st)
*
- * @param value The 32-bit value
- * @param buf A work buffer to use - must have enough space to contain 4 bytes
+ * @param output The {@link OutputStream} to write the value
+ * @param value The 32-bit value
+ * @param buf A work buffer to use - must have enough space to contain 4 bytes
* @throws IOException If failed to write the value or work buffer to small
* @see #writeInt(OutputStream, int, byte[], int, int)
*/
@@ -202,10 +203,11 @@ public final class BufferUtils {
/**
* Writes a 32-bit value in network order (i.e., MSB 1st)
*
- * @param value The 32-bit value
- * @param buf A work buffer to use - must have enough space to contain 4 bytes
- * @param off The offset to write the value
- * @param len The available space
+ * @param output The {@link OutputStream} to write the value
+ * @param value The 32-bit value
+ * @param buf A work buffer to use - must have enough space to contain 4 bytes
+ * @param off The offset to write the value
+ * @param len The available space
* @throws IOException If failed to write the value or work buffer to small
* @see #writeUInt(OutputStream, long, byte[], int, int)
*/
@@ -216,8 +218,9 @@ public final class BufferUtils {
/**
* Writes a 32-bit value in network order (i.e., MSB 1st)
*
- * @param value The 32-bit value
- * @param buf A work buffer to use - must have enough space to contain 4 bytes
+ * @param output The {@link OutputStream} to write the value
+ * @param value The 32-bit value
+ * @param buf A work buffer to use - must have enough space to contain 4 bytes
* @throws IOException If failed to write the value or work buffer to small
* @see #writeUInt(OutputStream, long, byte[], int, int)
*/
@@ -228,10 +231,11 @@ public final class BufferUtils {
/**
* Writes a 32-bit value in network order (i.e., MSB 1st)
*
- * @param value The 32-bit value
- * @param buf A work buffer to use - must have enough space to contain 4 bytes
- * @param off The offset to write the value
- * @param len The available space
+ * @param output The {@link OutputStream} to write the value
+ * @param value The 32-bit value
+ * @param buf A work buffer to use - must have enough space to contain 4 bytes
+ * @param off The offset to write the value
+ * @param len The available space
* @throws IOException If failed to write the value or work buffer to small
* @see #putUInt(long, byte[], int, int)
*/
@@ -339,7 +343,7 @@ public final class BufferUtils {
}
/**
- * Updates a 32-bit "placeholder" location for data length - moves
+ * Updates a 32-bit "placeholder" location for data length - moves
* the write position to the specified placeholder position, updates the length
* value and then moves the write position it back to its original value.
*
@@ -359,6 +363,7 @@ public final class BufferUtils {
/**
* Invokes {@link Buffer#clear()}
*
+ * @param <B> The generic buffer type
* @param buffer A {@link Buffer} instance - ignored if {@code null}
* @return The same as the input instance
*/
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/util/io/DERParser.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/io/DERParser.java b/sshd-core/src/main/java/org/apache/sshd/common/util/io/DERParser.java
index c72b1db..a4f10fd 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/io/DERParser.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/io/DERParser.java
@@ -65,22 +65,22 @@ public class DERParser extends FilterInputStream {
* encoding up to 4 octets. In BER/DER encoding, length can
* be encoded in 2 forms:
* <ul>
- * <li>
+ * <li><p>
* Short form - One octet. Bit 8 has value "0" and bits 7-1
* give the length.
- * </li>
- * <p/>
- * <li>
+ * </p></li>
+ *
+ * <li><p>
* Long form - Two to 127 octets (only 4 is supported here).
* Bit 8 of first octet has value "1" and bits 7-1 give the
* number of additional length octets. Second and following
* octets give the length, base 256, most significant digit
* first.
- * </li>
+ * </p></li>
* </ul>
*
* @return The length as integer
- * @throws IOException
+ * @throws IOException If invalid format found
*/
public int readLength() throws IOException {
int i = read();
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/util/io/IoUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/io/IoUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/io/IoUtils.java
index 6eb8c4c..3d66f72 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/io/IoUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/io/IoUtils.java
@@ -121,7 +121,8 @@ public final class IoUtils {
* {@link Files#getPosixFilePermissions(Path, LinkOption...)}, otherwise
* uses the {@link #getPermissionsFromFile(File)} method
*
- * @param path The {@link Path}
+ * @param path The {@link Path}
+ * @param options The {@link LinkOption}s to use when querying the permissions
* @return A {@link Set} of {@link PosixFilePermission}
* @throws IOException If failed to access the file system in order to
* retrieve the permissions
@@ -213,7 +214,8 @@ public final class IoUtils {
/**
* <P>Checks if a file exists - <B>Note:</B> according to the
* <A HREF="http://docs.oracle.com/javase/tutorial/essential/io/check.html">Java tutorial - Checking a File or Directory</A>:
- * </P></BR>
+ * </P>
+ *
* <PRE>
* The methods in the Path class are syntactic, meaning that they operate
* on the Path instance. But eventually you must access the file system
@@ -221,11 +223,11 @@ public final class IoUtils {
* so with the exists(Path, LinkOption...) and the notExists(Path, LinkOption...)
* methods. Note that !Files.exists(path) is not equivalent to Files.notExists(path).
* When you are testing a file's existence, three results are possible:
- * <p/>
+ *
* - The file is verified to exist.
* - The file is verified to not exist.
* - The file's status is unknown.
- * <p/>
+ *
* This result can occur when the program does not have access to the file.
* If both exists and notExists return false, the existence of the file cannot
* be verified.
@@ -264,7 +266,7 @@ public final class IoUtils {
* @param input where to read input from
* @param buffer destination
* @param offset initial offset into buffer
- * @param length length to read, must be >= 0
+ * @param length length to read, must be ≥ 0
* @throws IOException if there is a problem reading the file
* @throws EOFException if the number of bytes read was incorrect
*/
@@ -313,7 +315,7 @@ public final class IoUtils {
/**
* @param perms The current {@link PosixFilePermission}s - ignored if {@code null}/empty
- * @param excluded The permissions <U>not</U> allowed to exist - ignored if {@code null)/empty
+ * @param excluded The permissions <U>not</U> allowed to exist - ignored if {@code null}/empty
* @return The violating {@link PosixFilePermission} - {@code null}
* if no violating permission found
*/
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/util/logging/LoggingUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/logging/LoggingUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/logging/LoggingUtils.java
index b391e9d..5230fe3 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/logging/LoggingUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/logging/LoggingUtils.java
@@ -39,28 +39,30 @@ public final class LoggingUtils {
* @param level The {@link Level} to evaluate
* @param threshold The threshold {@link Level}
* @return {@code true} if the evaluated level is above the required
- * threshold.</BR>
- * <P><B>Note(s):</B></BR></P>
- * <P><UL>
- * <LI>
+ * threshold.
+ * <P>
+ * <B>Note(s):</B>
+ * </P>
+ * <UL>
+ * <LI><P>
* If either argument is {@code null} then result is {@code false}.
- * </LI>
- * <p/>
- * <LI>
+ * </P></LI>
+ *
+ * <LI><P>
* If the evaluated level is {@link Level#OFF} then result is {@code false}
* regardless of the threshold.
- * </LI>
- * <p/>
- * <LI>
+ * </P></LI>
+ *
+ * <LI><P>
* If the threshold is {@link Level#ALL} and the evaluated level is
* <U>not</U> {@link Level#OFF} the result is {@code true}.
- * </LI>
- * <p/>
- * <LI>
+ * </P></LI>
+ *
+ * <LI><P>
* Otherwise, the evaluated level {@link Level#intValue()} must be
* greater or equal to the threshold.
- * </LI>
- * </UL></P>
+ * </P></LI>
+ * </UL>
*/
public static boolean isLoggable(Level level, Level threshold) {
if ((level == null) || (threshold == null)) {
@@ -116,7 +118,7 @@ public final class LoggingUtils {
* @param logger The {@link Logger} instance - ignored if {@code null}
* @param level The validate log {@link Level} - ignored if {@code null}
* @return <P>{@code true} if the level is enabled for the logger. The
- * mapping of the level to the logger is as follows:</P></BR>
+ * mapping of the level to the logger is as follows:</P>
* <UL>
* <LI>{@link Level#OFF} always returns {@code false}</LI>
* <LI>{@link Level#SEVERE} returns {@link Logger#isErrorEnabled()}</LI>
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java
index f20e8e3..de37cf7 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java
@@ -92,20 +92,20 @@ public final class ThreadUtils {
}
/**
- * Attempts to find the most suitable {@link ClassLoader} as follows:</BR>
+ * <P>Attempts to find the most suitable {@link ClassLoader} as follows:</P>
* <UL>
- * <LI>
+ * <LI><P>
* Check the {@link Thread#getContextClassLoader()} value
- * </LI>
- * <p/>
- * <LI>
+ * </P></LI>
+ *
+ * <LI><P>
* If no thread context class loader then check the anchor
* class (if given) for its class loader
- * </LI>
- * <p/>
- * <LI>
+ * </P></LI>
+ *
+ * <LI><P>
* If still no loader available, then use {@link ClassLoader#getSystemClassLoader()}
- * </LI>
+ * </P></LI>
* </UL>
*
* @param anchor The anchor {@link Class} to use if no current thread
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/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 37369a7..c28649c 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
@@ -31,21 +31,21 @@ public interface AsyncCommand extends Command {
/**
* Set the input stream that can be used by the shell to read input.
*
- * @param in
+ * @param in The {@link IoInputStream} used by the shell to read input
*/
void setIoInputStream(IoInputStream in);
/**
* Set the output stream that can be used by the shell to write its output.
*
- * @param out
+ * @param out The {@link IoOutputStream} used by the shell to write its output
*/
void setIoOutputStream(IoOutputStream out);
/**
* Set the error stream that can be used by the shell to write its errors.
*
- * @param err
+ * @param err The {@link IoOutputStream} used by the shell to write its errors
*/
void setIoErrorStream(IoOutputStream err);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/server/Command.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/Command.java b/sshd-core/src/main/java/org/apache/sshd/server/Command.java
index ade5065..784884c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/Command.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/Command.java
@@ -23,11 +23,15 @@ import java.io.InputStream;
import java.io.OutputStream;
/**
+ * <p>
* Represents a command, shell or subsystem that can be used to send command.
- * <p/>
+ * </p>
+ *
+ * <p>
* This command have direct streams, meaning those streams will be provided by the ssh server
- * for the shell to use directy. This interface is suitable for implementing commands in java,
+ * for the shell to use directly. This interface is suitable for implementing commands in java,
* rather than using external processes. For wrapping such processes or using inverted streams,
+ * </p>
* see {@link org.apache.sshd.server.shell.InvertedShellWrapper}.
*/
public interface Command {
@@ -35,28 +39,28 @@ public interface Command {
/**
* Set the input stream that can be used by the shell to read input.
*
- * @param in
+ * @param in The {@link InputStream} used by the shell to read input.
*/
void setInputStream(InputStream in);
/**
* Set the output stream that can be used by the shell to write its output.
*
- * @param out
+ * @param out The {@link OutputStream} used by the shell to write its output
*/
void setOutputStream(OutputStream out);
/**
* Set the error stream that can be used by the shell to write its errors.
*
- * @param err
+ * @param err The {@link OutputStream} used by the shell to write its errors
*/
void setErrorStream(OutputStream err);
/**
* Set the callback that the shell has to call when it is closed.
*
- * @param callback
+ * @param callback The {@link ExitCallback} to call when shell is closed
*/
void setExitCallback(ExitCallback callback);
@@ -71,8 +75,8 @@ public interface Command {
* }
* </pre>
*
- * @param env
- * @throws java.io.IOException
+ * @param env The {@link Environment}
+ * @throws IOException If failed to start
*/
void start(Environment env) throws IOException;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/server/CommandFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/CommandFactory.java b/sshd-core/src/main/java/org/apache/sshd/server/CommandFactory.java
index 053cdfe..2fb2a86 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/CommandFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/CommandFactory.java
@@ -32,8 +32,8 @@ public interface CommandFactory {
* If the command is not known, a dummy command should be returned to allow
* the display output to be sent back to the client.
*
- * @param command
- * @return a non null <code>Command</code>
+ * @param command The command that will be run
+ * @return a non {@code null} {@link Command} instance
*/
Command createCommand(String command);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/server/SignalListener.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/SignalListener.java b/sshd-core/src/main/java/org/apache/sshd/server/SignalListener.java
index b9dab23..6904543 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/SignalListener.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/SignalListener.java
@@ -24,7 +24,7 @@ package org.apache.sshd.server;
public interface SignalListener {
/**
- * @param signal
+ * @param signal The received {@link Signal}
*/
void signal(Signal signal);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/server/SshServer.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/SshServer.java b/sshd-core/src/main/java/org/apache/sshd/server/SshServer.java
index 98ad760..e492855 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/SshServer.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/SshServer.java
@@ -66,8 +66,11 @@ import org.apache.sshd.server.shell.ProcessShellFactory;
import org.apache.sshd.server.subsystem.sftp.SftpSubsystemFactory;
/**
+ * <p>
* The SshServer class is the main entry point for the server side of the SSH protocol.
- * <p/>
+ * </p>
+ *
+ * <p>
* The SshServer has to be configured before being started. Such configuration can be
* done either using a dependency injection mechanism (such as the Spring framework)
* or programmatically. Basic setup is usually done using the {@link #setUpDefaultServer()}
@@ -75,10 +78,13 @@ import org.apache.sshd.server.subsystem.sftp.SftpSubsystemFactory;
* Besides this basic setup, a few things have to be manually configured such as the
* port number, {@link Factory}, the {@link org.apache.sshd.common.keyprovider.KeyPairProvider}
* and the {@link PasswordAuthenticator}.
- * <p/>
+ * </p>
+ *
+ * <p>
* Some properties can also be configured using the {@link #setProperties(java.util.Map)}
* method.
- * <p/>
+ * </p>
+ *
* Once the SshServer instance has been configured, it can be started using the
* {@link #start()} method and stopped using the {@link #stop()} method.
*
@@ -263,7 +269,7 @@ public class SshServer extends AbstractFactoryManager implements ServerFactoryMa
/**
* Start the SSH server and accept incoming exceptions on the configured port.
*
- * @throws IOException
+ * @throws IOException If failed to start
*/
public void start() throws IOException {
checkConfig();
@@ -307,6 +313,7 @@ public class SshServer extends AbstractFactoryManager implements ServerFactoryMa
/**
* Stop the SSH server. This method will block until all resources are actually disposed.
+ * @throws IOException if stopping failed somehow
*/
public void stop() throws IOException {
stop(false);
@@ -351,6 +358,8 @@ public class SshServer extends AbstractFactoryManager implements ServerFactoryMa
/**
* Obtain the list of active sessions.
+ *
+ * @return A {@link List} of the currently active session
*/
public List<AbstractSession> getActiveSessions() {
List<AbstractSession> sessions = new ArrayList<>();
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuth.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuth.java b/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuth.java
index 8ee4e1d..6da8319 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuth.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuth.java
@@ -30,13 +30,14 @@ public interface UserAuth {
/**
* Try to authenticate the user.
- * This methods should return a non null object which is the user identity if
+ * This methods should return a non {@code null} object which is the user identity if
* the authentication succeeded. If the authentication failed, this method should
* throw an exception. If the authentication is still ongoing, a null value should
* be returned.
*
* @param session the current ssh session
* @param username the user trying to log in
+ * @param service the requested service name
* @param buffer the request buffer containing parameters specific to this request
* @return <code>true</code> if the authentication succeeded, <code>false</code> if the authentication
* failed and {@code null} if not finished yet
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPassword.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPassword.java b/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPassword.java
index a7923a2..6af7f08 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPassword.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPassword.java
@@ -38,7 +38,7 @@ public class UserAuthPassword extends AbstractUserAuth {
@Override
public Boolean doAuth(Buffer buffer, boolean init) throws Exception {
if (!init) {
- throw new IllegalStateException();
+ throw new IllegalStateException("Incomplete initialization");
}
boolean newPassword = buffer.getBoolean();
if (newPassword) {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/server/auth/gss/UserAuthGSS.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/auth/gss/UserAuthGSS.java b/sshd-core/src/main/java/org/apache/sshd/server/auth/gss/UserAuthGSS.java
index 95e8c15..f3b5762 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/gss/UserAuthGSS.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/gss/UserAuthGSS.java
@@ -36,7 +36,7 @@ import org.ietf.jgss.Oid;
/**
* <p>Prototype user authentication handling gssapi-with-mic. Implements <code>HandshakingUserAuth</code> because
* the process involves several steps.</p>
- * <p/>
+ *
* <p>Several methods are available for overriding in specific circumstances.</p>
*/
public class UserAuthGSS extends AbstractUserAuth {
@@ -205,7 +205,7 @@ public class UserAuthGSS extends AbstractUserAuth {
* Utility to get the configured GSS authenticator for the server, throwing an exception if none is available.
*
* @param session The current {@link ServerSession}
- * @return The {@link GSSAuthenticator} - never {@code null)
+ * @return The {@link GSSAuthenticator} - never {@code null}
* @throws Exception If no GSS authenticator is defined
*/
protected GSSAuthenticator getAuthenticator(ServerSession session) throws Exception {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/server/channel/AbstractServerChannel.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/channel/AbstractServerChannel.java b/sshd-core/src/main/java/org/apache/sshd/server/channel/AbstractServerChannel.java
index f87c4ea..adc3e57 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/channel/AbstractServerChannel.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/channel/AbstractServerChannel.java
@@ -44,21 +44,21 @@ public abstract class AbstractServerChannel extends AbstractChannel {
}
@Override
- public OpenFuture open(int recipient, int rwsize, int rmpsize, Buffer buffer) {
+ public OpenFuture open(int recipient, int rwSize, int packetSize, Buffer buffer) {
this.recipient = recipient;
- this.remoteWindow.init(rwsize, rmpsize, session.getFactoryManager().getProperties());
+ this.remoteWindow.init(rwSize, packetSize, session.getFactoryManager().getProperties());
configureWindow();
return doInit(buffer);
}
@Override
- public void handleOpenSuccess(int recipient, int rwsize, int rmpsize, Buffer buffer) throws IOException {
- throw new IllegalStateException();
+ public void handleOpenSuccess(int recipient, int rwSize, int packetSize, Buffer buffer) throws IOException {
+ throw new UnsupportedOperationException("handleOpenSuccess(" + recipient + "," + rwSize + "," + packetSize + ") N/A");
}
@Override
public void handleOpenFailure(Buffer buffer) {
- throw new IllegalStateException();
+ throw new UnsupportedOperationException("handleOpenFailure() N/A");
}
protected OpenFuture doInit(Buffer buffer) {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/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 79f4e15..2ff6258 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
@@ -22,9 +22,11 @@ import java.io.Closeable;
import java.io.IOException;
/**
+ * <p>
* Receiving end of the data stream from the client.
- * <p/>
- * <p/>
+ * </p>
+ *
+ * <p>
* Sequence of bytes that SSH client sends to the server is eventually sent to this interface
* to be passed on to the final consumer.
* By default {@link ChannelSession} spools this in a buffer so that you can read it from
@@ -33,21 +35,25 @@ import java.io.IOException;
* call {@link ChannelSession#setDataReceiver(ChannelDataReceiver)} to do so.
* (And to grab a reference to {@link ChannelSession}, a {@link org.apache.sshd.server.Command} should implement
* {@link org.apache.sshd.server.ChannelSessionAware}.)
+ * </p>
*
* @see ChannelSession#setDataReceiver(ChannelDataReceiver)
* @see org.apache.sshd.server.ChannelSessionAware
*/
public interface ChannelDataReceiver extends Closeable {
/**
+ * <p>
* Called when the server receives additional bytes from the client.
- * <p/>
- * <p/>
+ * </p>
+ *
+ * <p>
* SSH channels use the windowing mechanism to perform flow control, much like TCP does.
* The server gives the client the initial window size, which represents the number of
* bytes the client can send to the server. As the server receives data, it can
* send a message to the client to allow it to send more data.
- * <p/>
- * <p/>
+ * </p>
+ *
+ * <p>
* The return value from this method is used to control this behaviour.
* Intuitively speaking, the callee returns the number of bytes consumed by this method,
* by the time this method returns. Picture a one-way long bridge (for example Golden Gate Bridge)
@@ -56,30 +62,36 @@ public interface ChannelDataReceiver extends Closeable {
* count the number of cars as it leaves the bridge, and if enough of them left,
* we'll signal the sending end that they can let in more cars. The return value of this
* method counts the number of cars that are leaving in this batch.
- * <p/>
- * <p/>
+ * </p>
+ *
+ * <p>
* In simple cases, where the callee has consumed the bytes before it returns,
* the return value must be the same value as the 'len' parameter given.
- * <p/>
- * <p/>
+ * </p>
+ *
+ * <p>
* On the other hand, if the callee is queueing up the received bytes somewhere
* to be consumed later (for example by another thread), then this method should
* return 0, for the bytes aren't really consumed yet. And when at some later point
* the bytes are actually used, then you'll invoke {@code channel.getLocalWindow().consumeAndCheck(len)}
* to let the channel know that bytes are consumed.
- * <p/>
- * <p/>
+ * </p>
+ *
+ * <p>
* This behaviour will result in a better flow control, as the server will not
* allow the SSH client to overflow its buffer. If instead you always return the value
* passed in the 'len' parameter, the place where you are queueing up bytes may overflow.
- * <p/>
- * <p/>
+ * </p>
+ *
+ * <p>
* In either case, the callee must account for every bytes it receives in this method.
* Returning 0 and failing to call back {@code channel.getLocalWindow().consumeAndCheck(len)} later
* will dry up the window size, and eventually the client will stop sending you any data.
- * <p/>
- * <p/>
+ * </p>
+ *
+ * <p>
* In the SSH protocol, this method invocation is triggered by a <tt>SSH_MSG_CHANNEL_DATA</tt> message.
+ * </p>
*
* @param channel The caller to which this {@link ChannelDataReceiver} is assigned. Never null.
* @param buf Holds the bytes received. This buffer belongs to the caller, and it might get reused
@@ -89,13 +101,14 @@ public interface ChannelDataReceiver extends Closeable {
* @return The number of bytes consumed, for the purpose of the flow control.
* For a simple use case, you return the value given by the 'len' parameter.
* See the method javadoc for more details.
+ * @throws IOException if failed to consume the data
*/
int data(ChannelSession channel, byte[] buf, int start, int len) throws IOException;
/**
- * Called to indicate EOF.
- * <p/>
- * The client will no longer send us any more data.
+ * Called to indicate EOF. The client will no longer send us any more data.
+ *
+ * @throws IOException if failed
*/
@Override
void close() throws IOException;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/server/channel/ChannelSession.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/channel/ChannelSession.java b/sshd-core/src/main/java/org/apache/sshd/server/channel/ChannelSession.java
index ec28980..eb326b9 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/channel/ChannelSession.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/channel/ChannelSession.java
@@ -524,6 +524,8 @@ public class ChannelSession extends AbstractServerChannel {
* will no longer be invoked. If you call this method from {@link Command#start(Environment)},
* the input stream you received in {@link Command#setInputStream(java.io.InputStream)} will
* not read any data.
+ *
+ * @param receiver The {@link ChannelDataReceiver} instance
*/
public void setDataReceiver(ChannelDataReceiver receiver) {
this.receiver = receiver;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/server/config/keys/ServerIdentity.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/config/keys/ServerIdentity.java b/sshd-core/src/main/java/org/apache/sshd/server/config/keys/ServerIdentity.java
index f1d424d..a261986 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/config/keys/ServerIdentity.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/config/keys/ServerIdentity.java
@@ -71,6 +71,7 @@ public final class ServerIdentity {
/**
* Sets the server's {@link KeyPairProvider} with the loaded identities - if any
*
+ * @param <S> The generic server type
* @param server The {@link SshServer} to configure
* @param props The {@link Properties} holding the server's configuration - ignored
* if {@code null}/empty
@@ -131,7 +132,7 @@ public final class ServerIdentity {
* if {@code null}/empty
* @param options The {@link LinkOption}s to use when checking files existence
* @return A {@link Map} of the found identities where key=the identity type
- * (case <U>insensitive</I>) and value=the {@link Path} of the file holding
+ * (case <U>insensitive</U>) and value=the {@link Path} of the file holding
* the specific type key
* @throws IOException If failed to access the file system
* @see #getIdentityType(String)
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/server/forward/ForwardingFilter.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/forward/ForwardingFilter.java b/sshd-core/src/main/java/org/apache/sshd/server/forward/ForwardingFilter.java
index 9bea393..57ed0ee 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/forward/ForwardingFilter.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/forward/ForwardingFilter.java
@@ -34,11 +34,15 @@ import org.apache.sshd.common.util.GenericUtils;
*/
public interface ForwardingFilter {
/**
+ * <p>
* Determine if the session may arrange for agent forwarding.
- * <p/>
+ * </p>
+ *
+ * <p>
* This server process will open a new listen socket locally and export
* the address in the {@link org.apache.sshd.agent.SshAgent#SSH_AUTHSOCKET_ENV_NAME} environment
* variable.
+ * </p>
*
* @param session session requesting permission to forward the agent.
* @return true if the agent forwarding is permitted, false if denied.
@@ -46,11 +50,15 @@ public interface ForwardingFilter {
boolean canForwardAgent(Session session);
/**
+ * <p>
* Determine if the session may arrange for X11 forwarding.
- * <p/>
+ * </p>
+ *
+ * <p>
* This server process will open a new listen socket locally and export
* the address in the environment so X11 clients can be tunneled to the
* user's X11 display server.
+ * </p>
*
* @param session session requesting permission to forward X11 connections.
* @return true if the X11 forwarding is permitted, false if denied.
@@ -58,13 +66,17 @@ public interface ForwardingFilter {
boolean canForwardX11(Session session);
/**
+ * <p>
* Determine if the session may listen for inbound connections.
- * <p/>
+ * </p>
+ *
+ * <p>
* This server process will open a new listen socket on the address given
* by the client (usually 127.0.0.1 but may be any address). Any inbound
* connections to this socket will be tunneled over the session to the
* client, which the client will then forward the connection to another
* host on the client's side of the network.
+ * </p>
*
* @param address address the client has requested this server listen
* for inbound connections on, and relay them through the client.
@@ -145,12 +157,16 @@ public interface ForwardingFilter {
}
/**
+ * <p>
* Determine if the session may create an outbound connection.
- * <p/>
+ * </p>
+ *
+ * <p>
* This server process will connect to another server listening on the
* address specified by the client. Usually this is to another port on
* the same host (127.0.0.1) but may be to any other system this server
* can reach on the server's side of the network.
+ * </p>
*
* @param type The {@link Type} of requested connection forwarding
* @param address address the client has requested this server listen
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/61e637c4/sshd-core/src/main/java/org/apache/sshd/server/shell/InvertedShell.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/shell/InvertedShell.java b/sshd-core/src/main/java/org/apache/sshd/server/shell/InvertedShell.java
index 26b4a11..c385429 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/shell/InvertedShell.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/shell/InvertedShell.java
@@ -37,8 +37,8 @@ public interface InvertedShell {
* Starts the shell and will make the streams available for
* the ssh server to retrieve and use.
*
- * @param env
- * @throws IOException
+ * @param env The environment
+ * @throws IOException if failed to start
*/
void start(Map<String, String> env) throws IOException;
@@ -46,28 +46,24 @@ public interface InvertedShell {
* Returns the output stream used to feed the shell.
* This method is called after the shell has been started.
*
- * @return
+ * @return The {@link OutputStream} used to feed the shell
*/
OutputStream getInputStream();
/**
- * Return an InputStream representing the output stream of the shell.
- *
- * @return
+ * @return The {@link InputStream} representing the output stream of the shell
*/
InputStream getOutputStream();
/**
- * Return an InputStream representing the error stream of the shell.
- *
- * @return
+ * @return The {@link InputStream} representing the error stream of the shell
*/
InputStream getErrorStream();
/**
* Check if the underlying shell is still alive
*
- * @return
+ * @return {@code true} if alive
*/
boolean isAlive();