Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.2.0 changes #113

Merged
merged 22 commits into from
Feb 9, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
4d62e8a
Update dependencies to latest versions.
norrisjeremy Jan 21, 2022
5fb0f73
Disable RSA/SHA1 signature algorithm by default #75.
norrisjeremy Jan 21, 2022
4891e2f
Update dependencies to latest versions.
norrisjeremy Jan 27, 2022
8f0cf13
Update dependencies to latest versions.
norrisjeremy Jan 27, 2022
107eb23
Add missing url to scm section.
norrisjeremy Feb 2, 2022
f64c6a1
Add basic Logger implementations.
norrisjeremy Feb 2, 2022
1d207e2
Fix client version to be compliant with RFC 4253 section 4.2 by not i…
norrisjeremy Feb 2, 2022
cf86fbb
Add java.util.zip based compression implementation #114.
norrisjeremy Feb 2, 2022
cd19cd5
Remove deprecated oss-parent #116.
norrisjeremy Feb 2, 2022
c8b5a49
Use flatten-maven-plugin to produce flattened POM.
norrisjeremy Feb 2, 2022
6bf1676
Add JZlib & jBCrypt licenses to POM.
norrisjeremy Feb 2, 2022
2eccaa7
Use https URL for GitHub link.
norrisjeremy Feb 2, 2022
2b1eee6
Add issueManagement & ciManagement sections and tweak whitespace.
norrisjeremy Feb 4, 2022
6ff234e
Update POM to add components lost when removing oss-parent #116.
norrisjeremy Feb 4, 2022
f447ee0
Include licenses in jar file.
norrisjeremy Feb 4, 2022
9003334
Use maven-assembly-plugin to build sources jar instead of maven-sourc…
norrisjeremy Feb 4, 2022
4ab8254
Only include com.jcraft.jsch package in Javadocs, include Java 9+ sou…
norrisjeremy Feb 4, 2022
4583f03
Eliminate javadoc warning.
norrisjeremy Feb 5, 2022
d450276
Attempt to fix CI workflow by skipping more maven phases during tests.
norrisjeremy Feb 5, 2022
3c35389
Update dependencies to latest versions.
norrisjeremy Feb 5, 2022
e95c9aa
Use Class.asSubclass() method to avoid instantiating an object that i…
norrisjeremy Feb 7, 2022
be7a4b5
Follow OpenSSH's lead for skipping packet discard logic when using Et…
norrisjeremy Feb 9, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
java-version: ${{ matrix.java }}
check-latest: true
- name: Test with Maven
run: mvn -B -P coverage verify -Denforcer.skip=true -DskipITs=false --file pom.xml
run: mvn -B -P coverage verify -Denforcer.skip=true -Dmaven.resources.skip=true -Dmaven.main.skip=true -Dassembly.skipAssembly=true -Dmaven.javadoc.skip=true -DskipITs=false --file pom.xml
- uses: actions/upload-artifact@v2
with:
name: java-${{ matrix.java }}-testresults
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# IDE files #
*.geany
nb-configuration.xml
.flattened-pom.xml

