diff --git a/ide/bcpg/external/bcpg-jdk18on-1.85-license.txt b/ide/bcpg/external/bcpg-jdk18on-1.86-license.txt
similarity index 98%
rename from ide/bcpg/external/bcpg-jdk18on-1.85-license.txt
rename to ide/bcpg/external/bcpg-jdk18on-1.86-license.txt
index 18a15b55d86c..ff9eeb634988 100644
--- a/ide/bcpg/external/bcpg-jdk18on-1.85-license.txt
+++ b/ide/bcpg/external/bcpg-jdk18on-1.86-license.txt
@@ -1,5 +1,5 @@
Name: Bouncy Castle Java OpenPGP/BCPG
-Version: 1.85
+Version: 1.86
License: MIT-bouncycastle
Origin: https://www.bouncycastle.org/latest_releases.html
Description: Legion of the Bouncy Castle Java cryptography APIs
diff --git a/ide/bcpg/external/binaries-list b/ide/bcpg/external/binaries-list
index ad83a08895d0..d08e46e79631 100644
--- a/ide/bcpg/external/binaries-list
+++ b/ide/bcpg/external/binaries-list
@@ -14,4 +14,4 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-0EB8822A019C29A5D205811367480EBE8C747714 org.bouncycastle:bcpg-jdk18on:1.85
+49DFE201A89EB19D2AE4F213F481765F4E4C0D51 org.bouncycastle:bcpg-jdk18on:1.86
diff --git a/ide/bcpg/nbproject/project.properties b/ide/bcpg/nbproject/project.properties
index 38809873521e..f0d7811de3fd 100644
--- a/ide/bcpg/nbproject/project.properties
+++ b/ide/bcpg/nbproject/project.properties
@@ -14,5 +14,5 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-release.external/bcpg-jdk18on-1.85.jar=modules/bcpg.jar
+release.external/bcpg-jdk18on-1.86.jar=modules/bcpg.jar
is.autoload=true
diff --git a/ide/bcpg/nbproject/project.xml b/ide/bcpg/nbproject/project.xml
index e262deea42b5..a29fa0769fe0 100644
--- a/ide/bcpg/nbproject/project.xml
+++ b/ide/bcpg/nbproject/project.xml
@@ -28,7 +28,7 @@
bcpg.jar
- external/bcpg-jdk18on-1.85.jar
+ external/bcpg-jdk18on-1.86.jar
diff --git a/ide/bcpkix/external/bcpkix-jdk18on-1.85-license.txt b/ide/bcpkix/external/bcpkix-jdk18on-1.86-license.txt
similarity index 98%
rename from ide/bcpkix/external/bcpkix-jdk18on-1.85-license.txt
rename to ide/bcpkix/external/bcpkix-jdk18on-1.86-license.txt
index a789fa2c9d7f..28736c27d50e 100644
--- a/ide/bcpkix/external/bcpkix-jdk18on-1.85-license.txt
+++ b/ide/bcpkix/external/bcpkix-jdk18on-1.86-license.txt
@@ -1,5 +1,5 @@
Name: Bouncy Castle Java Provider
-Version: 1.85
+Version: 1.86
License: MIT-bouncycastle
Origin: https://www.bouncycastle.org/latest_releases.html
Description: Legion of the Bouncy Castle Java cryptography APIs
diff --git a/ide/bcpkix/external/binaries-list b/ide/bcpkix/external/binaries-list
index 9103f29be5b8..03e8bd1f246b 100644
--- a/ide/bcpkix/external/binaries-list
+++ b/ide/bcpkix/external/binaries-list
@@ -14,4 +14,4 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-B33D047ADC6801A1CFC8FFE1634B23B306A670C1 org.bouncycastle:bcpkix-jdk18on:1.85
+FB5EA65959DB10FE5D61148BB2B77F6E231455B1 org.bouncycastle:bcpkix-jdk18on:1.86
diff --git a/ide/bcpkix/nbproject/project.properties b/ide/bcpkix/nbproject/project.properties
index fe3a1c08f86b..f05ff4bd8b12 100644
--- a/ide/bcpkix/nbproject/project.properties
+++ b/ide/bcpkix/nbproject/project.properties
@@ -14,5 +14,5 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-release.external/bcpkix-jdk18on-1.85.jar=modules/bcpkix.jar
+release.external/bcpkix-jdk18on-1.86.jar=modules/bcpkix.jar
is.autoload=true
diff --git a/ide/bcpkix/nbproject/project.xml b/ide/bcpkix/nbproject/project.xml
index 5d9db04f9d4b..551e935dc86f 100644
--- a/ide/bcpkix/nbproject/project.xml
+++ b/ide/bcpkix/nbproject/project.xml
@@ -28,7 +28,7 @@
bcpkix.jar
- external/bcpkix-jdk18on-1.85.jar
+ external/bcpkix-jdk18on-1.86.jar
diff --git a/ide/bcprov/external/bcprov-jdk18on-1.85-license.txt b/ide/bcprov/external/bcprov-jdk18on-1.86-license.txt
similarity index 98%
rename from ide/bcprov/external/bcprov-jdk18on-1.85-license.txt
rename to ide/bcprov/external/bcprov-jdk18on-1.86-license.txt
index a789fa2c9d7f..28736c27d50e 100644
--- a/ide/bcprov/external/bcprov-jdk18on-1.85-license.txt
+++ b/ide/bcprov/external/bcprov-jdk18on-1.86-license.txt
@@ -1,5 +1,5 @@
Name: Bouncy Castle Java Provider
-Version: 1.85
+Version: 1.86
License: MIT-bouncycastle
Origin: https://www.bouncycastle.org/latest_releases.html
Description: Legion of the Bouncy Castle Java cryptography APIs
diff --git a/ide/bcprov/external/binaries-list b/ide/bcprov/external/binaries-list
index e4bd8b8824c9..43989509ab58 100644
--- a/ide/bcprov/external/binaries-list
+++ b/ide/bcprov/external/binaries-list
@@ -14,4 +14,4 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-2320B854DFFE134687F7266BB22021B779E576D3 org.bouncycastle:bcprov-jdk18on:1.85
+830C8467BED8E4C1148262386B09FC42AEDCF262 org.bouncycastle:bcprov-jdk18on:1.86
diff --git a/ide/bcprov/nbproject/project.properties b/ide/bcprov/nbproject/project.properties
index 3220938ecf56..e38243fc0967 100644
--- a/ide/bcprov/nbproject/project.properties
+++ b/ide/bcprov/nbproject/project.properties
@@ -14,5 +14,5 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-release.external/bcprov-jdk18on-1.85.jar=modules/bcprov.jar
+release.external/bcprov-jdk18on-1.86.jar=modules/bcprov.jar
is.autoload=true
diff --git a/ide/bcprov/nbproject/project.xml b/ide/bcprov/nbproject/project.xml
index 72b116f279c7..473ea7b68971 100644
--- a/ide/bcprov/nbproject/project.xml
+++ b/ide/bcprov/nbproject/project.xml
@@ -28,7 +28,7 @@
bcprov.jar
- external/bcprov-jdk18on-1.85.jar
+ external/bcprov-jdk18on-1.86.jar
diff --git a/ide/bcutil/external/bcutil-jdk18on-1.85-license.txt b/ide/bcutil/external/bcutil-jdk18on-1.86-license.txt
similarity index 98%
rename from ide/bcutil/external/bcutil-jdk18on-1.85-license.txt
rename to ide/bcutil/external/bcutil-jdk18on-1.86-license.txt
index 6274e4051dce..d01c04473e98 100644
--- a/ide/bcutil/external/bcutil-jdk18on-1.85-license.txt
+++ b/ide/bcutil/external/bcutil-jdk18on-1.86-license.txt
@@ -1,5 +1,5 @@
Name: Bouncy Castle ASN.1 Extension and Utility APIs
-Version: 1.85
+Version: 1.86
License: MIT-bouncycastle
Origin: https://www.bouncycastle.org/latest_releases.html
Description: Legion of the Bouncy Castle Java cryptography APIs
diff --git a/ide/bcutil/external/binaries-list b/ide/bcutil/external/binaries-list
index cddf4088c7ff..41569d023d51 100644
--- a/ide/bcutil/external/binaries-list
+++ b/ide/bcutil/external/binaries-list
@@ -14,4 +14,4 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-C41082D6F61628919B675970563F5615E4427C9F org.bouncycastle:bcutil-jdk18on:1.85
+2C8E77F5601C2B84C8773AF4CAF403A34DACA357 org.bouncycastle:bcutil-jdk18on:1.86
diff --git a/ide/bcutil/nbproject/project.properties b/ide/bcutil/nbproject/project.properties
index 6e961fc86a74..641bd71af1c1 100644
--- a/ide/bcutil/nbproject/project.properties
+++ b/ide/bcutil/nbproject/project.properties
@@ -14,5 +14,5 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-release.external/bcutil-jdk18on-1.85.jar=modules/bcutil.jar
+release.external/bcutil-jdk18on-1.86.jar=modules/bcutil.jar
is.autoload=true
diff --git a/ide/bcutil/nbproject/project.xml b/ide/bcutil/nbproject/project.xml
index e3a9645b9885..b72af3e902d4 100644
--- a/ide/bcutil/nbproject/project.xml
+++ b/ide/bcutil/nbproject/project.xml
@@ -28,7 +28,7 @@
bcutil.jar
- external/bcutil-jdk18on-1.85.jar
+ external/bcutil-jdk18on-1.86.jar
diff --git a/ide/o.apache.sshd.osgi/external/binaries-list b/ide/o.apache.sshd.osgi/external/binaries-list
index 86838cb1c625..5969d1ae294a 100644
--- a/ide/o.apache.sshd.osgi/external/binaries-list
+++ b/ide/o.apache.sshd.osgi/external/binaries-list
@@ -14,4 +14,4 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-93364E5F6F3A5864CA40C2048940D1D520FD57F7 org.apache.sshd:sshd-osgi:2.19.0
+1046846B3E7DFB49420613EB1F92A2153D9D8850 org.apache.sshd:sshd-osgi:2.20.0
diff --git a/ide/o.apache.sshd.osgi/external/sshd-osgi-2.19.0-license.txt b/ide/o.apache.sshd.osgi/external/sshd-osgi-2.20.0-license.txt
similarity index 99%
rename from ide/o.apache.sshd.osgi/external/sshd-osgi-2.19.0-license.txt
rename to ide/o.apache.sshd.osgi/external/sshd-osgi-2.20.0-license.txt
index 1be4f5994751..13d8d524649d 100644
--- a/ide/o.apache.sshd.osgi/external/sshd-osgi-2.19.0-license.txt
+++ b/ide/o.apache.sshd.osgi/external/sshd-osgi-2.20.0-license.txt
@@ -1,5 +1,5 @@
Name: Apache MINA SSHD
-Version: 2.19.0
+Version: 2.20.0
License: Apache-2.0
Origin: https://mina.apache.org/sshd-project/
Description: Apache MINA SSHD is a 100% pure java library to support the SSH protocols on both the client and server side.
diff --git a/ide/o.apache.sshd.osgi/external/sshd-osgi-2.19.0-notice.txt b/ide/o.apache.sshd.osgi/external/sshd-osgi-2.20.0-notice.txt
similarity index 100%
rename from ide/o.apache.sshd.osgi/external/sshd-osgi-2.19.0-notice.txt
rename to ide/o.apache.sshd.osgi/external/sshd-osgi-2.20.0-notice.txt
diff --git a/ide/o.apache.sshd.osgi/manifest.mf b/ide/o.apache.sshd.osgi/manifest.mf
index 8373fbc1e5fc..c51d8aaffeda 100644
--- a/ide/o.apache.sshd.osgi/manifest.mf
+++ b/ide/o.apache.sshd.osgi/manifest.mf
@@ -1,2 +1,2 @@
OpenIDE-Module: org.apache.sshd.osgi
-OpenIDE-Module-Specification-Version: 2.19.0
+OpenIDE-Module-Specification-Version: 2.20.0
diff --git a/ide/o.apache.sshd.osgi/nbproject/org-apache-sshd-osgi.sig b/ide/o.apache.sshd.osgi/nbproject/org-apache-sshd-osgi.sig
index 2f3e1881d2e3..511a9b2266e3 100644
--- a/ide/o.apache.sshd.osgi/nbproject/org-apache-sshd-osgi.sig
+++ b/ide/o.apache.sshd.osgi/nbproject/org-apache-sshd-osgi.sig
@@ -1,5 +1,5 @@
#Signature file v4.1
-#Version 2.19.0
+#Version 2.20.0
CLSS public java.io.ByteArrayOutputStream
cons public init()
@@ -1239,7 +1239,7 @@ meth protected java.lang.String[] getUserResponses(java.lang.String,java.lang.St
meth public static java.lang.String getAuthCommandName(int)
meth public void init(org.apache.sshd.client.session.ClientSession,java.lang.String) throws java.lang.Exception
supr org.apache.sshd.client.auth.AbstractUserAuth
-hfds maxAttempts,nOfAttempts,passwords,requestPending,wasChallenged,withUserInteraction
+hfds MAX_PROMPTS,maxAttempts,nOfAttempts,passwords,requestPending,wasChallenged,withUserInteraction
CLSS public org.apache.sshd.client.auth.keyboard.UserAuthKeyboardInteractiveFactory
cons public init()
@@ -4188,7 +4188,7 @@ meth public void compress(org.apache.sshd.common.util.buffer.Buffer) throws java
meth public void init(org.apache.sshd.common.compression.Compression$Type,int)
meth public void uncompress(org.apache.sshd.common.util.buffer.Buffer,org.apache.sshd.common.util.buffer.Buffer) throws java.io.IOException
supr org.apache.sshd.common.compression.BaseCompression
-hfds BUF_SIZE,compresser,decompresser,tmpbuf
+hfds BUF_SIZE,MAX_UNCOMPRESSED_SIZE,compressor,decompressor,tmpbuf
CLSS abstract interface org.apache.sshd.common.compression.package-info
@@ -4615,6 +4615,9 @@ supr java.lang.Object
hfds BY_KEY_CLASS_DECODERS_MAP,BY_KEY_TYPE_DECODERS_MAP,DEFAULT_DIGEST_HOLDER,KEY_TYPE_ALIASES,SIGNATURE_ALGORITHM_MAP
CLSS public abstract interface org.apache.sshd.common.config.keys.OpenSshCertificate
+fld public final static java.lang.String FORCE_COMMAND = "force-command"
+fld public final static java.lang.String SOURCE_ADDRESS = "source-address"
+fld public final static java.lang.String VERIFY_REQUIRED = "verify-required"
fld public final static long INFINITY = -1
fld public final static long MIN_EPOCH = 0
innr public final static !enum Type
@@ -6013,6 +6016,7 @@ meth public void sessionClosed(org.apache.sshd.common.io.IoSession) throws java.
meth public void sessionCreated(org.apache.sshd.common.io.IoSession) throws java.lang.Exception
supr org.apache.sshd.common.util.closeable.AbstractCloseable
hfds proxies,service
+hcls Socks5State
CLSS public abstract static org.apache.sshd.common.forward.SocksProxy$Proxy
outer org.apache.sshd.common.forward.SocksProxy
@@ -6038,10 +6042,13 @@ CLSS public org.apache.sshd.common.forward.SocksProxy$Socks5
outer org.apache.sshd.common.forward.SocksProxy
cons public init(org.apache.sshd.common.forward.SocksProxy,org.apache.sshd.common.io.IoSession)
meth protected java.lang.String getBLString(org.apache.sshd.common.util.buffer.Buffer)
+meth protected void forwardPending()
meth protected void onChannelOpened(org.apache.sshd.client.future.OpenFuture)
meth protected void onMessage(org.apache.sshd.common.util.buffer.Buffer) throws java.io.IOException
+meth protected void processPending() throws java.io.IOException
+meth protected void sendReply(byte,java.lang.Runnable)
supr org.apache.sshd.common.forward.SocksProxy$Proxy
-hfds authMethods,response
+hfds pending,state
CLSS public org.apache.sshd.common.forward.TcpipClientChannel
cons public init(org.apache.sshd.common.forward.TcpipClientChannel$Type,org.apache.sshd.common.io.IoSession,org.apache.sshd.common.util.net.SshdSocketAddress)
@@ -8279,6 +8286,7 @@ supr java.lang.Enum ABORT_ON_INVALID_CERTIFICATE
fld public final static org.apache.sshd.common.Property ALLOW_DHG1_KEX_FALLBACK
+fld public final static org.apache.sshd.common.Property ALLOW_EMPTY_CERTIFICATE_PRINCIPALS
fld public final static org.apache.sshd.common.Property IGNORE_INVALID_IDENTITIES
fld public final static org.apache.sshd.common.Property KB_SERVER_INTERACTIVE_ECHO_PROMPT
fld public final static org.apache.sshd.common.Property PREFER_UNIX_AGENT
@@ -11090,6 +11099,7 @@ meth protected java.lang.Boolean doAuth(org.apache.sshd.common.util.buffer.Buffe
meth protected java.lang.Boolean doInitialAuth(org.apache.sshd.server.session.ServerSession,java.lang.String,org.apache.sshd.server.auth.keyboard.KeyboardInteractiveAuthenticator,org.apache.sshd.common.util.buffer.Buffer) throws java.lang.Exception
meth protected java.lang.Boolean doValidateAuthResponse(org.apache.sshd.server.session.ServerSession,java.lang.String,org.apache.sshd.server.auth.keyboard.KeyboardInteractiveAuthenticator,org.apache.sshd.common.util.buffer.Buffer) throws java.lang.Exception
supr org.apache.sshd.server.auth.AbstractUserAuth
+hfds numberOfPrompts
CLSS public org.apache.sshd.server.auth.keyboard.UserAuthKeyboardInteractiveFactory
cons public init()
@@ -11154,7 +11164,12 @@ CLSS public org.apache.sshd.server.auth.pubkey.AuthorizedKeyEntriesPublickeyAuth
cons public init(java.lang.Object,org.apache.sshd.server.session.ServerSession,java.util.Collection extends org.apache.sshd.common.config.keys.AuthorizedKeyEntry>,org.apache.sshd.common.config.keys.PublicKeyEntryResolver) throws java.io.IOException,java.security.GeneralSecurityException
fld public final static org.apache.sshd.common.AttributeRepository$AttributeKey AUTHORIZED_KEY
intf org.apache.sshd.server.auth.pubkey.PublickeyAuthenticator
+meth protected boolean matchesExpiryTime(java.lang.String,org.apache.sshd.server.session.ServerSession,java.lang.String)
+meth protected boolean matchesFrom(java.lang.String,org.apache.sshd.server.session.ServerSession,java.lang.String)
+meth protected boolean matchesLoginOptions(org.apache.sshd.common.config.keys.AuthorizedKeyEntry,java.lang.String,org.apache.sshd.server.session.ServerSession)
meth protected boolean matchesPrincipals(org.apache.sshd.common.config.keys.AuthorizedKeyEntry,java.lang.String,org.apache.sshd.common.config.keys.OpenSshCertificate,org.apache.sshd.server.session.ServerSession)
+meth protected java.net.InetSocketAddress resolveClientAddress(org.apache.sshd.server.session.ServerSession)
+meth protected java.time.Instant parseExpiryTime(java.lang.String)
meth public boolean authenticate(java.lang.String,java.security.PublicKey,org.apache.sshd.server.session.ServerSession)
meth public java.lang.Object getId()
meth public java.lang.String toString()
@@ -11204,11 +11219,14 @@ CLSS public org.apache.sshd.server.auth.pubkey.UserAuthPublicKey
cons public init()
cons public init(java.util.List>)
fld public final static java.lang.String NAME = "publickey"
+fld public final static org.apache.sshd.common.AttributeRepository$AttributeKey> AUTHENTICATED_KEYS
intf org.apache.sshd.common.signature.SignatureFactoriesManager
+meth protected boolean alreadyAuthenticated(java.security.PublicKey,java.util.List)
meth protected boolean verifySignature(org.apache.sshd.server.session.ServerSession,java.lang.String,java.lang.String,java.security.PublicKey,org.apache.sshd.common.util.buffer.Buffer,org.apache.sshd.common.signature.Signature,byte[]) throws java.lang.Exception
meth protected void sendPublicKeyResponse(org.apache.sshd.server.session.ServerSession,java.lang.String,java.lang.String,java.security.PublicKey,byte[],int,int,org.apache.sshd.common.util.buffer.Buffer) throws java.lang.Exception
meth protected void verifyCertificateSignature(org.apache.sshd.server.session.ServerSession,org.apache.sshd.common.config.keys.OpenSshCertificate) throws java.lang.Exception
meth protected void verifyCertificateSources(org.apache.sshd.server.session.ServerSession,org.apache.sshd.common.config.keys.OpenSshCertificate) throws java.security.cert.CertificateException
+meth protected void verifyCriticalOptions(org.apache.sshd.server.session.ServerSession,org.apache.sshd.common.config.keys.OpenSshCertificate) throws java.security.cert.CertificateException
meth public java.lang.Boolean doAuth(org.apache.sshd.common.util.buffer.Buffer,boolean) throws java.lang.Exception
meth public java.util.List> getSignatureFactories()
meth public void setSignatureFactories(java.util.List>)
@@ -11911,7 +11929,7 @@ meth public org.apache.sshd.server.session.ServerSession getSession()
meth public void process(int,org.apache.sshd.common.util.buffer.Buffer) throws java.lang.Exception
meth public void start()
supr org.apache.sshd.common.util.closeable.AbstractCloseable
-hfds authMethod,authMethods,authService,authUserName,currentAuth,maxAuthRequests,nbAuthRequests,properties,serverSession,userAuthFactories,welcomePhase,welcomeSent
+hfds authMethod,authMethods,authService,authUserName,currentAuth,maxAuthRequests,nbAuthRequests,pendingAuth,properties,serverSession,userAuthFactories,welcomePhase,welcomeSent
CLSS public org.apache.sshd.server.session.ServerUserAuthServiceFactory
cons public init()
diff --git a/ide/o.apache.sshd.osgi/nbproject/project.properties b/ide/o.apache.sshd.osgi/nbproject/project.properties
index a80c7fee6a01..d3538b4f0573 100644
--- a/ide/o.apache.sshd.osgi/nbproject/project.properties
+++ b/ide/o.apache.sshd.osgi/nbproject/project.properties
@@ -14,7 +14,7 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-release.external/sshd-osgi-2.19.0.jar=modules/org-apache-sshd-osgi.jar
+release.external/sshd-osgi-2.20.0.jar=modules/org-apache-sshd-osgi.jar
is.autoload=true
# The sigtest signals warnings because optional packages/classes can't be found
sigtest.fail.on.error=false
\ No newline at end of file
diff --git a/ide/o.apache.sshd.osgi/nbproject/project.xml b/ide/o.apache.sshd.osgi/nbproject/project.xml
index 0fc7cab6d147..2c5c7676db45 100644
--- a/ide/o.apache.sshd.osgi/nbproject/project.xml
+++ b/ide/o.apache.sshd.osgi/nbproject/project.xml
@@ -145,7 +145,7 @@
org-apache-sshd-osgi.jar
- external/sshd-osgi-2.19.0.jar
+ external/sshd-osgi-2.20.0.jar
diff --git a/ide/o.apache.sshd.sftp/external/binaries-list b/ide/o.apache.sshd.sftp/external/binaries-list
index 7121239db908..024dd53810fb 100644
--- a/ide/o.apache.sshd.sftp/external/binaries-list
+++ b/ide/o.apache.sshd.sftp/external/binaries-list
@@ -14,4 +14,4 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-4F817B2D8C34E5BC33E968932FF177BE8602EAC5 org.apache.sshd:sshd-sftp:2.19.0
+640163A12584C3EEDD8E23ECD0F2B5D29143670D org.apache.sshd:sshd-sftp:2.20.0
diff --git a/ide/o.apache.sshd.sftp/external/sshd-sftp-2.19.0-license.txt b/ide/o.apache.sshd.sftp/external/sshd-sftp-2.20.0-license.txt
similarity index 99%
rename from ide/o.apache.sshd.sftp/external/sshd-sftp-2.19.0-license.txt
rename to ide/o.apache.sshd.sftp/external/sshd-sftp-2.20.0-license.txt
index 1be4f5994751..13d8d524649d 100644
--- a/ide/o.apache.sshd.sftp/external/sshd-sftp-2.19.0-license.txt
+++ b/ide/o.apache.sshd.sftp/external/sshd-sftp-2.20.0-license.txt
@@ -1,5 +1,5 @@
Name: Apache MINA SSHD
-Version: 2.19.0
+Version: 2.20.0
License: Apache-2.0
Origin: https://mina.apache.org/sshd-project/
Description: Apache MINA SSHD is a 100% pure java library to support the SSH protocols on both the client and server side.
diff --git a/ide/o.apache.sshd.sftp/external/sshd-sftp-2.19.0-notice.txt b/ide/o.apache.sshd.sftp/external/sshd-sftp-2.20.0-notice.txt
similarity index 100%
rename from ide/o.apache.sshd.sftp/external/sshd-sftp-2.19.0-notice.txt
rename to ide/o.apache.sshd.sftp/external/sshd-sftp-2.20.0-notice.txt
diff --git a/ide/o.apache.sshd.sftp/manifest.mf b/ide/o.apache.sshd.sftp/manifest.mf
index f2cef81b9500..c837fa2e8f38 100644
--- a/ide/o.apache.sshd.sftp/manifest.mf
+++ b/ide/o.apache.sshd.sftp/manifest.mf
@@ -1,2 +1,2 @@
OpenIDE-Module: org.apache.sshd.sftp
-OpenIDE-Module-Specification-Version: 2.19.0
+OpenIDE-Module-Specification-Version: 2.20.0
diff --git a/ide/o.apache.sshd.sftp/nbproject/org-apache-sshd-sftp.sig b/ide/o.apache.sshd.sftp/nbproject/org-apache-sshd-sftp.sig
index 96687151a420..f035ac9ddad6 100644
--- a/ide/o.apache.sshd.sftp/nbproject/org-apache-sshd-sftp.sig
+++ b/ide/o.apache.sshd.sftp/nbproject/org-apache-sshd-sftp.sig
@@ -1,5 +1,5 @@
#Signature file v4.1
-#Version 2.19.0
+#Version 2.20.0
CLSS public abstract interface java.io.Closeable
intf java.lang.AutoCloseable
@@ -1910,6 +1910,34 @@ supr java.nio.file.spi.FileSystemProvider
hfds clientInstance,errorDataHandler,factory,fileSystems,fsSessionInitializer,versionSelector
hcls SessionProvider
+CLSS public org.apache.sshd.sftp.client.fs.SftpFileSystemProviderFacade
+cons public init()
+meth public !varargs <%0 extends java.nio.file.attribute.BasicFileAttributes> {%%0} readAttributes(java.nio.file.Path,java.lang.Class<{%%0}>,java.nio.file.LinkOption[]) throws java.io.IOException
+meth public !varargs <%0 extends java.nio.file.attribute.FileAttributeView> {%%0} getFileAttributeView(java.nio.file.Path,java.lang.Class<{%%0}>,java.nio.file.LinkOption[])
+meth public !varargs java.io.InputStream newInputStream(java.nio.file.Path,java.nio.file.OpenOption[]) throws java.io.IOException
+meth public !varargs java.io.OutputStream newOutputStream(java.nio.file.Path,java.nio.file.OpenOption[]) throws java.io.IOException
+meth public !varargs java.nio.channels.FileChannel newFileChannel(java.nio.file.Path,java.util.Set extends java.nio.file.OpenOption>,java.nio.file.attribute.FileAttribute>[]) throws java.io.IOException
+meth public !varargs java.nio.channels.SeekableByteChannel newByteChannel(java.nio.file.Path,java.util.Set extends java.nio.file.OpenOption>,java.nio.file.attribute.FileAttribute>[]) throws java.io.IOException
+meth public !varargs java.util.Map readAttributes(java.nio.file.Path,java.lang.String,java.nio.file.LinkOption[]) throws java.io.IOException
+meth public !varargs void checkAccess(java.nio.file.Path,java.nio.file.AccessMode[]) throws java.io.IOException
+meth public !varargs void copy(java.nio.file.Path,java.nio.file.Path,java.nio.file.CopyOption[]) throws java.io.IOException
+meth public !varargs void createDirectory(java.nio.file.Path,java.nio.file.attribute.FileAttribute>[]) throws java.io.IOException
+meth public !varargs void createSymbolicLink(java.nio.file.Path,java.nio.file.Path,java.nio.file.attribute.FileAttribute>[]) throws java.io.IOException
+meth public !varargs void move(java.nio.file.Path,java.nio.file.Path,java.nio.file.CopyOption[]) throws java.io.IOException
+meth public !varargs void setAttribute(java.nio.file.Path,java.lang.String,java.lang.Object,java.nio.file.LinkOption[]) throws java.io.IOException
+meth public boolean isHidden(java.nio.file.Path) throws java.io.IOException
+meth public boolean isSameFile(java.nio.file.Path,java.nio.file.Path) throws java.io.IOException
+meth public java.lang.String getScheme()
+meth public java.nio.file.DirectoryStream newDirectoryStream(java.nio.file.Path,java.nio.file.DirectoryStream$Filter super java.nio.file.Path>) throws java.io.IOException
+meth public java.nio.file.FileStore getFileStore(java.nio.file.Path) throws java.io.IOException
+meth public java.nio.file.FileSystem getFileSystem(java.net.URI)
+meth public java.nio.file.FileSystem newFileSystem(java.net.URI,java.util.Map) throws java.io.IOException
+meth public java.nio.file.Path getPath(java.net.URI)
+meth public java.nio.file.Path readSymbolicLink(java.nio.file.Path) throws java.io.IOException
+meth public void delete(java.nio.file.Path) throws java.io.IOException
+supr java.nio.file.spi.FileSystemProvider
+hcls DefaultSftpFileSystemSingleton
+
CLSS public org.apache.sshd.sftp.client.fs.SftpPath
cons public init(org.apache.sshd.sftp.client.fs.SftpFileSystem,java.lang.String,java.util.List)
intf org.apache.sshd.sftp.client.fs.WithFileAttributes
@@ -2090,7 +2118,7 @@ innr protected SftpChannelSubsystem
meth protected boolean receive(org.apache.sshd.common.util.buffer.Buffer) throws java.io.IOException
meth protected int data(byte[],int,int) throws java.io.IOException
meth protected org.apache.sshd.client.channel.ChannelSubsystem createSftpChannelSubsystem(org.apache.sshd.client.session.ClientSession)
-meth protected org.apache.sshd.common.util.buffer.Buffer waitForInitResponse(java.time.Duration) throws java.io.IOException
+meth protected org.apache.sshd.common.util.buffer.Buffer waitForInitResponse(java.util.concurrent.CompletableFuture,java.time.Duration) throws java.io.IOException
meth protected void handleInitResponse(org.apache.sshd.common.util.buffer.Buffer) throws java.io.IOException
meth protected void init(org.apache.sshd.client.session.ClientSession,org.apache.sshd.sftp.client.SftpVersionSelector,java.time.Duration) throws java.io.IOException
meth protected void process(org.apache.sshd.common.util.buffer.Buffer) throws java.io.IOException
@@ -2359,6 +2387,7 @@ fld public final static int ACE4_WRITE_ATTRIBUTES = 256
fld public final static int ACE4_WRITE_DATA = 2
fld public final static int ACE4_WRITE_NAMED_ATTRS = 16
fld public final static int ACE4_WRITE_OWNER = 524288
+fld public final static int MAX_SFTP_MESSAGE_LENGTH = 262144
fld public final static int MD5_QUICK_HASH_SIZE = 2048
fld public final static int MIN_CHKFILE_BLOCKSIZE = 256
fld public final static int SFTP_V3 = 3
diff --git a/ide/o.apache.sshd.sftp/nbproject/project.properties b/ide/o.apache.sshd.sftp/nbproject/project.properties
index 08201d073569..b7b59af79d48 100644
--- a/ide/o.apache.sshd.sftp/nbproject/project.properties
+++ b/ide/o.apache.sshd.sftp/nbproject/project.properties
@@ -14,5 +14,5 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-release.external/sshd-sftp-2.19.0.jar=modules/org-apache-sshd-sftp.jar
+release.external/sshd-sftp-2.20.0.jar=modules/org-apache-sshd-sftp.jar
is.autoload=true
diff --git a/ide/o.apache.sshd.sftp/nbproject/project.xml b/ide/o.apache.sshd.sftp/nbproject/project.xml
index f26ced247465..a40eae6fecad 100644
--- a/ide/o.apache.sshd.sftp/nbproject/project.xml
+++ b/ide/o.apache.sshd.sftp/nbproject/project.xml
@@ -30,7 +30,7 @@
- 2.19.0
+ 2.20.0
@@ -51,7 +51,7 @@
org-apache-sshd-sftp.jar
- external/sshd-sftp-2.19.0.jar
+ external/sshd-sftp-2.20.0.jar