You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by gn...@apache.org on 2015/07/17 18:18:34 UTC

[14/25] mina-sshd git commit: [SSHD-542] Checkstyle validation

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/17f2d627/sshd-core/src/main/java/org/apache/sshd/common/signature/AbstractSignature.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/signature/AbstractSignature.java b/sshd-core/src/main/java/org/apache/sshd/common/signature/AbstractSignature.java
index 9623ee0..6bf4b49 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/signature/AbstractSignature.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/signature/AbstractSignature.java
@@ -46,7 +46,7 @@ public abstract class AbstractSignature implements Signature {
     public final String getAlgorithm() {
         return algorithm;
     }
-    
+
 
     @Override
     public void initVerifier(PublicKey key) throws Exception {
@@ -71,24 +71,25 @@ public abstract class AbstractSignature implements Signature {
     }
 
     /**
-     *  Makes an attempt to detect if the signature is encoded or pure data
+     * Makes an attempt to detect if the signature is encoded or pure data
+     *
      * @param sig The original signature
      * @return A {@link Pair} where first value is the key type and second
      * value is the data - {@code null} if not encoded
      */
-    protected Pair<String,byte[]> extractEncodedSignature(byte[] sig) {
+    protected Pair<String, byte[]> extractEncodedSignature(byte[] sig) {
         final int dataLen = GenericUtils.length(sig);
         // if it is encoded then we must have at least 2 UINT32 values
         if (dataLen < (2 * (Integer.SIZE / Byte.SIZE))) {
             return null;
         }
-        
+
         long keyTypeLen = BufferUtils.getUInt(sig, 0, dataLen);
         // after the key type we MUST have data bytes
         if (keyTypeLen >= (dataLen - (Integer.SIZE / Byte.SIZE))) {
             return null;
         }
-        
+
         int keyTypeStartPos = Integer.SIZE / Byte.SIZE;
         int keyTypeEndPos = keyTypeStartPos + (int) keyTypeLen;
         int remainLen = dataLen - keyTypeEndPos;
@@ -96,7 +97,7 @@ public abstract class AbstractSignature implements Signature {
         if (remainLen < (Integer.SIZE / Byte.SIZE)) {
             return null;
         }
-        
+
         long dataBytesLen = BufferUtils.getUInt(sig, keyTypeEndPos, remainLen);
         // make sure reported number of bytes does not exceed available
         if (dataBytesLen > (remainLen - (Integer.SIZE / Byte.SIZE))) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/17f2d627/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 6efddd1..0edf496 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
@@ -43,6 +43,7 @@ import org.apache.sshd.common.util.ValidateUtils;
 
 /**
  * Provides easy access to the currently implemented signatures
+ *
  * @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
  */
 public enum BuiltinSignatures implements SignatureFactory {
@@ -63,7 +64,7 @@ public enum BuiltinSignatures implements SignatureFactory {
         public Signature create() {
             return new SignatureECDSA("SHA256withECDSA");
         }
-        
+
         @Override
         public boolean isSupported() {
             return SecurityUtils.isBouncyCastleRegistered() || SecurityUtils.hasEcc();
@@ -74,7 +75,7 @@ public enum BuiltinSignatures implements SignatureFactory {
         public Signature create() {
             return new SignatureECDSA("SHA384withECDSA");
         }
-        
+
         @Override
         public boolean isSupported() {
             return SecurityUtils.isBouncyCastleRegistered() || SecurityUtils.hasEcc();
@@ -85,15 +86,25 @@ public enum BuiltinSignatures implements SignatureFactory {
         public Signature create() {
             return new SignatureECDSA("SHA512withECDSA");
         }
-        
+
         @Override
         public boolean isSupported() {
             return SecurityUtils.isBouncyCastleRegistered() || SecurityUtils.hasEcc();
         }
     };
 
+    public static final Set<BuiltinSignatures> VALUES =
+            Collections.unmodifiableSet(EnumSet.allOf(BuiltinSignatures.class));
+
+    private static final Map<String, SignatureFactory> EXTENSIONS =
+            new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
+
     private final String factoryName;
 
+    BuiltinSignatures(String facName) {
+        factoryName = facName;
+    }
+
     public static Signature getByCurveSize(ECParameterSpec params) {
         int curveSize = ECCurves.getCurveSize(params);
         if (curveSize <= 256) {
@@ -115,35 +126,27 @@ public enum BuiltinSignatures implements SignatureFactory {
         return getName();
     }
 
-    BuiltinSignatures(String facName) {
-        factoryName = facName;
-    }
-
     @Override
     public boolean isSupported() {
         return true;
     }
 
-    public static final Set<BuiltinSignatures> VALUES = 
-            Collections.unmodifiableSet(EnumSet.allOf(BuiltinSignatures.class));
-    private static final Map<String,SignatureFactory>   extensions = 
-            new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
-
     /**
      * Registered a {@link NamedFactory} to be available besides the built-in
      * ones when parsing configuration
+     *
      * @param extension The factory to register
      * @throws IllegalArgumentException if factory instance is {@code null},
-     * or overrides a built-in one or overrides another registered factory
-     * with the same name (case <U>insensitive</U>).
+     *                                  or overrides a built-in one or overrides another registered factory
+     *                                  with the same name (case <U>insensitive</U>).
      */
     public static void registerExtension(SignatureFactory extension) {
-        String  name=ValidateUtils.checkNotNull(extension, "No extension provided").getName();
+        String name = ValidateUtils.checkNotNull(extension, "No extension provided").getName();
         ValidateUtils.checkTrue(fromFactoryName(name) == null, "Extension overrides built-in: %s", name);
 
-        synchronized(extensions) {
-            ValidateUtils.checkTrue(!extensions.containsKey(name), "Extension overrides existing: %s", name);
-            extensions.put(name, extension);
+        synchronized (EXTENSIONS) {
+            ValidateUtils.checkTrue(!EXTENSIONS.containsKey(name), "Extension overrides existing: %s", name);
+            EXTENSIONS.put(name, extension);
         }
     }
 
@@ -153,13 +156,14 @@ public enum BuiltinSignatures implements SignatureFactory {
      */
     public static SortedSet<SignatureFactory> getRegisteredExtensions() {
         // TODO for JDK-8 return Collections.emptySortedSet()
-        synchronized(extensions) {
-            return GenericUtils.asSortedSet(NamedResource.BY_NAME_COMPARATOR, extensions.values());
+        synchronized (EXTENSIONS) {
+            return GenericUtils.asSortedSet(NamedResource.BY_NAME_COMPARATOR, EXTENSIONS.values());
         }
     }
 
     /**
      * Unregisters specified extension
+     *
      * @param name The factory name - ignored if {@code null}/empty
      * @return The registered extension - {@code null} if not found
      */
@@ -167,9 +171,9 @@ public enum BuiltinSignatures implements SignatureFactory {
         if (GenericUtils.isEmpty(name)) {
             return null;
         }
-        
-        synchronized(extensions) {
-            return extensions.remove(name);
+
+        synchronized (EXTENSIONS) {
+            return EXTENSIONS.remove(name);
         }
     }
 
@@ -214,10 +218,10 @@ public enum BuiltinSignatures implements SignatureFactory {
     public static BuiltinSignatures fromFactoryName(String name) {
         return NamedResource.Utils.findByName(name, String.CASE_INSENSITIVE_ORDER, VALUES);
     }
-    
+
     /**
      * @param sigs A comma-separated list of signatures' names - ignored
-     * if {@code null}/empty
+     *             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
@@ -229,7 +233,7 @@ public enum BuiltinSignatures implements SignatureFactory {
         return parseSignatureList(GenericUtils.split(sigs, ','));
     }
 
-    public static ParseResult parseSignatureList(String ... sigs) {
+    public static ParseResult parseSignatureList(String... sigs) {
         return parseSignatureList(GenericUtils.isEmpty((Object[]) sigs) ? Collections.<String>emptyList() : Arrays.asList(sigs));
     }
 
@@ -237,11 +241,11 @@ public enum BuiltinSignatures implements SignatureFactory {
         if (GenericUtils.isEmpty(sigs)) {
             return ParseResult.EMPTY;
         }
-        
-        List<SignatureFactory>  factories=new ArrayList<>(sigs.size());
-        List<String>            unknown=Collections.emptyList();
+
+        List<SignatureFactory> factories = new ArrayList<>(sigs.size());
+        List<String> unknown = Collections.emptyList();
         for (String name : sigs) {
-            SignatureFactory s=resolveFactory(name);
+            SignatureFactory s = resolveFactory(name);
             if (s != null) {
                 factories.add(s);
             } else {
@@ -252,37 +256,38 @@ public enum BuiltinSignatures implements SignatureFactory {
                 unknown.add(name);
             }
         }
-        
+
         return new ParseResult(factories, unknown);
     }
 
     /**
      * @param name The factory name
      * @return The factory or {@code null} if it is neither a built-in one
-     * or a registered extension 
+     * or a registered extension
      */
     public static SignatureFactory resolveFactory(String name) {
         if (GenericUtils.isEmpty(name)) {
             return null;
         }
 
-        SignatureFactory  s=fromFactoryName(name);
+        SignatureFactory s = fromFactoryName(name);
         if (s != null) {
             return s;
         }
-        
-        synchronized(extensions) {
-            return extensions.get(name);
+
+        synchronized (EXTENSIONS) {
+            return EXTENSIONS.get(name);
         }
     }
 
     /**
      * Holds the result of the {@link BuiltinSignatures#parseSignatureList(String)}
+     *
      * @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
      */
-    public static final class ParseResult extends NamedFactoriesListParseResult<Signature,SignatureFactory> {
-        public static final ParseResult EMPTY=new ParseResult(Collections.<SignatureFactory>emptyList(), Collections.<String>emptyList());
-        
+    public static final class ParseResult extends NamedFactoriesListParseResult<Signature, SignatureFactory> {
+        public static final ParseResult EMPTY = new ParseResult(Collections.<SignatureFactory>emptyList(), Collections.<String>emptyList());
+
         public ParseResult(List<SignatureFactory> parsed, List<String> unsupported) {
             super(parsed, unsupported);
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/17f2d627/sshd-core/src/main/java/org/apache/sshd/common/signature/Signature.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/signature/Signature.java b/sshd-core/src/main/java/org/apache/sshd/common/signature/Signature.java
index dbac318..e3b9ab4 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/signature/Signature.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/signature/Signature.java
@@ -47,6 +47,7 @@ public interface Signature {
 
     /**
      * Update the computed signature with the given data
+     *
      * @param hash The hash data buffer
      * @throws Exception If failed to update
      * @see #update(byte[], int, int)
@@ -55,9 +56,10 @@ public interface Signature {
 
     /**
      * Update the computed signature with the given data
+     *
      * @param hash The hash data buffer
-     * @param off Offset of hash data in buffer
-     * @param len Length of hash data
+     * @param off  Offset of hash data in buffer
+     * @param len  Length of hash data
      * @throws Exception If failed to update
      */
     void update(byte[] hash, int off, int len) throws Exception;
@@ -73,6 +75,7 @@ public interface Signature {
 
     /**
      * Compute the signature
+     *
      * @return The signature value
      * @throws Exception If failed to calculate the signature
      */

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/17f2d627/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureDSA.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureDSA.java b/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureDSA.java
index 1a32274..cba24ac 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureDSA.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureDSA.java
@@ -33,6 +33,7 @@ import org.apache.sshd.common.util.io.DERWriter;
 
 /**
  * DSA <code>Signature</code>
+ *
  * @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
  * @see <A HREF="https://tools.ietf.org/html/rfc4253#section-6.6">RFC4253 section 6.6</A>
  */
@@ -42,19 +43,19 @@ public class SignatureDSA extends AbstractSignature {
     public static final int MAX_SIGNATURE_VALUE_LENGTH = DSA_SIGNATURE_LENGTH / 2;
 
     protected SignatureDSA(String algorithm) {
-	    super(algorithm);
+        super(algorithm);
     }
 
     @Override
     public byte[] sign() throws Exception {
         byte[] sig = signature.sign();
 
-        try(DERParser parser = new DERParser(sig)) {
+        try (DERParser parser = new DERParser(sig)) {
             int type = parser.read();
             if (type != 0x30) {
                 throw new IOException("Invalid signature format - not a DER SEQUENCE: 0x" + Integer.toHexString(type));
             }
-    
+
             // length of remaining encoding of the 2 integers
             int remainLen = parser.readLength();
             /*
@@ -83,8 +84,8 @@ public class SignatureDSA extends AbstractSignature {
         boolean maxExceeded = data.length > MAX_SIGNATURE_VALUE_LENGTH;
         int dstOffset = maxExceeded ? 0 : (MAX_SIGNATURE_VALUE_LENGTH - data.length);
         System.arraycopy(data, maxExceeded ? 1 : 0,
-                         result, offset + dstOffset,
-                         Math.min(MAX_SIGNATURE_VALUE_LENGTH, data.length));
+                result, offset + dstOffset,
+                Math.min(MAX_SIGNATURE_VALUE_LENGTH, data.length));
     }
 
     @Override
@@ -94,7 +95,7 @@ public class SignatureDSA extends AbstractSignature {
 
         if (sigLen != DSA_SIGNATURE_LENGTH) {
             // probably some encoded data
-            Pair<String,byte[]> encoding = extractEncodedSignature(sig);
+            Pair<String, byte[]> encoding = extractEncodedSignature(sig);
             if (encoding != null) {
                 String keyType = encoding.getFirst();
                 ValidateUtils.checkTrue(KeyPairProvider.SSH_DSS.equals(keyType), "Mismatched key type: %s", keyType);
@@ -105,17 +106,17 @@ public class SignatureDSA extends AbstractSignature {
 
         if (sigLen != DSA_SIGNATURE_LENGTH) {
             throw new SignatureException("Bad signature length (" + sigLen + " instead of " + DSA_SIGNATURE_LENGTH + ")"
-                                      + " for " + BufferUtils.printHex(':', data));
+                    + " for " + BufferUtils.printHex(':', data));
         }
 
         byte[] rEncoding;
-        try(DERWriter w = new DERWriter(MAX_SIGNATURE_VALUE_LENGTH + 4)) {     // in case length > 0x7F
+        try (DERWriter w = new DERWriter(MAX_SIGNATURE_VALUE_LENGTH + 4)) {     // in case length > 0x7F
             w.writeBigInteger(data, 0, MAX_SIGNATURE_VALUE_LENGTH);
             rEncoding = w.toByteArray();
         }
 
         byte[] sEncoding;
-        try(DERWriter w = new DERWriter(MAX_SIGNATURE_VALUE_LENGTH + 4)) {     // in case length > 0x7F
+        try (DERWriter w = new DERWriter(MAX_SIGNATURE_VALUE_LENGTH + 4)) {     // in case length > 0x7F
             w.writeBigInteger(data, MAX_SIGNATURE_VALUE_LENGTH, MAX_SIGNATURE_VALUE_LENGTH);
             sEncoding = w.toByteArray();
         }
@@ -123,7 +124,7 @@ public class SignatureDSA extends AbstractSignature {
 
         int length = rEncoding.length + sEncoding.length;
         byte[] encoded;
-        try(DERWriter w = new DERWriter(1 + length + 4)) {  // in case length > 0x7F
+        try (DERWriter w = new DERWriter(1 + length + 4)) {  // in case length > 0x7F
             w.write(0x30); // SEQUENCE
             w.writeLength(length);
             w.write(rEncoding);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/17f2d627/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureECDSA.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureECDSA.java b/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureECDSA.java
index 254069c..997e737 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureECDSA.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureECDSA.java
@@ -30,7 +30,8 @@ import org.apache.sshd.common.util.io.DERParser;
 import org.apache.sshd.common.util.io.DERWriter;
 
 /**
- * Signature algorithm for EC keys using ECDSA. 
+ * Signature algorithm for EC keys using ECDSA.
+ *
  * @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
  * @see <A HREF="http://tools.ietf.org/html/rfc3278#section-8.2">RFC3278 section 8.2</A>
  */
@@ -44,12 +45,12 @@ public class SignatureECDSA extends AbstractSignature {
     public byte[] sign() throws Exception {
         byte[] sig = signature.sign();
 
-        try(DERParser parser = new DERParser(sig)) {
+        try (DERParser parser = new DERParser(sig)) {
             int type = parser.read();
             if (type != 0x30) {
                 throw new IOException("Invalid signature format - not a DER SEQUENCE: 0x" + Integer.toHexString(type));
             }
-    
+
             // length of remaining encoding of the 2 integers
             int remainLen = parser.readLength();
             /*
@@ -69,7 +70,7 @@ public class SignatureECDSA extends AbstractSignature {
             Buffer rsBuf = new ByteArrayBuffer();
             rsBuf.putMPInt(r);
             rsBuf.putMPInt(s);
-    
+
             return rsBuf.getCompactData();
         }
     }
@@ -77,7 +78,7 @@ public class SignatureECDSA extends AbstractSignature {
     @Override
     public boolean verify(byte[] sig) throws Exception {
         byte[] data = sig;
-        Pair<String,byte[]> encoding = extractEncodedSignature(data);
+        Pair<String, byte[]> encoding = extractEncodedSignature(data);
         if (encoding != null) {
             String keyType = encoding.getFirst();
             ECCurves curve = ECCurves.fromKeyType(keyType);
@@ -87,18 +88,20 @@ public class SignatureECDSA extends AbstractSignature {
 
         Buffer rsBuf = new ByteArrayBuffer(data);
 
-        byte[] rArray = rsBuf.getMPIntAsBytes(), rEncoding;
-        try(DERWriter w = new DERWriter(rArray.length + 4)) {     // in case length > 0x7F
+        byte[] rArray = rsBuf.getMPIntAsBytes();
+        byte[] rEncoding;
+        try (DERWriter w = new DERWriter(rArray.length + 4)) {     // in case length > 0x7F
             w.writeBigInteger(rArray);
             rEncoding = w.toByteArray();
         }
-        
-        byte[] sArray = rsBuf.getMPIntAsBytes(), sEncoding;
-        try(DERWriter w = new DERWriter(sArray.length + 4)) {     // in case length > 0x7F
+
+        byte[] sArray = rsBuf.getMPIntAsBytes();
+        byte[] sEncoding;
+        try (DERWriter w = new DERWriter(sArray.length + 4)) {     // in case length > 0x7F
             w.writeBigInteger(sArray);
             sEncoding = w.toByteArray();
         }
-        
+
         int remaining = rsBuf.available();
         if (remaining != 0) {
             throw new IOException("Signature had padding - remaining=" + remaining);
@@ -106,7 +109,7 @@ public class SignatureECDSA extends AbstractSignature {
 
         int length = rEncoding.length + sEncoding.length;
         byte[] encoded;
-        try(DERWriter w = new DERWriter(1 + length + 4)) {  // in case length > 0x7F
+        try (DERWriter w = new DERWriter(1 + length + 4)) {  // in case length > 0x7F
             w.write(0x30); // SEQUENCE
             w.writeLength(length);
             w.write(rEncoding);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/17f2d627/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureFactory.java
index e0880d4..dfd5536 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureFactory.java
@@ -19,19 +19,12 @@
 
 package org.apache.sshd.common.signature;
 
-import org.apache.sshd.common.NamedFactory;
-import org.apache.sshd.common.OptionalFeature;
-import org.apache.sshd.common.util.Transformer;
+import org.apache.sshd.common.BuiltinFactory;
 
 /**
  * @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
  */
-public interface SignatureFactory extends NamedFactory<Signature>, OptionalFeature {
-    // required because of generics issues
-    Transformer<SignatureFactory,NamedFactory<Signature>> FAC2NAMED=new Transformer<SignatureFactory,NamedFactory<Signature>>() {
-        @Override
-        public NamedFactory<Signature> transform(SignatureFactory input) {
-            return input;
-        }
-    };
+// CHECKSTYLE:OFF
+public interface SignatureFactory extends BuiltinFactory<Signature> {
+
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/17f2d627/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureRSA.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureRSA.java b/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureRSA.java
index 6970420..6a5c99a 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureRSA.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureRSA.java
@@ -40,7 +40,7 @@ public class SignatureRSA extends AbstractSignature {
     @Override
     public boolean verify(byte[] sig) throws Exception {
         byte[] data = sig;
-        Pair<String,byte[]> encoding = extractEncodedSignature(data);
+        Pair<String, byte[]> encoding = extractEncodedSignature(data);
         if (encoding != null) {
             String keyType = encoding.getFirst();
             ValidateUtils.checkTrue(KeyPairProvider.SSH_RSA.equals(keyType), "Mismatched key type: %s", keyType);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/17f2d627/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/SftpConstants.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/SftpConstants.java b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/SftpConstants.java
index 44abceb..7b4d538 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/SftpConstants.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/SftpConstants.java
@@ -22,221 +22,222 @@ package org.apache.sshd.common.subsystem.sftp;
  * @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
  */
 public final class SftpConstants {
-    public static String SFTP_SUBSYSTEM_NAME = "sftp";
-
-    public static final int SSH_FXP_INIT =             1;
-    public static final int SSH_FXP_VERSION =          2;
-    public static final int SSH_FXP_OPEN =             3;
-    public static final int SSH_FXP_CLOSE =            4;
-    public static final int SSH_FXP_READ =             5;
-    public static final int SSH_FXP_WRITE =            6;
-    public static final int SSH_FXP_LSTAT =            7;
-    public static final int SSH_FXP_FSTAT =            8;
-    public static final int SSH_FXP_SETSTAT =          9;
-    public static final int SSH_FXP_FSETSTAT =        10;
-    public static final int SSH_FXP_OPENDIR =         11;
-    public static final int SSH_FXP_READDIR =         12;
-    public static final int SSH_FXP_REMOVE =          13;
-    public static final int SSH_FXP_MKDIR =           14;
-    public static final int SSH_FXP_RMDIR =           15;
-    public static final int SSH_FXP_REALPATH =        16;
-    public static final int SSH_FXP_STAT =            17;
-    public static final int SSH_FXP_RENAME =          18;
-    public static final int SSH_FXP_READLINK =        19;
-    public static final int SSH_FXP_SYMLINK =         20; // v3 -> v5
-    public static final int SSH_FXP_LINK =            21; // v6
-    public static final int SSH_FXP_BLOCK =           22; // v6
-    public static final int SSH_FXP_UNBLOCK =         23; // v6
-    public static final int SSH_FXP_STATUS =         101;
-    public static final int SSH_FXP_HANDLE =         102;
-    public static final int SSH_FXP_DATA =           103;
-    public static final int SSH_FXP_NAME =           104;
-    public static final int SSH_FXP_ATTRS =          105;
-    public static final int SSH_FXP_EXTENDED =       200;
+    public static final String SFTP_SUBSYSTEM_NAME = "sftp";
+
+    public static final int SSH_FXP_INIT = 1;
+    public static final int SSH_FXP_VERSION = 2;
+    public static final int SSH_FXP_OPEN = 3;
+    public static final int SSH_FXP_CLOSE = 4;
+    public static final int SSH_FXP_READ = 5;
+    public static final int SSH_FXP_WRITE = 6;
+    public static final int SSH_FXP_LSTAT = 7;
+    public static final int SSH_FXP_FSTAT = 8;
+    public static final int SSH_FXP_SETSTAT = 9;
+    public static final int SSH_FXP_FSETSTAT = 10;
+    public static final int SSH_FXP_OPENDIR = 11;
+    public static final int SSH_FXP_READDIR = 12;
+    public static final int SSH_FXP_REMOVE = 13;
+    public static final int SSH_FXP_MKDIR = 14;
+    public static final int SSH_FXP_RMDIR = 15;
+    public static final int SSH_FXP_REALPATH = 16;
+    public static final int SSH_FXP_STAT = 17;
+    public static final int SSH_FXP_RENAME = 18;
+    public static final int SSH_FXP_READLINK = 19;
+    public static final int SSH_FXP_SYMLINK = 20; // v3 -> v5
+    public static final int SSH_FXP_LINK = 21; // v6
+    public static final int SSH_FXP_BLOCK = 22; // v6
+    public static final int SSH_FXP_UNBLOCK = 23; // v6
+    public static final int SSH_FXP_STATUS = 101;
+    public static final int SSH_FXP_HANDLE = 102;
+    public static final int SSH_FXP_DATA = 103;
+    public static final int SSH_FXP_NAME = 104;
+    public static final int SSH_FXP_ATTRS = 105;
+    public static final int SSH_FXP_EXTENDED = 200;
     public static final int SSH_FXP_EXTENDED_REPLY = 201;
 
-    public static final int SSH_FX_OK =                           0;
-    public static final int SSH_FX_EOF =                          1;
-    public static final int SSH_FX_NO_SUCH_FILE =                 2;
-    public static final int SSH_FX_PERMISSION_DENIED =            3;
-    public static final int SSH_FX_FAILURE =                      4;
-    public static final int SSH_FX_BAD_MESSAGE =                  5;
-    public static final int SSH_FX_NO_CONNECTION =                6;
-    public static final int SSH_FX_CONNECTION_LOST =              7;
-    public static final int SSH_FX_OP_UNSUPPORTED =               8;
-    public static final int SSH_FX_INVALID_HANDLE =               9;
-    public static final int SSH_FX_NO_SUCH_PATH =                10;
-    public static final int SSH_FX_FILE_ALREADY_EXISTS =         11;
-    public static final int SSH_FX_WRITE_PROTECT =               12;
-    public static final int SSH_FX_NO_MEDIA =                    13;
-    public static final int SSH_FX_NO_SPACE_ON_FILESYSTEM =      14;
-    public static final int SSH_FX_QUOTA_EXCEEDED =              15;
-    public static final int SSH_FX_UNKNOWN_PRINCIPLE =           16;
-    public static final int SSH_FX_LOCK_CONFLICT =               17;
-    public static final int SSH_FX_DIR_NOT_EMPTY =               18;
-    public static final int SSH_FX_NOT_A_DIRECTORY =             19;
-    public static final int SSH_FX_INVALID_FILENAME =            20;
-    public static final int SSH_FX_LINK_LOOP =                   21;
-    public static final int SSH_FX_CANNOT_DELETE =               22;
-    public static final int SSH_FX_INVALID_PARAMETER =           23;
-    public static final int SSH_FX_FILE_IS_A_DIRECTORY =         24;
-    public static final int SSH_FX_BYTE_RANGE_LOCK_CONFLICT =    25;
-    public static final int SSH_FX_BYTE_RANGE_LOCK_REFUSED =     26;
-    public static final int SSH_FX_DELETE_PENDING =              27;
-    public static final int SSH_FX_FILE_CORRUPT =                28;
-    public static final int SSH_FX_OWNER_INVALID =               29;
-    public static final int SSH_FX_GROUP_INVALID =               30;
+    public static final int SSH_FX_OK = 0;
+    public static final int SSH_FX_EOF = 1;
+    public static final int SSH_FX_NO_SUCH_FILE = 2;
+    public static final int SSH_FX_PERMISSION_DENIED = 3;
+    public static final int SSH_FX_FAILURE = 4;
+    public static final int SSH_FX_BAD_MESSAGE = 5;
+    public static final int SSH_FX_NO_CONNECTION = 6;
+    public static final int SSH_FX_CONNECTION_LOST = 7;
+    public static final int SSH_FX_OP_UNSUPPORTED = 8;
+    public static final int SSH_FX_INVALID_HANDLE = 9;
+    public static final int SSH_FX_NO_SUCH_PATH = 10;
+    public static final int SSH_FX_FILE_ALREADY_EXISTS = 11;
+    public static final int SSH_FX_WRITE_PROTECT = 12;
+    public static final int SSH_FX_NO_MEDIA = 13;
+    public static final int SSH_FX_NO_SPACE_ON_FILESYSTEM = 14;
+    public static final int SSH_FX_QUOTA_EXCEEDED = 15;
+    public static final int SSH_FX_UNKNOWN_PRINCIPLE = 16;
+    public static final int SSH_FX_LOCK_CONFLICT = 17;
+    public static final int SSH_FX_DIR_NOT_EMPTY = 18;
+    public static final int SSH_FX_NOT_A_DIRECTORY = 19;
+    public static final int SSH_FX_INVALID_FILENAME = 20;
+    public static final int SSH_FX_LINK_LOOP = 21;
+    public static final int SSH_FX_CANNOT_DELETE = 22;
+    public static final int SSH_FX_INVALID_PARAMETER = 23;
+    public static final int SSH_FX_FILE_IS_A_DIRECTORY = 24;
+    public static final int SSH_FX_BYTE_RANGE_LOCK_CONFLICT = 25;
+    public static final int SSH_FX_BYTE_RANGE_LOCK_REFUSED = 26;
+    public static final int SSH_FX_DELETE_PENDING = 27;
+    public static final int SSH_FX_FILE_CORRUPT = 28;
+    public static final int SSH_FX_OWNER_INVALID = 29;
+    public static final int SSH_FX_GROUP_INVALID = 30;
     public static final int SSH_FX_NO_MATCHING_BYTE_RANGE_LOCK = 31;
 
-    public static final int SSH_FILEXFER_ATTR_SIZE =              0x00000001;
-    public static final int SSH_FILEXFER_ATTR_UIDGID =            0x00000002;
-    public static final int SSH_FILEXFER_ATTR_PERMISSIONS =       0x00000004;
-    public static final int SSH_FILEXFER_ATTR_ACMODTIME =         0x00000008; // v3 naming convention
-    public static final int SSH_FILEXFER_ATTR_ACCESSTIME =        0x00000008; // v4
-    public static final int SSH_FILEXFER_ATTR_CREATETIME =        0x00000010; // v4
-    public static final int SSH_FILEXFER_ATTR_MODIFYTIME =        0x00000020; // v4
-    public static final int SSH_FILEXFER_ATTR_ACL =               0x00000040; // v4
-    public static final int SSH_FILEXFER_ATTR_OWNERGROUP =        0x00000080; // v4
-    public static final int SSH_FILEXFER_ATTR_SUBSECOND_TIMES =   0x00000100; // v5
-    public static final int SSH_FILEXFER_ATTR_BITS =              0x00000200; // v5
-    public static final int SSH_FILEXFER_ATTR_ALLOCATION_SIZE =   0x00000400; // v6
-    public static final int SSH_FILEXFER_ATTR_TEXT_HINT =         0x00000800; // v6
-    public static final int SSH_FILEXFER_ATTR_MIME_TYPE =         0x00001000; // v6
-    public static final int SSH_FILEXFER_ATTR_LINK_COUNT =        0x00002000; // v6
+    public static final int SSH_FILEXFER_ATTR_SIZE = 0x00000001;
+    public static final int SSH_FILEXFER_ATTR_UIDGID = 0x00000002;
+    public static final int SSH_FILEXFER_ATTR_PERMISSIONS = 0x00000004;
+    public static final int SSH_FILEXFER_ATTR_ACMODTIME = 0x00000008; // v3 naming convention
+    public static final int SSH_FILEXFER_ATTR_ACCESSTIME = 0x00000008; // v4
+    public static final int SSH_FILEXFER_ATTR_CREATETIME = 0x00000010; // v4
+    public static final int SSH_FILEXFER_ATTR_MODIFYTIME = 0x00000020; // v4
+    public static final int SSH_FILEXFER_ATTR_ACL = 0x00000040; // v4
+    public static final int SSH_FILEXFER_ATTR_OWNERGROUP = 0x00000080; // v4
+    public static final int SSH_FILEXFER_ATTR_SUBSECOND_TIMES = 0x00000100; // v5
+    public static final int SSH_FILEXFER_ATTR_BITS = 0x00000200; // v5
+    public static final int SSH_FILEXFER_ATTR_ALLOCATION_SIZE = 0x00000400; // v6
+    public static final int SSH_FILEXFER_ATTR_TEXT_HINT = 0x00000800; // v6
+    public static final int SSH_FILEXFER_ATTR_MIME_TYPE = 0x00001000; // v6
+    public static final int SSH_FILEXFER_ATTR_LINK_COUNT = 0x00002000; // v6
     public static final int SSH_FILEXFER_ATTR_UNTRANSLATED_NAME = 0x00004000; // v6
-    public static final int SSH_FILEXFER_ATTR_CTIME =             0x00008000; // v6
-    public static final int SSH_FILEXFER_ATTR_EXTENDED =          0x80000000;
+    public static final int SSH_FILEXFER_ATTR_CTIME = 0x00008000; // v6
+    public static final int SSH_FILEXFER_ATTR_EXTENDED = 0x80000000;
 
-    public static final int SSH_FILEXFER_ATTR_ALL =               0x0000FFFF; // All attributes
+    public static final int SSH_FILEXFER_ATTR_ALL = 0x0000FFFF; // All attributes
 
-    public static final int SSH_FILEXFER_ATTR_FLAGS_READONLY =         0x00000001;
-    public static final int SSH_FILEXFER_ATTR_FLAGS_SYSTEM =           0x00000002;
-    public static final int SSH_FILEXFER_ATTR_FLAGS_HIDDEN =           0x00000004;
+    public static final int SSH_FILEXFER_ATTR_FLAGS_READONLY = 0x00000001;
+    public static final int SSH_FILEXFER_ATTR_FLAGS_SYSTEM = 0x00000002;
+    public static final int SSH_FILEXFER_ATTR_FLAGS_HIDDEN = 0x00000004;
     public static final int SSH_FILEXFER_ATTR_FLAGS_CASE_INSENSITIVE = 0x00000008;
-    public static final int SSH_FILEXFER_ATTR_FLAGS_ARCHIVE =          0x00000010;
-    public static final int SSH_FILEXFER_ATTR_FLAGS_ENCRYPTED =        0x00000020;
-    public static final int SSH_FILEXFER_ATTR_FLAGS_COMPRESSED =       0x00000040;
-    public static final int SSH_FILEXFER_ATTR_FLAGS_SPARSE =           0x00000080;
-    public static final int SSH_FILEXFER_ATTR_FLAGS_APPEND_ONLY =      0x00000100;
-    public static final int SSH_FILEXFER_ATTR_FLAGS_IMMUTABLE =        0x00000200;
-    public static final int SSH_FILEXFER_ATTR_FLAGS_SYNC =             0x00000400;
-
-    public static final int SSH_FILEXFER_TYPE_REGULAR =      1;
-    public static final int SSH_FILEXFER_TYPE_DIRECTORY =    2;
-    public static final int SSH_FILEXFER_TYPE_SYMLINK =      3;
-    public static final int SSH_FILEXFER_TYPE_SPECIAL =      4;
-    public static final int SSH_FILEXFER_TYPE_UNKNOWN =      5;
-    public static final int SSH_FILEXFER_TYPE_SOCKET =       6; // v5
-    public static final int SSH_FILEXFER_TYPE_CHAR_DEVICE =  7; // v5
+    public static final int SSH_FILEXFER_ATTR_FLAGS_ARCHIVE = 0x00000010;
+    public static final int SSH_FILEXFER_ATTR_FLAGS_ENCRYPTED = 0x00000020;
+    public static final int SSH_FILEXFER_ATTR_FLAGS_COMPRESSED = 0x00000040;
+    public static final int SSH_FILEXFER_ATTR_FLAGS_SPARSE = 0x00000080;
+    public static final int SSH_FILEXFER_ATTR_FLAGS_APPEND_ONLY = 0x00000100;
+    public static final int SSH_FILEXFER_ATTR_FLAGS_IMMUTABLE = 0x00000200;
+    public static final int SSH_FILEXFER_ATTR_FLAGS_SYNC = 0x00000400;
+
+    public static final int SSH_FILEXFER_TYPE_REGULAR = 1;
+    public static final int SSH_FILEXFER_TYPE_DIRECTORY = 2;
+    public static final int SSH_FILEXFER_TYPE_SYMLINK = 3;
+    public static final int SSH_FILEXFER_TYPE_SPECIAL = 4;
+    public static final int SSH_FILEXFER_TYPE_UNKNOWN = 5;
+    public static final int SSH_FILEXFER_TYPE_SOCKET = 6; // v5
+    public static final int SSH_FILEXFER_TYPE_CHAR_DEVICE = 7; // v5
     public static final int SSH_FILEXFER_TYPE_BLOCK_DEVICE = 8; // v5
-    public static final int SSH_FILEXFER_TYPE_FIFO         = 9; // v5
+    public static final int SSH_FILEXFER_TYPE_FIFO = 9; // v5
 
-    public static final int SSH_FXF_READ =   0x00000001;
-    public static final int SSH_FXF_WRITE =  0x00000002;
+    public static final int SSH_FXF_READ = 0x00000001;
+    public static final int SSH_FXF_WRITE = 0x00000002;
     public static final int SSH_FXF_APPEND = 0x00000004;
-    public static final int SSH_FXF_CREAT =  0x00000008;
-    public static final int SSH_FXF_TRUNC =  0x00000010;
-    public static final int SSH_FXF_EXCL =   0x00000020;
-    public static final int SSH_FXF_TEXT =   0x00000040;
+    public static final int SSH_FXF_CREAT = 0x00000008;
+    public static final int SSH_FXF_TRUNC = 0x00000010;
+    public static final int SSH_FXF_EXCL = 0x00000020;
+    public static final int SSH_FXF_TEXT = 0x00000040;
 
     public static final int SSH_FXF_ACCESS_DISPOSITION = 0x00000007;
-    public static final int SSH_FXF_CREATE_NEW =         0x00000000;
-    public static final int SSH_FXF_CREATE_TRUNCATE =    0x00000001;
-    public static final int SSH_FXF_OPEN_EXISTING =      0x00000002;
-    public static final int SSH_FXF_OPEN_OR_CREATE =     0x00000003;
-    public static final int SSH_FXF_TRUNCATE_EXISTING =  0x00000004;
-    public static final int SSH_FXF_APPEND_DATA =        0x00000008;
+    public static final int SSH_FXF_CREATE_NEW = 0x00000000;
+    public static final int SSH_FXF_CREATE_TRUNCATE = 0x00000001;
+    public static final int SSH_FXF_OPEN_EXISTING = 0x00000002;
+    public static final int SSH_FXF_OPEN_OR_CREATE = 0x00000003;
+    public static final int SSH_FXF_TRUNCATE_EXISTING = 0x00000004;
+    public static final int SSH_FXF_APPEND_DATA = 0x00000008;
     public static final int SSH_FXF_APPEND_DATA_ATOMIC = 0x00000010;
-    public static final int SSH_FXF_TEXT_MODE =          0x00000020;
-    public static final int SSH_FXF_READ_LOCK =          0x00000040;
-    public static final int SSH_FXF_WRITE_LOCK =         0x00000080;
-    public static final int SSH_FXF_DELETE_LOCK =        0x00000100;
+    public static final int SSH_FXF_TEXT_MODE = 0x00000020;
+    public static final int SSH_FXF_READ_LOCK = 0x00000040;
+    public static final int SSH_FXF_WRITE_LOCK = 0x00000080;
+    public static final int SSH_FXF_DELETE_LOCK = 0x00000100;
 
     public static final int SSH_FXP_RENAME_OVERWRITE = 0x00000001;
-    public static final int SSH_FXP_RENAME_ATOMIC =    0x00000002;
-    public static final int SSH_FXP_RENAME_NATIVE =    0x00000004;
+    public static final int SSH_FXP_RENAME_ATOMIC = 0x00000002;
+    public static final int SSH_FXP_RENAME_NATIVE = 0x00000004;
 
-    public static final int SSH_FXP_REALPATH_NO_CHECK    = 0x00000001;
-    public static final int SSH_FXP_REALPATH_STAT_IF     = 0x00000002;
+    public static final int SSH_FXP_REALPATH_NO_CHECK = 0x00000001;
+    public static final int SSH_FXP_REALPATH_STAT_IF = 0x00000002;
     public static final int SSH_FXP_REALPATH_STAT_ALWAYS = 0x00000003;
 
-    public static final int SSH_FXF_RENAME_OVERWRITE =  0x00000001;
-    public static final int SSH_FXF_RENAME_ATOMIC =     0x00000002;
-    public static final int SSH_FXF_RENAME_NATIVE =     0x00000004;
-
-    public static final int ACE4_ACCESS_ALLOWED_ACE_TYPE      = 0x00000000;
-    public static final int ACE4_ACCESS_DENIED_ACE_TYPE       = 0x00000001;
-    public static final int ACE4_SYSTEM_AUDIT_ACE_TYPE        = 0x00000002;
-    public static final int ACE4_SYSTEM_ALARM_ACE_TYPE        = 0x00000003;
-
-    public static final int ACE4_FILE_INHERIT_ACE             = 0x00000001;
-    public static final int ACE4_DIRECTORY_INHERIT_ACE        = 0x00000002;
-    public static final int ACE4_NO_PROPAGATE_INHERIT_ACE     = 0x00000004;
-    public static final int ACE4_INHERIT_ONLY_ACE             = 0x00000008;
-    public static final int ACE4_SUCCESSFUL_ACCESS_ACE_FLAG   = 0x00000010;
-    public static final int ACE4_FAILED_ACCESS_ACE_FLAG       = 0x00000020;
-    public static final int ACE4_IDENTIFIER_GROUP             = 0x00000040;
-
-    public static final int ACE4_READ_DATA            = 0x00000001;
-    public static final int ACE4_LIST_DIRECTORY       = 0x00000001;
-    public static final int ACE4_WRITE_DATA           = 0x00000002;
-    public static final int ACE4_ADD_FILE             = 0x00000002;
-    public static final int ACE4_APPEND_DATA          = 0x00000004;
-    public static final int ACE4_ADD_SUBDIRECTORY     = 0x00000004;
-    public static final int ACE4_READ_NAMED_ATTRS     = 0x00000008;
-    public static final int ACE4_WRITE_NAMED_ATTRS    = 0x00000010;
-    public static final int ACE4_EXECUTE              = 0x00000020;
-    public static final int ACE4_DELETE_CHILD         = 0x00000040;
-    public static final int ACE4_READ_ATTRIBUTES      = 0x00000080;
-    public static final int ACE4_WRITE_ATTRIBUTES     = 0x00000100;
-    public static final int ACE4_DELETE               = 0x00010000;
-    public static final int ACE4_READ_ACL             = 0x00020000;
-    public static final int ACE4_WRITE_ACL            = 0x00040000;
-    public static final int ACE4_WRITE_OWNER          = 0x00080000;
-    public static final int ACE4_SYNCHRONIZE          = 0x00100000;
-
-    public static final int S_IFMT =   0170000;  // bitmask for the file type bitfields
+    public static final int SSH_FXF_RENAME_OVERWRITE = 0x00000001;
+    public static final int SSH_FXF_RENAME_ATOMIC = 0x00000002;
+    public static final int SSH_FXF_RENAME_NATIVE = 0x00000004;
+
+    public static final int ACE4_ACCESS_ALLOWED_ACE_TYPE = 0x00000000;
+    public static final int ACE4_ACCESS_DENIED_ACE_TYPE = 0x00000001;
+    public static final int ACE4_SYSTEM_AUDIT_ACE_TYPE = 0x00000002;
+    public static final int ACE4_SYSTEM_ALARM_ACE_TYPE = 0x00000003;
+
+    public static final int ACE4_FILE_INHERIT_ACE = 0x00000001;
+    public static final int ACE4_DIRECTORY_INHERIT_ACE = 0x00000002;
+    public static final int ACE4_NO_PROPAGATE_INHERIT_ACE = 0x00000004;
+    public static final int ACE4_INHERIT_ONLY_ACE = 0x00000008;
+    public static final int ACE4_SUCCESSFUL_ACCESS_ACE_FLAG = 0x00000010;
+    public static final int ACE4_FAILED_ACCESS_ACE_FLAG = 0x00000020;
+    public static final int ACE4_IDENTIFIER_GROUP = 0x00000040;
+
+    public static final int ACE4_READ_DATA = 0x00000001;
+    public static final int ACE4_LIST_DIRECTORY = 0x00000001;
+    public static final int ACE4_WRITE_DATA = 0x00000002;
+    public static final int ACE4_ADD_FILE = 0x00000002;
+    public static final int ACE4_APPEND_DATA = 0x00000004;
+    public static final int ACE4_ADD_SUBDIRECTORY = 0x00000004;
+    public static final int ACE4_READ_NAMED_ATTRS = 0x00000008;
+    public static final int ACE4_WRITE_NAMED_ATTRS = 0x00000010;
+    public static final int ACE4_EXECUTE = 0x00000020;
+    public static final int ACE4_DELETE_CHILD = 0x00000040;
+    public static final int ACE4_READ_ATTRIBUTES = 0x00000080;
+    public static final int ACE4_WRITE_ATTRIBUTES = 0x00000100;
+    public static final int ACE4_DELETE = 0x00010000;
+    public static final int ACE4_READ_ACL = 0x00020000;
+    public static final int ACE4_WRITE_ACL = 0x00040000;
+    public static final int ACE4_WRITE_OWNER = 0x00080000;
+    public static final int ACE4_SYNCHRONIZE = 0x00100000;
+
+    public static final int S_IFMT = 0170000;  // bitmask for the file type bitfields
     public static final int S_IFSOCK = 0140000;  // socket
-    public static final int S_IFLNK =  0120000;  // symbolic link
-    public static final int S_IFREG =  0100000;  // regular file
-    public static final int S_IFBLK =  0060000;  // block device
-    public static final int S_IFDIR =  0040000;  // directory
-    public static final int S_IFCHR =  0020000;  // character device
-    public static final int S_IFIFO =  0010000;  // fifo
-    public static final int S_ISUID =  0004000;  // set UID bit
-    public static final int S_ISGID =  0002000;  // set GID bit
-    public static final int S_ISVTX =  0001000;  // sticky bit
-    public static final int S_IRUSR =  0000400;
-    public static final int S_IWUSR =  0000200;
-    public static final int S_IXUSR =  0000100;
-    public static final int S_IRGRP =  0000040;
-    public static final int S_IWGRP =  0000020;
-    public static final int S_IXGRP =  0000010;
-    public static final int S_IROTH =  0000004;
-    public static final int S_IWOTH =  0000002;
-    public static final int S_IXOTH =  0000001;
-
-    public static int SFTP_V3 = 3;
-    public static int SFTP_V4 = 4;
-    public static int SFTP_V5 = 5;
-    public static int SFTP_V6 = 6;
-    
+    public static final int S_IFLNK = 0120000;  // symbolic link
+    public static final int S_IFREG = 0100000;  // regular file
+    public static final int S_IFBLK = 0060000;  // block device
+    public static final int S_IFDIR = 0040000;  // directory
+    public static final int S_IFCHR = 0020000;  // character device
+    public static final int S_IFIFO = 0010000;  // fifo
+    public static final int S_ISUID = 0004000;  // set UID bit
+    public static final int S_ISGID = 0002000;  // set GID bit
+    public static final int S_ISVTX = 0001000;  // sticky bit
+    public static final int S_IRUSR = 0000400;
+    public static final int S_IWUSR = 0000200;
+    public static final int S_IXUSR = 0000100;
+    public static final int S_IRGRP = 0000040;
+    public static final int S_IWGRP = 0000020;
+    public static final int S_IXGRP = 0000010;
+    public static final int S_IROTH = 0000004;
+    public static final int S_IWOTH = 0000002;
+    public static final int S_IXOTH = 0000001;
+
+    public static final int SFTP_V3 = 3;
+    public static final int SFTP_V4 = 4;
+    public static final int SFTP_V5 = 5;
+    public static final int SFTP_V6 = 6;
+
     // (Some) names of known extensions
     public static final String EXT_VERSIONS = "versions";
     public static final String EXT_NEWLINE = "newline";
-    public static final String EXT_VENDORID = "vendor-id";
+    public static final String EXT_VENDOR_ID = "vendor-id";
     public static final String EXT_SUPPORTED = "supported";
     public static final String EXT_SUPPORTED2 = "supported2";
-    public static final String EXT_VERSELECT = "version-select";
-    public static final String EXT_COPYFILE = "copy-file";
-    public static final String EXT_MD5HASH = "md5-hash";
-    public static final String EXT_MD5HASH_HANDLE = "md5-hash-handle";
-        public static final int MD5_QUICK_HASH_SIZE = 2048;
-    public static final String EXT_CHKFILE_HANDLE = "check-file-handle";
-    public static final String EXT_CHKFILE_NAME = "check-file-name";
-        public static final int MIN_CHKFILE_BLOCKSIZE = 256;
-        public static final String EXT_CHKFILE_RESPONSE = "check-file";
-    public static final String EXT_COPYDATA = "copy-data";
+    public static final String EXT_TEXT_SEEK = "text-seek";
+    public static final String EXT_VERSION_SELECT = "version-select";
+    public static final String EXT_COPY_FILE = "copy-file";
+    public static final String EXT_MD5_HASH = "md5-hash";
+    public static final String EXT_MD5_HASH_HANDLE = "md5-hash-handle";
+    public static final int MD5_QUICK_HASH_SIZE = 2048;
+    public static final String EXT_CHECK_FILE_HANDLE = "check-file-handle";
+    public static final String EXT_CHECK_FILE_NAME = "check-file-name";
+    public static final int MIN_CHKFILE_BLOCKSIZE = 256;
+    public static final String EXT_CHECK_FILE = "check-file";
+    public static final String EXT_COPY_DATA = "copy-data";
     public static final String EXT_SPACE_AVAILABLE = "space-available";
 
     private SftpConstants() {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/17f2d627/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/AbstractParser.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/AbstractParser.java b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/AbstractParser.java
index da94d10..39d2240 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/AbstractParser.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/AbstractParser.java
@@ -41,9 +41,9 @@ public abstract class AbstractParser<T> implements ExtensionParser<T> {
     public T transform(byte[] input) {
         return parse(input);
     }
-    
+
     @Override   // TODO in JDK-8 make this a default method
     public T parse(byte[] input) {
         return parse(input, 0, GenericUtils.length(input));
-    }   
+    }
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/17f2d627/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/ExtensionParser.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/ExtensionParser.java b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/ExtensionParser.java
index d158554..fd2b130 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/ExtensionParser.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/ExtensionParser.java
@@ -27,5 +27,6 @@ import org.apache.sshd.common.util.Transformer;
  */
 public interface ExtensionParser<T> extends NamedResource, Transformer<byte[], T> {
     T parse(byte[] input);
+
     T parse(byte[] input, int offset, int len);
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/17f2d627/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/NewlineParser.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/NewlineParser.java b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/NewlineParser.java
index d29e0ac..99658da 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/NewlineParser.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/NewlineParser.java
@@ -33,11 +33,14 @@ public class NewlineParser extends AbstractParser<Newline> {
     /**
      * The &quot;newline&quot; extension information as per
      * <A HREF="http://tools.ietf.org/wg/secsh/draft-ietf-secsh-filexfer/draft-ietf-secsh-filexfer-09.txt">DRAFT 09 Section 4.3</A>
+     *
      * @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
      */
     public static class Newline {
+        // CHECKSTYLE:OFF
         public String newline;
-        
+        // CHECKSTYLE:ON
+
         @Override
         public String toString() {
             if (GenericUtils.isEmpty(newline)) {
@@ -47,13 +50,13 @@ public class NewlineParser extends AbstractParser<Newline> {
             }
         }
     }
-    
+
     public static final NewlineParser INSTANCE = new NewlineParser();
 
     public NewlineParser() {
         super(SftpConstants.EXT_NEWLINE);
     }
-    
+
     @Override
     public Newline parse(byte[] input, int offset, int len) {
         return parse(new String(input, offset, len, StandardCharsets.UTF_8));

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/17f2d627/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 e390f80..693d033 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
@@ -60,15 +60,18 @@ public final class ParserUtils {
                             FsyncExtensionParser.INSTANCE
                     ));
 
-    private static final Map<String,ExtensionParser<?>> parsersMap = new TreeMap<String,ExtensionParser<?>>(String.CASE_INSENSITIVE_ORDER) {
-            private static final long serialVersionUID = 1L;    // we're not serializing it
-            
-            {
-                for (ExtensionParser<?> p : BUILT_IN_PARSERS) {
-                    put(p.getName(), p);
-                }
-            }
-        };
+    private static final Map<String, ExtensionParser<?>> PARSERS_MAP;
+
+    static {
+        PARSERS_MAP = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
+        for (ExtensionParser<?> p : BUILT_IN_PARSERS) {
+            PARSERS_MAP.put(p.getName(), p);
+        }
+    }
+
+    private ParserUtils() {
+        throw new UnsupportedOperationException("No instance");
+    }
 
     /**
      * @param parser The {@link ExtensionParser} to register
@@ -77,9 +80,9 @@ public final class ParserUtils {
      */
     public static ExtensionParser<?> registerParser(ExtensionParser<?> parser) {
         ValidateUtils.checkNotNull(parser, "No parser instance");
-        
-        synchronized(parsersMap) {
-            return parsersMap.put(parser.getName(), parser);
+
+        synchronized (PARSERS_MAP) {
+            return PARSERS_MAP.put(parser.getName(), parser);
         }
     }
 
@@ -93,8 +96,8 @@ public final class ParserUtils {
             return null;
         }
 
-        synchronized(parsersMap) {
-            return parsersMap.remove(name);
+        synchronized (PARSERS_MAP) {
+            return PARSERS_MAP.remove(name);
         }
     }
 
@@ -108,36 +111,36 @@ public final class ParserUtils {
             return null;
         }
 
-        synchronized(parsersMap) {
-            return parsersMap.get(name);
+        synchronized (PARSERS_MAP) {
+            return PARSERS_MAP.get(name);
         }
     }
 
     public static Set<String> getRegisteredParsersNames() {
-        synchronized(parsersMap) {
-            if (parsersMap.isEmpty()) {
+        synchronized (PARSERS_MAP) {
+            if (PARSERS_MAP.isEmpty()) {
                 return Collections.emptySet();
             } else {    // return a copy in order to avoid concurrent modification issues
-                return GenericUtils.asSortedSet(String.CASE_INSENSITIVE_ORDER, parsersMap.keySet());
+                return GenericUtils.asSortedSet(String.CASE_INSENSITIVE_ORDER, PARSERS_MAP.keySet());
             }
         }
     }
 
     public static List<ExtensionParser<?>> getRegisteredParsers() {
-        synchronized(parsersMap) {
-            if (parsersMap.isEmpty()) {
+        synchronized (PARSERS_MAP) {
+            if (PARSERS_MAP.isEmpty()) {
                 return Collections.emptyList();
             } else { // return a copy in order to avoid concurrent modification issues
-                return new ArrayList<ExtensionParser<?>>(parsersMap.values());
+                return new ArrayList<ExtensionParser<?>>(PARSERS_MAP.values());
             }
         }
     }
 
-    public static Set<String> supportedExtensions(Map<String,?> parsed) {
+    public static Set<String> supportedExtensions(Map<String, ?> parsed) {
         if (GenericUtils.isEmpty(parsed)) {
             return Collections.emptySet();
         }
-        
+
         Supported sup = (Supported) parsed.get(SupportedParser.INSTANCE.getName());
         Collection<String> extra = (sup == null) ? null : sup.extensionNames;
         Supported2 sup2 = (Supported2) parsed.get(Supported2Parser.INSTANCE.getName());
@@ -147,7 +150,7 @@ public final class ParserUtils {
         } else if (GenericUtils.isEmpty(extra2)) {
             return GenericUtils.asSortedSet(String.CASE_INSENSITIVE_ORDER, extra);
         }
-        
+
         Set<String> result = new TreeSet<>(String.CASE_INSENSITIVE_ORDER);
         result.addAll(extra);
         result.addAll(extra2);
@@ -163,13 +166,13 @@ public final class ParserUtils {
      * @see #getRegisteredParser(String)
      * @see ExtensionParser#transform(Object)
      */
-    public static Map<String,Object> parse(Map<String,byte[]> extensions) {
+    public static Map<String, Object> parse(Map<String, byte[]> extensions) {
         if (GenericUtils.isEmpty(extensions)) {
             return Collections.emptyMap();
         }
-        
-        Map<String,Object> data = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
-        for (Map.Entry<String,byte[]> ee : extensions.entrySet()) {
+
+        Map<String, Object> data = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
+        for (Map.Entry<String, byte[]> ee : extensions.entrySet()) {
             String name = ee.getKey();
             Object result = parse(name, ee.getValue());
             if (result == null) {
@@ -177,11 +180,11 @@ public final class ParserUtils {
             }
             data.put(name, result);
         }
-        
+
         return data;
     }
 
-    public static Object parse(String name, byte ... encoded) {
+    public static Object parse(String name, byte... encoded) {
         ExtensionParser<?> parser = getRegisteredParser(name);
         if (parser == null) {
             return null;
@@ -189,8 +192,5 @@ public final class ParserUtils {
             return parser.transform(encoded);
         }
     }
-    
-    private ParserUtils() {
-        throw new UnsupportedOperationException("No instance");
-    }
+
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/17f2d627/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/SpaceAvailableExtensionInfo.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/SpaceAvailableExtensionInfo.java b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/SpaceAvailableExtensionInfo.java
index 003116c..a0b4791 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/SpaceAvailableExtensionInfo.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/SpaceAvailableExtensionInfo.java
@@ -30,11 +30,13 @@ import org.apache.sshd.common.util.buffer.Buffer;
  * @see <A HREF="http://tools.ietf.org/wg/secsh/draft-ietf-secsh-filexfer/draft-ietf-secsh-filexfer-09.txt">DRAFT 09 section 9.2</A>
  */
 public class SpaceAvailableExtensionInfo implements Cloneable {
+    // CHECKSTYLE:OFF
     public long bytesOnDevice;
     public long unusedBytesOnDevice;
     public long bytesAvailableToUser;
     public long unusedBytesAvailableToUser;
     public int bytesPerAllocationUnit;
+    // CHECKSTYLE:ON
 
     public SpaceAvailableExtensionInfo() {
         super();
@@ -46,21 +48,22 @@ public class SpaceAvailableExtensionInfo implements Cloneable {
 
     public SpaceAvailableExtensionInfo(FileStore store) throws IOException {
         bytesOnDevice = store.getTotalSpace();
-        
-        long unallocated = store.getUnallocatedSpace(), usable = store.getUsableSpace();
+
+        long unallocated = store.getUnallocatedSpace();
+        long usable = store.getUsableSpace();
         unusedBytesOnDevice = Math.max(unallocated, usable);
-        
+
         // the rest are intentionally  left zero indicating "UNKNOWN"
     }
 
     @Override
     public int hashCode() {
-        return GenericUtils.hashCode(bytesOnDevice)
-             + GenericUtils.hashCode(unusedBytesOnDevice)
-             + GenericUtils.hashCode(bytesAvailableToUser)
-             + GenericUtils.hashCode(unusedBytesAvailableToUser)
-             + bytesPerAllocationUnit
-             ;
+        int result = GenericUtils.hashCode(bytesOnDevice);
+        result = 31 * result + GenericUtils.hashCode(unusedBytesOnDevice);
+        result = 31 * result + GenericUtils.hashCode(bytesAvailableToUser);
+        result = 31 * result + GenericUtils.hashCode(unusedBytesAvailableToUser);
+        result = 31 * result + bytesPerAllocationUnit;
+        return result;
     }
 
     @Override
@@ -76,22 +79,18 @@ public class SpaceAvailableExtensionInfo implements Cloneable {
         }
 
         SpaceAvailableExtensionInfo other = (SpaceAvailableExtensionInfo) obj;
-        if ((this.bytesOnDevice == other.bytesOnDevice)
-         && (this.unusedBytesOnDevice == other.unusedBytesOnDevice)
-         && (this.bytesAvailableToUser == other.bytesAvailableToUser)
-         && (this.unusedBytesAvailableToUser == other.unusedBytesAvailableToUser)
-         && (this.bytesPerAllocationUnit == other.bytesPerAllocationUnit)) {
-            return true;
-        } else {
-            return false;   // debug breakpoint
-        }
+        return this.bytesOnDevice == other.bytesOnDevice
+                && this.unusedBytesOnDevice == other.unusedBytesOnDevice
+                && this.bytesAvailableToUser == other.bytesAvailableToUser
+                && this.unusedBytesAvailableToUser == other.unusedBytesAvailableToUser
+                && this.bytesPerAllocationUnit == other.bytesPerAllocationUnit;
     }
 
     @Override
     public SpaceAvailableExtensionInfo clone() {
         try {
             return getClass().cast(super.clone());
-        } catch(CloneNotSupportedException e) {
+        } catch (CloneNotSupportedException e) {
             throw new RuntimeException("Failed to close " + toString() + ": " + e.getMessage());
         }
     }
@@ -99,13 +98,12 @@ public class SpaceAvailableExtensionInfo implements Cloneable {
     @Override
     public String toString() {
         return "bytesOnDevice=" + bytesOnDevice
-            + ",unusedBytesOnDevice=" + unusedBytesOnDevice
-            + ",bytesAvailableToUser=" + bytesAvailableToUser
-            + ",unusedBytesAvailableToUser=" + unusedBytesAvailableToUser
-            + ",bytesPerAllocationUnit=" + bytesPerAllocationUnit
-            ;
+                + ",unusedBytesOnDevice=" + unusedBytesOnDevice
+                + ",bytesAvailableToUser=" + bytesAvailableToUser
+                + ",unusedBytesAvailableToUser=" + unusedBytesAvailableToUser
+                + ",bytesPerAllocationUnit=" + bytesPerAllocationUnit;
     }
-    
+
     public static SpaceAvailableExtensionInfo decode(Buffer buffer) {
         SpaceAvailableExtensionInfo info = new SpaceAvailableExtensionInfo();
         decode(buffer, info);
@@ -119,7 +117,7 @@ public class SpaceAvailableExtensionInfo implements Cloneable {
         info.unusedBytesAvailableToUser = buffer.getLong();
         info.bytesPerAllocationUnit = buffer.getInt();
     }
-    
+
     public static void encode(Buffer buffer, SpaceAvailableExtensionInfo info) {
         buffer.putLong(info.bytesOnDevice);
         buffer.putLong(info.unusedBytesOnDevice);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/17f2d627/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/Supported2Parser.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/Supported2Parser.java b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/Supported2Parser.java
index f8e3fba..7014cf3 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/Supported2Parser.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/Supported2Parser.java
@@ -27,8 +27,9 @@ import org.apache.sshd.common.util.buffer.Buffer;
 import org.apache.sshd.common.util.buffer.ByteArrayBuffer;
 
 /**
- * Parses the &quot;supported2&quot; extension as defined in 
+ * Parses the &quot;supported2&quot; extension as defined in
  * <A HREF="https://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#page-10">DRAFT 13 section 5.4</A>
+ *
  * @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
  */
 public class Supported2Parser extends AbstractParser<Supported2> {
@@ -37,6 +38,7 @@ public class Supported2Parser extends AbstractParser<Supported2> {
      * @see <A HREF="https://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#page-10">DRAFT 13 section 5.4</A>
      */
     public static class Supported2 {
+        // CHECKSTYLE:OFF
         public int supportedAttributeMask;
         public int supportedAttributeBits;
         public int supportedOpenFlags;
@@ -44,26 +46,26 @@ public class Supported2Parser extends AbstractParser<Supported2> {
         public int maxReadSize;
         public short supportedOpenBlockVector;
         public short supportedBlock;
-//        uint32 attrib-extension-count
+        //        uint32 attrib-extension-count
         public Collection<String> attribExtensionNames;
-//        uint32 extension-count
+        //        uint32 extension-count
         public Collection<String> extensionNames;
-        
+        // CHECKSTYLE:ON
+
         @Override
         public String toString() {
             return "attrsMask=0x" + Integer.toHexString(supportedAttributeMask)
-                 + ",attrsBits=0x" + Integer.toHexString(supportedAttributeBits)
-                 + ",openFlags=0x" + Integer.toHexString(supportedOpenFlags)
-                 + ",accessMask=0x" + Integer.toHexString(supportedAccessMask)
-                 + ",maxRead=" + maxReadSize
-                 + ",openBlock=0x" + Integer.toHexString(supportedOpenBlockVector & 0xFFFF)
-                 + ",block=" + Integer.toHexString(supportedBlock & 0xFFFF)
-                 + ",attribs=" + attribExtensionNames
-                 + ",exts=" + extensionNames
-                 ;
+                    + ",attrsBits=0x" + Integer.toHexString(supportedAttributeBits)
+                    + ",openFlags=0x" + Integer.toHexString(supportedOpenFlags)
+                    + ",accessMask=0x" + Integer.toHexString(supportedAccessMask)
+                    + ",maxRead=" + maxReadSize
+                    + ",openBlock=0x" + Integer.toHexString(supportedOpenBlockVector & 0xFFFF)
+                    + ",block=" + Integer.toHexString(supportedBlock & 0xFFFF)
+                    + ",attribs=" + attribExtensionNames
+                    + ",exts=" + extensionNames;
         }
     }
-    
+
     public static final Supported2Parser INSTANCE = new Supported2Parser();
 
     public Supported2Parser() {
@@ -74,7 +76,7 @@ public class Supported2Parser extends AbstractParser<Supported2> {
     public Supported2 parse(byte[] input, int offset, int len) {
         return parse(new ByteArrayBuffer(input, offset, len));
     }
-    
+
     public Supported2 parse(Buffer buffer) {
         Supported2 sup2 = new Supported2();
         sup2.supportedAttributeMask = buffer.getInt();

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/17f2d627/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/SupportedParser.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/SupportedParser.java b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/SupportedParser.java
index fc13c49..f9bb5e9 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/SupportedParser.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/SupportedParser.java
@@ -29,6 +29,7 @@ import org.apache.sshd.common.util.buffer.ByteArrayBuffer;
 /**
  * Parses the &quot;supported&quot; extension as defined in
  * <A HREF="http://tools.ietf.org/wg/secsh/draft-ietf-secsh-filexfer/draft-ietf-secsh-filexfer-05.txt">DRAFT 05 - section 4.4</A>
+ *
  * @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
  */
 public class SupportedParser extends AbstractParser<Supported> {
@@ -37,22 +38,23 @@ public class SupportedParser extends AbstractParser<Supported> {
      * @see <A HREF="http://tools.ietf.org/wg/secsh/draft-ietf-secsh-filexfer/draft-ietf-secsh-filexfer-05.txt">DRAFT 05 - section 4.4</A>
      */
     public static class Supported {
+        // CHECKSTYLE:OFF
         public int supportedAttributeMask;
         public int supportedAttributeBits;
         public int supportedOpenFlags;
         public int supportedAccessMask;
         public int maxReadSize;
         public Collection<String> extensionNames;
-        
+        // CHECKSTYLE:ON
+
         @Override
         public String toString() {
             return "attrsMask=0x" + Integer.toHexString(supportedAttributeMask)
-                 + ",attrsBits=0x" + Integer.toHexString(supportedAttributeBits)
-                 + ",openFlags=0x" + Integer.toHexString(supportedOpenFlags)
-                 + ",accessMask=0x" + Integer.toHexString(supportedAccessMask)
-                 + ",maxReadSize=" + maxReadSize
-                 + ",extensions=" + extensionNames
-                 ;
+                    + ",attrsBits=0x" + Integer.toHexString(supportedAttributeBits)
+                    + ",openFlags=0x" + Integer.toHexString(supportedOpenFlags)
+                    + ",accessMask=0x" + Integer.toHexString(supportedAccessMask)
+                    + ",maxReadSize=" + maxReadSize
+                    + ",extensions=" + extensionNames;
         }
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/17f2d627/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/VendorIdParser.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/VendorIdParser.java b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/VendorIdParser.java
index d68d862..cf48e03 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/VendorIdParser.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/VendorIdParser.java
@@ -30,14 +30,17 @@ import org.apache.sshd.common.util.buffer.ByteArrayBuffer;
 public class VendorIdParser extends AbstractParser<VendorId> {
     /**
      * The &quot;vendor-id&quot; information as per
-     * <A HREF="http://tools.ietf.org/wg/secsh/draft-ietf-secsh-filexfer/draft-ietf-secsh-filexfer-09.txt">DRAFT 09 - section 4.4</A> 
+     * <A HREF="http://tools.ietf.org/wg/secsh/draft-ietf-secsh-filexfer/draft-ietf-secsh-filexfer-09.txt">DRAFT 09 - section 4.4</A>
+     *
      * @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
      */
     public static class VendorId {
+        // CHECKSTYLE:OFF
         public String vendorName;
         public String productName;
         public String productVersion;
         public long productBuildNumber;
+        // CHECKSTYLE:ON
 
         @Override
         public String toString() {
@@ -48,7 +51,7 @@ public class VendorIdParser extends AbstractParser<VendorId> {
     public static final VendorIdParser INSTANCE = new VendorIdParser();
 
     public VendorIdParser() {
-        super(SftpConstants.EXT_VENDORID);
+        super(SftpConstants.EXT_VENDOR_ID);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/17f2d627/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/VersionsParser.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/VersionsParser.java b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/VersionsParser.java
index bb720ef..7dc0107 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/VersionsParser.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/VersionsParser.java
@@ -35,25 +35,28 @@ public class VersionsParser extends AbstractParser<Versions> {
     /**
      * The &quot;versions&quot; extension data as per
      * <A HREF="http://tools.ietf.org/wg/secsh/draft-ietf-secsh-filexfer/draft-ietf-secsh-filexfer-09.txt">DRAFT 09 Section 4.6</A>
+     *
      * @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
      */
     public static class Versions {
         public static final char SEP = ',';
 
+        // CHECKSTYLE:OFF
         public Collection<String> versions;
+        // CHECKSTYLE:ON
 
         @Override
         public String toString() {
             return GenericUtils.join(versions, ',');
         }
     }
-    
+
     public static final VersionsParser INSTANCE = new VersionsParser();
 
     public VersionsParser() {
         super(SftpConstants.EXT_VERSIONS);
     }
-    
+
     @Override
     public Versions parse(byte[] input, int offset, int len) {
         return parse(new String(input, offset, len, StandardCharsets.UTF_8));
@@ -63,8 +66,8 @@ public class VersionsParser extends AbstractParser<Versions> {
         String[] comps = GenericUtils.split(value, Versions.SEP);
         Versions v = new Versions();
         v.versions = GenericUtils.isEmpty(comps)
-                    ? Collections.<String>emptyList()
-                    : Arrays.asList(comps);
+                ? Collections.<String>emptyList()
+                : Arrays.asList(comps);
         return v;
     }
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/17f2d627/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/AbstractOpenSSHExtensionParser.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/AbstractOpenSSHExtensionParser.java b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/AbstractOpenSSHExtensionParser.java
index d408e3b..182c5d4 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/AbstractOpenSSHExtensionParser.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/AbstractOpenSSHExtensionParser.java
@@ -25,11 +25,11 @@ import java.util.Objects;
 import org.apache.sshd.common.NamedResource;
 import org.apache.sshd.common.subsystem.sftp.extensions.AbstractParser;
 import org.apache.sshd.common.subsystem.sftp.extensions.openssh.AbstractOpenSSHExtensionParser.OpenSSHExtension;
-import org.apache.sshd.common.util.GenericUtils;
 import org.apache.sshd.common.util.ValidateUtils;
 
 /**
  * Base class for various {@code XXX@openssh.com} extension data reports
+ *
  * @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
  */
 public abstract class AbstractOpenSSHExtensionParser extends AbstractParser<OpenSSHExtension> {
@@ -75,21 +75,17 @@ public abstract class AbstractOpenSSHExtensionParser extends AbstractParser<Open
             if (getClass() != obj.getClass()) {
                 return false;
             }
-            
+
             OpenSSHExtension other = (OpenSSHExtension) obj;
-            if (Objects.equals(getName(), other.getName())
-             && Objects.equals(getVersion(), other.getVersion())) {
-                return true;
-            } else {
-                return false;
-            }
+            return Objects.equals(getName(), other.getName())
+                    && Objects.equals(getVersion(), other.getVersion());
         }
 
         @Override
         public OpenSSHExtension clone() {
             try {
                 return getClass().cast(super.clone());
-            } catch(CloneNotSupportedException e) {
+            } catch (CloneNotSupportedException e) {
                 throw new RuntimeException("Unexpected clone exception " + toString() + ": " + e.getMessage());
             }
         }
@@ -99,7 +95,7 @@ public abstract class AbstractOpenSSHExtensionParser extends AbstractParser<Open
             return getName() + " " + getVersion();
         }
     }
-    
+
     protected AbstractOpenSSHExtensionParser(String name) {
         super(name);
     }
@@ -108,7 +104,7 @@ public abstract class AbstractOpenSSHExtensionParser extends AbstractParser<Open
     public OpenSSHExtension parse(byte[] input, int offset, int len) {
         return parse(new String(input, offset, len, StandardCharsets.UTF_8));
     }
-    
+
     public OpenSSHExtension parse(String version) {
         return new OpenSSHExtension(getName(), version);
     }