Upgrade domain-registry to jsch 0.1.53

TESTED=Verified on Alpha with an updated build using Java 8, Verified on alpha
against the latest java 8 based build.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=171297613
This commit is contained in:
mmuller 2017-10-06 08:53:22 -07:00 committed by Ben McIlwain
parent 24d58bf505
commit a790ec27db
11 changed files with 31 additions and 74 deletions

View file

@ -21,7 +21,7 @@ java_library(
"//java/google/registry/util", "//java/google/registry/util",
"//java/google/registry/xjc", "//java/google/registry/xjc",
"//java/google/registry/xml", "//java/google/registry/xml",
"//third_party/java/jsch", "//third_party/java/jsch:jsch_v0_1_53",
"//third_party/java/objectify:objectify-v4_1", "//third_party/java/objectify:objectify-v4_1",
"@com_google_appengine_api_1_0_sdk", "@com_google_appengine_api_1_0_sdk",
"@com_google_appengine_tools_appengine_gcs_client", "@com_google_appengine_tools_appengine_gcs_client",

View file

@ -27,7 +27,7 @@ java_library(
"//javatests/google/registry/testing/mapreduce", "//javatests/google/registry/testing/mapreduce",
"//javatests/google/registry/testing/sftp", "//javatests/google/registry/testing/sftp",
"//javatests/google/registry/xml", "//javatests/google/registry/xml",
"//third_party/java/jsch", "//third_party/java/jsch:jsch_v0_1_53",
"//third_party/java/objectify:objectify-v4_1", "//third_party/java/objectify:objectify-v4_1",
"@com_google_appengine_api_1_0_sdk//:testonly", "@com_google_appengine_api_1_0_sdk//:testonly",
"@com_google_appengine_tools_appengine_gcs_client", "@com_google_appengine_tools_appengine_gcs_client",

View file

@ -4,5 +4,5 @@ licenses(["notice"]) # BSD
java_library( java_library(
name = "jsch", name = "jsch",
exports = ["//third_party/java/jsch/v0_1_44_google"], exports = ["//third_party/java/jsch/v0_1_53"],
) )

View file

@ -1,67 +0,0 @@
# JSch
JSch is a library for making SSH and SFTP connections from Java. It is released
under a BSD-style license. For more details, see its [project
page](http://www.jcraft.com/jsch/).
## Local modifications by Google
Added three new features and one backport. Default behavior is preserved if they
aren't used.
### Global ThreadFactory instance
This allows the library to be used on Google App Engine (GAE), which doesn't
allow apps to call `new Thread()`. To do this, you must override
`JSch.threadFactory` with something from GAE's ThreadManager. Another global is
also provided to disable calls to `Thread#setName` which always crash on GAE,
regardless of ThreadFactory.
**Files edited:**
* `JSch.java` - Defined new `threadFactory` and `useThreadNames` fields.
* `Util.java` - Updated thread creation code.
* `ChannelDirectTCPIP.java` - Updated thread creation code.
* `ChannelSubsystem.java` - Updated thread creation code.
* `ChannelShell.java` - Updated thread creation code.
* `Session.java` - Updated thread creation code.
* `ChannelForwardedTCPIP.java` - Updated thread creation code.
* `ChannelExec.java` - Updated thread creation code.
### Multiple pending requests with SFTP
This is disabled by default. Call `SftpChannel.setMaxPendingRequests(n)` with
n>1 to enable (64 is a reasonable value). Can provide speed improvements of
10-20x if Periscope is disabled, and approximately 7x if Periscope is enabled
and write flushing is disabled.
**Files edited:**
* `ChannelSftp.java` - Added alternate methods (fastGet, fastRead) that use
new algorithm. If feature is enabled, the local window size will be set to
Integer.MAX_VALUE, since flow control is already handled by SFTP, and some
servers don't work well with smaller windows.
### Allow disabling flushing of writes
Flushing is enabled by default. Call Session.setFlushingEnabled(false) before
connecting to disable. Due to Periscope latency, flushing must be disabled to
take advantage of multiple pending requests.
**Files edited:**
* `Session.java` - Added simple getter/setter for flushingEnabled boolean.
* `IO.java` - Added optional flushingEnabled constructor arg. Disabled
flushing when flushingEnabled is false.
### Diffie-Hellman Group 14 SHA1 support
Added support for diffie-hellman-group14-sha1 key exchange algorithm to maintain
connections to servers using upgraded OpenSSL.
**Files edited:**
* `JSch.java` - Added diffie-hellman-group14-sha1 to kex config.
* `DHG14.java` - Added, patched from version 0.1.46.
* `jce/DH.java` - Modified to support DH groups >1024 bits by ignoring JDK<8
exception and testing length of keys.

View file

@ -8,8 +8,8 @@ package(default_visibility = ["//visibility:public"])
licenses(["notice"]) # BSD licenses(["notice"]) # BSD
java_import( java_import(
name = "v0_1_44_google", name = "v0_1_53",
jars = ["jsch-0.1.44_google.jar"], jars = ["jsch-0.1.53.jar"],
srcjar = "jsch-0.1.44_google-src.jar", srcjar = "jsch-0.1.53-src.jar",
deps = ["@com_jcraft_jzlib"], deps = ["@com_jcraft_jzlib"],
) )

View file

@ -2,7 +2,7 @@ JSch 0.0.* was released under the GNU LGPL license. Later, we have switched
over to a BSD-style license. over to a BSD-style license.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
Copyright (c) 2002-2010 Atsuhiko Yamanaka, JCraft,Inc. Copyright (c) 2002-2015 Atsuhiko Yamanaka, JCraft,Inc.
All rights reserved. All rights reserved.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without

24
third_party/java/jsch/v0_1_53/README.md vendored Normal file
View file

@ -0,0 +1,24 @@
# JSch 0.1.53
JSCH is a library for making SSH and SFTP connections from Java. It is
released under a BSD-style license. See its [project
page](http://www.jcraft.com/jsch) for further details.
## Local Modifications for Google
Define global ThreadFactory instance. This allows the library to be used on
App Engine, which doesn't allow apps to call `new Thread()`. To do this, you
must override `JSch.threadFactory` with something from GAE's ThreadManager.
Another global is also provided to disable calls to `Thread#setName` which
always crash on GAE, regardless of ThreadFactory.
### Files edited:
* JSch.java - Defined new `threadFactory` and `useThreadNames` fields.
* Util.java - Updated thread creation code.
* ChannelDirectTCPIP.java - Updated thread creation code.
* ChannelSubsystem.java - Updated thread creation code.
* ChannelShell.java - Updated thread creation code.
* Session.java - Updated thread creation code.
* ChannelForwardedTCPIP.java - Updated thread creation code.
* ChannelExec.java - Updated thread creation code.

Binary file not shown.

Binary file not shown.