# Created by https://www.toptal.com/developers/gitignore/api/intellij+all,netbeans,eclipse,visualstudiocode,vim,emacs,macos,windows,linux,java,maven
# Edit at https://www.toptal.com/developers/gitignore?templates=intellij+all,netbeans,eclipse,visualstudiocode,vim,emacs,macos,windows,linux,java,maven
Expand Down
13 changes: 13 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
* [0.2.0](https://github.com/mwiede/jsch/releases/tag/jsch-0.2.0)
* Disable RSA/SHA1 signature algorithm by default [#75](https://github.com/mwiede/jsch/issues/75)
* Add basic Logger implementations that can be optionally utilized with `JSch.setLogger()`:
* JulLogger, using `java.util.logging.Logger`
* JplLogger, using [Java 9's JEP 264](https://openjdk.java.net/jeps/264)
* Log4j2Logger, using [Apache Log4j 2](https://logging.apache.org/log4j/2.x/)
* Slf4jLogger, using [SLF4J](https://www.slf4j.org/)
* Fix client version to be compliant with [RFC 4253 section 4.2](https://datatracker.ietf.org/doc/html/rfc4253#section-4.2) by not including minus sign characters [#115](https://github.com/mwiede/jsch/issues/115)
* Add `java.util.zip` based compression implementation [#114](https://github.com/mwiede/jsch/issues/114)
* This is based upon the [CompressionJUZ implementation](http://www.jcraft.com/jsch/examples/CompressionJUZ.java) posted to the [JSch-users mailing list](https://sourceforge.net/p/jsch/mailman/jsch-users/thread/201202031343.WAA19979%40jcraft.com/#msg28781313) in 2012 by the original JSch author
* The existing JZlib implementation remains the default to maintain strict [RFC 4253 section 6.2](https://datatracker.ietf.org/doc/html/rfc4253#section-6.2) compliance
* To use the new implementation globally, execute `JSch.setConfig("zlib@openssh.com", "com.jcraft.jsch.juz.Compression")` + `JSch.setConfig("zlib", "com.jcraft.jsch.juz.Compression")`
* To use the new implementation per session, execute `session.setConfig("zlib@openssh.com", "com.jcraft.jsch.juz.Compression")` + `session.setConfig("zlib", "com.jcraft.jsch.juz.Compression")`
* [0.1.72](https://github.com/mwiede/jsch/releases/tag/jsch-0.1.72)
* Switch chacha20-poly1305@<!-- -->openssh.com algorithm to a pure [Bouncy Castle](https://www.bouncycastle.org/java.html) based implementation
* implement openssh config behavior to handle append, prepend and removal of algorithms [#104](https://github.com/mwiede/jsch/pull/104)
Expand Down
10 changes: 10 additions & 0 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,16 @@ As I explained in a [blog post](http://www.matez.de/index.php/2020/06/22/the-fut
* In order to use chacha20-poly1305@<!-- -->openssh.com, you must add [Bouncy Castle](https://www.bouncycastle.org/java.html) (bcprov-jdk15on) to the classpath.
* As of the [0.1.66](https://github.com/mwiede/jsch/releases/tag/jsch-0.1.66) release, these algorithms can now be used with older Java releases if [Bouncy Castle](https://www.bouncycastle.org/java.html) (bcprov-jdk15on) is added to the classpath.
* As of the [0.1.72](https://github.com/mwiede/jsch/releases/tag/jsch-0.1.72) release, chacha20-poly1305@<!-- -->openssh.com can only be used if [Bouncy Castle](https://www.bouncycastle.org/java.html) (bcprov-jdk15on) is added to the classpath.
* Why do ssh-rsa type keys not work with this JSch fork and my server?
* As of the [0.2.0](https://github.com/mwiede/jsch/releases/tag/jsch-0.2.0) release, the RSA/SHA1 signature algorithm is disabled by default.
* SHA1 is no longer considered secure by the general cryptographic community and this JSch fork strives to maintain secure choices for default algorithms that it will utilize.
* This also follows the lead of the OpenSSH project in which they disabled RSA/SHA1 signatures by default as of [OpenSSH release 8.8](https://www.openssh.com/txt/release-8.8).
* ssh-rsa type keys continue to function by default with the RSA/SHA256 (rsa-sha2-256) & RSA/SHA512 (rsa-sha2-512) signature algorithms defined by (RFC 8332)[https://datatracker.ietf.org/doc/html/rfc8332].
* If your server only supports RSA/SHA1 signatures and you require their use in your application, then you will need to manually reenable them by one of the following means:
* Globally by adding "ssh-rsa" to the `jsch.server_host_key` + `jsch.client_pubkey` properties.
* Globally by executing something similar to `JSch.setConfig("server_host_key", JSch.getConfig("server_host_key") + ",ssh-rsa")` + `JSch.setConfig("PubkeyAcceptedAlgorithms", JSch.getConfig("PubkeyAcceptedAlgorithms") + ",ssh-rsa")`.
* On a per-session basis by executing something similar to `session.setConfig("server_host_key", session.getConfig("server_host_key") + ",ssh-rsa")` + `session.setConfig("PubkeyAcceptedAlgorithms", session.getConfig("PubkeyAcceptedAlgorithms") + ",ssh-rsa")`.
* Adding "ssh-rsa" to your OpenSSH type config file with the "HostKeyAlgorithms" + "PubkeyAcceptedAlgorithms" keywords & then utilizing the `OpenSSHConfig` class.

## Changes since fork:
See [ChangeLog.md](ChangeLog.md)
Loading