diff --git a/WORKSPACE b/WORKSPACE index d4fb2797f..cd5e30f17 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -90,18 +90,18 @@ maven_jar( sha1 = "51cf043c87253c9f58b539c9f7e44c8894223850", ) -SSHD_VERS = "2.9.2" +SSHD_VERS = "2.10.0" maven_jar( name = "sshd-osgi", artifact = "org.apache.sshd:sshd-osgi:" + SSHD_VERS, - sha1 = "bac0415734519b2fe433fea196017acf7ed32660", + sha1 = "03677ac1da780b7bdb682da50b762d79ea0d940d", ) maven_jar( name = "sshd-sftp", artifact = "org.apache.sshd:sshd-sftp:" + SSHD_VERS, - sha1 = "7f9089c87b3b44f19998252fd3b68637e3322920", + sha1 = "88707339ac0693d48df0ec1bafb84c78d792ed08", ) maven_jar( diff --git a/org.eclipse.jgit.junit.ssh/META-INF/MANIFEST.MF b/org.eclipse.jgit.junit.ssh/META-INF/MANIFEST.MF index 3cf43481f..7e6f68daa 100644 --- a/org.eclipse.jgit.junit.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.junit.ssh/META-INF/MANIFEST.MF @@ -8,31 +8,31 @@ Bundle-Localization: plugin Bundle-Vendor: %Bundle-Vendor Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-11 -Import-Package: org.apache.sshd.common;version="[2.9.2,2.10.0)", - org.apache.sshd.common.config.keys;version="[2.9.2,2.10.0)", - org.apache.sshd.common.file.virtualfs;version="[2.9.2,2.10.0)", - org.apache.sshd.common.helpers;version="[2.9.2,2.10.0)", - org.apache.sshd.common.io;version="[2.9.2,2.10.0)", - org.apache.sshd.common.kex;version="[2.9.2,2.10.0)", - org.apache.sshd.common.keyprovider;version="[2.9.2,2.10.0)", - org.apache.sshd.common.session;version="[2.9.2,2.10.0)", - org.apache.sshd.common.signature;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.buffer;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.logging;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.security;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.threads;version="[2.9.2,2.10.0)", - org.apache.sshd.core;version="[2.9.2,2.10.0)", - org.apache.sshd.server;version="[2.9.2,2.10.0)", - org.apache.sshd.server.auth;version="[2.9.2,2.10.0)", - org.apache.sshd.server.auth.gss;version="[2.9.2,2.10.0)", - org.apache.sshd.server.auth.keyboard;version="[2.9.2,2.10.0)", - org.apache.sshd.server.auth.password;version="[2.9.2,2.10.0)", - org.apache.sshd.server.command;version="[2.9.2,2.10.0)", - org.apache.sshd.server.session;version="[2.9.2,2.10.0)", - org.apache.sshd.server.shell;version="[2.9.2,2.10.0)", - org.apache.sshd.server.subsystem;version="[2.9.2,2.10.0)", - org.apache.sshd.sftp;version="[2.9.2,2.10.0)", - org.apache.sshd.sftp.server;version="[2.9.2,2.10.0)", +Import-Package: org.apache.sshd.common;version="[2.10.0,2.11.0)", + org.apache.sshd.common.config.keys;version="[2.10.0,2.11.0)", + org.apache.sshd.common.file.virtualfs;version="[2.10.0,2.11.0)", + org.apache.sshd.common.helpers;version="[2.10.0,2.11.0)", + org.apache.sshd.common.io;version="[2.10.0,2.11.0)", + org.apache.sshd.common.kex;version="[2.10.0,2.11.0)", + org.apache.sshd.common.keyprovider;version="[2.10.0,2.11.0)", + org.apache.sshd.common.session;version="[2.10.0,2.11.0)", + org.apache.sshd.common.signature;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.buffer;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.logging;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.security;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.threads;version="[2.10.0,2.11.0)", + org.apache.sshd.core;version="[2.10.0,2.11.0)", + org.apache.sshd.server;version="[2.10.0,2.11.0)", + org.apache.sshd.server.auth;version="[2.10.0,2.11.0)", + org.apache.sshd.server.auth.gss;version="[2.10.0,2.11.0)", + org.apache.sshd.server.auth.keyboard;version="[2.10.0,2.11.0)", + org.apache.sshd.server.auth.password;version="[2.10.0,2.11.0)", + org.apache.sshd.server.command;version="[2.10.0,2.11.0)", + org.apache.sshd.server.session;version="[2.10.0,2.11.0)", + org.apache.sshd.server.shell;version="[2.10.0,2.11.0)", + org.apache.sshd.server.subsystem;version="[2.10.0,2.11.0)", + org.apache.sshd.sftp;version="[2.10.0,2.11.0)", + org.apache.sshd.sftp.server;version="[2.10.0,2.11.0)", org.eclipse.jgit.annotations;version="[6.6.0,6.7.0)", org.eclipse.jgit.api;version="[6.6.0,6.7.0)", org.eclipse.jgit.api.errors;version="[6.6.0,6.7.0)", diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.17.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.17.target index 189609064..dda5d0507 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.17.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.17.target @@ -1,7 +1,7 @@ - + @@ -28,10 +28,6 @@ - - - - @@ -70,6 +66,22 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.18.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.18.target index da26dbd3c..01a037ff9 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.18.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.18.target @@ -1,7 +1,7 @@ - + @@ -28,10 +28,6 @@ - - - - @@ -70,6 +66,22 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.19.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.19.target index c9eab15b0..0692455ac 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.19.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.19.target @@ -1,7 +1,7 @@ - + @@ -28,10 +28,6 @@ - - - - @@ -70,6 +66,22 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.20.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.20.target index 278db4fa3..c80d8a9ac 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.20.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.20.target @@ -1,7 +1,7 @@ - + @@ -28,10 +28,6 @@ - - - - @@ -70,6 +66,22 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.21.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.21.target index 01f012141..5876755fa 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.21.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.21.target @@ -1,7 +1,7 @@ - + @@ -28,10 +28,6 @@ - - - - @@ -70,6 +66,22 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.22.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.22.target index 6c3c28877..8cdef6315 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.22.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.22.target @@ -1,7 +1,7 @@ - + @@ -28,10 +28,6 @@ - - - - @@ -70,6 +66,22 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.23.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.23.target index b7c96aba1..e8fad3d2e 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.23.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.23.target @@ -1,7 +1,7 @@ - + @@ -28,10 +28,6 @@ - - - - @@ -70,6 +66,22 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.24.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.24.target index 2efe3f065..89ba3dc7a 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.24.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.24.target @@ -1,7 +1,7 @@ - + @@ -28,10 +28,6 @@ - - - - @@ -70,6 +66,22 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.25.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.25.target index 5894ace31..a75f0b463 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.25.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.25.target @@ -1,7 +1,7 @@ - + @@ -28,10 +28,6 @@ - - - - @@ -70,6 +66,22 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.26.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.26.target index 0bb881dfd..b1e0d7f53 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.26.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.26.target @@ -1,7 +1,7 @@ - + @@ -28,10 +28,6 @@ - - - - @@ -70,6 +66,22 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.27.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.27.target index d28af5512..f7a71b901 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.27.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.27.target @@ -1,7 +1,7 @@ - + @@ -28,10 +28,6 @@ - - - - @@ -70,6 +66,22 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.28.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.28.target index aa409cca3..2a43a08ce 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.28.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.28.target @@ -1,7 +1,7 @@ - + @@ -28,10 +28,6 @@ - - - - @@ -70,6 +66,22 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/maven/dependencies.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/maven/dependencies.tpd index cb1ab479a..a73dd02c2 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/maven/dependencies.tpd +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/maven/dependencies.tpd @@ -121,6 +121,24 @@ maven jetty } } +maven sshd + scope = compile + dependencyDepth = none + missingManifest = error + includeSources +{ + dependency { + groupId = "org.apache.sshd" + artifactId = "sshd-osgi" + version = "2.10.0" + } + dependency { + groupId = "org.apache.sshd" + artifactId = "sshd-sftp" + version = "2.10.0" + } +} + maven slf4j scope = compile dependencyDepth = none diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/R20230302014618-2023-03.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/R20230302014618-2023-03.tpd index ff707c36c..7f193fd46 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/R20230302014618-2023-03.tpd +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/R20230302014618-2023-03.tpd @@ -26,10 +26,6 @@ location "https://download.eclipse.org/tools/orbit/downloads/drops/R202303020146 org.apache.httpcomponents.httpclient.source [4.5.14.v20221207-1049,4.5.14.v20221207-1049] org.apache.httpcomponents.httpcore [4.4.16.v20221207-1049,4.4.16.v20221207-1049] org.apache.httpcomponents.httpcore.source [4.4.16.v20221207-1049,4.4.16.v20221207-1049] - org.apache.sshd.osgi [2.9.2.v20221117-1942,2.9.2.v20221117-1942] - org.apache.sshd.osgi.source [2.9.2.v20221117-1942,2.9.2.v20221117-1942] - org.apache.sshd.sftp [2.9.2.v20221117-1942,2.9.2.v20221117-1942] - org.apache.sshd.sftp.source [2.9.2.v20221117-1942,2.9.2.v20221117-1942] org.hamcrest [2.2.0.v20210711-0821,2.2.0.v20210711-0821] org.hamcrest.source [2.2.0.v20210711-0821,2.2.0.v20210711-0821] org.hamcrest.core [1.3.0.v20180420-1519,1.3.0.v20180420-1519] diff --git a/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF index 1e74f2bae..42779f6fb 100644 --- a/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF @@ -7,20 +7,20 @@ Bundle-Version: 6.6.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-11 -Import-Package: org.apache.sshd.client.config.hosts;version="[2.9.2,2.10.0)", - org.apache.sshd.common;version="[2.9.2,2.10.0)", - org.apache.sshd.common.auth;version="[2.9.2,2.10.0)", - org.apache.sshd.common.config.keys;version="[2.9.2,2.10.0)", - org.apache.sshd.common.helpers;version="[2.9.2,2.10.0)", - org.apache.sshd.common.kex;version="[2.9.2,2.10.0)", - org.apache.sshd.common.keyprovider;version="[2.9.2,2.10.0)", - org.apache.sshd.common.session;version="[2.9.2,2.10.0)", - org.apache.sshd.common.signature;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.net;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.security;version="[2.9.2,2.10.0)", - org.apache.sshd.core;version="[2.9.2,2.10.0)", - org.apache.sshd.server;version="[2.9.2,2.10.0)", - org.apache.sshd.server.forward;version="[2.9.2,2.10.0)", +Import-Package: org.apache.sshd.client.config.hosts;version="[2.10.0,2.11.0)", + org.apache.sshd.common;version="[2.10.0,2.11.0)", + org.apache.sshd.common.auth;version="[2.10.0,2.11.0)", + org.apache.sshd.common.config.keys;version="[2.10.0,2.11.0)", + org.apache.sshd.common.helpers;version="[2.10.0,2.11.0)", + org.apache.sshd.common.kex;version="[2.10.0,2.11.0)", + org.apache.sshd.common.keyprovider;version="[2.10.0,2.11.0)", + org.apache.sshd.common.session;version="[2.10.0,2.11.0)", + org.apache.sshd.common.signature;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.net;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.security;version="[2.10.0,2.11.0)", + org.apache.sshd.core;version="[2.10.0,2.11.0)", + org.apache.sshd.server;version="[2.10.0,2.11.0)", + org.apache.sshd.server.forward;version="[2.10.0,2.11.0)", org.eclipse.jgit.api;version="[6.6.0,6.7.0)", org.eclipse.jgit.api.errors;version="[6.6.0,6.7.0)", org.eclipse.jgit.internal.transport.sshd.proxy;version="[6.6.0,6.7.0)", diff --git a/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF b/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF index 83859e2eb..82c83be92 100644 --- a/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF @@ -35,57 +35,57 @@ Export-Package: org.eclipse.jgit.internal.transport.sshd;version="6.6.0";x-inter org.apache.sshd.client.keyverifier", org.eclipse.jgit.transport.sshd.agent;version="6.6.0" Import-Package: net.i2p.crypto.eddsa;version="[0.3.0,0.4.0)", - org.apache.sshd.agent;version="[2.9.2,2.10.0)", - org.apache.sshd.client;version="[2.9.2,2.10.0)", - org.apache.sshd.client.auth;version="[2.9.2,2.10.0)", - org.apache.sshd.client.auth.keyboard;version="[2.9.2,2.10.0)", - org.apache.sshd.client.auth.password;version="[2.9.2,2.10.0)", - org.apache.sshd.client.auth.pubkey;version="[2.9.2,2.10.0)", - org.apache.sshd.client.channel;version="[2.9.2,2.10.0)", - org.apache.sshd.client.config.hosts;version="[2.9.2,2.10.0)", - org.apache.sshd.client.config.keys;version="[2.9.2,2.10.0)", - org.apache.sshd.client.future;version="[2.9.2,2.10.0)", - org.apache.sshd.client.keyverifier;version="[2.9.2,2.10.0)", - org.apache.sshd.client.session;version="[2.9.2,2.10.0)", - org.apache.sshd.client.session.forward;version="[2.9.2,2.10.0)", - org.apache.sshd.common;version="[2.9.2,2.10.0)", - org.apache.sshd.common.auth;version="[2.9.2,2.10.0)", - org.apache.sshd.common.channel;version="[2.9.2,2.10.0)", - org.apache.sshd.common.compression;version="[2.9.2,2.10.0)", - org.apache.sshd.common.config.keys;version="[2.9.2,2.10.0)", - org.apache.sshd.common.config.keys.loader;version="[2.9.2,2.10.0)", - org.apache.sshd.common.config.keys.loader.openssh.kdf;version="[2.9.2,2.10.0)", - org.apache.sshd.common.config.keys.u2f;version="[2.9.2,2.10.0)", - org.apache.sshd.common.digest;version="[2.9.2,2.10.0)", - org.apache.sshd.common.forward;version="[2.9.2,2.10.0)", - org.apache.sshd.common.future;version="[2.9.2,2.10.0)", - org.apache.sshd.common.helpers;version="[2.9.2,2.10.0)", - org.apache.sshd.common.io;version="[2.9.2,2.10.0)", - org.apache.sshd.common.kex;version="[2.9.2,2.10.0)", - org.apache.sshd.common.kex.extension;version="[2.9.2,2.10.0)", - org.apache.sshd.common.kex.extension.parser;version="[2.9.2,2.10.0)", - org.apache.sshd.common.keyprovider;version="[2.9.2,2.10.0)", - org.apache.sshd.common.mac;version="[2.9.2,2.10.0)", - org.apache.sshd.common.random;version="[2.9.2,2.10.0)", - org.apache.sshd.common.session;version="[2.9.2,2.10.0)", - org.apache.sshd.common.session.helpers;version="[2.9.2,2.10.0)", - org.apache.sshd.common.signature;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.buffer;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.buffer.keys;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.closeable;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.io;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.io.der;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.io.functors;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.io.resource;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.logging;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.net;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.security;version="[2.9.2,2.10.0)", - org.apache.sshd.core;version="[2.9.2,2.10.0)", - org.apache.sshd.server.auth;version="[2.9.2,2.10.0)", - org.apache.sshd.sftp;version="[2.9.2,2.10.0)", - org.apache.sshd.sftp.client;version="[2.9.2,2.10.0)", - org.apache.sshd.sftp.common;version="[2.9.2,2.10.0)", + org.apache.sshd.agent;version="[2.10.0,2.11.0)", + org.apache.sshd.client;version="[2.10.0,2.11.0)", + org.apache.sshd.client.auth;version="[2.10.0,2.11.0)", + org.apache.sshd.client.auth.keyboard;version="[2.10.0,2.11.0)", + org.apache.sshd.client.auth.password;version="[2.10.0,2.11.0)", + org.apache.sshd.client.auth.pubkey;version="[2.10.0,2.11.0)", + org.apache.sshd.client.channel;version="[2.10.0,2.11.0)", + org.apache.sshd.client.config.hosts;version="[2.10.0,2.11.0)", + org.apache.sshd.client.config.keys;version="[2.10.0,2.11.0)", + org.apache.sshd.client.future;version="[2.10.0,2.11.0)", + org.apache.sshd.client.keyverifier;version="[2.10.0,2.11.0)", + org.apache.sshd.client.session;version="[2.10.0,2.11.0)", + org.apache.sshd.client.session.forward;version="[2.10.0,2.11.0)", + org.apache.sshd.common;version="[2.10.0,2.11.0)", + org.apache.sshd.common.auth;version="[2.10.0,2.11.0)", + org.apache.sshd.common.channel;version="[2.10.0,2.11.0)", + org.apache.sshd.common.compression;version="[2.10.0,2.11.0)", + org.apache.sshd.common.config.keys;version="[2.10.0,2.11.0)", + org.apache.sshd.common.config.keys.loader;version="[2.10.0,2.11.0)", + org.apache.sshd.common.config.keys.loader.openssh.kdf;version="[2.10.0,2.11.0)", + org.apache.sshd.common.config.keys.u2f;version="[2.10.0,2.11.0)", + org.apache.sshd.common.digest;version="[2.10.0,2.11.0)", + org.apache.sshd.common.forward;version="[2.10.0,2.11.0)", + org.apache.sshd.common.future;version="[2.10.0,2.11.0)", + org.apache.sshd.common.helpers;version="[2.10.0,2.11.0)", + org.apache.sshd.common.io;version="[2.10.0,2.11.0)", + org.apache.sshd.common.kex;version="[2.10.0,2.11.0)", + org.apache.sshd.common.kex.extension;version="[2.10.0,2.11.0)", + org.apache.sshd.common.kex.extension.parser;version="[2.10.0,2.11.0)", + org.apache.sshd.common.keyprovider;version="[2.10.0,2.11.0)", + org.apache.sshd.common.mac;version="[2.10.0,2.11.0)", + org.apache.sshd.common.random;version="[2.10.0,2.11.0)", + org.apache.sshd.common.session;version="[2.10.0,2.11.0)", + org.apache.sshd.common.session.helpers;version="[2.10.0,2.11.0)", + org.apache.sshd.common.signature;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.buffer;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.buffer.keys;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.closeable;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.io;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.io.der;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.io.functors;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.io.resource;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.logging;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.net;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.security;version="[2.10.0,2.11.0)", + org.apache.sshd.core;version="[2.10.0,2.11.0)", + org.apache.sshd.server.auth;version="[2.10.0,2.11.0)", + org.apache.sshd.sftp;version="[2.10.0,2.11.0)", + org.apache.sshd.sftp.client;version="[2.10.0,2.11.0)", + org.apache.sshd.sftp.common;version="[2.10.0,2.11.0)", org.eclipse.jgit.annotations;version="[6.6.0,6.7.0)", org.eclipse.jgit.errors;version="[6.6.0,6.7.0)", org.eclipse.jgit.fnmatch;version="[6.6.0,6.7.0)", diff --git a/org.eclipse.jgit.ssh.apache/pom.xml b/org.eclipse.jgit.ssh.apache/pom.xml index 8a4d6690a..6b1f08c35 100644 --- a/org.eclipse.jgit.ssh.apache/pom.xml +++ b/org.eclipse.jgit.ssh.apache/pom.xml @@ -50,6 +50,16 @@ org.apache.sshd sshd-sftp ${apache-sshd-version} + + + org.apache.sshd + sshd-common + + + org.apache.sshd + sshd-core + + diff --git a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitPasswordAuthFactory.java b/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitPasswordAuthFactory.java deleted file mode 100644 index 715f3b8ed..000000000 --- a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitPasswordAuthFactory.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (C) 2018, Thomas Wolf and others - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Distribution License v. 1.0 which is available at - * https://www.eclipse.org/org/documents/edl-v10.php. - * - * SPDX-License-Identifier: BSD-3-Clause - */ -package org.eclipse.jgit.internal.transport.sshd; - -import java.io.IOException; - -import org.apache.sshd.client.auth.AbstractUserAuthFactory; -import org.apache.sshd.client.auth.password.UserAuthPassword; -import org.apache.sshd.client.auth.password.UserAuthPasswordFactory; -import org.apache.sshd.client.session.ClientSession; - -/** - * A customized {@link UserAuthPasswordFactory} that creates instance of - * {@link JGitPasswordAuthentication}. - */ -public class JGitPasswordAuthFactory extends AbstractUserAuthFactory { - - /** The singleton {@link JGitPasswordAuthFactory}. */ - public static final JGitPasswordAuthFactory INSTANCE = new JGitPasswordAuthFactory(); - - private JGitPasswordAuthFactory() { - super(UserAuthPasswordFactory.NAME); - } - - @Override - public UserAuthPassword createUserAuth(ClientSession session) - throws IOException { - return new JGitPasswordAuthentication(); - } -} diff --git a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitPasswordAuthentication.java b/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitPasswordAuthentication.java deleted file mode 100644 index 33c3c608f..000000000 --- a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitPasswordAuthentication.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 2018, 2022 Thomas Wolf and others - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Distribution License v. 1.0 which is available at - * https://www.eclipse.org/org/documents/edl-v10.php. - * - * SPDX-License-Identifier: BSD-3-Clause - */ -package org.eclipse.jgit.internal.transport.sshd; - -import static org.apache.sshd.core.CoreModuleProperties.PASSWORD_PROMPTS; - -import org.apache.sshd.client.auth.password.UserAuthPassword; -import org.apache.sshd.client.session.ClientSession; - -/** - * A password authentication handler that respects the - * {@code NumberOfPasswordPrompts} ssh config. - */ -public class JGitPasswordAuthentication extends UserAuthPassword { - - private int maxAttempts; - - private int attempts; - - @Override - public void init(ClientSession session, String service) throws Exception { - super.init(session, service); - maxAttempts = Math.max(1, - PASSWORD_PROMPTS.getRequired(session).intValue()); - attempts = 0; - } - - @Override - protected String resolveAttemptedPassword(ClientSession session, - String service) throws Exception { - if (++attempts > maxAttempts) { - return null; - } - return super.resolveAttemptedPassword(session, service); - } -} diff --git a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitSshClient.java b/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitSshClient.java index 72f0bdb6e..311cf198a 100644 --- a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitSshClient.java +++ b/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitSshClient.java @@ -32,10 +32,8 @@ import java.util.Map; import java.util.NoSuchElementException; import java.util.Objects; -import java.util.function.Supplier; import java.util.stream.Collectors; -import org.apache.sshd.agent.SshAgentFactory; import org.apache.sshd.client.SshClient; import org.apache.sshd.client.config.hosts.HostConfigEntry; import org.apache.sshd.client.future.ConnectFuture; @@ -107,8 +105,6 @@ public class JGitSshClient extends SshClient { private ProxyDataFactory proxyDatabase; - private Supplier agentFactorySupplier = () -> null; - @Override protected SessionFactory createSessionFactory() { // Override the parent's default @@ -377,22 +373,6 @@ public CredentialsProvider getCredentialsProvider() { return credentialsProvider; } - @Override - public SshAgentFactory getAgentFactory() { - return agentFactorySupplier.get(); - } - - @Override - protected void checkConfig() { - // The super class requires channel factories for agent forwarding if a - // factory for an SSH agent is set. We haven't implemented this yet, and - // we don't do SSH agent forwarding for now. Unfortunately, there is no - // way to bypass this check in the super class except making - // getAgentFactory() return null until after the check. - super.checkConfig(); - agentFactorySupplier = super::getAgentFactory; - } - /** * A {@link SessionFactory} to create our own specialized * {@link JGitClientSession}s. diff --git a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/transport/sshd/IdentityPasswordProvider.java b/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/transport/sshd/IdentityPasswordProvider.java index dd6894b66..807bda89b 100644 --- a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/transport/sshd/IdentityPasswordProvider.java +++ b/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/transport/sshd/IdentityPasswordProvider.java @@ -252,22 +252,26 @@ protected void cancelAuthentication() { protected boolean keyLoaded(URIish uri, State state, char[] password, Exception err) throws IOException, GeneralSecurityException { - if (err == null) { - return false; // Success, don't retry - } else if (err instanceof GeneralSecurityException) { - throw new InvalidKeyException( - format(SshdText.get().identityFileCannotDecrypt, uri), err); - } else { - // Unencrypted key (state == null && password == null), or exception - // before having asked for the password (state != null && password - // == null; might also be a user cancellation), or number of - // attempts exhausted. - if (state == null || password == null - || state.getCount() >= attempts) { - return false; - } + if (err == null || password == null) { + // Success, or an error before we even asked for a password (could + // also be a non-encrypted key, or a user cancellation): don't + // retry. + return false; + } + if (state != null && state.getCount() < attempts) { + // We asked for a password, and have not yet exhausted the number of + // attempts. Assume the password was incorrect. return true; } + // Attempts exhausted + if (err instanceof GeneralSecurityException) { + // Top-level exception with a better exception message. The + // framework would otherwise re-throw 'err'. + throw new InvalidKeyException( + format(SshdText.get().identityFileCannotDecrypt, uri), err); + } + // I/O error. + return false; } @Override diff --git a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/transport/sshd/SshdSessionFactory.java b/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/transport/sshd/SshdSessionFactory.java index c792c1889..7798b80f1 100644 --- a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/transport/sshd/SshdSessionFactory.java +++ b/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/transport/sshd/SshdSessionFactory.java @@ -33,6 +33,7 @@ import org.apache.sshd.client.SshClient; import org.apache.sshd.client.auth.UserAuthFactory; import org.apache.sshd.client.auth.keyboard.UserAuthKeyboardInteractiveFactory; +import org.apache.sshd.client.auth.password.UserAuthPasswordFactory; import org.apache.sshd.client.config.hosts.HostConfigEntryResolver; import org.apache.sshd.common.NamedFactory; import org.apache.sshd.common.compression.BuiltinCompressions; @@ -46,7 +47,6 @@ import org.eclipse.jgit.internal.transport.ssh.OpenSshConfigFile; import org.eclipse.jgit.internal.transport.sshd.CachingKeyPairProvider; import org.eclipse.jgit.internal.transport.sshd.GssApiWithMicAuthFactory; -import org.eclipse.jgit.internal.transport.sshd.JGitPasswordAuthFactory; import org.eclipse.jgit.internal.transport.sshd.JGitPublicKeyAuthFactory; import org.eclipse.jgit.internal.transport.sshd.JGitServerKeyVerifier; import org.eclipse.jgit.internal.transport.sshd.JGitSshClient; @@ -607,7 +607,7 @@ private List getUserAuthFactories() { return Collections.unmodifiableList( Arrays.asList(GssApiWithMicAuthFactory.INSTANCE, JGitPublicKeyAuthFactory.FACTORY, - JGitPasswordAuthFactory.INSTANCE, + UserAuthPasswordFactory.INSTANCE, UserAuthKeyboardInteractiveFactory.INSTANCE)); } diff --git a/pom.xml b/pom.xml index 406eafd90..303b4afa2 100644 --- a/pom.xml +++ b/pom.xml @@ -152,7 +152,7 @@ 6.5.0.202303070854-r 1.10.12 - 2.9.2 + 2.10.0 0.1.55 1.1.3 1.2.3