diff --git a/java/google/registry/rde/BUILD b/java/google/registry/rde/BUILD index 4e56b0aad..f93de3e00 100644 --- a/java/google/registry/rde/BUILD +++ b/java/google/registry/rde/BUILD @@ -21,7 +21,7 @@ java_library( "//java/google/registry/util", "//java/google/registry/xjc", "//java/google/registry/xml", - "//third_party/java/jsch", + "//third_party/java/jsch:jsch_v0_1_53", "//third_party/java/objectify:objectify-v4_1", "@com_google_appengine_api_1_0_sdk", "@com_google_appengine_tools_appengine_gcs_client", diff --git a/javatests/google/registry/rde/BUILD b/javatests/google/registry/rde/BUILD index bbf5230ae..da0c02e1d 100644 --- a/javatests/google/registry/rde/BUILD +++ b/javatests/google/registry/rde/BUILD @@ -27,7 +27,7 @@ java_library( "//javatests/google/registry/testing/mapreduce", "//javatests/google/registry/testing/sftp", "//javatests/google/registry/xml", - "//third_party/java/jsch", + "//third_party/java/jsch:jsch_v0_1_53", "//third_party/java/objectify:objectify-v4_1", "@com_google_appengine_api_1_0_sdk//:testonly", "@com_google_appengine_tools_appengine_gcs_client", diff --git a/third_party/java/jsch/BUILD b/third_party/java/jsch/BUILD index 06789dcae..139c72fa6 100644 --- a/third_party/java/jsch/BUILD +++ b/third_party/java/jsch/BUILD @@ -4,5 +4,5 @@ licenses(["notice"]) # BSD java_library( name = "jsch", - exports = ["//third_party/java/jsch/v0_1_44_google"], + exports = ["//third_party/java/jsch/v0_1_53"], ) diff --git a/third_party/java/jsch/v0_1_44_google/README.md b/third_party/java/jsch/v0_1_44_google/README.md deleted file mode 100644 index 0c603975f..000000000 --- a/third_party/java/jsch/v0_1_44_google/README.md +++ /dev/null @@ -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. diff --git a/third_party/java/jsch/v0_1_44_google/jsch-0.1.44_google-src.jar b/third_party/java/jsch/v0_1_44_google/jsch-0.1.44_google-src.jar deleted file mode 100644 index 4f6c8765a..000000000 Binary files a/third_party/java/jsch/v0_1_44_google/jsch-0.1.44_google-src.jar and /dev/null differ diff --git a/third_party/java/jsch/v0_1_44_google/jsch-0.1.44_google.jar b/third_party/java/jsch/v0_1_44_google/jsch-0.1.44_google.jar deleted file mode 100644 index 0065d53bd..000000000 Binary files a/third_party/java/jsch/v0_1_44_google/jsch-0.1.44_google.jar and /dev/null differ diff --git a/third_party/java/jsch/v0_1_44_google/BUILD b/third_party/java/jsch/v0_1_53/BUILD similarity index 67% rename from third_party/java/jsch/v0_1_44_google/BUILD rename to third_party/java/jsch/v0_1_53/BUILD index 513509917..88a35c987 100644 --- a/third_party/java/jsch/v0_1_44_google/BUILD +++ b/third_party/java/jsch/v0_1_53/BUILD @@ -8,8 +8,8 @@ package(default_visibility = ["//visibility:public"]) licenses(["notice"]) # BSD java_import( - name = "v0_1_44_google", - jars = ["jsch-0.1.44_google.jar"], - srcjar = "jsch-0.1.44_google-src.jar", + name = "v0_1_53", + jars = ["jsch-0.1.53.jar"], + srcjar = "jsch-0.1.53-src.jar", deps = ["@com_jcraft_jzlib"], ) diff --git a/third_party/java/jsch/v0_1_44_google/LICENSE b/third_party/java/jsch/v0_1_53/LICENSE similarity index 96% rename from third_party/java/jsch/v0_1_44_google/LICENSE rename to third_party/java/jsch/v0_1_53/LICENSE index 2a5daa868..303096bf3 100644 --- a/third_party/java/jsch/v0_1_44_google/LICENSE +++ b/third_party/java/jsch/v0_1_53/LICENSE @@ -2,7 +2,7 @@ JSch 0.0.* was released under the GNU LGPL license. Later, we have switched 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. Redistribution and use in source and binary forms, with or without diff --git a/third_party/java/jsch/v0_1_53/README.md b/third_party/java/jsch/v0_1_53/README.md new file mode 100644 index 000000000..6eb677612 --- /dev/null +++ b/third_party/java/jsch/v0_1_53/README.md @@ -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. diff --git a/third_party/java/jsch/v0_1_53/jsch-0.1.53-src.jar b/third_party/java/jsch/v0_1_53/jsch-0.1.53-src.jar new file mode 100644 index 000000000..9f413aaef Binary files /dev/null and b/third_party/java/jsch/v0_1_53/jsch-0.1.53-src.jar differ diff --git a/third_party/java/jsch/v0_1_53/jsch-0.1.53.jar b/third_party/java/jsch/v0_1_53/jsch-0.1.53.jar new file mode 100644 index 000000000..0e6d1bd16 Binary files /dev/null and b/third_party/java/jsch/v0_1_53/jsch-0.1.53.jar differ