[prev in list] [next in list] [prev in thread] [next in thread]
List: mina-commits
Subject: [mina-sshd] 02/02: Fix some SonarLint findings
From: twolf () apache ! org
Date: 2022-10-30 20:58:14
Message-ID: 20221030205812.73A93440185 () gitbox2-he-fi ! apache ! org
[Download RAW message or body]
This is an automated email from the ASF dual-hosted git repository.
twolf pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mina-sshd.git
commit b19a3ed0bfe9b933463307278db5632ab2602b70
Author: Thomas Wolf <twolf@apache.org>
AuthorDate: Sun Oct 30 18:57:08 2022 +0100
Fix some SonarLint findings
Simple ones:
- Logging statements: use placeholders, not string concatenation
- Abstract classes: use protected, not public, constructors
- Some simplified lambdas
- Some simplified exception catching
- Use StringBuilder instead of StringBuffer
- Use BigInteger.valueOf() instead of new BigInteger()
- Use "byte[] buf" instead of "byte buf[]"
There are still a lot of more findings some of them worrying, such as
throwing exceptions in finally blocks, or catching Error or Throwable
in several places, or others.
---
.../sshd/cli/client/SshClientCliSupport.java | 10 +-
.../sshd/cli/server/SshServerCliSupport.java | 3 +-
.../server/helper/ServerEventListenerHelper.java | 2 +-
.../helper/ServerPortForwardingEventListener.java | 6 +-
.../auth/hostbased/HostKeyIdentityProvider.java | 2 +-
.../client/config/hosts/KnownHostHashValue.java | 5 +-
.../config/keys/ClientIdentitiesWatcher.java | 2 +-
.../config/keys/ClientIdentityFileWatcher.java | 4 +-
.../client/config/keys/ClientIdentityProvider.java | 6 +-
.../config/keys/LazyClientIdentityIterator.java | 23 ++-
.../org/apache/sshd/common/channel/PtyMode.java | 13 +-
.../sshd/common/config/VersionProperties.java | 4 +-
.../apache/sshd/common/config/keys/KeyUtils.java | 2 +-
.../keys/impl/AbstractPublicKeyEntryDecoder.java | 2 +-
.../openssh/OpenSSHDSSPrivateKeyEntryDecoder.java | 11 +-
.../OpenSSHECDSAPrivateKeyEntryDecoder.java | 7 +-
.../openssh/OpenSSHRSAPrivateKeyDecoder.java | 14 +-
.../sshd/common/file/util/BaseFileSystem.java | 2 +-
.../org/apache/sshd/common/file/util/BasePath.java | 2 +-
.../sshd/common/io/AbstractIoWriteFuture.java | 8 +
.../AbstractResourceKeyPairProvider.java | 8 +-
.../common/keyprovider/KeyIdentityProvider.java | 2 +-
.../common/keyprovider/MappedKeyPairProvider.java | 4 +-
.../java/org/apache/sshd/common/mac/BaseMac.java | 2 +-
.../sshd/common/signature/AbstractSignature.java | 2 +-
.../apache/sshd/common/signature/SignatureDSA.java | 2 +-
.../apache/sshd/common/util/ExceptionUtils.java | 5 +-
.../org/apache/sshd/common/util/GenericUtils.java | 6 +-
.../org/apache/sshd/common/util/SelectorUtils.java | 14 --
.../org/apache/sshd/common/util/ValidateUtils.java | 20 +--
.../common/util/closeable/FuturesCloseable.java | 4 +-
.../common/util/closeable/ParallelCloseable.java | 4 +-
.../sshd/common/util/io/PathScanningMatcher.java | 2 +-
.../sshd/common/util/security/SecurityUtils.java | 4 +-
.../security/bouncycastle/BouncyCastleRandom.java | 2 +-
.../security/eddsa/EdDSASecurityProviderUtils.java | 8 +-
.../util/security/eddsa/SignatureEd25519.java | 2 +-
.../sshd/common/util/threads/ThreadUtils.java | 2 +-
.../AbstractGeneratorHostKeyProvider.java | 8 +-
.../keys/BuiltinClientIdentitiesWatcherTest.java | 2 +-
.../openssh/OpenSSHKeyPairResourceWriterTest.java | 4 -
.../sshd/util/test/CommonTestSupportUtils.java | 4 +-
.../throttle/ThrottlingChannelStreamWriter.java | 2 +-
.../contrib/common/signature/LegacyDSASigner.java | 2 +-
.../sshd/agent/common/AbstractAgentProxy.java | 2 +-
.../apache/sshd/agent/local/AgentServerProxy.java | 6 +-
.../org/apache/sshd/agent/unix/AgentServer.java | 2 +-
.../apache/sshd/agent/unix/AgentServerProxy.java | 2 +-
.../org/apache/sshd/agent/unix/AprLibrary.java | 8 +-
.../sshd/agent/unix/ChannelAgentForwarding.java | 2 +-
.../sshd/client/future/DefaultConnectFuture.java | 2 +-
.../sshd/common/channel/AbstractChannel.java | 22 +--
.../common/channel/BufferedIoOutputStream.java | 16 +-
.../common/channel/ChannelAsyncInputStream.java | 4 +-
.../sshd/common/forward/DefaultForwarder.java | 173 +++++++--------------
.../io/BuiltinIoServiceFactoryFactories.java | 8 +-
.../common/io/DefaultIoServiceFactoryFactory.java | 3 +-
.../apache/sshd/common/io/nio2/Nio2Service.java | 6 +-
.../sshd/common/kex/dh/AbstractDHKeyExchange.java | 4 +-
.../session/helpers/AbstractConnectionService.java | 6 +-
.../common/session/helpers/AbstractSession.java | 12 +-
.../session/helpers/AbstractSessionIoHandler.java | 6 +-
.../session/helpers/KeyExchangeMessageHandler.java | 6 +-
.../java/org/apache/sshd/server/SshServer.java | 4 +-
.../sshd/server/auth/AsyncAuthException.java | 2 +-
.../apache/sshd/server/auth/gss/UserAuthGSS.java | 2 +-
...AuthorizedKeyEntriesPublickeyAuthenticator.java | 6 +-
.../auth/pubkey/KeySetPublickeyAuthenticator.java | 4 +-
.../sshd/server/channel/PuttyRequestHandler.java | 6 +-
.../server/command/AbstractCommandSupport.java | 6 +-
.../server/command/AbstractFileSystemCommand.java | 2 +-
.../sshd/server/forward/DirectTcpipFactory.java | 2 +-
.../sshd/server/forward/ForwardedTcpipFactory.java | 2 +-
.../forward/StaticDecisionForwardingFilter.java | 2 +-
.../sshd/server/forward/TcpipServerChannel.java | 15 +-
.../sshd/server/session/ServerUserAuthService.java | 6 +-
.../channel/ChannelPipedInputStreamTest.java | 2 +-
.../org/apache/sshd/git/AbstractGitCommand.java | 2 -
.../org/apache/sshd/git/pack/GitPackCommand.java | 4 +-
.../org/apache/sshd/git/pgm/GitPgmCommand.java | 1 -
.../sshd/openpgp/PGPAuthorizedEntriesTracker.java | 2 +-
.../sshd/openpgp/PGPKeyPairResourceParser.java | 3 -
.../sshd/scp/client/AbstractScpClientCreator.java | 2 +-
.../java/org/apache/sshd/scp/common/ScpHelper.java | 4 +-
.../helpers/LocalFileScpTargetStreamResolver.java | 10 +-
.../apache/sshd/scp/common/helpers/ScpIoUtils.java | 12 +-
.../apache/sshd/scp/server/InputStreamReader.java | 22 +--
.../helpers/AbstractSftpClientExtension.java | 2 +-
.../sftp/client/fs/SftpClientDirectoryScanner.java | 2 +-
.../sftp/client/fs/SftpFileSystemProvider.java | 4 +-
.../sftp/client/fs/SftpPathDirectoryScanner.java | 2 +-
.../sshd/sftp/client/impl/DefaultSftpClient.java | 2 +-
.../sftp/client/impl/SftpDirEntryIterator.java | 2 +-
.../sftp/client/impl/SftpInputStreamAsync.java | 4 +-
.../sftp/client/impl/SftpOutputStreamAsync.java | 2 +-
.../org/apache/sshd/sftp/common/SftpHelper.java | 8 +-
.../server/AbstractSftpEventListenerAdapter.java | 76 ++++-----
.../sftp/server/AbstractSftpSubsystemHelper.java | 50 +++---
.../org/apache/sshd/sftp/server/SftpSubsystem.java | 11 +-
.../common/SftpUniversalOwnerAndGroupTest.java | 2 +-
.../integration/ApacheSshdSftpSessionFactory.java | 37 ++---
101 files changed, 334 insertions(+), 526 deletions(-)
diff --git a/sshd-cli/src/main/java/org/apache/sshd/cli/client/SshClientCliSupport.java \
b/sshd-cli/src/main/java/org/apache/sshd/cli/client/SshClientCliSupport.java index \
82f87d8c4..204e70743 100644
--- a/sshd-cli/src/main/java/org/apache/sshd/cli/client/SshClientCliSupport.java
+++ b/sshd-cli/src/main/java/org/apache/sshd/cli/client/SshClientCliSupport.java
@@ -695,10 +695,10 @@ public abstract class SshClientCliSupport extends CliSupport {
fh.setLevel(Level.FINEST);
fh.setFormatter(new Formatter() {
@Override
- public String format(LogRecord record) {
- String message = formatMessage(record);
+ public String format(LogRecord logRecord) {
+ String message = formatMessage(logRecord);
String throwable = "";
- Throwable t = record.getThrown();
+ Throwable t = logRecord.getThrown();
if (t != null) {
StringWriter sw = new StringWriter();
try (PrintWriter pw = new PrintWriter(sw)) {
@@ -708,8 +708,8 @@ public abstract class SshClientCliSupport extends CliSupport {
throwable = sw.toString();
}
return String.format("%1$tY-%1$tm-%1$td: %2$-7.7s: %3$-32.32s: \
%4$s%5$s%n",
- new Date(record.getMillis()), record.getLevel().getName(),
- record.getLoggerName(), message, throwable);
+ new Date(logRecord.getMillis()), \
logRecord.getLevel().getName(), + logRecord.getLoggerName(), \
message, throwable); }
});
diff --git a/sshd-cli/src/main/java/org/apache/sshd/cli/server/SshServerCliSupport.java \
b/sshd-cli/src/main/java/org/apache/sshd/cli/server/SshServerCliSupport.java index \
d5ec09c33..cbd01e013 100644
--- a/sshd-cli/src/main/java/org/apache/sshd/cli/server/SshServerCliSupport.java
+++ b/sshd-cli/src/main/java/org/apache/sshd/cli/server/SshServerCliSupport.java
@@ -225,8 +225,7 @@ public abstract class SshServerCliSupport extends CliSupport {
continue;
}
- factory = registerSubsystemFactoryListeners(
- server, level, stdout, stderr, options, factory);
+ registerSubsystemFactoryListeners(server, level, stdout, stderr, \
options, factory); subsystems.add(factory);
}
diff --git a/sshd-cli/src/main/java/org/apache/sshd/cli/server/helper/ServerEventListenerHelper.java \
b/sshd-cli/src/main/java/org/apache/sshd/cli/server/helper/ServerEventListenerHelper.java
index b79bccdff..264bb2b9b 100644
--- a/sshd-cli/src/main/java/org/apache/sshd/cli/server/helper/ServerEventListenerHelper.java
+++ b/sshd-cli/src/main/java/org/apache/sshd/cli/server/helper/ServerEventListenerHelper.java
@@ -26,7 +26,7 @@ import org.slf4j.Logger;
public abstract class ServerEventListenerHelper extends AbstractLoggingBean \
implements NamedResource { private final String name;
- public ServerEventListenerHelper(String name, Logger logger) {
+ protected ServerEventListenerHelper(String name, Logger logger) {
super(logger);
this.name = name;
diff --git a/sshd-cli/src/main/java/org/apache/sshd/cli/server/helper/ServerPortForwardingEventListener.java \
b/sshd-cli/src/main/java/org/apache/sshd/cli/server/helper/ServerPortForwardingEventListener.java
index cdcd97617..78f5045b3 100644
--- a/sshd-cli/src/main/java/org/apache/sshd/cli/server/helper/ServerPortForwardingEventListener.java
+++ b/sshd-cli/src/main/java/org/apache/sshd/cli/server/helper/ServerPortForwardingEventListener.java
@@ -72,10 +72,10 @@ public class ServerPortForwardingEventListener extends \
ServerEventListenerHelper throws IOException {
if (reason == null) {
if (log.isInfoEnabled()) {
- log.info("Estalibshed dynamic tunnel for session={}: local={}, \
bound={}", session, local, boundAddress); + log.info("Estalibshed \
dynamic tunnel for session={}: local={} bound={}", session, local, boundAddress); }
} else {
- log.error("Failed ({}) to establish dynamic tunnel for session={}, \
bound={}: {}", + log.error("Failed ({}) to establish dynamic tunnel for \
session={}: local={} bound={}: {}",
reason.getClass().getSimpleName(), session, local, boundAddress, \
reason.getMessage()); }
}
@@ -86,7 +86,7 @@ public class ServerPortForwardingEventListener extends \
ServerEventListenerHelper throws IOException {
if (reason == null) {
if (log.isInfoEnabled()) {
- log.info("Torn down dynamic tunnel for session={}: address={}", \
session); + log.info("Torn down dynamic tunnel for session={}: \
address={}", session, address); }
} else {
log.error("Failed ({}) to tear down dynamic tunnel for session={}, \
address={}: {}",
diff --git a/sshd-common/src/main/java/org/apache/sshd/client/auth/hostbased/HostKeyIdentityProvider.java \
b/sshd-common/src/main/java/org/apache/sshd/client/auth/hostbased/HostKeyIdentityProvider.java
index f08a7b7eb..02b1c3fec 100644
--- a/sshd-common/src/main/java/org/apache/sshd/client/auth/hostbased/HostKeyIdentityProvider.java
+++ b/sshd-common/src/main/java/org/apache/sshd/client/auth/hostbased/HostKeyIdentityProvider.java
@@ -58,7 +58,7 @@ public interface HostKeyIdentityProvider {
return wrap(GenericUtils.asList(pairs));
}
- static HostKeyIdentityProvider wrap(Iterable<? extends KeyPair> pairs) {
+ static HostKeyIdentityProvider wrap(Iterable<KeyPair> pairs) {
return session -> GenericUtils.wrapIterable(pairs,
kp -> new SimpleImmutableEntry<>(kp, Collections.<X509Certificate> \
emptyList())); }
diff --git a/sshd-common/src/main/java/org/apache/sshd/client/config/hosts/KnownHostHashValue.java \
b/sshd-common/src/main/java/org/apache/sshd/client/config/hosts/KnownHostHashValue.java
index 4831541f2..2e6bb7436 100644
--- a/sshd-common/src/main/java/org/apache/sshd/client/config/hosts/KnownHostHashValue.java
+++ b/sshd-common/src/main/java/org/apache/sshd/client/config/hosts/KnownHostHashValue.java
@@ -96,10 +96,9 @@ public class KnownHostHashValue {
byte[] expected = getDigestValue();
byte[] actual = calculateHashValue(host, port, getDigester(), \
getSaltValue()); return Arrays.equals(expected, actual);
+ } catch (RuntimeException e) {
+ throw e;
} catch (Throwable t) {
- if (t instanceof RuntimeException) {
- throw (RuntimeException) t;
- }
throw new RuntimeSshException(
"Failed (" + t.getClass().getSimpleName() + ")" + " to calculate \
hash value: " + t.getMessage(), t); }
diff --git a/sshd-common/src/main/java/org/apache/sshd/client/config/keys/ClientIdentitiesWatcher.java \
b/sshd-common/src/main/java/org/apache/sshd/client/config/keys/ClientIdentitiesWatcher.java
index ea21386ca..75c587a16 100644
--- a/sshd-common/src/main/java/org/apache/sshd/client/config/keys/ClientIdentitiesWatcher.java
+++ b/sshd-common/src/main/java/org/apache/sshd/client/config/keys/ClientIdentitiesWatcher.java
@@ -74,7 +74,7 @@ public class ClientIdentitiesWatcher extends \
AbstractKeyPairProvider implements return loadKeys(session, null);
}
- protected Iterable<KeyPair> loadKeys(SessionContext session, Predicate<? super \
KeyPair> filter) { + protected Iterable<KeyPair> loadKeys(SessionContext session, \
Predicate<KeyPair> filter) {
return ClientIdentityProvider.lazyKeysLoader(providers, p -> \
doGetKeyPairs(session, p), filter); }
diff --git a/sshd-common/src/main/java/org/apache/sshd/client/config/keys/ClientIdentityFileWatcher.java \
b/sshd-common/src/main/java/org/apache/sshd/client/config/keys/ClientIdentityFileWatcher.java
index 7324362eb..784ce2bd3 100644
--- a/sshd-common/src/main/java/org/apache/sshd/client/config/keys/ClientIdentityFileWatcher.java
+++ b/sshd-common/src/main/java/org/apache/sshd/client/config/keys/ClientIdentityFileWatcher.java
@@ -94,13 +94,13 @@ public class ClientIdentityFileWatcher
return identitiesHolder.get();
}
- Iterable<KeyPair> kp = identitiesHolder.getAndSet(null); // start fresh
+ identitiesHolder.set(null); // start fresh
Path path = getPath();
if (!exists()) {
return identitiesHolder.get();
}
- kp = reloadClientIdentities(session, path);
+ Iterable<KeyPair> kp = reloadClientIdentities(session, path);
updateReloadAttributes();
identitiesHolder.set(kp);
return kp;
diff --git a/sshd-common/src/main/java/org/apache/sshd/client/config/keys/ClientIdentityProvider.java \
b/sshd-common/src/main/java/org/apache/sshd/client/config/keys/ClientIdentityProvider.java
index 1a8fe6128..51a5ce207 100644
--- a/sshd-common/src/main/java/org/apache/sshd/client/config/keys/ClientIdentityProvider.java
+++ b/sshd-common/src/main/java/org/apache/sshd/client/config/keys/ClientIdentityProvider.java
@@ -79,8 +79,7 @@ public interface ClientIdentityProvider {
*/
static Iterable<KeyPair> lazyKeysLoader(
Iterable<? extends ClientIdentityProvider> providers,
- Function<? super ClientIdentityProvider, ? extends Iterable<? extends \
KeyPair>> kpExtractor,
- Predicate<? super KeyPair> filter) {
+ Function<? super ClientIdentityProvider, ? extends Iterable<KeyPair>> \
kpExtractor, Predicate<KeyPair> filter) {
Objects.requireNonNull(kpExtractor, "No key pair extractor provided");
if (providers == null) {
return Collections.emptyList();
@@ -114,8 +113,7 @@ public interface ClientIdentityProvider {
*/
static Iterator<KeyPair> lazyKeysIterator(
Iterator<? extends ClientIdentityProvider> providers,
- Function<? super ClientIdentityProvider, ? extends Iterable<? extends \
KeyPair>> kpExtractor,
- Predicate<? super KeyPair> filter) {
+ Function<? super ClientIdentityProvider, ? extends Iterable<KeyPair>> \
kpExtractor, Predicate<KeyPair> filter) {
Objects.requireNonNull(kpExtractor, "No key pair extractor provided");
return (providers == null)
? Collections.emptyIterator()
diff --git a/sshd-common/src/main/java/org/apache/sshd/client/config/keys/LazyClientIdentityIterator.java \
b/sshd-common/src/main/java/org/apache/sshd/client/config/keys/LazyClientIdentityIterator.java
index aaa19e2e3..df0e8fe90 100644
--- a/sshd-common/src/main/java/org/apache/sshd/client/config/keys/LazyClientIdentityIterator.java
+++ b/sshd-common/src/main/java/org/apache/sshd/client/config/keys/LazyClientIdentityIterator.java
@@ -37,12 +37,12 @@ import org.apache.sshd.common.keyprovider.KeyIdentityProvider;
*/
public class LazyClientIdentityIterator implements Iterator<KeyPair> {
protected boolean finished;
- protected Iterator<? extends KeyPair> currentIdentities;
+ protected Iterator<KeyPair> currentIdentities;
protected KeyPair currentPair;
private final Iterator<? extends ClientIdentityProvider> providers;
- private final Function<? super ClientIdentityProvider, ? extends Iterable<? \
extends KeyPair>> kpExtractor;
- private final Predicate<? super KeyPair> filter;
+ private final Function<? super ClientIdentityProvider, ? extends \
Iterable<KeyPair>> kpExtractor; + private final Predicate<KeyPair> filter;
/**
* @param providers The providers - ignored if {@code null}
@@ -52,10 +52,9 @@ public class LazyClientIdentityIterator implements \
Iterator<KeyPair> {
* @param filter Any further filter to apply on (non-{@code null}) key \
pairs before returning it as the
* {@link Iterator#next()} result.
*/
- public LazyClientIdentityIterator(
- Iterator<? extends ClientIdentityProvider> \
providers,
- Function<? super ClientIdentityProvider, ? \
extends Iterable<? extends KeyPair>> kpExtractor,
- Predicate<? super KeyPair> filter) {
+ public LazyClientIdentityIterator(Iterator<? extends ClientIdentityProvider> \
providers, + Function<? super \
ClientIdentityProvider, ? extends Iterable<KeyPair>> kpExtractor, + \
Predicate<KeyPair> filter) { this.providers = providers;
this.kpExtractor = Objects.requireNonNull(kpExtractor, "No key pair \
extractor provided"); this.filter = filter;
@@ -65,11 +64,11 @@ public class LazyClientIdentityIterator implements \
Iterator<KeyPair> { return providers;
}
- public Function<? super ClientIdentityProvider, ? extends Iterable<? extends \
KeyPair>> getIdentitiesExtractor() { + public Function<? super \
ClientIdentityProvider, ? extends Iterable<KeyPair>> getIdentitiesExtractor() { \
return kpExtractor; }
- public Predicate<? super KeyPair> getFilter() {
+ public Predicate<KeyPair> getFilter() {
return filter;
}
@@ -90,15 +89,15 @@ public class LazyClientIdentityIterator implements \
Iterator<KeyPair> { return true;
}
- Function<? super ClientIdentityProvider, ? extends Iterable<? extends \
KeyPair>> x = getIdentitiesExtractor();
- Predicate<? super KeyPair> f = getFilter();
+ Function<? super ClientIdentityProvider, ? extends Iterable<KeyPair>> x = \
getIdentitiesExtractor(); + Predicate<KeyPair> f = getFilter();
while (provs.hasNext()) {
ClientIdentityProvider p = provs.next();
if (p == null) {
continue;
}
- Iterable<? extends KeyPair> ids = x.apply(p);
+ Iterable<KeyPair> ids = x.apply(p);
currentIdentities = (ids == null) ? null : ids.iterator();
currentPair = \
KeyIdentityProvider.exhaustCurrentIdentities(currentIdentities); if (currentPair == \
null) {
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/channel/PtyMode.java \
b/sshd-common/src/main/java/org/apache/sshd/common/channel/PtyMode.java index \
0f0a1a244..17335834d 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/channel/PtyMode.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/channel/PtyMode.java
@@ -301,20 +301,17 @@ public enum PtyMode {
* A {@code null}-safe {@link ToIntFunction} that returns the {@link \
PtyMode#toInt()} value and (-1) for
* {@code null}
*/
- public static final ToIntFunction<PtyMode> OPCODE_EXTRACTOR = v -> (v == null) ? \
-1 : v.toInt(); + public static final ToIntFunction<PtyMode> OPCODE_EXTRACTOR = op \
-> (op == null) ? -1 : op.toInt();
/**
* A {@code null}-safe {@link Comparator} of {@link PtyMode} values according to \
their {@link PtyMode#toInt()} value
*
* @see #OPCODE_EXTRACTOR
*/
- public static final Comparator<PtyMode> BY_OPCODE = new Comparator<PtyMode>() {
- @Override
- public int compare(PtyMode o1, PtyMode o2) {
- int v1 = OPCODE_EXTRACTOR.applyAsInt(o1);
- int v2 = OPCODE_EXTRACTOR.applyAsInt(o2);
- return Integer.compare(v1, v2);
- }
+ public static final Comparator<PtyMode> BY_OPCODE = (o1, o2) -> {
+ int v1 = OPCODE_EXTRACTOR.applyAsInt(o1);
+ int v2 = OPCODE_EXTRACTOR.applyAsInt(o2);
+ return Integer.compare(v1, v2);
};
private final int v;
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/config/VersionProperties.java \
b/sshd-common/src/main/java/org/apache/sshd/common/config/VersionProperties.java \
index 916057f83..296e70d74 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/config/VersionProperties.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/config/VersionProperties.java
@@ -69,7 +69,7 @@ public final class VersionProperties {
log.warn("Failed ({}) to load version properties from {}: {}",
e.getClass().getSimpleName(), cl, e.getMessage());
if (log.isDebugEnabled()) {
- log.debug("Version property failure details for loader=" + \
cl, e); + log.debug("Version property failure details for \
loader={}", cl, e); }
continue;
}
@@ -85,7 +85,7 @@ public final class VersionProperties {
String prev = result.put(key, value);
if (prev != null) {
Logger log = LoggerFactory.getLogger(anchor);
- log.warn("Multiple values for key=" + key + ": current=" + \
value + ", previous=" + prev); + log.warn("Multiple values for \
key={}: current={}, previous={}", key, value, prev); }
}
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/config/keys/KeyUtils.java \
b/sshd-common/src/main/java/org/apache/sshd/common/config/keys/KeyUtils.java index \
e9ad39e41..ac8bf3f1f 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/config/keys/KeyUtils.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/config/keys/KeyUtils.java
@@ -103,7 +103,7 @@ public final class KeyUtils {
/**
* The most commonly used RSA public key exponent
*/
- public static final BigInteger DEFAULT_RSA_PUBLIC_EXPONENT = new \
BigInteger("65537"); + public static final BigInteger DEFAULT_RSA_PUBLIC_EXPONENT \
= BigInteger.valueOf(65537);
/**
* Name of algorithm for DSS keys to be used when calling security provider
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/config/keys/impl/AbstractPublicKeyEntryDecoder.java \
b/sshd-common/src/main/java/org/apache/sshd/common/config/keys/impl/AbstractPublicKeyEntryDecoder.java
index f0ebec6dd..71bbe8b3e 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/config/keys/impl/AbstractPublicKeyEntryDecoder.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/config/keys/impl/AbstractPublicKeyEntryDecoder.java
@@ -51,7 +51,7 @@ public abstract class AbstractPublicKeyEntryDecoder<PUB extends \
PublicKey, PRV e try {
boolVal = PropertyResolverUtils.parseBoolean(stringVal);
} catch (IllegalArgumentException e) {
- log.warn("Ignoring non-boolean property value for \"" + propertyKey + \
"\": " + stringVal); + log.warn("Ignoring non-boolean property value for \
\"{}\": {}", propertyKey, stringVal); boolVal = null;
}
if (boolVal == null) {
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHDSSPrivateKeyEntryDecoder.java \
b/sshd-common/src/main/java/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHDSSPrivateKeyEntryDecoder.java
index 074a52236..32d4c3d58 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHDSSPrivateKeyEntryDecoder.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHDSSPrivateKeyEntryDecoder.java
@@ -70,16 +70,7 @@ public class OpenSSHDSSPrivateKeyEntryDecoder extends \
AbstractPrivateKeyEntryDec
Objects.requireNonNull(y, "No public key data"); // TODO run some validation \
on it BigInteger x = KeyEntryResolver.decodeBigInt(keyData);
- try {
- return generatePrivateKey(new DSAPrivateKeySpec(x, p, q, g));
- } finally {
- // get rid of sensitive data a.s.a.p
- p = null;
- q = null;
- g = null;
- y = null;
- x = null;
- }
+ return generatePrivateKey(new DSAPrivateKeySpec(x, p, q, g));
}
@Override
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHECDSAPrivateKeyEntryDecoder.java \
b/sshd-common/src/main/java/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHECDSAPrivateKeyEntryDecoder.java
index 3535fe76f..0a5669695 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHECDSAPrivateKeyEntryDecoder.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHECDSAPrivateKeyEntryDecoder.java
@@ -81,12 +81,7 @@ public class OpenSSHECDSAPrivateKeyEntryDecoder extends \
AbstractPrivateKeyEntryD
Objects.requireNonNull(pubKey, "No public point"); // TODO validate it is a \
valid ECPoint BigInteger s = KeyEntryResolver.decodeBigInt(keyData);
ECParameterSpec params = curve.getParameters();
- try {
- return generatePrivateKey(new ECPrivateKeySpec(s, params));
- } finally {
- // get rid of sensitive data a.s.a.p
- s = null;
- }
+ return generatePrivateKey(new ECPrivateKeySpec(s, params));
}
@Override
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHRSAPrivateKeyDecoder.java \
b/sshd-common/src/main/java/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHRSAPrivateKeyDecoder.java
index 1df1d52fb..34ff03e71 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHRSAPrivateKeyDecoder.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/config/keys/loader/openssh/OpenSSHRSAPrivateKeyDecoder.java
@@ -48,7 +48,7 @@ import org.apache.sshd.common.util.security.SecurityUtils;
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
public class OpenSSHRSAPrivateKeyDecoder extends \
AbstractPrivateKeyEntryDecoder<RSAPublicKey, RSAPrivateKey> {
- public static final BigInteger DEFAULT_PUBLIC_EXPONENT = new \
BigInteger("65537"); + public static final BigInteger DEFAULT_PUBLIC_EXPONENT = \
KeyUtils.DEFAULT_RSA_PUBLIC_EXPONENT;
public static final OpenSSHRSAPrivateKeyDecoder INSTANCE = new \
OpenSSHRSAPrivateKeyDecoder();
public OpenSSHRSAPrivateKeyDecoder() {
@@ -79,16 +79,8 @@ public class OpenSSHRSAPrivateKeyDecoder extends \
AbstractPrivateKeyEntryDecoder< if (!Objects.equals(n, modulus)) {
log.warn("decodePrivateKey({}) mismatched modulus values: encoded={}, \
calculated={}", keyType, n, modulus); }
- try {
- return generatePrivateKey(new RSAPrivateCrtKeySpec(
- n, e, d, p, q, d.mod(p.subtract(BigInteger.ONE)), \
d.mod(q.subtract(BigInteger.ONE)), inverseQmodP));
- } finally {
- // get rid of sensitive data a.s.a.p
- d = null;
- inverseQmodP = null;
- p = null;
- q = null;
- }
+ return generatePrivateKey(new RSAPrivateCrtKeySpec(n, e, d, p, q, \
d.mod(p.subtract(BigInteger.ONE)), + \
d.mod(q.subtract(BigInteger.ONE)), inverseQmodP)); }
@Override
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/file/util/BaseFileSystem.java \
b/sshd-common/src/main/java/org/apache/sshd/common/file/util/BaseFileSystem.java \
index 08e2332c3..a5d099e8c 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/file/util/BaseFileSystem.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/file/util/BaseFileSystem.java
@@ -41,7 +41,7 @@ public abstract class BaseFileSystem<T extends Path> extends \
FileSystem { protected final Logger log;
private final FileSystemProvider fileSystemProvider;
- public BaseFileSystem(FileSystemProvider fileSystemProvider) {
+ protected BaseFileSystem(FileSystemProvider fileSystemProvider) {
this.log = LoggerFactory.getLogger(getClass());
this.fileSystemProvider = Objects.requireNonNull(fileSystemProvider, "No \
file system provider"); }
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/file/util/BasePath.java \
b/sshd-common/src/main/java/org/apache/sshd/common/file/util/BasePath.java index \
021ffcd45..9fe527172 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/file/util/BasePath.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/file/util/BasePath.java
@@ -47,7 +47,7 @@ public abstract class BasePath<T extends BasePath<T, FS>, FS \
extends BaseFileSys private String strValue;
private int hashValue;
- public BasePath(FS fileSystem, String root, List<String> names) {
+ protected BasePath(FS fileSystem, String root, List<String> names) {
this.fileSystem = Objects.requireNonNull(fileSystem, "No file system \
provided"); this.root = root;
this.names = names;
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/io/AbstractIoWriteFuture.java \
b/sshd-common/src/main/java/org/apache/sshd/common/io/AbstractIoWriteFuture.java \
index efd090348..764cfa704 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/io/AbstractIoWriteFuture.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/io/AbstractIoWriteFuture.java
@@ -20,6 +20,7 @@
package org.apache.sshd.common.io;
import java.io.IOException;
+import java.util.Objects;
import org.apache.sshd.common.SshException;
import org.apache.sshd.common.future.DefaultVerifiableSshFuture;
@@ -62,4 +63,11 @@ public abstract class AbstractIoWriteFuture
return null;
}
}
+
+ public static IoWriteFuture fulfilled(Object id, Object value) {
+ AbstractIoWriteFuture result = new AbstractIoWriteFuture(id, null) {
+ };
+ result.setValue(Objects.requireNonNull(value));
+ return result;
+ }
}
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/keyprovider/AbstractResourceKeyPairProvider.java \
b/sshd-common/src/main/java/org/apache/sshd/common/keyprovider/AbstractResourceKeyPairProvider.java
index 22f17bc6b..09c863b89 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/keyprovider/AbstractResourceKeyPairProvider.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/keyprovider/AbstractResourceKeyPairProvider.java
@@ -105,7 +105,7 @@ public abstract class AbstractResourceKeyPairProvider<R> extends \
AbstractKeyPair }
if (log.isDebugEnabled()) {
- log.debug("resetCacheMap(" + resources + ") removed previous cached keys \
for " + toDelete); + log.debug("resetCacheMap({}) removed previous cached \
keys for {}", resources, toDelete); }
}
@@ -208,10 +208,8 @@ public abstract class AbstractResourceKeyPairProvider<R> extends \
AbstractKeyPair
@Override
public KeyPair next() {
- if (!nextKeyPairSet) {
- if (!setNextObject()) {
- throw new NoSuchElementException("Out of files to try");
- }
+ if (!nextKeyPairSet && !setNextObject()) {
+ throw new NoSuchElementException("Out of files to try");
}
nextKeyPairSet = false;
return nextKeyPair;
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/keyprovider/KeyIdentityProvider.java \
b/sshd-common/src/main/java/org/apache/sshd/common/keyprovider/KeyIdentityProvider.java
index 4e94416ce..4fa3cefa4 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/keyprovider/KeyIdentityProvider.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/keyprovider/KeyIdentityProvider.java
@@ -192,7 +192,7 @@ public interface KeyIdentityProvider {
* @return The first non-{@code null} key pair found in the iterator - \
{@code null} if all elements exhausted
* without such an entry
*/
- static KeyPair exhaustCurrentIdentities(Iterator<? extends KeyPair> ids) {
+ static KeyPair exhaustCurrentIdentities(Iterator<KeyPair> ids) {
while ((ids != null) && ids.hasNext()) {
KeyPair kp = ids.next();
if (kp != null) {
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/keyprovider/MappedKeyPairProvider.java \
b/sshd-common/src/main/java/org/apache/sshd/common/keyprovider/MappedKeyPairProvider.java
index 8b58c2157..578576bbd 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/keyprovider/MappedKeyPairProvider.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/keyprovider/MappedKeyPairProvider.java
@@ -51,7 +51,7 @@ public class MappedKeyPairProvider implements KeyPairProvider {
this(GenericUtils.isEmpty(pairs) ? Collections.emptyList() : \
Arrays.asList(pairs)); }
- public MappedKeyPairProvider(Collection<? extends KeyPair> pairs) {
+ public MappedKeyPairProvider(Collection<KeyPair> pairs) {
this(mapUniquePairs(pairs));
}
@@ -79,7 +79,7 @@ public class MappedKeyPairProvider implements KeyPairProvider {
return String.valueOf(pairsMap.keySet());
}
- public static Map<String, KeyPair> mapUniquePairs(Collection<? extends KeyPair> \
pairs) { + public static Map<String, KeyPair> mapUniquePairs(Collection<KeyPair> \
pairs) { if (GenericUtils.isEmpty(pairs)) {
return Collections.emptyMap();
}
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/mac/BaseMac.java \
b/sshd-common/src/main/java/org/apache/sshd/common/mac/BaseMac.java index \
036d46f17..409d7b500 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/mac/BaseMac.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/mac/BaseMac.java
@@ -88,7 +88,7 @@ public class BaseMac implements Mac {
}
@Override
- public void update(byte buf[], int offset, int len) {
+ public void update(byte[] buf, int offset, int len) {
mac.update(buf, offset, len);
}
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/signature/AbstractSignature.java \
b/sshd-common/src/main/java/org/apache/sshd/common/signature/AbstractSignature.java \
index d1677881c..c687dd723 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/signature/AbstractSignature.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/signature/AbstractSignature.java
@@ -119,7 +119,7 @@ public abstract class AbstractSignature implements Signature {
* data - {@code null} if not encoded
*/
protected Map.Entry<String, byte[]> extractEncodedSignature(byte[] sig, \
Collection<String> expectedTypes) {
- return GenericUtils.isEmpty(expectedTypes) ? null : \
extractEncodedSignature(sig, k -> expectedTypes.contains(k)); + return \
GenericUtils.isEmpty(expectedTypes) ? null : extractEncodedSignature(sig, \
expectedTypes::contains); }
protected Map.Entry<String, byte[]> extractEncodedSignature(byte[] sig, \
Predicate<? super String> typeSelector) {
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/signature/SignatureDSA.java \
b/sshd-common/src/main/java/org/apache/sshd/common/signature/SignatureDSA.java index \
cc48088a4..b5620be43 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/signature/SignatureDSA.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/signature/SignatureDSA.java
@@ -101,7 +101,7 @@ public class SignatureDSA extends AbstractSignature {
if (sigLen != DSA_SIGNATURE_LENGTH) {
// probably some encoded data
- Map.Entry<String, byte[]> encoding = extractEncodedSignature(sig, k -> \
KeyPairProvider.SSH_DSS.equalsIgnoreCase(k)); + Map.Entry<String, byte[]> \
encoding = extractEncodedSignature(sig, KeyPairProvider.SSH_DSS::equalsIgnoreCase); \
if (encoding != null) { String keyType = encoding.getKey();
ValidateUtils.checkTrue(
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/util/ExceptionUtils.java \
b/sshd-common/src/main/java/org/apache/sshd/common/util/ExceptionUtils.java index \
64aae6821..7a1158dcf 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/util/ExceptionUtils.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/util/ExceptionUtils.java
@@ -123,10 +123,7 @@ public final class ExceptionUtils {
return peelException(target);
}
} else if (t instanceof ExecutionException) {
- Throwable wrapped = resolveExceptionCause(t);
- if (wrapped != null) {
- return peelException(wrapped);
- }
+ return peelException(resolveExceptionCause(t));
} else if (t instanceof MBeanException) {
Throwable target = ((MBeanException) t).getTargetException();
if (target != null) {
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/util/GenericUtils.java \
b/sshd-common/src/main/java/org/apache/sshd/common/util/GenericUtils.java index \
445bcbe17..8ca104790 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/util/GenericUtils.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/util/GenericUtils.java
@@ -780,13 +780,13 @@ public final class GenericUtils {
return null;
} else if (it instanceof Deque<?>) { // check before (!) instanceof List \
since LinkedList implements List Deque<? extends T> l = (Deque<? extends T>) it;
- return (l.size() > 0) ? l.getFirst() : null;
+ return !l.isEmpty() ? l.getFirst() : null;
} else if (it instanceof List<?>) {
List<? extends T> l = (List<? extends T>) it;
- return (l.size() > 0) ? l.get(0) : null;
+ return !l.isEmpty() ? l.get(0) : null;
} else if (it instanceof SortedSet<?>) {
SortedSet<? extends T> s = (SortedSet<? extends T>) it;
- return (s.size() > 0) ? s.first() : null;
+ return !s.isEmpty() ? s.first() : null;
} else {
Iterator<? extends T> iter = it.iterator();
return ((iter == null) || (!iter.hasNext())) ? null : iter.next();
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/util/SelectorUtils.java \
b/sshd-common/src/main/java/org/apache/sshd/common/util/SelectorUtils.java index \
3bf04fdcd..b400b7b40 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/util/SelectorUtils.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/util/SelectorUtils.java
@@ -235,8 +235,6 @@ public final class SelectorUtils {
String subDir = strDirs.get(strIdxStart);
if (!match(patDir, subDir, isCaseSensitive)) {
- patDirs = null;
- strDirs = null;
return false;
}
@@ -249,8 +247,6 @@ public final class SelectorUtils {
for (int i = patIdxStart; i <= patIdxEnd; i++) {
String subPat = patDirs.get(i);
if (!subPat.equals("**")) {
- patDirs = null;
- strDirs = null;
return false;
}
}
@@ -258,8 +254,6 @@ public final class SelectorUtils {
} else {
if (patIdxStart > patIdxEnd) {
// String not exhausted, but pattern is. Failure.
- patDirs = null;
- strDirs = null;
return false;
}
}
@@ -273,8 +267,6 @@ public final class SelectorUtils {
String subDir = strDirs.get(strIdxEnd);
if (!match(patDir, subDir, isCaseSensitive)) {
- patDirs = null;
- strDirs = null;
return false;
}
@@ -287,8 +279,6 @@ public final class SelectorUtils {
for (int i = patIdxStart; i <= patIdxEnd; i++) {
String subPat = patDirs.get(i);
if (!subPat.equals("**")) {
- patDirs = null;
- strDirs = null;
return false;
}
}
@@ -328,8 +318,6 @@ public final class SelectorUtils {
}
if (foundIdx == -1) {
- patDirs = null;
- strDirs = null;
return false;
}
@@ -340,8 +328,6 @@ public final class SelectorUtils {
for (int i = patIdxStart; i <= patIdxEnd; i++) {
String subPat = patDirs.get(i);
if (!subPat.equals("**")) {
- patDirs = null;
- strDirs = null;
return false;
}
}
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/util/ValidateUtils.java \
b/sshd-common/src/main/java/org/apache/sshd/common/util/ValidateUtils.java index \
5b3cb3899..7fcde1cc4 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/util/ValidateUtils.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/util/ValidateUtils.java
@@ -70,61 +70,61 @@ public final class ValidateUtils {
}
public static <K, V, M extends Map<K, V>> M checkNotNullAndNotEmpty(M t, String \
message, Object... args) {
- t = checkNotNull(t, message, args);
+ checkNotNull(t, message, args);
checkTrue(MapEntryUtils.size(t) > 0, message, args);
return t;
}
public static <T, C extends Collection<T>> C checkNotNullAndNotEmpty(C t, String \
message, Object... args) {
- t = checkNotNull(t, message, args);
+ checkNotNull(t, message, args);
checkTrue(GenericUtils.size(t) > 0, message, args);
return t;
}
public static <T, C extends Iterable<T>> C checkNotNullAndNotEmpty(C t, String \
message, Object... args) {
- t = checkNotNull(t, message, args);
+ checkNotNull(t, message, args);
checkTrue(GenericUtils.isNotEmpty(t), message, args);
return t;
}
public static byte[] checkNotNullAndNotEmpty(byte[] a, String message) {
- a = checkNotNull(a, message);
+ checkNotNull(a, message);
checkTrue(NumberUtils.length(a) > 0, message);
return a;
}
public static byte[] checkNotNullAndNotEmpty(byte[] a, String message, Object... \
args) {
- a = checkNotNull(a, message, args);
+ checkNotNull(a, message, args);
checkTrue(NumberUtils.length(a) > 0, message, args);
return a;
}
public static char[] checkNotNullAndNotEmpty(char[] a, String message) {
- a = checkNotNull(a, message);
+ checkNotNull(a, message);
checkTrue(GenericUtils.length(a) > 0, message);
return a;
}
public static char[] checkNotNullAndNotEmpty(char[] a, String message, Object... \
args) {
- a = checkNotNull(a, message, args);
+ checkNotNull(a, message, args);
checkTrue(GenericUtils.length(a) > 0, message, args);
return a;
}
public static int[] checkNotNullAndNotEmpty(int[] a, String message) {
- a = checkNotNull(a, message);
+ checkNotNull(a, message);
checkTrue(NumberUtils.length(a) > 0, message);
return a;
}
public static int[] checkNotNullAndNotEmpty(int[] a, String message, Object... \
args) {
- a = checkNotNull(a, message, args);
+ checkNotNull(a, message, args);
checkTrue(NumberUtils.length(a) > 0, message, args);
return a;
}
public static <T> T[] checkNotNullAndNotEmpty(T[] t, String message, Object... \
args) {
- t = checkNotNull(t, message, args);
+ checkNotNull(t, message, args);
checkTrue(GenericUtils.length(t) > 0, message, args);
return t;
}
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/util/closeable/FuturesCloseable.java \
b/sshd-common/src/main/java/org/apache/sshd/common/util/closeable/FuturesCloseable.java
index 202db611f..dd09e7e69 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/util/closeable/FuturesCloseable.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/util/closeable/FuturesCloseable.java
@@ -54,7 +54,7 @@ public class FuturesCloseable<T extends SshFuture> extends \
SimpleCloseable { SshFutureListener<T> listener = f -> {
int pendingCount = count.decrementAndGet();
if (traceEnabled) {
- log.trace("doClose(" + immediately + ") complete pending: " + \
pendingCount); + log.trace("doClose({}) complete pending: {}", \
immediately, pendingCount); }
if (pendingCount == 0) {
future.setClosed();
@@ -65,7 +65,7 @@ public class FuturesCloseable<T extends SshFuture> extends \
SimpleCloseable { if (f != null) {
int pendingCount = count.incrementAndGet();
if (traceEnabled) {
- log.trace("doClose(" + immediately + ") future pending: " + \
pendingCount); + log.trace("doClose({}) future pending: {}", \
immediately, pendingCount); }
f.addListener(listener);
}
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/util/closeable/ParallelCloseable.java \
b/sshd-common/src/main/java/org/apache/sshd/common/util/closeable/ParallelCloseable.java
index 127ea662a..67a142c9e 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/util/closeable/ParallelCloseable.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/util/closeable/ParallelCloseable.java
@@ -46,7 +46,7 @@ public class ParallelCloseable extends SimpleCloseable {
SshFutureListener<CloseFuture> listener = f -> {
int pendingCount = count.decrementAndGet();
if (traceEnabled) {
- log.trace("doClose(" + immediately + ") completed pending: " + \
pendingCount); + log.trace("doClose({}) completed pending: {}", \
immediately, pendingCount); }
if (pendingCount == 0) {
future.setClosed();
@@ -60,7 +60,7 @@ public class ParallelCloseable extends SimpleCloseable {
int pendingCount = count.incrementAndGet();
if (traceEnabled) {
- log.trace("doClose(" + immediately + ") pending closeables: " + \
pendingCount); + log.trace("doClose({}) pending closeables: {}", \
immediately, pendingCount); }
c.close(immediately).addListener(listener);
}
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/util/io/PathScanningMatcher.java \
b/sshd-common/src/main/java/org/apache/sshd/common/util/io/PathScanningMatcher.java \
index 9dcaba473..e828daed6 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/util/io/PathScanningMatcher.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/util/io/PathScanningMatcher.java
@@ -84,7 +84,7 @@ public abstract class PathScanningMatcher {
? Collections.emptyList()
: Collections.unmodifiableList(
includes.stream()
- .map(v -> normalizePattern(v))
+ .map(PathScanningMatcher::normalizePattern)
.collect(Collectors.toCollection(() -> new \
ArrayList<>(includes.size())))); }
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/util/security/SecurityUtils.java \
b/sshd-common/src/main/java/org/apache/sshd/common/util/security/SecurityUtils.java \
index 7acb34fb7..22fdada54 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/util/security/SecurityUtils.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/util/security/SecurityUtils.java
@@ -243,7 +243,7 @@ public final class SecurityUtils {
}
} else {
Logger logger = LoggerFactory.getLogger(SecurityUtils.class);
- logger.info("Override ECC support value: " + propValue);
+ logger.info("Override ECC support value: {}", propValue);
hasEcc = Boolean.valueOf(propValue);
}
}
@@ -349,7 +349,7 @@ public final class SecurityUtils {
ValidateUtils.checkTrue(maxKeySize > Byte.SIZE, "Invalid max. key size: %d", \
maxKeySize);
try {
- BigInteger r = new BigInteger("0").setBit(maxKeySize - 1);
+ BigInteger r = BigInteger.ZERO.setBit(maxKeySize - 1);
DHParameterSpec dhSkipParamSpec = new DHParameterSpec(r, r);
KeyPairGenerator kpg = getKeyPairGenerator("DH");
kpg.initialize(dhSkipParamSpec);
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/util/security/bouncycastle/BouncyCastleRandom.java \
b/sshd-common/src/main/java/org/apache/sshd/common/util/security/bouncycastle/BouncyCastleRandom.java
index 3e44243ec..12c981156 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/util/security/bouncycastle/BouncyCastleRandom.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/util/security/bouncycastle/BouncyCastleRandom.java
@@ -74,7 +74,7 @@ public final class BouncyCastleRandom extends AbstractRandom {
private int next(int numBits) {
int bytes = (numBits + 7) / 8;
- byte next[] = new byte[bytes];
+ byte[] next = new byte[bytes];
int ret = 0;
random.nextBytes(next);
for (int i = 0; i < bytes; i++) {
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/util/security/eddsa/EdDSASecurityProviderUtils.java \
b/sshd-common/src/main/java/org/apache/sshd/common/util/security/eddsa/EdDSASecurityProviderUtils.java
index a142196e4..058472cfd 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/util/security/eddsa/EdDSASecurityProviderUtils.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/util/security/eddsa/EdDSASecurityProviderUtils.java
@@ -76,10 +76,8 @@ public final class EdDSASecurityProviderUtils {
}
if ((k1 instanceof EdDSAPublicKey) && (k2 instanceof EdDSAPublicKey)) {
- if (Objects.equals(k1, k2)) {
+ if (k1.equals(k2)) {
return true;
- } else if (k1 == null || k2 == null) {
- return false; // both null is covered by Objects#equals
}
EdDSAPublicKey ed1 = (EdDSAPublicKey) k1;
@@ -136,10 +134,8 @@ public final class EdDSASecurityProviderUtils {
}
if ((k1 instanceof EdDSAPrivateKey) && (k2 instanceof EdDSAPrivateKey)) {
- if (Objects.equals(k1, k2)) {
+ if (k1.equals(k2)) {
return true;
- } else if (k1 == null || k2 == null) {
- return false; // both null is covered by Objects#equals
}
EdDSAPrivateKey ed1 = (EdDSAPrivateKey) k1;
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/util/security/eddsa/SignatureEd25519.java \
b/sshd-common/src/main/java/org/apache/sshd/common/util/security/eddsa/SignatureEd25519.java
index f5dcba522..bba78751d 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/util/security/eddsa/SignatureEd25519.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/util/security/eddsa/SignatureEd25519.java
@@ -38,7 +38,7 @@ public class SignatureEd25519 extends AbstractSignature {
public boolean verify(SessionContext session, byte[] sig) throws Exception {
byte[] data = sig;
Map.Entry<String, byte[]> encoding
- = extractEncodedSignature(data, k -> \
KeyPairProvider.SSH_ED25519.equalsIgnoreCase(k)); + = \
extractEncodedSignature(data, KeyPairProvider.SSH_ED25519::equalsIgnoreCase); if \
(encoding != null) { String keyType = encoding.getKey();
ValidateUtils.checkTrue(
diff --git a/sshd-common/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java \
b/sshd-common/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java \
index b93e81ed5..9f2b3be73 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java
@@ -241,7 +241,7 @@ public final class ThreadUtils {
Thread thread = Thread.currentThread();
return thread.getContextClassLoader();
},
- () -> effectiveAnchor.getClassLoader(),
+ effectiveAnchor::getClassLoader,
ClassLoader::getSystemClassLoader
};
diff --git a/sshd-common/src/main/java/org/apache/sshd/server/keyprovider/AbstractGeneratorHostKeyProvider.java \
b/sshd-common/src/main/java/org/apache/sshd/server/keyprovider/AbstractGeneratorHostKeyProvider.java
index 67a2565a9..f8cb53334 100644
--- a/sshd-common/src/main/java/org/apache/sshd/server/keyprovider/AbstractGeneratorHostKeyProvider.java
+++ b/sshd-common/src/main/java/org/apache/sshd/server/keyprovider/AbstractGeneratorHostKeyProvider.java
@@ -123,7 +123,7 @@ public abstract class AbstractGeneratorHostKeyProvider
ids = keyPairHolder.getAndSet(null);
}
- if ((ids != null) & log.isDebugEnabled()) {
+ if ((ids != null) && log.isDebugEnabled()) {
log.debug("clearLoadedKeys({}) removed keys", getPath());
}
}
@@ -287,7 +287,7 @@ public abstract class AbstractGeneratorHostKeyProvider
KeyPairGenerator generator = SecurityUtils.getKeyPairGenerator(algorithm);
if (keySpec != null) {
generator.initialize(keySpec);
- log.info("generateKeyPair(" + algorithm + ") generating host key - \
spec=" + keySpec.getClass().getSimpleName()); + \
log.info("generateKeyPair({}) generating host key - spec={}", algorithm, \
keySpec.getClass().getSimpleName()); } else if \
(KeyUtils.EC_ALGORITHM.equals(algorithm)) { ECCurves curve;
// If left to our own devices choose the biggest key size possible
@@ -301,10 +301,10 @@ public abstract class AbstractGeneratorHostKeyProvider
}
}
generator.initialize(curve.getParameters());
- log.info("generateKeyPair(" + algorithm + ") generating host key=" + \
curve); + log.info("generateKeyPair({}) generating host key={}", \
algorithm, curve); } else if (keySize != 0) {
generator.initialize(keySize);
- log.info("generateKeyPair(" + algorithm + ") generating host key - \
size=" + keySize); + log.info("generateKeyPair({}) generating host key - \
size={}", algorithm, keySize); }
return generator.generateKeyPair();
diff --git a/sshd-common/src/test/java/org/apache/sshd/client/config/keys/BuiltinClientIdentitiesWatcherTest.java \
b/sshd-common/src/test/java/org/apache/sshd/client/config/keys/BuiltinClientIdentitiesWatcherTest.java
index ec8d53dce..2a3944c0a 100644
--- a/sshd-common/src/test/java/org/apache/sshd/client/config/keys/BuiltinClientIdentitiesWatcherTest.java
+++ b/sshd-common/src/test/java/org/apache/sshd/client/config/keys/BuiltinClientIdentitiesWatcherTest.java
@@ -153,7 +153,7 @@ public class BuiltinClientIdentitiesWatcherTest extends \
JUnitTestSupport { }
private static void testMultipleFilesWatch(
- String phase, KeyIdentityProvider watcher, Collection<? extends KeyPair> \
expected) + String phase, KeyIdentityProvider watcher, Collection<KeyPair> \
expected) throws IOException, GeneralSecurityException {
Iterable<KeyPair> keys = watcher.loadKeys(null);
Collection<KeyPair> actual = new ArrayList<>();
diff --git a/sshd-common/src/test/java/org/apache/sshd/common/config/keys/writer/openssh/OpenSSHKeyPairResourceWriterTest.java \
b/sshd-common/src/test/java/org/apache/sshd/common/config/keys/writer/openssh/OpenSSHKeyPairResourceWriterTest.java
index f042f8d23..e25567d1a 100644
--- a/sshd-common/src/test/java/org/apache/sshd/common/config/keys/writer/openssh/OpenSSHKeyPairResourceWriterTest.java
+++ b/sshd-common/src/test/java/org/apache/sshd/common/config/keys/writer/openssh/OpenSSHKeyPairResourceWriterTest.java
@@ -53,10 +53,8 @@ import org.apache.sshd.util.test.JUnitTestSupport;
import org.apache.sshd.util.test.NoIoTestCase;
import org.junit.Before;
import org.junit.FixMethodOrder;
-import org.junit.Rule;
import org.junit.Test;
import org.junit.experimental.categories.Category;
-import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import org.junit.runners.MethodSorters;
import org.junit.runners.Parameterized;
@@ -68,8 +66,6 @@ import org.junit.runners.Parameterized.UseParametersRunnerFactory;
@UseParametersRunnerFactory(JUnit4ClassRunnerWithParametersFactory.class)
@Category({ NoIoTestCase.class })
public class OpenSSHKeyPairResourceWriterTest extends JUnitTestSupport {
- @Rule
- public TemporaryFolder folder = new TemporaryFolder();
private final TestData data;
private KeyPair testKey;
diff --git a/sshd-common/src/test/java/org/apache/sshd/util/test/CommonTestSupportUtils.java \
b/sshd-common/src/test/java/org/apache/sshd/util/test/CommonTestSupportUtils.java \
index 6d4758c4a..829f25bcd 100644
--- a/sshd-common/src/test/java/org/apache/sshd/util/test/CommonTestSupportUtils.java
+++ b/sshd-common/src/test/java/org/apache/sshd/util/test/CommonTestSupportUtils.java
@@ -462,7 +462,7 @@ public final class CommonTestSupportUtils {
public static KeyPair getFirstKeyPair(KeyIdentityProvider provider) {
Objects.requireNonNull(provider, "No key pair provider");
- Iterable<? extends KeyPair> pairs;
+ Iterable<KeyPair> pairs;
try {
pairs = Objects.requireNonNull(provider.loadKeys(null), "No loaded \
keys"); } catch (IOException | GeneralSecurityException e) {
@@ -471,7 +471,7 @@ public final class CommonTestSupportUtils {
e);
}
- Iterator<? extends KeyPair> iter = Objects.requireNonNull(pairs.iterator(), \
"No keys iterator"); + Iterator<KeyPair> iter = \
Objects.requireNonNull(pairs.iterator(), "No keys iterator");
ValidateUtils.checkTrue(iter.hasNext(), "Empty loaded kyes iterator");
return Objects.requireNonNull(iter.next(), "No key pair in iterator");
}
diff --git a/sshd-contrib/src/main/java/org/apache/sshd/contrib/common/channel/throttle/ThrottlingChannelStreamWriter.java \
b/sshd-contrib/src/main/java/org/apache/sshd/contrib/common/channel/throttle/ThrottlingChannelStreamWriter.java
index addf08860..bf8a654dc 100644
--- a/sshd-contrib/src/main/java/org/apache/sshd/contrib/common/channel/throttle/ThrottlingChannelStreamWriter.java
+++ b/sshd-contrib/src/main/java/org/apache/sshd/contrib/common/channel/throttle/ThrottlingChannelStreamWriter.java
@@ -197,7 +197,7 @@ public class ThrottlingChannelStreamWriter extends \
AbstractLoggingBean public void close() throws IOException {
if (open.getAndSet(false)) {
if (log.isDebugEnabled()) {
- log.debug("close({}) closing");
+ log.debug("close({}) closing", this);
}
}
diff --git a/sshd-contrib/src/main/java/org/apache/sshd/contrib/common/signature/LegacyDSASigner.java \
b/sshd-contrib/src/main/java/org/apache/sshd/contrib/common/signature/LegacyDSASigner.java
index 63afc604d..8bb963ecb 100644
--- a/sshd-contrib/src/main/java/org/apache/sshd/contrib/common/signature/LegacyDSASigner.java
+++ b/sshd-contrib/src/main/java/org/apache/sshd/contrib/common/signature/LegacyDSASigner.java
@@ -244,7 +244,7 @@ public class LegacyDSASigner extends java.security.Signature {
}
BigInteger q = params.getQ();
- if ((r.compareTo(q) != -1) || (s.compareTo(q) != -1)) {
+ if ((r.compareTo(q) >= 0) || (s.compareTo(q) >= 0)) {
throw new IndexOutOfBoundsException("Out of range values in \
signature"); }
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/common/AbstractAgentProxy.java \
b/sshd-core/src/main/java/org/apache/sshd/agent/common/AbstractAgentProxy.java index \
a0fa391a9..8548cb69a 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/common/AbstractAgentProxy.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/common/AbstractAgentProxy.java
@@ -242,7 +242,7 @@ public abstract class AbstractAgentProxy extends \
AbstractLoggingBean implements if ((service != null) && (!service.isShutdown())) {
Collection<?> runners = service.shutdownNow();
if (log.isDebugEnabled()) {
- log.debug("close() - shutdown runners count=" + \
GenericUtils.size(runners)); + log.debug("close() - shutdown runners \
count={}", GenericUtils.size(runners)); }
}
}
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentServerProxy.java \
b/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentServerProxy.java index \
66cff0fa8..7cd0b53f0 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentServerProxy.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentServerProxy.java
@@ -54,9 +54,7 @@ public class AgentServerProxy extends AbstractLoggingBean \
implements SshAgentSer return channel.getAgent();
} catch (Throwable t) {
if (log.isDebugEnabled()) {
- log.warn("createClient(" + service.getSession() + ")[" + getId() + \
")"
- + " failed (" + t.getClass().getSimpleName() + ")"
- + " to create client: " + t.getMessage());
+ log.warn("createClient({})[{}] failed to create client: {}", \
service.getSession(), getId(), t.toString()); }
if (t instanceof IOException) {
@@ -81,7 +79,7 @@ public class AgentServerProxy extends AbstractLoggingBean \
implements SshAgentSer public void close() throws IOException {
if (open.getAndSet(false)) {
if (log.isDebugEnabled()) {
- log.debug("closed(" + service.getSession() + ")[" + getId() + "]");
+ log.debug("closed({})[{}]", service.getSession(), getId());
}
}
}
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServer.java \
b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServer.java index \
59f47ede3..9dac098a6 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServer.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServer.java
@@ -125,7 +125,7 @@ public class AgentServer extends AbstractLoggingBean implements \
Closeable, Execu if ((executor != null) && (!executor.isShutdown())) {
Collection<?> runners = executor.shutdownNow();
if (log.isDebugEnabled()) {
- log.debug("Shut down runners count=" + GenericUtils.size(runners));
+ log.debug("Shut down runners count={}", GenericUtils.size(runners));
}
}
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServerProxy.java \
b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServerProxy.java index \
d88532937..cb49b5d8a 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServerProxy.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServerProxy.java
@@ -179,7 +179,7 @@ public class AgentServerProxy extends AbstractLoggingBean \
implements SshAgentSer if ((executor != null) && (!executor.isShutdown())) {
Collection<?> runners = executor.shutdownNow();
if (debugEnabled) {
- log.debug("Shut down runners count=" + GenericUtils.size(runners));
+ log.debug("Shut down runners count={}", GenericUtils.size(runners));
}
}
}
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AprLibrary.java \
b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AprLibrary.java index \
43921f4db..505b99298 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AprLibrary.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AprLibrary.java
@@ -56,12 +56,10 @@ public final class AprLibrary {
private AprLibrary() {
try {
Library.initialize(null);
+ } catch (RuntimeException e) {
+ throw e;
} catch (Throwable e) {
- if (e instanceof RuntimeException) {
- throw (RuntimeException) e;
- } else {
- throw new RuntimeException("Error loading Apache Portable Runtime \
(APR).", e);
- }
+ throw new RuntimeException("Error loading Apache Portable Runtime \
(APR).", e); }
pool = Pool.create(0);
}
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/unix/ChannelAgentForwarding.java \
b/sshd-core/src/main/java/org/apache/sshd/agent/unix/ChannelAgentForwarding.java \
index 11091d979..e24274b68 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/unix/ChannelAgentForwarding.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/unix/ChannelAgentForwarding.java
@@ -132,7 +132,7 @@ public class ChannelAgentForwarding extends AbstractServerChannel \
{ if (forwardService != null) {
Collection<?> runners = forwardService.shutdownNow();
if (log.isDebugEnabled()) {
- log.debug("Shut down runners count=" + \
GenericUtils.size(runners)); + log.debug("Shut down runners \
count={}", GenericUtils.size(runners)); }
}
} finally {
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultConnectFuture.java \
b/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultConnectFuture.java \
index e74695415..2df1f8619 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultConnectFuture.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultConnectFuture.java
@@ -43,7 +43,7 @@ public class DefaultConnectFuture extends \
DefaultVerifiableSshFuture<ConnectFutu long endTime = System.nanoTime();
if (log.isDebugEnabled()) {
IoSession ioSession = session.getIoSession();
- log.debug("Connected to " + ioSession.getRemoteAddress() + " after " + \
(endTime - startTime) + " nanos"); + log.debug("Connected to {} after {} \
nanos", ioSession.getRemoteAddress(), endTime - startTime); }
return this;
}
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/channel/AbstractChannel.java \
b/sshd-core/src/main/java/org/apache/sshd/common/channel/AbstractChannel.java index \
014cc46c0..202ef8fd2 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/channel/AbstractChannel.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/channel/AbstractChannel.java
@@ -346,11 +346,7 @@ public abstract class AbstractChannel extends \
AbstractInnerCloseable implements }
if (RequestHandler.Result.Replied.equals(result) || (!wantReply)) {
- return new AbstractIoWriteFuture(req, null) {
- {
- setValue(Boolean.TRUE);
- }
- };
+ return AbstractIoWriteFuture.fulfilled(req, Boolean.TRUE);
}
byte cmd = RequestHandler.Result.ReplySuccess.equals(result)
@@ -412,14 +408,10 @@ public abstract class AbstractChannel extends \
AbstractInnerCloseable implements signalChannelOpenSuccess(l);
return null;
});
+ } catch (Error | RuntimeException err) {
+ throw err;
} catch (Throwable err) {
- if (err instanceof RuntimeException) {
- throw (RuntimeException) err;
- } else if (err instanceof Error) {
- throw (Error) err;
- } else {
- throw new RuntimeException(err);
- }
+ throw new RuntimeException(err);
}
}
@@ -782,11 +774,7 @@ public abstract class AbstractChannel extends \
AbstractInnerCloseable implements if (log.isDebugEnabled()) {
log.debug("writePacket({}) Discarding output packet because channel \
state={}", this, state); }
- return new AbstractIoWriteFuture(toString(), null) {
- {
- setValue(new EOFException("Channel is being closed"));
- }
- };
+ return AbstractIoWriteFuture.fulfilled(toString(), new EOFException("Channel \
is being closed")); }
protected boolean mayWrite() {
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/channel/BufferedIoOutputStream.java \
b/sshd-core/src/main/java/org/apache/sshd/common/channel/BufferedIoOutputStream.java \
index f50f03019..1e3a23c35 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/channel/BufferedIoOutputStream.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/channel/BufferedIoOutputStream.java
@@ -31,7 +31,6 @@ import java.util.concurrent.atomic.AtomicReference;
import org.apache.sshd.common.Closeable;
import org.apache.sshd.common.PropertyResolver;
import org.apache.sshd.common.channel.exception.SshChannelBufferedOutputException;
-import org.apache.sshd.common.future.SshFutureListener;
import org.apache.sshd.common.io.IoOutputStream;
import org.apache.sshd.common.io.IoWriteFuture;
import org.apache.sshd.common.util.ValidateUtils;
@@ -187,16 +186,13 @@ public class BufferedIoOutputStream extends \
AbstractInnerCloseable implements Io
Buffer buffer = future.getBuffer();
int bufferSize = buffer.available();
- out.writeBuffer(buffer).addListener(new SshFutureListener<IoWriteFuture>() {
- @Override
- public void operationComplete(IoWriteFuture f) {
- if (f.isWritten()) {
- future.setValue(Boolean.TRUE);
- } else {
- future.setValue(f.getException());
- }
- finishWrite(future, bufferSize);
+ out.writeBuffer(buffer).addListener(f -> {
+ if (f.isWritten()) {
+ future.setValue(Boolean.TRUE);
+ } else {
+ future.setValue(f.getException());
}
+ finishWrite(future, bufferSize);
});
}
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelAsyncInputStream.java \
b/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelAsyncInputStream.java \
index 7d8c66bb8..54617109c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelAsyncInputStream.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelAsyncInputStream.java
@@ -172,7 +172,7 @@ public class ChannelAsyncInputStream extends AbstractCloseable \
implements IoInpu Number result = verifyResult(Number.class, timeoutMillis);
long endTime = System.nanoTime();
if (log.isDebugEnabled()) {
- log.debug("Read " + result + " bytes after " + (endTime - startTime) \
+ " nanos"); + log.debug("Read {} bytes after {} nanos", result, \
endTime - startTime); }
return this;
@@ -197,7 +197,7 @@ public class ChannelAsyncInputStream extends AbstractCloseable \
implements IoInpu throw formatExceptionMessage(
IllegalStateException::new,
"Unknown read value type: %s",
- (v == null) ? "null" : v.getClass().getName());
+ v.getClass().getName());
}
}
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultForwarder.java \
b/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultForwarder.java index \
2b7176538..eb4aa3875 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultForwarder.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultForwarder.java
@@ -223,7 +223,7 @@ public class DefaultForwarder
try {
if (log.isDebugEnabled()) {
- log.debug("startLocalPortForwarding(" + local + " -> " + remote + \
"): " + result); + log.debug("startLocalPortForwarding({} -> {}): {}", \
local, remote, result); }
signalEstablishedExplicitTunnel(local, remote, true, result, null);
return result;
@@ -325,7 +325,7 @@ public class DefaultForwarder
try {
SshdSocketAddress bound = new SshdSocketAddress(remoteHost, port);
if (log.isDebugEnabled()) {
- log.debug("startRemotePortForwarding(" + remote + " -> " + local + \
"): " + bound); + log.debug("startRemotePortForwarding({} -> {}): {}", \
remote, local, bound); }
signalEstablishedExplicitTunnel(local, remote, false, bound, null);
@@ -346,7 +346,7 @@ public class DefaultForwarder
if (bound != null) {
if (log.isDebugEnabled()) {
- log.debug("stopRemotePortForwarding(" + remote + ") cancel \
forwarding to " + bound); + log.debug("stopRemotePortForwarding({}) \
cancel forwarding to {}", remote, bound); }
String remoteHost = remote.getHostName();
@@ -368,7 +368,7 @@ public class DefaultForwarder
signalTornDownExplicitTunnel(bound, false, remote, null);
} else {
if (log.isDebugEnabled()) {
- log.debug("stopRemotePortForwarding(" + remote + ") no binding \
found"); + log.debug("stopRemotePortForwarding({}) no binding found", \
remote); }
}
}
@@ -381,19 +381,13 @@ public class DefaultForwarder
signalTearingDownExplicitTunnel(l, boundAddress, localForwarding, \
remote); return null;
});
+ } catch (Error | RuntimeException | IOException e) {
+ throw e;
} catch (Throwable t) {
- if (t instanceof RuntimeException) {
- throw (RuntimeException) t;
- } else if (t instanceof Error) {
- throw (Error) t;
- } else if (t instanceof IOException) {
- throw (IOException) t;
- } else {
- throw new IOException("Failed (" + t.getClass().getSimpleName() + \
")"
- + " to signal tearing down explicit tunnel for \
local=" + localForwarding
- + " on bound=" + boundAddress,
- t);
- }
+ throw new IOException(
+ "Failed (" + t.getClass().getSimpleName() + ")" + " to signal \
tearing down explicit tunnel for local=" + + \
localForwarding + " on bound=" + boundAddress, + t);
}
}
@@ -416,19 +410,13 @@ public class DefaultForwarder
signalTornDownExplicitTunnel(l, boundAddress, localForwarding, \
remoteAddress, reason); return null;
});
+ } catch (Error | RuntimeException | IOException e) {
+ throw e;
} catch (Throwable t) {
- if (t instanceof RuntimeException) {
- throw (RuntimeException) t;
- } else if (t instanceof Error) {
- throw (Error) t;
- } else if (t instanceof IOException) {
- throw (IOException) t;
- } else {
- throw new IOException("Failed (" + t.getClass().getSimpleName() + \
")"
- + " to signal torn down explicit tunnel \
local=" + localForwarding
- + " on bound=" + boundAddress,
- t);
- }
+ throw new IOException(
+ "Failed (" + t.getClass().getSimpleName() + ")" + " to signal \
torn down explicit tunnel local=" + + \
localForwarding + " on bound=" + boundAddress, + t);
}
}
@@ -489,7 +477,7 @@ public class DefaultForwarder
try {
SshdSocketAddress result = new SshdSocketAddress(bound.getHostString(), \
port); if (log.isDebugEnabled()) {
- log.debug("startDynamicPortForwarding(" + local + "): " + result);
+ log.debug("startDynamicPortForwarding({}): {}", local, result);
}
signalEstablishedDynamicTunnel(local, result, null);
@@ -508,19 +496,12 @@ public class DefaultForwarder
signalEstablishedDynamicTunnel(l, local, boundAddress, reason);
return null;
});
+ } catch (Error | RuntimeException | IOException e) {
+ throw e;
} catch (Throwable t) {
- if (t instanceof RuntimeException) {
- throw (RuntimeException) t;
- } else if (t instanceof Error) {
- throw (Error) t;
- } else if (t instanceof IOException) {
- throw (IOException) t;
- } else {
- throw new IOException("Failed (" + t.getClass().getSimpleName() + \
")"
- + " to signal establishing dynamic tunnel for \
local=" + local
- + " on bound=" + boundAddress,
- t);
- }
+ throw new IOException("Failed (" + t.getClass().getSimpleName() + ")"
+ + " to signal establishing dynamic tunnel for \
local=" + local + " on bound=" + boundAddress, + t);
}
}
@@ -541,18 +522,12 @@ public class DefaultForwarder
signalEstablishingDynamicTunnel(l, local);
return null;
});
+ } catch (Error | RuntimeException | IOException e) {
+ throw e;
} catch (Throwable t) {
- if (t instanceof RuntimeException) {
- throw (RuntimeException) t;
- } else if (t instanceof Error) {
- throw (Error) t;
- } else if (t instanceof IOException) {
- throw (IOException) t;
- } else {
- throw new IOException("Failed (" + t.getClass().getSimpleName() + \
")"
- + " to signal establishing dynamic tunnel for \
local=" + local,
- t);
- }
+ throw new IOException("Failed (" + t.getClass().getSimpleName() + ")"
+ + " to signal establishing dynamic tunnel for \
local=" + local, + t);
}
}
@@ -629,18 +604,12 @@ public class DefaultForwarder
signalTearingDownDynamicTunnel(l, address);
return null;
});
+ } catch (Error | RuntimeException | IOException e) {
+ throw e;
} catch (Throwable t) {
- if (t instanceof RuntimeException) {
- throw (RuntimeException) t;
- } else if (t instanceof Error) {
- throw (Error) t;
- } else if (t instanceof IOException) {
- throw (IOException) t;
- } else {
- throw new IOException("Failed (" + t.getClass().getSimpleName() + \
")"
- + " to signal tearing down dynamic tunnel for \
address=" + address,
- t);
- }
+ throw new IOException("Failed (" + t.getClass().getSimpleName() + ")"
+ + " to signal tearing down dynamic tunnel for \
address=" + address, + t);
}
}
@@ -659,18 +628,12 @@ public class DefaultForwarder
signalTornDownDynamicTunnel(l, address, reason);
return null;
});
+ } catch (Error | RuntimeException | IOException e) {
+ throw e;
} catch (Throwable t) {
- if (t instanceof RuntimeException) {
- throw (RuntimeException) t;
- } else if (t instanceof Error) {
- throw (Error) t;
- } else if (t instanceof IOException) {
- throw (IOException) t;
- } else {
- throw new IOException("Failed (" + t.getClass().getSimpleName() + \
")"
- + " to signal torn down dynamic tunnel for \
address=" + address,
- t);
- }
+ throw new IOException("Failed (" + t.getClass().getSimpleName() + ")"
+ + " to signal torn down dynamic tunnel for \
address=" + address, + t);
}
}
@@ -702,8 +665,7 @@ public class DefaultForwarder
try {
if ((filter == null) || (!filter.canListen(local, session))) {
if (log.isDebugEnabled()) {
- log.debug("localPortForwardingRequested(" + session + ")[" + \
local + "][haveFilter=" + (filter != null)
- + "] rejected");
+ log.debug("localPortForwardingRequested({})[{}][haveFilter={}] \
rejected", session, local, filter != null); }
return null;
}
@@ -720,7 +682,7 @@ public class DefaultForwarder
InetSocketAddress bound = doBind(local, getLocalIoAcceptor());
result = new SshdSocketAddress(bound);
if (log.isDebugEnabled()) {
- log.debug("localPortForwardingRequested(" + local + "): " + result);
+ log.debug("localPortForwardingRequested({}): {}", local, result);
}
boolean added;
@@ -742,12 +704,8 @@ public class DefaultForwarder
throw e;
}
- try {
- signalEstablishedExplicitTunnel(local, null, true, result, null);
- return result;
- } catch (IOException | RuntimeException e) {
- throw e;
- }
+ signalEstablishedExplicitTunnel(local, null, true, result, null);
+ return result;
}
@Override
@@ -763,7 +721,7 @@ public class DefaultForwarder
if ((entry != null) && (localAcceptor != null)) {
if (log.isDebugEnabled()) {
- log.debug("localPortForwardingCancelled(" + local + ") unbind " + \
entry); + log.debug("localPortForwardingCancelled({}) unbind {}", \
local, entry); }
SshdSocketAddress reportedBoundAddress = \
entry.getCombinedBoundAddress(); @@ -780,7 +738,7 @@ public class DefaultForwarder
signalTornDownExplicitTunnel(reportedBoundAddress, true, null, null);
} else {
if (log.isDebugEnabled()) {
- log.debug("localPortForwardingCancelled(" + local + ") no \
match/acceptor: " + entry); + \
log.debug("localPortForwardingCancelled({}) no match/acceptor: {}", local, entry); }
}
}
@@ -793,19 +751,13 @@ public class DefaultForwarder
signalEstablishingExplicitTunnel(l, local, remote, localForwarding);
return null;
});
+ } catch (Error | RuntimeException | IOException e) {
+ throw e;
} catch (Throwable t) {
- if (t instanceof RuntimeException) {
- throw (RuntimeException) t;
- } else if (t instanceof Error) {
- throw (Error) t;
- } else if (t instanceof IOException) {
- throw (IOException) t;
- } else {
- throw new IOException("Failed (" + t.getClass().getSimpleName() + \
")"
- + " to signal establishing explicit tunnel for \
local=" + local
- + ", remote=" + remote + ", localForwarding=" \
+ localForwarding,
- t);
- }
+ throw new IOException(
+ "Failed (" + t.getClass().getSimpleName() + ")" + " to signal \
establishing explicit tunnel for local=" + + local + \
", remote=" + remote + ", localForwarding=" + localForwarding, + \
t); }
}
@@ -828,20 +780,13 @@ public class DefaultForwarder
signalEstablishedExplicitTunnel(l, local, remote, localForwarding, \
boundAddress, reason); return null;
});
+ } catch (Error | RuntimeException | IOException e) {
+ throw e;
} catch (Throwable t) {
- if (t instanceof RuntimeException) {
- throw (RuntimeException) t;
- } else if (t instanceof Error) {
- throw (Error) t;
- } else if (t instanceof IOException) {
- throw (IOException) t;
- } else {
- throw new IOException("Failed (" + t.getClass().getSimpleName() + \
")"
- + " to signal established explicit tunnel for \
local=" + local
- + ", remote=" + remote + ", localForwarding=" \
+ localForwarding
- + ", bound=" + boundAddress,
- t);
- }
+ throw new IOException("Failed (" + t.getClass().getSimpleName() + ")"
+ + " to signal established explicit tunnel for \
local=" + local + ", remote=" + remote + + ", \
localForwarding=" + localForwarding + ", bound=" + boundAddress, + \
t); }
}
@@ -1155,13 +1100,7 @@ public class DefaultForwarder
@Override
public boolean isLocalPortForwardingStartedForPort(int port) {
synchronized (localLock) {
- return localToRemote.isEmpty()
- ? false
- : localToRemote.keySet()
- .stream()
- .filter(e -> e.getPort() == port)
- .findAny()
- .isPresent();
+ return localToRemote.keySet().stream().anyMatch(e -> e.getPort() == \
port); }
}
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/BuiltinIoServiceFactoryFactories.java \
b/sshd-core/src/main/java/org/apache/sshd/common/io/BuiltinIoServiceFactoryFactories.java
index e64baf2c9..58abd27c5 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/BuiltinIoServiceFactoryFactories.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/BuiltinIoServiceFactoryFactories.java
@@ -88,12 +88,10 @@ public enum BuiltinIoServiceFactoryFactories implements \
NamedFactory<IoServiceFa
Class<? extends IoServiceFactoryFactory> clazz = getFactoryClass();
try {
return ReflectionUtils.newInstance(clazz, \
IoServiceFactoryFactory.class); + } catch (RuntimeException | Error e) {
+ throw e;
} catch (Throwable e) {
- if (e instanceof RuntimeException) {
- throw (RuntimeException) e;
- } else {
- throw new RuntimeException(e);
- }
+ throw new RuntimeException(e);
}
}
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java \
b/sshd-core/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java
index 4b29d4255..e84b24d6c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java
@@ -65,8 +65,7 @@ public class DefaultIoServiceFactoryFactory extends \
AbstractIoServiceFactoryFact factory = newInstance(IoServiceFactoryFactory.class);
if (factory == null) {
factory = BuiltinIoServiceFactoryFactories.NIO2.create();
- log.info("No detected/configured " + \
IoServiceFactoryFactory.class.getSimpleName()
- + " using " + factory.getClass().getSimpleName());
+ log.info("No detected/configured IoServiceFactoryFactory; using {}", \
factory.getClass().getSimpleName()); } else {
log.info("Using {}", factory.getClass().getSimpleName());
}
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Service.java \
b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Service.java index \
d64dc1e94..82f869fe3 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Service.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Service.java
@@ -202,10 +202,8 @@ public abstract class Nio2Service extends AbstractInnerCloseable \
implements IoSe }
return true;
} catch (IOException | RuntimeException e) {
- log.warn("Unable (" + e.getClass().getSimpleName() + ")"
- + " to set socket option " + option
- + " using property " + property + "=" + val
- + ": " + e.getMessage());
+ log.warn("setOption({}): unable to set socket option {} via {}={}: {}", \
socket, option, property, val, + e.toString());
return false;
}
}
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/kex/dh/AbstractDHKeyExchange.java \
b/sshd-core/src/main/java/org/apache/sshd/common/kex/dh/AbstractDHKeyExchange.java \
index 3843dc974..746484b67 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/kex/dh/AbstractDHKeyExchange.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/kex/dh/AbstractDHKeyExchange.java
@@ -112,7 +112,7 @@ public abstract class AbstractDHKeyExchange extends \
AbstractLoggingBean implemen }
}
- protected void validateEValue(BigInteger pValue) throws Exception {
+ protected void validateEValue(BigInteger pValue) throws SshException {
BigInteger value = Objects.requireNonNull(getEValue(), "No DH 'e' value \
set"); if (!KeyExchange.isValidDHValue(value, pValue)) {
throw new SshException(SshConstants.SSH2_DISCONNECT_KEY_EXCHANGE_FAILED,
@@ -149,7 +149,7 @@ public abstract class AbstractDHKeyExchange extends \
AbstractLoggingBean implemen }
}
- protected void validateFValue(BigInteger pValue) throws Exception {
+ protected void validateFValue(BigInteger pValue) throws SshException {
BigInteger value = Objects.requireNonNull(getFValue(), "No DH 'f' value \
set"); if (!KeyExchange.isValidDHValue(value, pValue)) {
throw new SshException(SshConstants.SSH2_DISCONNECT_KEY_EXCHANGE_FAILED,
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractConnectionService.java \
b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractConnectionService.java
index d585a6ced..70e9f1279 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractConnectionService.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractConnectionService.java
@@ -900,11 +900,7 @@ public abstract class AbstractConnectionService
}
if (RequestHandler.Result.Replied.equals(result) || (!wantReply)) {
- return new AbstractIoWriteFuture(req, null) {
- {
- setValue(Boolean.TRUE);
- }
- };
+ return AbstractIoWriteFuture.fulfilled(req, Boolean.TRUE);
}
byte cmd = RequestHandler.Result.ReplySuccess.equals(result)
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java \
b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java \
index 22e68c656..8b51d8eba 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java
@@ -273,7 +273,7 @@ public abstract class AbstractSession extends SessionHelper {
* @see {@link #doInvokeUnimplementedMessageHandler(int, Buffer)}
* @see {@link #preClose()}
*/
- private final Deque<GlobalRequestFuture> pendingGlobalRequests = new \
ConcurrentLinkedDeque<GlobalRequestFuture>(); + private final \
Deque<GlobalRequestFuture> pendingGlobalRequests = new ConcurrentLinkedDeque<>();
private final Map<Buffer, LongConsumer> globalSequenceNumbers = new \
ConcurrentHashMap<>();
@@ -314,12 +314,10 @@ public abstract class AbstractSession extends SessionHelper {
try {
signalSessionEstablished(ioSession);
+ } catch (RuntimeException e) {
+ throw e;
} catch (Exception e) {
- if (e instanceof RuntimeException) {
- throw (RuntimeException) e;
- } else {
- throw new RuntimeSshException(e);
- }
+ throw new RuntimeSshException(e);
}
}
@@ -1723,7 +1721,7 @@ public abstract class AbstractSession extends SessionHelper {
IoWriteFuture future = (handler == null) ? null : \
handler.sendKexInitRequest(this, proposal, buffer); byte[] data = \
buffer.getCompactData(); if (future == null) {
- future = writePacket(buffer);
+ writePacket(buffer);
} else {
if (debugEnabled) {
log.debug("sendKexInit({}) KEX handled by reserved messages \
handler", this);
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSessionIoHandler.java \
b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSessionIoHandler.java
index d176a258b..136eb2cf5 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSessionIoHandler.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSessionIoHandler.java
@@ -63,8 +63,10 @@ public abstract class AbstractSessionIoHandler extends \
AbstractLoggingBean imple try {
session.messageReceived(message);
} catch (Error e) {
- log.debug("messageReceived({}) failed {} to handle message: {}",
- ioSession, e.getClass().getSimpleName(), e.getMessage(), e);
+ if (log.isDebugEnabled()) {
+ log.debug("messageReceived({}) failed {} to handle message: {}", \
ioSession, e.getClass().getSimpleName(), + e.getMessage(), e);
+ }
throw new RuntimeSshException(e);
}
}
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/KeyExchangeMessageHandler.java \
b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/KeyExchangeMessageHandler.java
index 59018d6b8..294935a0a 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/KeyExchangeMessageHandler.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/KeyExchangeMessageHandler.java
@@ -184,7 +184,7 @@ public class KeyExchangeMessageHandler {
if (numPending == 0) {
kexFlushed = true;
}
- return new SimpleImmutableEntry<Integer, \
DefaultKeyExchangeFuture>(Integer.valueOf(numPending), kexFlushedFuture); + \
return new SimpleImmutableEntry<>(Integer.valueOf(numPending), kexFlushedFuture); \
}); }
@@ -518,9 +518,7 @@ public class KeyExchangeMessageHandler {
}
// Connect all futures of packets that we wrote. We do this at the \
end instead of one-by-one inside the
// loop to minimize the risk that woken up threads waiting on these \
futures queue up additional packets.
- pendingFutures.forEach(e -> {
- e.getValue().addListener(e.getKey());
- });
+ pendingFutures.forEach(e -> e.getValue().addListener(e.getKey()));
}
});
}
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 \
1bb2ffa86..8900d2dd0 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
@@ -332,7 +332,7 @@ public class SshServer extends AbstractFactoryManager implements \
ServerFactoryMa if (port == 0) {
SocketAddress selectedAddress = \
GenericUtils.head(acceptor.getBoundAddresses());
port = ((InetSocketAddress) selectedAddress).getPort();
- log.info("start() listen on auto-allocated port=" + port);
+ log.info("start() listen on auto-allocated port={}", port);
}
}
}
@@ -341,7 +341,7 @@ public class SshServer extends AbstractFactoryManager implements \
ServerFactoryMa if (port == 0) {
SocketAddress selectedAddress = \
GenericUtils.head(acceptor.getBoundAddresses()); port = ((InetSocketAddress) \
selectedAddress).getPort();
- log.info("start() listen on auto-allocated port=" + port);
+ log.info("start() listen on auto-allocated port={}", port);
}
}
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/auth/AsyncAuthException.java \
b/sshd-core/src/main/java/org/apache/sshd/server/auth/AsyncAuthException.java index \
ade64d8af..105463bb1 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/AsyncAuthException.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/AsyncAuthException.java
@@ -31,7 +31,7 @@ public class AsyncAuthException extends RuntimeSshException {
private static final long serialVersionUID = 6741236101797649869L;
- protected Object listener;
+ protected transient Object listener;
protected Boolean authed;
public AsyncAuthException() {
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 \
72fa92cc1..0c8db6863 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
@@ -120,7 +120,7 @@ public class UserAuthGSS extends AbstractUserAuth {
} else {
int msg = buffer.getUByte();
if (!((msg == SshConstants.SSH_MSG_USERAUTH_INFO_RESPONSE)
- || ((msg == SshConstants.SSH_MSG_USERAUTH_GSSAPI_MIC)) && \
context.isEstablished())) { + || ((msg == \
SshConstants.SSH_MSG_USERAUTH_GSSAPI_MIC) && \
context.isEstablished()))) {
throw new SshException(SshConstants.SSH2_DISCONNECT_PROTOCOL_ERROR,
"Packet not supported by user authentication method: " + \
SshConstants.getCommandMessageName(msg)); }
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/auth/pubkey/AuthorizedKeyEntriesPublickeyAuthenticator.java \
b/sshd-core/src/main/java/org/apache/sshd/server/auth/pubkey/AuthorizedKeyEntriesPublickeyAuthenticator.java
index cb8dc478a..8650aa8f9 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/pubkey/AuthorizedKeyEntriesPublickeyAuthenticator.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/pubkey/AuthorizedKeyEntriesPublickeyAuthenticator.java
@@ -79,7 +79,7 @@ public class AuthorizedKeyEntriesPublickeyAuthenticator extends \
AbstractLoggingB
public boolean authenticate(String username, PublicKey key, ServerSession \
session) { if (MapEntryUtils.isEmpty(resolvedKeys)) {
if (log.isDebugEnabled()) {
- log.debug("authenticate(" + username + ")[" + session + "] no \
entries"); + log.debug("authenticate({})[{}] no entries", username, \
session); }
return false;
@@ -88,7 +88,7 @@ public class AuthorizedKeyEntriesPublickeyAuthenticator extends \
AbstractLoggingB
for (Map.Entry<AuthorizedKeyEntry, PublicKey> e : resolvedKeys.entrySet()) {
if (KeyUtils.compareKeys(key, e.getValue())) {
if (log.isDebugEnabled()) {
- log.debug("authenticate(" + username + ")[" + session + "] match \
found"); + log.debug("authenticate({})[{}] match found", username, \
session); }
if (session != null) {
session.setAttribute(AUTHORIZED_KEY, e.getKey());
@@ -98,7 +98,7 @@ public class AuthorizedKeyEntriesPublickeyAuthenticator extends \
AbstractLoggingB }
if (log.isDebugEnabled()) {
- log.debug("authenticate(" + username + ")[" + session + "] match not \
found"); + log.debug("authenticate({})[{}] match not found", username, \
session); }
return false;
}
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/auth/pubkey/KeySetPublickeyAuthenticator.java \
b/sshd-core/src/main/java/org/apache/sshd/server/auth/pubkey/KeySetPublickeyAuthenticator.java
index a48f5a3bf..3eb87d50c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/pubkey/KeySetPublickeyAuthenticator.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/pubkey/KeySetPublickeyAuthenticator.java
@@ -59,7 +59,7 @@ public class KeySetPublickeyAuthenticator extends \
AbstractLoggingBean implements
public boolean authenticate(String username, PublicKey key, ServerSession \
session, Collection<? extends PublicKey> keys) { if (GenericUtils.isEmpty(keys)) {
if (log.isDebugEnabled()) {
- log.debug("authenticate(" + username + ")[" + session + "] no \
keys"); + log.debug("authenticate({})[{}] no keys", username, \
session); }
return false;
@@ -68,7 +68,7 @@ public class KeySetPublickeyAuthenticator extends \
AbstractLoggingBean implements PublicKey matchKey = KeyUtils.findMatchingKey(key, \
keys); boolean matchFound = matchKey != null;
if (log.isDebugEnabled()) {
- log.debug("authenticate(" + username + ")[" + session + "] match found=" \
+ matchFound); + log.debug("authenticate({})[{}] match found={}", \
username, session, matchFound); }
return matchFound;
}
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/channel/PuttyRequestHandler.java \
b/sshd-core/src/main/java/org/apache/sshd/server/channel/PuttyRequestHandler.java \
index 310a8e47c..ff04db301 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/channel/PuttyRequestHandler.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/channel/PuttyRequestHandler.java
@@ -73,10 +73,8 @@ public class PuttyRequestHandler extends \
AbstractChannelRequestHandler { }
if (log.isDebugEnabled()) {
- log.debug("processPuttyOpcode(" + opcode + ")"
- + "[buffer size=" + buffer.available() + "]"
- + "[reply=" + wantReply + "]"
- + " Unknown request: " + request);
+ log.debug("processPuttyOpcode({})[buffer size={}] [reply={}] Unknown \
request: {}", opcode, buffer.available(), + wantReply, request);
}
return Result.ReplyFailure;
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractCommandSupport.java \
b/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractCommandSupport.java \
index 55dc4a7f3..9618d7352 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractCommandSupport.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractCommandSupport.java
@@ -159,11 +159,7 @@ public abstract class AbstractCommandSupport
this.run();
});
} catch (RuntimeException e) { // e.g., RejectedExecutionException
- log.error("start(" + channel + ")"
- + " Failed (" + e.getClass().getSimpleName() + ")"
- + " to start command=" + cmd + ": " + e.getMessage(),
- e);
- throw new IOException(e);
+ throw new IOException("start(" + channel + ") failed to start command " \
+ cmd, e); }
}
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractFileSystemCommand.java \
b/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractFileSystemCommand.java
index 970e39d3c..8be966b4e 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractFileSystemCommand.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractFileSystemCommand.java
@@ -35,7 +35,7 @@ public abstract class AbstractFileSystemCommand extends \
AbstractCommandSupport i
protected FileSystem fileSystem;
- public AbstractFileSystemCommand(String command, CloseableExecutorService \
executorService) { + protected AbstractFileSystemCommand(String command, \
CloseableExecutorService executorService) { super(command, executorService);
}
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/forward/DirectTcpipFactory.java \
b/sshd-core/src/main/java/org/apache/sshd/server/forward/DirectTcpipFactory.java \
index 4bcd713d2..c66978d2c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/forward/DirectTcpipFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/forward/DirectTcpipFactory.java
@@ -28,6 +28,6 @@ public class DirectTcpipFactory extends TcpipFactory {
public static final DirectTcpipFactory INSTANCE = new DirectTcpipFactory();
public DirectTcpipFactory() {
- super(ForwardingFilter.Type.Direct);
+ super(TcpForwardingFilter.Type.Direct);
}
}
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/forward/ForwardedTcpipFactory.java \
b/sshd-core/src/main/java/org/apache/sshd/server/forward/ForwardedTcpipFactory.java \
index 15ef75b49..4975e16dd 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/forward/ForwardedTcpipFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/forward/ForwardedTcpipFactory.java
@@ -28,6 +28,6 @@ public class ForwardedTcpipFactory extends TcpipFactory {
public static final ForwardedTcpipFactory INSTANCE = new \
ForwardedTcpipFactory();
public ForwardedTcpipFactory() {
- super(ForwardingFilter.Type.Forwarded);
+ super(TcpForwardingFilter.Type.Forwarded);
}
}
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/forward/StaticDecisionForwardingFilter.java \
b/sshd-core/src/main/java/org/apache/sshd/server/forward/StaticDecisionForwardingFilter.java
index fb8a1cef8..29e7d6542 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/forward/StaticDecisionForwardingFilter.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/forward/StaticDecisionForwardingFilter.java
@@ -68,7 +68,7 @@ public class StaticDecisionForwardingFilter extends \
AbstractLoggingBean implemen
protected boolean checkAcceptance(String request, Session session, \
SshdSocketAddress target) { boolean accepted = isAccepted();
if (log.isDebugEnabled()) {
- log.debug("checkAcceptance(" + request + ")[" + session + "] acceptance \
for target=" + target + " is " + accepted); + \
log.debug("checkAcceptance({})[{}] acceptance for target={} is {}", request, session, \
target, accepted); }
return accepted;
}
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/forward/TcpipServerChannel.java \
b/sshd-core/src/main/java/org/apache/sshd/server/forward/TcpipServerChannel.java \
index f4faf24a0..f71dba90e 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/forward/TcpipServerChannel.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/forward/TcpipServerChannel.java
@@ -65,13 +65,13 @@ public class TcpipServerChannel extends AbstractServerChannel \
implements Forward
public abstract static class TcpipFactory implements ChannelFactory, \
ExecutorServiceCarrier {
- private final ForwardingFilter.Type type;
+ private final TcpForwardingFilter.Type type;
- protected TcpipFactory(ForwardingFilter.Type type) {
+ protected TcpipFactory(TcpForwardingFilter.Type type) {
this.type = type;
}
- public final ForwardingFilter.Type getType() {
+ public final TcpForwardingFilter.Type getType() {
return type;
}
@@ -91,7 +91,7 @@ public class TcpipServerChannel extends AbstractServerChannel \
implements Forward }
}
- private final ForwardingFilter.Type type;
+ private final TcpForwardingFilter.Type type;
private IoConnector connector;
private ChannelToPortHandler port;
private ChannelAsyncOutputStream out;
@@ -100,12 +100,12 @@ public class TcpipServerChannel extends AbstractServerChannel \
implements Forward private SshdSocketAddress originatorAddress;
private SocketAddress localAddress;
- public TcpipServerChannel(ForwardingFilter.Type type, CloseableExecutorService \
executor) { + public TcpipServerChannel(TcpForwardingFilter.Type type, \
CloseableExecutorService executor) { super("", Collections.emptyList(), executor);
this.type = Objects.requireNonNull(type, "No channel type specified");
}
- public ForwardingFilter.Type getTcpipChannelType() {
+ public TcpForwardingFilter.Type getTcpipChannelType() {
return type;
}
@@ -178,8 +178,7 @@ public class TcpipServerChannel extends AbstractServerChannel \
implements Forward try {
if ((address == null) || (filter == null) || \
(!filter.canConnect(channelType, address, session))) { if (debugEnabled) {
- log.debug(
- "doInit(" + this + ")[" + type + "][haveFilter=" + \
(filter != null) + "] filtered out " + address); + \
log.debug("doInit({})[{}][haveFilter={}] filtered out {}", this, type, filter != \
null, address); }
try {
f.setException(new SshChannelOpenException(getChannelId(),
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java \
b/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java \
index d56e231e9..06b44d593 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java
@@ -533,11 +533,9 @@ public class ServerUserAuthService extends AbstractCloseable \
implements Service,
if (CoreModuleProperties.AUTO_WELCOME_BANNER_VALUE.equalsIgnoreCase(message)) \
{ try {
return KeyRandomArt.combine(session, ' ', \
session.getKeyPairProvider()); + } catch (IOException e) {
+ throw e;
} catch (Exception e) {
- if (e instanceof IOException) {
- throw (IOException) e;
- }
-
throw new IOException(e);
}
}
diff --git a/sshd-core/src/test/java/org/apache/sshd/common/channel/ChannelPipedInputStreamTest.java \
b/sshd-core/src/test/java/org/apache/sshd/common/channel/ChannelPipedInputStreamTest.java
index 59abec810..1fdd47092 100644
--- a/sshd-core/src/test/java/org/apache/sshd/common/channel/ChannelPipedInputStreamTest.java
+++ b/sshd-core/src/test/java/org/apache/sshd/common/channel/ChannelPipedInputStreamTest.java
@@ -83,7 +83,7 @@ public class ChannelPipedInputStreamTest extends BaseTestSupport {
} else {
assertArrayEquals("Mismatched stream content", expected, \
Arrays.copyOf(read, expected.length)); for (int i = expected.length; i < \
read.length; i++) {
- assertTrue("Non-zero value at position " + i, read[i] == 0);
+ assertEquals("Non-zero value at position " + i, 0, read[i]);
}
}
}
diff --git a/sshd-git/src/main/java/org/apache/sshd/git/AbstractGitCommand.java \
b/sshd-git/src/main/java/org/apache/sshd/git/AbstractGitCommand.java index \
3e96e3f9e..7aa60b43f 100644
--- a/sshd-git/src/main/java/org/apache/sshd/git/AbstractGitCommand.java
+++ b/sshd-git/src/main/java/org/apache/sshd/git/AbstractGitCommand.java
@@ -20,7 +20,6 @@
package org.apache.sshd.git;
import java.io.OutputStream;
-import java.nio.file.FileSystem;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -43,7 +42,6 @@ public abstract class AbstractGitCommand
public static final int ENDQUOTE = 0x008;
protected final GitLocationResolver rootDirResolver;
- protected FileSystem fileSystem;
protected AbstractGitCommand(GitLocationResolver rootDirResolver, String \
command,
CloseableExecutorService executorService) {
diff --git a/sshd-git/src/main/java/org/apache/sshd/git/pack/GitPackCommand.java \
b/sshd-git/src/main/java/org/apache/sshd/git/pack/GitPackCommand.java index \
e9f2de8eb..bd102014b 100644
--- a/sshd-git/src/main/java/org/apache/sshd/git/pack/GitPackCommand.java
+++ b/sshd-git/src/main/java/org/apache/sshd/git/pack/GitPackCommand.java
@@ -65,7 +65,6 @@ public class GitPackCommand extends AbstractGitCommand {
}
if (argVal.startsWith("\"") && argVal.endsWith("\"")) {
args[i] = argVal.substring(1, argVal.length() - 1);
- argVal = args[i];
}
}
@@ -100,8 +99,7 @@ public class GitPackCommand extends AbstractGitCommand {
int len = GenericUtils.length(pathArg);
// Strip any leading path separator since we use relative to root
if ((len > 0) && (pathArg.charAt(0) == '/')) {
- pathArg = (len > 1) ? pathArg.substring(1) : "";
- len--;
+ pathArg = pathArg.substring(1);
}
ValidateUtils.checkNotNullAndNotEmpty(pathArg, "No %s command sub-path \
specified", args[0]);
diff --git a/sshd-git/src/main/java/org/apache/sshd/git/pgm/GitPgmCommand.java \
b/sshd-git/src/main/java/org/apache/sshd/git/pgm/GitPgmCommand.java index \
73349e583..7d13da89a 100644
--- a/sshd-git/src/main/java/org/apache/sshd/git/pgm/GitPgmCommand.java
+++ b/sshd-git/src/main/java/org/apache/sshd/git/pgm/GitPgmCommand.java
@@ -62,7 +62,6 @@ public class GitPgmCommand extends AbstractGitCommand {
if (argVal.startsWith("\"") && argVal.endsWith("\"")) {
args[i] = argVal.substring(1, argVal.length() - 1);
- argVal = args[i];
}
}
diff --git a/sshd-openpgp/src/main/java/org/apache/sshd/openpgp/PGPAuthorizedEntriesTracker.java \
b/sshd-openpgp/src/main/java/org/apache/sshd/openpgp/PGPAuthorizedEntriesTracker.java \
index 8788b1876..df4c7fec8 100644
--- a/sshd-openpgp/src/main/java/org/apache/sshd/openpgp/PGPAuthorizedEntriesTracker.java
+++ b/sshd-openpgp/src/main/java/org/apache/sshd/openpgp/PGPAuthorizedEntriesTracker.java
@@ -78,7 +78,7 @@ public class PGPAuthorizedEntriesTracker
this.keyFiles = GenericUtils.isEmpty(keys)
? new ArrayList<>()
: keys.stream()
- .map(k -> new PGPPublicKeyFileWatcher(k))
+ .map(PGPPublicKeyFileWatcher::new)
.collect(Collectors.toCollection(() -> new \
ArrayList<>(keys.size()))); }
diff --git a/sshd-openpgp/src/main/java/org/apache/sshd/openpgp/PGPKeyPairResourceParser.java \
b/sshd-openpgp/src/main/java/org/apache/sshd/openpgp/PGPKeyPairResourceParser.java \
index f0d853e21..e8d2eeda7 100644
--- a/sshd-openpgp/src/main/java/org/apache/sshd/openpgp/PGPKeyPairResourceParser.java
+++ b/sshd-openpgp/src/main/java/org/apache/sshd/openpgp/PGPKeyPairResourceParser.java
@@ -117,12 +117,10 @@ public class PGPKeyPairResourceParser
Key key = PGPKeyLoader.loadPGPKey(stream, password);
keys = extractKeyPairs(resourceKey, key.getSubkeys());
- key = null; // get rid of sensitive data a.s.a.p.
} catch (IOException | GeneralSecurityException | PGPException | \
RuntimeException e) { ResourceDecodeResult result = (passwordProvider != null)
? passwordProvider.handleDecodeAttemptResult(session, \
resourceKey, retryCount, password, e) : ResourceDecodeResult.TERMINATE;
- password = null; // get rid of sensitive data a.s.a.p.
if (result == null) {
result = ResourceDecodeResult.TERMINATE;
}
@@ -150,7 +148,6 @@ public class PGPKeyPairResourceParser
if (passwordProvider != null) {
passwordProvider.handleDecodeAttemptResult(session, resourceKey, \
retryCount, password, null);
- password = null; // get rid of sensitive data a.s.a.p.
}
return keys;
diff --git a/sshd-scp/src/main/java/org/apache/sshd/scp/client/AbstractScpClientCreator.java \
b/sshd-scp/src/main/java/org/apache/sshd/scp/client/AbstractScpClientCreator.java \
index fa68bbe53..2f0f21a9f 100644
--- a/sshd-scp/src/main/java/org/apache/sshd/scp/client/AbstractScpClientCreator.java
+++ b/sshd-scp/src/main/java/org/apache/sshd/scp/client/AbstractScpClientCreator.java
@@ -37,7 +37,7 @@ public abstract class AbstractScpClientCreator extends \
AbstractLoggingBean imple this("");
}
- public AbstractScpClientCreator(String discriminator) {
+ protected AbstractScpClientCreator(String discriminator) {
super(discriminator);
}
diff --git a/sshd-scp/src/main/java/org/apache/sshd/scp/common/ScpHelper.java \
b/sshd-scp/src/main/java/org/apache/sshd/scp/common/ScpHelper.java index \
bcefee69f..0973df780 100644
--- a/sshd-scp/src/main/java/org/apache/sshd/scp/common/ScpHelper.java
+++ b/sshd-scp/src/main/java/org/apache/sshd/scp/common/ScpHelper.java
@@ -668,9 +668,7 @@ public class ScpHelper extends AbstractLoggingBean implements \
SessionHolder<Sess
ScpAckInfo ackInfo = sendAcknowledgedCommand(cmd);
if (debugEnabled) {
- if (debugEnabled) {
- log.debug("sendDir({})[{}] command='{}' ACK={}", this, path, \
cmd, ackInfo);
- }
+ log.debug("sendDir({})[{}] command='{}' ACK={}", this, path, cmd, \
ackInfo); }
validateAckReplyCode(cmd, path, ackInfo);
}
diff --git a/sshd-scp/src/main/java/org/apache/sshd/scp/common/helpers/LocalFileScpTargetStreamResolver.java \
b/sshd-scp/src/main/java/org/apache/sshd/scp/common/helpers/LocalFileScpTargetStreamResolver.java
index c04aa0492..a501a68f9 100644
--- a/sshd-scp/src/main/java/org/apache/sshd/scp/common/helpers/LocalFileScpTargetStreamResolver.java
+++ b/sshd-scp/src/main/java/org/apache/sshd/scp/common/helpers/LocalFileScpTargetStreamResolver.java
@@ -108,7 +108,7 @@ public class LocalFileScpTargetStreamResolver extends \
AbstractLoggingBean implem }
if (log.isTraceEnabled()) {
- log.trace("resolveTargetStream(" + name + "): " + file);
+ log.trace("resolveTargetStream({}): {}", name, file);
}
return opener.openWrite(session, file, length, perms, options);
@@ -119,7 +119,7 @@ public class LocalFileScpTargetStreamResolver extends \
AbstractLoggingBean implem
Session session, String name, long length, Set<PosixFilePermission> \
perms, OutputStream stream) throws IOException {
if (log.isTraceEnabled()) {
- log.trace("closeTargetStream(" + name + "): " + file);
+ log.trace("closeTargetStream({}): {}", name, file);
}
opener.closeWrite(session, file, length, perms, stream);
@@ -153,7 +153,7 @@ public class LocalFileScpTargetStreamResolver extends \
AbstractLoggingBean implem throws IOException {
boolean traceEnabled = log.isTraceEnabled();
if (traceEnabled) {
- log.trace("updateFileProperties(" + name + ")[" + path + "] permissions: \
" + perms); + log.trace("updateFileProperties({})[{}] permissions: {}", \
name, path, perms); }
IoUtils.setPermissions(path, perms);
@@ -162,8 +162,8 @@ public class LocalFileScpTargetStreamResolver extends \
AbstractLoggingBean implem
FileTime lastModified = FileTime.from(time.getLastModifiedTime(), \
TimeUnit.MILLISECONDS);
FileTime lastAccess = FileTime.from(time.getLastAccessTime(), \
TimeUnit.MILLISECONDS); if (traceEnabled) {
- log.trace("updateFileProperties(" + name + ")[" + path + "] \
last-modified=" + lastModified + ", last-access="
- + lastAccess);
+ log.trace("updateFileProperties({})[{}] last-modified={}, \
last-access={}", name, path, lastModified, + lastAccess);
}
view.setTimes(lastModified, lastAccess, null);
diff --git a/sshd-scp/src/main/java/org/apache/sshd/scp/common/helpers/ScpIoUtils.java \
b/sshd-scp/src/main/java/org/apache/sshd/scp/common/helpers/ScpIoUtils.java index \
38552befa..daa48ab9f 100644
--- a/sshd-scp/src/main/java/org/apache/sshd/scp/common/helpers/ScpIoUtils.java
+++ b/sshd-scp/src/main/java/org/apache/sshd/scp/common/helpers/ScpIoUtils.java
@@ -122,9 +122,8 @@ public final class ScpIoUtils {
long endTime = System.nanoTime();
long nanosWait = endTime - startTime;
if ((log != null) && log.isTraceEnabled()) {
- log.trace("openCommandChannel(" + session + ")[" + cmd + "]"
- + " completed after " + nanosWait
- + " nanos out of " + waitTimeout.toNanos());
+ log.trace("openCommandChannel({})[{}] completed after {} nanos out \
of {}", session, cmd, nanosWait, + waitTimeout.toNanos());
}
return channel;
@@ -132,11 +131,8 @@ public final class ScpIoUtils {
long endTime = System.nanoTime();
long nanosWait = endTime - startTime;
if ((log != null) && log.isTraceEnabled()) {
- log.trace("openCommandChannel(" + session + ")[" + cmd + "]"
- + " failed (" + e.getClass().getSimpleName() + ")"
- + " to complete after " + nanosWait
- + " nanos out of " + waitTimeout.toNanos()
- + ": " + e.getMessage());
+ log.trace("openCommandChannel({})[{}] failed after {} nanos out of \
{}: {}", session, cmd, nanosWait, + waitTimeout.toNanos(), \
e.toString()); }
channel.close(false);
diff --git a/sshd-scp/src/main/java/org/apache/sshd/scp/server/InputStreamReader.java \
b/sshd-scp/src/main/java/org/apache/sshd/scp/server/InputStreamReader.java index \
c15801806..d50ca7ef3 100644
--- a/sshd-scp/src/main/java/org/apache/sshd/scp/server/InputStreamReader.java
+++ b/sshd-scp/src/main/java/org/apache/sshd/scp/server/InputStreamReader.java
@@ -53,7 +53,7 @@ import java.nio.charset.UnmappableCharacterException;
* characters by either a default or a provided character converter. The default \
encoding is taken from the
* "file.encoding" system property. {@code InputStreamReader} contains a buffer of \
bytes read from the source stream and
* converts these into characters as needed. The buffer size is 8K.
- *
+ *
* @see OutputStreamWriter
*/
public class InputStreamReader extends Reader {
@@ -74,7 +74,7 @@ public class InputStreamReader extends Reader {
* Constructs a new {@code InputStreamReader} on the {@link InputStream} {@code \
in}. This constructor sets the
* character converter to the encoding specified in the "file.encoding" property \
and falls back to ISO 8859_1
* (ISO-Latin-1) if the property doesn't exist.
- *
+ *
* @param in the input stream from which to read characters.
*/
public InputStreamReader(InputStream in) {
@@ -90,7 +90,7 @@ public class InputStreamReader extends Reader {
* Constructs a new InputStreamReader on the InputStream {@code in}. The \
character converter that is used to decode
* bytes into characters is identified by name by {@code enc}. If the encoding \
cannot be found, an
* UnsupportedEncodingException error is thrown.
- *
+ *
* @param in the InputStream from which to read \
characters.
* @param enc identifies the character converter to \
use.
* @throws NullPointerException if {@code enc} is {@code null}.
@@ -115,7 +115,7 @@ public class InputStreamReader extends Reader {
/**
* Constructs a new InputStreamReader on the InputStream {@code in} and \
CharsetDecoder {@code dec}.
- *
+ *
* @param in the source InputStream from which to read characters.
* @param dec the CharsetDecoder used by the character conversion.
*/
@@ -129,7 +129,7 @@ public class InputStreamReader extends Reader {
/**
* Constructs a new InputStreamReader on the InputStream {@code in} and Charset \
{@code charset}.
- *
+ *
* @param in the source InputStream from which to read characters.
* @param charset the Charset that defines the character converter
*/
@@ -144,7 +144,7 @@ public class InputStreamReader extends Reader {
/**
* Closes this reader. This implementation closes the source InputStream and \
releases all local storage.
- *
+ *
* @throws IOException if an error occurs attempting to close this reader.
*/
@Override
@@ -161,7 +161,7 @@ public class InputStreamReader extends Reader {
/**
* Returns the name of the encoding used to convert bytes into characters. The \
value {@code null} is returned if
* this reader has been closed.
- *
+ *
* @return the name of the character converter or {@code null} if this reader is \
closed.
*/
public String getEncoding() {
@@ -175,7 +175,7 @@ public class InputStreamReader extends Reader {
* Reads a single character from this reader and returns it as an integer with \
the two higher-order bytes set to 0.
* Returns -1 if the end of the reader has been reached. The byte value is \
either obtained from converting bytes in
* this reader's buffer or by first filling the buffer from the source \
InputStream and then reading from the buffer.
- *
+ *
* @return the character read or -1 if the end of the reader has \
been reached.
* @throws IOException if this reader is closed or some other I/O error occurs.
*/
@@ -191,7 +191,7 @@ public class InputStreamReader extends Reader {
pending = (char) -1;
return c;
}
- char buf[] = new char[2];
+ char[] buf = new char[2];
int nb = read(buf, 0, 2);
if (nb == 2) {
pending = buf[1];
@@ -209,7 +209,7 @@ public class InputStreamReader extends Reader {
* character array {@code buf}. Returns the number of characters actually read \
or -1 if the end of the reader has
* been reached. The bytes are either obtained from converting bytes in this \
reader's buffer or by first filling the
* buffer from the source InputStream and then reading from the buffer.
- *
+ *
* @param buf the array to store the characters read.
* @param offset the initial position in {@code buf} to \
store the characters read from this
* reader.
@@ -308,7 +308,7 @@ public class InputStreamReader extends Reader {
* {@code read()} will not block. If the result is {@code false} then this \
reader may or may not block when
* {@code read()} is called. This implementation returns {@code true} if there \
are bytes available in the buffer or
* the source stream has bytes available.
- *
+ *
* @return {@code true} if the receiver will not block when {@code \
read()} is called, {@code false} if
* unknown or blocking will occur.
* @throws IOException if this reader is closed or some other I/O error occurs.
diff --git a/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/extensions/helpers/AbstractSftpClientExtension.java \
b/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/extensions/helpers/AbstractSftpClientExtension.java
index 5a487ed55..4bff81d54 100644
--- a/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/extensions/helpers/AbstractSftpClientExtension.java
+++ b/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/extensions/helpers/AbstractSftpClientExtension.java
@@ -77,7 +77,7 @@ public abstract class AbstractSftpClientExtension extends \
AbstractLoggingBean im
protected void sendAndCheckExtendedCommandStatus(Buffer buffer) throws \
IOException { int reqId = sendExtendedCommand(buffer);
if (log.isDebugEnabled()) {
- log.debug("sendAndCheckExtendedCommandStatus(" + getName() + ") id=" + \
reqId); + log.debug("sendAndCheckExtendedCommandStatus({}) id={}", \
getName(), reqId); }
checkStatus(receive(reqId));
}
diff --git a/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/fs/SftpClientDirectoryScanner.java \
b/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/fs/SftpClientDirectoryScanner.java
index cb5287e82..b0fbbf166 100644
--- a/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/fs/SftpClientDirectoryScanner.java
+++ b/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/fs/SftpClientDirectoryScanner.java
@@ -97,7 +97,7 @@ public class SftpClientDirectoryScanner extends \
PathScanningMatcher { ? Collections.emptyList()
: Collections.unmodifiableList(
includes.stream()
- .map(v -> SftpPathDirectoryScanner.adjustPattern(v))
+ .map(SftpPathDirectoryScanner::adjustPattern)
.collect(Collectors.toCollection(() -> new \
ArrayList<>(includes.size())))); }
diff --git a/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/fs/SftpFileSystemProvider.java \
b/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/fs/SftpFileSystemProvider.java \
index 199664cc2..4ea058e69 100644
--- a/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/fs/SftpFileSystemProvider.java
+++ b/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/fs/SftpFileSystemProvider.java
@@ -794,7 +794,7 @@ public class SftpFileSystemProvider extends FileSystemProvider {
try (SftpClient client = fsLink.getClient()) {
String linkPath = client.readLink(l.toString());
if (log.isDebugEnabled()) {
- log.debug("readSymbolicLink({})[{}] {} => {}", fsLink, link, \
linkPath); + log.debug("readSymbolicLink({}) {} => {}", fsLink, link, \
linkPath); }
return fsLink.getPath(linkPath);
@@ -1196,7 +1196,7 @@ public class SftpFileSystemProvider extends FileSystemProvider \
{ break;
default:
if (traceEnabled) {
- log.trace("attributesToPermissions(" + path + ") ignored " + \
p); + log.trace("attributesToPermissions({}) ignored {}", \
path, p); }
}
}
diff --git a/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/fs/SftpPathDirectoryScanner.java \
b/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/fs/SftpPathDirectoryScanner.java
index 6bc13dee0..ed2a79010 100644
--- a/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/fs/SftpPathDirectoryScanner.java
+++ b/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/fs/SftpPathDirectoryScanner.java
@@ -79,7 +79,7 @@ public class SftpPathDirectoryScanner extends DirectoryScanner {
? Collections.emptyList()
: Collections.unmodifiableList(
includes.stream()
- .map(v -> adjustPattern(v))
+ .map(SftpPathDirectoryScanner::adjustPattern)
.collect(Collectors.toCollection(() -> new \
ArrayList<>(includes.size())))); }
diff --git a/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/impl/DefaultSftpClient.java \
b/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/impl/DefaultSftpClient.java \
index 15a42c9a8..f0c1243db 100644
--- a/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/impl/DefaultSftpClient.java
+++ b/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/impl/DefaultSftpClient.java
@@ -493,7 +493,7 @@ public class DefaultSftpClient extends AbstractSftpClient {
Map<String, ?> parsed = getParsedServerExtensions();
Collection<String> extensions = ParserUtils.supportedExtensions(parsed);
- List<Integer> availableVersions = Collections.emptyList();
+ List<Integer> availableVersions;
if ((GenericUtils.size(extensions) > 0)
&& extensions.contains(SftpConstants.EXT_VERSION_SELECT)) {
Versions vers = MapEntryUtils.isEmpty(parsed)
diff --git a/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/impl/SftpDirEntryIterator.java \
b/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/impl/SftpDirEntryIterator.java \
index a8d2c644b..fea1a4289 100644
--- a/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/impl/SftpDirEntryIterator.java
+++ b/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/impl/SftpDirEntryIterator.java
@@ -141,7 +141,7 @@ public class SftpDirEntryIterator extends AbstractLoggingBean \
implements SftpCli Handle handle = getHandle();
if ((handle instanceof Closeable) && isCloseOnFinished()) {
if (log.isDebugEnabled()) {
- log.debug("close(" + getPath() + ") handle=" + handle);
+ log.debug("close({}) handle={}", getPath(), handle);
}
((Closeable) handle).close();
}
diff --git a/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/impl/SftpInputStreamAsync.java \
b/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/impl/SftpInputStreamAsync.java \
index d52b005dd..8be006ff8 100644
--- a/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/impl/SftpInputStreamAsync.java
+++ b/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/impl/SftpInputStreamAsync.java
@@ -162,9 +162,7 @@ public class SftpInputStreamAsync extends InputStreamWithChannel \
implements Sftp
throw new IOException("transferTo(" + getPath() + ") stream closed");
}
- long numXfered = doRead(Long.MAX_VALUE, buf -> {
- out.write(buf.array(), buf.rpos(), buf.available());
- });
+ long numXfered = doRead(Long.MAX_VALUE, buf -> out.write(buf.array(), \
buf.rpos(), buf.available())); if (log.isDebugEnabled()) {
log.debug("transferTo({}) transferred {} bytes", this, numXfered);
}
diff --git a/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/impl/SftpOutputStreamAsync.java \
b/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/impl/SftpOutputStreamAsync.java \
index a9da91724..623f4a3f8 100644
--- a/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/impl/SftpOutputStreamAsync.java
+++ b/sshd-sftp/src/main/java/org/apache/sshd/sftp/client/impl/SftpOutputStreamAsync.java
@@ -176,7 +176,7 @@ public class SftpOutputStreamAsync extends \
OutputStreamWithChannel implements Sf
log.debug("flush({}) processing ack #{}: {}", this, ackIndex, ack);
}
- ack = pendingWrites.removeFirst();
+ pendingWrites.removeFirst();
client.checkResponseStatus(SftpConstants.SSH_FXP_WRITE, response);
}
diff --git a/sshd-sftp/src/main/java/org/apache/sshd/sftp/common/SftpHelper.java \
b/sshd-sftp/src/main/java/org/apache/sshd/sftp/common/SftpHelper.java index \
a39415008..e14b9a55a 100644
--- a/sshd-sftp/src/main/java/org/apache/sshd/sftp/common/SftpHelper.java
+++ b/sshd-sftp/src/main/java/org/apache/sshd/sftp/common/SftpHelper.java
@@ -1003,15 +1003,15 @@ public final class SftpHelper {
return mask;
}
- public static <B extends Buffer> B writeACLs(B buffer, int version, Collection<? \
extends AclEntry> acl) { + public static <B extends Buffer> B writeACLs(B buffer, \
int version, Collection<AclEntry> acl) { int lenPos = buffer.wpos();
buffer.putUInt(0L); // length placeholder
- buffer = encodeACLs(buffer, version, acl);
+ encodeACLs(buffer, version, acl);
BufferUtils.updateLengthPlaceholder(buffer, lenPos);
return buffer;
}
- public static <B extends Buffer> B encodeACLs(B buffer, int version, \
Collection<? extends AclEntry> acl) { + public static <B extends Buffer> B \
encodeACLs(B buffer, int version, Collection<AclEntry> acl) { \
Objects.requireNonNull(acl, "No ACL"); if (version >= SftpConstants.SFTP_V6) {
buffer.putUInt(0L); // TODO handle ACL flags
@@ -1021,7 +1021,7 @@ public final class SftpHelper {
buffer.putInt(numEntries);
if (numEntries > 0) {
for (AclEntry e : acl) {
- buffer = writeAclEntry(buffer, e);
+ writeAclEntry(buffer, e);
}
}
diff --git a/sshd-sftp/src/main/java/org/apache/sshd/sftp/server/AbstractSftpEventListenerAdapter.java \
b/sshd-sftp/src/main/java/org/apache/sshd/sftp/server/AbstractSftpEventListenerAdapter.java
index 43f2e0657..565807c5c 100644
--- a/sshd-sftp/src/main/java/org/apache/sshd/sftp/server/AbstractSftpEventListenerAdapter.java
+++ b/sshd-sftp/src/main/java/org/apache/sshd/sftp/server/AbstractSftpEventListenerAdapter.java
@@ -51,14 +51,14 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe @Override
public void initialized(ServerSession session, int version) throws IOException {
if (log.isDebugEnabled()) {
- log.debug("initialized(" + session + ") version=" + version);
+ log.debug("initialized({}) version={}", session, version);
}
}
@Override
public void destroying(ServerSession session) throws IOException {
if (log.isTraceEnabled()) {
- log.trace("destroying(" + session + ")");
+ log.trace("destroying({})", session);
}
}
@@ -66,8 +66,7 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe
public void opening(ServerSession session, String remoteHandle, Handle \
localHandle) throws IOException { if (log.isTraceEnabled()) {
Path path = localHandle.getFile();
- log.trace("opening(" + session + ")[" + remoteHandle + "] " + \
(Files.isDirectory(path) ? "directory" : "file") + " "
- + path);
+ log.trace("opening({})[{}] {} {}", session, remoteHandle, \
Files.isDirectory(path) ? "directory" : "file", path); }
}
@@ -85,8 +84,7 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe
public void open(ServerSession session, String remoteHandle, Handle localHandle) \
throws IOException { if (log.isTraceEnabled()) {
Path path = localHandle.getFile();
- log.trace("open(" + session + ")[" + remoteHandle + "] " + \
(Files.isDirectory(path) ? "directory" : "file") + " "
- + path);
+ log.trace("open({})[{}] {} {}", session, remoteHandle, \
Files.isDirectory(path) ? "directory" : "file", path); }
}
@@ -103,12 +101,12 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe throws IOException {
int numEntries = MapEntryUtils.size(entries);
if (log.isDebugEnabled()) {
- log.debug("read(" + session + ")[" + localHandle.getFile() + "] " + \
numEntries + " entries"); + log.debug("read({})[{}] {} entries", session, \
localHandle.getFile(), numEntries); }
if ((numEntries > 0) && log.isTraceEnabled()) {
entries.forEach(
- (key, value) -> log.trace("read(" + session + ")[" + \
localHandle.getFile() + "] " + key + " - " + value)); + (key, \
value) -> log.trace("read({})[{}] {} - {}", session, localHandle.getFile(), key, \
value)); }
}
@@ -118,7 +116,7 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe long offset, byte[] data, int dataOffset, int dataLen)
throws IOException {
if (log.isTraceEnabled()) {
- log.trace("reading(" + session + ")[" + localHandle.getFile() + "] \
offset=" + offset + ", requested=" + dataLen); + \
log.trace("reading({})[{}] offset={}, requested={}", session, localHandle.getFile(), \
offset, dataLen); }
}
@@ -129,9 +127,8 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe
long offset, byte[] data, int dataOffset, int dataLen, int readLen, \
Throwable thrown) throws IOException {
if (log.isTraceEnabled()) {
- log.trace("read(" + session + ")[" + localHandle.getFile() + "] offset=" \
+ offset
- + ", requested=" + dataLen + ", read=" + readLen
- + ((thrown == null) ? "" : (": " + \
thrown.getClass().getSimpleName() + ": " + thrown.getMessage()))); + \
log.trace("read({})[{}] offset={}, requested={}, read={}{}", session, \
localHandle.getFile(), offset, dataLen, + readLen, (thrown == \
null) ? "" : ": " + thrown); }
}
@@ -141,7 +138,7 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe long offset, byte[] data, int dataOffset, int dataLen)
throws IOException {
if (log.isTraceEnabled()) {
- log.trace("write(" + session + ")[" + localHandle.getFile() + "] \
offset=" + offset + ", requested=" + dataLen); + \
log.trace("writing({})[{}] offset={}, requested={}", session, localHandle.getFile(), \
offset, dataLen); }
}
@@ -151,8 +148,8 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe
long offset, byte[] data, int dataOffset, int dataLen, Throwable thrown)
throws IOException {
if (log.isTraceEnabled()) {
- log.trace("written(" + session + ")[" + localHandle.getFile() + "] \
offset=" + offset + ", requested=" + dataLen
- + ((thrown == null) ? "" : (": " + \
thrown.getClass().getSimpleName() + ": " + thrown.getMessage()))); + \
log.trace("written({})[{}] offset={}, requested={}{}", session, \
localHandle.getFile(), offset, dataLen, + (thrown == null) ? "" : \
": " + thrown); }
}
@@ -160,8 +157,8 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe
public void blocking(ServerSession session, String remoteHandle, FileHandle \
localHandle, long offset, long length, int mask) throws IOException {
if (log.isTraceEnabled()) {
- log.trace("blocking(" + session + ")[" + localHandle.getFile() + "]"
- + " offset=" + offset + ", length=" + length + ", mask=0x" + \
Integer.toHexString(mask)); + log.trace("blocking({})[{}] offset={}, \
length={}, mask=0x{}", session, localHandle.getFile(), offset, length, + \
Integer.toHexString(mask)); }
}
@@ -171,9 +168,8 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe Throwable thrown)
throws IOException {
if (log.isTraceEnabled()) {
- log.trace("blocked(" + session + ")[" + localHandle.getFile() + "]"
- + " offset=" + offset + ", length=" + length + ", mask=0x" + \
Integer.toHexString(mask)
- + ((thrown == null) ? "" : (": " + \
thrown.getClass().getSimpleName() + ": " + thrown.getMessage()))); + \
log.trace("blocked({})[{}] offset={}, length={}, mask=0x{}{}", session, \
localHandle.getFile(), offset, length, + \
Integer.toHexString(mask), (thrown == null) ? "" : ": " + thrown); }
}
@@ -181,7 +177,7 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe
public void unblocking(ServerSession session, String remoteHandle, FileHandle \
localHandle, long offset, long length) throws IOException {
if (log.isTraceEnabled()) {
- log.trace("unblocking(" + session + ")[" + localHandle.getFile() + "] \
offset=" + offset + ", length=" + length); + log.trace("unblocking({})[{}] \
offset={}, length={}", session, localHandle.getFile(), offset, length); }
}
@@ -190,9 +186,8 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe
ServerSession session, String remoteHandle, FileHandle localHandle, long \
offset, long length, Throwable thrown) throws IOException {
if (log.isTraceEnabled()) {
- log.trace("unblocked(" + session + ")[" + localHandle.getFile() + "]"
- + " offset=" + offset + ", length=" + length
- + ((thrown == null) ? "" : (": " + \
thrown.getClass().getSimpleName() + ": " + thrown.getMessage()))); + \
log.trace("unblocked({})[{}] offset={}, length={}{}", session, localHandle.getFile(), \
offset, length, + (thrown == null) ? "" : ": " + thrown);
}
}
@@ -200,8 +195,8 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe
public void closing(ServerSession session, String remoteHandle, Handle \
localHandle) throws IOException { if (log.isTraceEnabled()) {
Path path = localHandle.getFile();
- log.trace("close(" + session + ")[" + remoteHandle + "] " + \
(Files.isDirectory(path) ? "directory" : "file") + " "
- + path);
+ log.trace("close({})[{}] {} {}", session, localHandle.getFile(), \
(Files.isDirectory(path) ? "directory" : "file"), + path);
}
}
@@ -209,7 +204,8 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe
public void closed(ServerSession session, String remoteHandle, Handle \
localHandle, Throwable thrown) throws IOException {
if (log.isTraceEnabled()) {
- log.trace("closed({}) handle={}[{}], thrown={}", session, remoteHandle, \
localHandle.getFile(), thrown); + log.trace("closed({}) handle={}[{}]{}", \
session, remoteHandle, localHandle.getFile(), + (thrown == null) ? \
"" : ": " + thrown); }
}
@@ -217,7 +213,7 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe
public void creating(ServerSession session, Path path, Map<String, ?> attrs)
throws IOException {
if (log.isTraceEnabled()) {
- log.trace("creating(" + session + ") " + (Files.isDirectory(path) ? \
"directory" : "file") + " " + path); + log.trace("creating({}) {} {}", \
session, (Files.isDirectory(path) ? "directory" : "file"), path); }
}
@@ -225,8 +221,8 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe
public void created(ServerSession session, Path path, Map<String, ?> attrs, \
Throwable thrown) throws IOException {
if (log.isTraceEnabled()) {
- log.trace("created(" + session + ") " + (Files.isDirectory(path) ? \
"directory" : "file") + " " + path
- + ((thrown == null) ? "" : (": " + \
thrown.getClass().getSimpleName() + ": " + thrown.getMessage()))); + \
log.trace("created({}) {} {}{}", session, (Files.isDirectory(path) ? "directory" : \
"file"), path, + (thrown == null) ? "" : ": " + thrown);
}
}
@@ -234,7 +230,7 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe
public void moving(ServerSession session, Path srcPath, Path dstPath, \
Collection<CopyOption> opts) throws IOException {
if (log.isTraceEnabled()) {
- log.trace("moving(" + session + ")[" + opts + "]" + srcPath + " => " + \
dstPath); + log.trace("moving({})[{}] {} => {}", session, opts, srcPath, \
dstPath); }
}
@@ -242,8 +238,7 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe
public void moved(ServerSession session, Path srcPath, Path dstPath, \
Collection<CopyOption> opts, Throwable thrown) throws IOException {
if (log.isTraceEnabled()) {
- log.trace("moved(" + session + ")[" + opts + "]" + srcPath + " => " + \
dstPath
- + ((thrown == null) ? "" : (": " + \
thrown.getClass().getSimpleName() + ": " + thrown.getMessage()))); + \
log.trace("moved({})[{}] {} => {}{}", session, opts, srcPath, dstPath, (thrown == \
null) ? "" : ": " + thrown); }
}
@@ -251,7 +246,7 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe
public void removing(ServerSession session, Path path, boolean isDirectory)
throws IOException {
if (log.isTraceEnabled()) {
- log.trace("removing(" + session + ")[dir=" + isDirectory + "] " + path);
+ log.trace("removing({})[dir={}] {}", session, isDirectory, path);
}
}
@@ -259,8 +254,7 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe
public void removed(ServerSession session, Path path, boolean isDirectory, \
Throwable thrown) throws IOException {
if (log.isTraceEnabled()) {
- log.trace("removed(" + session + ")[dir=" + isDirectory + "] " + path
- + ((thrown == null) ? "" : (": " + \
thrown.getClass().getSimpleName() + ": " + thrown.getMessage()))); + \
log.trace("removed({})[dir={}] {}{}", session, isDirectory, path, (thrown == null) ? \
"" : ": " + thrown); }
}
@@ -268,7 +262,7 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe
public void linking(ServerSession session, Path source, Path target, boolean \
symLink) throws IOException {
if (log.isTraceEnabled()) {
- log.trace("linking(" + session + ")[" + symLink + "]" + source + " => " \
+ target); + log.trace("linking({})[{}] {} => {}", session, symLink, \
source, target); }
}
@@ -276,8 +270,7 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe
public void linked(ServerSession session, Path source, Path target, boolean \
symLink, Throwable thrown) throws IOException {
if (log.isTraceEnabled()) {
- log.trace("linked(" + session + ")[" + symLink + "]" + source + " => " + \
target
- + ((thrown == null) ? "" : (": " + \
thrown.getClass().getSimpleName() + ": " + thrown.getMessage()))); + \
log.trace("linked({})[{}] {} => {}{}", session, symLink, source, target, (thrown == \
null) ? "" : ": " + thrown); }
}
@@ -285,7 +278,7 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe
public void modifyingAttributes(ServerSession session, Path path, Map<String, ?> \
attrs) throws IOException {
if (log.isTraceEnabled()) {
- log.trace("modifyingAttributes(" + session + ") " + path + ": " + \
attrs); + log.trace("modifyingAttributes({}) {}: {}", session, path, \
attrs); }
}
@@ -293,8 +286,7 @@ public abstract class AbstractSftpEventListenerAdapter extends \
AbstractLoggingBe
public void modifiedAttributes(ServerSession session, Path path, Map<String, ?> \
attrs, Throwable thrown) throws IOException {
if (log.isTraceEnabled()) {
- log.trace("modifiedAttributes(" + session + ") " + path
- + ((thrown == null) ? "" : (": " + \
thrown.getClass().getSimpleName() + ": " + thrown.getMessage()))); + \
log.trace("modifiedAttributes({}) {}{}", session, path, (thrown == null) ? "" : ": " \
+ thrown); }
}
diff --git a/sshd-sftp/src/main/java/org/apache/sshd/sftp/server/AbstractSftpSubsystemHelper.java \
b/sshd-sftp/src/main/java/org/apache/sshd/sftp/server/AbstractSftpSubsystemHelper.java
index 002ec3eac..425234e96 100644
--- a/sshd-sftp/src/main/java/org/apache/sshd/sftp/server/AbstractSftpSubsystemHelper.java
+++ b/sshd-sftp/src/main/java/org/apache/sshd/sftp/server/AbstractSftpSubsystemHelper.java
@@ -2307,13 +2307,11 @@ public abstract class AbstractSftpSubsystemHelper
accessor.putRemoteFileName(this, f, buffer, longName, false);
if (log.isTraceEnabled()) {
- log.trace("writeDirEntry(" + session + ") id=" + id + ")[" + index + \
"] - "
- + shortName + " [" + longName + "]: " + attrs);
+ log.trace("writeDirEntry({} id={})[{}] - {} [{}]: {}", session, id, \
index, shortName, longName, attrs); }
} else {
if (log.isTraceEnabled()) {
- log.trace("writeDirEntry(" + session + "(id=" + id + ")[" + index + \
"] - "
- + shortName + ": " + attrs);
+ log.trace("writeDirEntry({} id={})[{}] - {}: {}", session, id, \
index, shortName, attrs); }
}
@@ -2420,20 +2418,18 @@ public abstract class AbstractSftpSubsystemHelper
protected NavigableMap<String, Object> handleUnknownStatusFileAttributes(
Path file, int flags, LinkOption... options)
throws IOException {
- UnsupportedAttributePolicy unsupportedAttributePolicy = \
getUnsupportedAttributePolicy();
- switch (unsupportedAttributePolicy) {
+ UnsupportedAttributePolicy policy = getUnsupportedAttributePolicy();
+ switch (policy) {
case Ignore:
break;
case ThrowException:
throw new AccessDeniedException(file.toString(), file.toString(),
"Cannot determine existence for attributes of target");
case Warn:
- log.warn("handleUnknownStatusFileAttributes(" + getServerSession() + \
")[" + file
- + "] cannot determine existence");
+ log.warn("handleUnknownStatusFileAttributes({})[{}] cannot determine \
existence", getServerSession(), file); break;
default:
- log.warn("handleUnknownStatusFileAttributes(" + getServerSession() + \
")[" + file + "] unknown policy: "
- + unsupportedAttributePolicy);
+ log.warn("handleUnknownStatusFileAttributes({})[{}] unknown policy: \
{}", getServerSession(), file, policy); }
return getAttributes(file, flags, options);
@@ -2599,20 +2595,18 @@ public abstract class AbstractSftpSubsystemHelper
log.trace("handleReadFileAttributesException(" + file + ")[" + view + "] \
details", e); }
- UnsupportedAttributePolicy unsupportedAttributePolicy = \
getUnsupportedAttributePolicy();
- switch (unsupportedAttributePolicy) {
+ UnsupportedAttributePolicy policy = getUnsupportedAttributePolicy();
+ switch (policy) {
case Ignore:
break;
case Warn:
- log.warn("handleReadFileAttributesException(" + file + ")[" + view + \
"] " + e.getClass().getSimpleName() + ": "
- + e.getMessage());
+ log.warn("handleReadFileAttributesException({})[{}] {}", file, view, \
e.toString()); break;
case ThrowException:
throw e;
default:
- log.warn("handleReadFileAttributesException(" + file + ")[" + view + \
"]"
- + " Unknown policy (" + unsupportedAttributePolicy + ")"
- + " for " + e.getClass().getSimpleName() + ": " + \
e.getMessage()); + log.warn("handleReadFileAttributesException({})[{}] \
Unknown policy ({}) for {}", file, view, policy, + \
e.toString()); }
return Collections.emptyNavigableMap();
@@ -2867,17 +2861,17 @@ public abstract class AbstractSftpSubsystemHelper
}
String attrsList = GenericUtils.join(attributes, ',');
- UnsupportedAttributePolicy unsupportedAttributePolicy = \
getUnsupportedAttributePolicy();
- switch (unsupportedAttributePolicy) {
+ UnsupportedAttributePolicy policy = getUnsupportedAttributePolicy();
+ switch (policy) {
case Ignore:
break;
case Warn:
- log.warn("Unsupported attributes: " + attrsList);
+ log.warn("Unsupported attributes: {}", attrsList);
break;
case ThrowException:
throw new UnsupportedOperationException("Unsupported attributes: " + \
attrsList); default:
- log.warn("Unknown policy for attributes=" + attrsList + ": " + \
unsupportedAttributePolicy); + log.warn("Unknown policy ''{}'' for \
attributes={}", policy, attrsList); }
}
@@ -2905,8 +2899,7 @@ public abstract class AbstractSftpSubsystemHelper
Class<? extends Principal> principalType, String name, IOException e)
throws IOException {
if (log.isTraceEnabled()) {
- log.trace("handleUserPrincipalLookupServiceException(" + \
principalType.getSimpleName() + "[" + name + "]) details",
- e);
+ log.trace("handleUserPrincipalLookupServiceException({})[{}] details", \
principalType.getSimpleName(), name, e); }
/*
@@ -2915,19 +2908,18 @@ public abstract class AbstractSftpSubsystemHelper
* "Where an implementation does not support any notion of group or user \
then this method always throws
* UserPrincipalNotFoundException."
*/
- UnsupportedAttributePolicy unsupportedAttributePolicy = \
getUnsupportedAttributePolicy();
- switch (unsupportedAttributePolicy) {
+ UnsupportedAttributePolicy policy = getUnsupportedAttributePolicy();
+ switch (policy) {
case Ignore:
break;
case Warn:
- log.warn("handleUserPrincipalLookupServiceException(" + \
principalType.getSimpleName() + "[" + name + "])"
- + " failed (" + e.getClass().getSimpleName() + "): " + \
e.getMessage()); + \
log.warn("handleUserPrincipalLookupServiceException({})[{}] failed: {}", \
principalType.getSimpleName(), name, + e.toString());
break;
case ThrowException:
throw e;
default:
- log.warn("Unknown policy for principal=" + \
principalType.getSimpleName() + "[" + name + "]: "
- + unsupportedAttributePolicy);
+ log.warn("Unknown policy ''{}'' for principal={} [{}]", policy, \
principalType.getSimpleName(), name); }
}
diff --git a/sshd-sftp/src/main/java/org/apache/sshd/sftp/server/SftpSubsystem.java \
b/sshd-sftp/src/main/java/org/apache/sshd/sftp/server/SftpSubsystem.java index \
bbfb8f5aa..f4c12ab36 100644
--- a/sshd-sftp/src/main/java/org/apache/sshd/sftp/server/SftpSubsystem.java
+++ b/sshd-sftp/src/main/java/org/apache/sshd/sftp/server/SftpSubsystem.java
@@ -1030,7 +1030,7 @@ public class SftpSubsystem
boolean result = pendingFuture.cancel(true);
// TODO consider waiting some reasonable (?) amount of time for \
cancellation if (debugEnabled) {
- log.debug("destroy(" + session + ") - cancel pending future=" + \
result); + log.debug("destroy({}) - cancel pending future={}", \
session, result); }
}
@@ -1040,7 +1040,7 @@ public class SftpSubsystem
if ((executors != null) && (!executors.isShutdown())) {
Collection<Runnable> runners = executors.shutdownNow();
if (debugEnabled) {
- log.debug("destroy(" + session + ") - shutdown executor service - \
runners count=" + runners.size()); + log.debug("destroy({}) - shutdown \
executor service - runners count={}", session, runners.size()); }
}
this.executorService = null;
@@ -1049,14 +1049,11 @@ public class SftpSubsystem
fileSystem.close();
} catch (UnsupportedOperationException e) {
if (debugEnabled) {
- log.debug("destroy(" + session + ") closing the file system is not \
supported"); + log.debug("destroy({}) closing the file system is not \
supported", session); }
} catch (IOException e) {
if (debugEnabled) {
- log.warn("destroy(" + session + ")"
- + " failed (" + e.getClass().getSimpleName() + ")"
- + " to close file system: " + e.getMessage(),
- e);
+ log.warn("destroy({}) failed to close the file system", session, e);
}
}
}
diff --git a/sshd-sftp/src/test/java/org/apache/sshd/sftp/common/SftpUniversalOwnerAndGroupTest.java \
b/sshd-sftp/src/test/java/org/apache/sshd/sftp/common/SftpUniversalOwnerAndGroupTest.java
index dc662c3f4..83458c827 100644
--- a/sshd-sftp/src/test/java/org/apache/sshd/sftp/common/SftpUniversalOwnerAndGroupTest.java
+++ b/sshd-sftp/src/test/java/org/apache/sshd/sftp/common/SftpUniversalOwnerAndGroupTest.java
@@ -42,7 +42,7 @@ public class SftpUniversalOwnerAndGroupTest extends \
JUnitTestSupport {
for (SftpUniversalOwnerAndGroup value : SftpUniversalOwnerAndGroup.VALUES) {
String name = value.getName();
assertFalse(value.name() + ": empty name", GenericUtils.isEmpty(name));
- assertTrue(value.name() + ": bad suffix", name.charAt(name.length() - 1) \
== '@'); + assertEquals(value.name() + ": bad suffix", '@', \
name.charAt(name.length() - 1));
for (int index = 0; index < name.length() - 1; index++) {
char ch = name.charAt(index);
diff --git a/sshd-spring-sftp/src/main/java/org/apache/sshd/sftp/spring/integration/ApacheSshdSftpSessionFactory.java \
b/sshd-spring-sftp/src/main/java/org/apache/sshd/sftp/spring/integration/ApacheSshdSftpSessionFactory.java
index f0e1dc73f..d39b17540 100644
--- a/sshd-spring-sftp/src/main/java/org/apache/sshd/sftp/spring/integration/ApacheSshdSftpSessionFactory.java
+++ b/sshd-spring-sftp/src/main/java/org/apache/sshd/sftp/spring/integration/ApacheSshdSftpSessionFactory.java
@@ -398,27 +398,20 @@ public class ApacheSshdSftpSessionFactory
SftpVersionSelector selector = getSftpVersionSelector();
SftpClientFactory sftpFactory = SftpClientFactory.instance();
SftpClient sftpClient = sftpFactory.createSftpClient(session, \
selector);
- try {
- ClientSession sessionInstance = session;
- Session<DirEntry> result = sharedInstance
- ? new SpringSftpSession(sftpClient)
- : new SpringSftpSession(sftpClient, () -> {
- try {
- sessionInstance.close();
- return null;
- } catch (Exception e) {
- return e;
- }
- });
- // avoid auto-close at finally clause
- sftpClient = null;
- session = null;
- return result;
- } finally {
- if (sftpClient != null) {
- sftpClient.close();
- }
- }
+ ClientSession sessionInstance = session;
+ Session<DirEntry> result = sharedInstance
+ ? new SpringSftpSession(sftpClient)
+ : new SpringSftpSession(sftpClient, () -> {
+ try {
+ sessionInstance.close();
+ return null;
+ } catch (Exception e) {
+ return e;
+ }
+ });
+ // avoid auto-close at finally clause
+ session = null;
+ return result;
} finally {
if (session != null) {
try {
@@ -523,7 +516,7 @@ public class ApacheSshdSftpSessionFactory
}
if (debugEnabled) {
- log.debug("authenticateClientSession({}) authenticate - timeout=", \
session, timeout); + log.debug("authenticateClientSession({}) authenticate \
- timeout={}", session, timeout); }
session.auth().verify(timeout);
return session;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic