Accepting request 1090641 from Java:packages

0.2.9

OBS-URL: https://build.opensuse.org/request/show/1090641
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/jsch?expand=0&rev=25
This commit is contained in:
Dominique Leuenberger 2023-06-04 14:41:41 +00:00 committed by Git OBS Bridge
commit 2239e09097
11 changed files with 665 additions and 190 deletions

View File

@ -1,13 +0,0 @@
--- jsch-0.1.54/build.xml 2016-08-30 09:06:39.000000000 +0200
+++ jsch-0.1.54/build.xml 2017-09-08 10:27:56.694518991 +0200
@@ -35,8 +35,8 @@
</available>
<javac srcdir="${src}"
destdir="${build}"
- target="1.4"
- source="1.4"
+ target="1.8"
+ source="1.8"
debug="${javac.debug}">
<classpath refid="lib.path.ref"/>
<exclude name="com/jcraft/jsch/jcraft/Compression.java"

View File

@ -1,111 +0,0 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<packaging>jar</packaging>
<version>0.1.55</version>
<name>JSch</name>
<url>http://www.jcraft.com/jsch/</url>
<description>JSch is a pure Java implementation of SSH2</description>
<organization>
<name>JCraft,Inc.</name>
<url>http://www.jcraft.com/</url>
</organization>
<scm>
<connection>scm:git:http://git.jcraft.com/jsch.git</connection>
<developerConnection>scm:git:http://git.jcraft.com/jsch.git</developerConnection>
<url>http://git.jcraft.com/jsch.git</url>
</scm>
<developers>
<developer>
<id>ymnk</id>
<name>Atsuhiko Yamanaka</name>
<email>ymnk at jcraft D0t com</email>
<url>http://github.com/ymnk</url>
<organization>JCraft,Inc.</organization>
<organizationUrl>http://www.jcraft.com/</organizationUrl>
<roles>
<role>architect</role>
<role>developer</role>
</roles>
<timezone>+9</timezone>
</developer>
</developers>
<licenses>
<license>
<name>Revised BSD</name>
<url>http://www.jcraft.com/jsch/LICENSE.txt</url>
</license>
</licenses>
<dependencies>
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jzlib</artifactId>
<version>1.0.7</version>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh-external</artifactId>
<version>1.0-alpha-5</version>
</extension>
</extensions>
</build>
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>6</version>
</parent>
</project>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:063bf66e163f43b7d7897ac14efe1e80ed094d4016afe1181fe2285e3797bed3
size 369664

3
jsch-0.2.9.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8f7c7437115466c53781be7683aa84237f5d968ac7925997beef8f4311ebaad9
size 382571

306
jsch-build.xml Normal file
View File

@ -0,0 +1,306 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="jsch" default="package" basedir=".">
<!-- ====================================================================== -->
<!-- Build environment properties -->
<!-- ====================================================================== -->
<property file="build.properties"/>
<property name="project.artifactId" value="jsch"/>
<property name="project.version" value="0.2.9"/>
<property name="spec.version" value="0.2"/>
<property name="versionWithoutMinus" value="${project.version}"/>
<property name="compiler.release" value="8"/>
<property name="compiler.source" value="1.${compiler.release}"/>
<property name="compiler.target" value="${compiler.source}"/>
<property name="build.finalName" value="jsch-${project.version}"/>
<property name="build.dir" value="target"/>
<property name="build.outputDir" value="${build.dir}/classes"/>
<property name="build.srcDir" value="src/main/java"/>
<property name="build.templateDir" value="src/main/java-templates"/>
<property name="build.genSrcDir" value="${build.dir}/generated-sources"/>
<property name="build.resourceDir" value="src/main/resources"/>
<property name="build.mrOutputDir" value="${build.outputDir}/META-INF/versions"/>
<property name="build.mrOutputDir.9" value="${build.mrOutputDir}/9"/>
<property name="build.mrSrcDir.9" value="src/main/java9"/>
<property name="build.mrOutputDir.10" value="${build.mrOutputDir}/10"/>
<property name="build.mrSrcDir.10" value="src/main/java10"/>
<property name="build.mrOutputDir.11" value="${build.mrOutputDir}/11"/>
<property name="build.mrSrcDir.11" value="src/main/java11"/>
<property name="build.mrOutputDir.15" value="${build.mrOutputDir}/15"/>
<property name="build.mrSrcDir.15" value="src/main/java15"/>
<property name="build.mrOutputDir.16" value="${build.mrOutputDir}/16"/>
<property name="build.mrSrcDir.16" value="src/main/java16"/>
<property name="reporting.outputDirectory" value="${build.dir}/site"/>
<!-- ====================================================================== -->
<!-- Defining classpaths -->
<!-- ====================================================================== -->
<path id="build.classpath">
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
</path>
<!-- ====================================================================== -->
<!-- Cleaning up target -->
<!-- ====================================================================== -->
<target name="clean" description="Clean the output directory">
<delete dir="${build.dir}"/>
</target>
<!-- ====================================================================== -->
<!-- Compilation targets -->
<!-- ====================================================================== -->
<condition property="build9">
<javaversion atleast="9"/>
</condition>
<condition property="build10">
<javaversion atleast="10"/>
</condition>
<condition property="build11">
<javaversion atleast="11"/>
</condition>
<condition property="build15">
<javaversion atleast="15"/>
</condition>
<condition property="build16">
<javaversion atleast="16"/>
</condition>
<target name="compile" description="Compile the code">
<echo>Java/JVM version: ${ant.java.version}</echo>
<mkdir dir="${build.genSrcDir}"/>
<copy todir="${build.genSrcDir}">
<fileset dir="${build.templateDir}"/>
<filterchain>
<expandproperties>
<propertyset>
<propertyref name="versionWithoutMinus"/>
</propertyset>
</expandproperties>
</filterchain>
</copy>
<mkdir dir="${build.outputDir}"/>
<javac destdir="${build.outputDir}"
nowarn="true"
debug="true"
optimize="false"
deprecation="true"
release="${compiler.release}"
verbose="false"
fork="false">
<src>
<pathelement location="${build.srcDir}"/>
<pathelement location="${build.genSrcDir}"/>
</src>
<classpath refid="build.classpath"/>
</javac>
<mkdir dir="${build.mrOutputDir}"/>
</target>
<target name="compile9" description="Compile the overrides for Java 9+" if="build9">
<!-- Override classes for Java 9+ -->
<mkdir dir="${build.mrOutputDir.9}"/>
<javac destdir="${build.mrOutputDir.9}"
nowarn="true"
debug="true"
optimize="false"
deprecation="true"
source="${compiler.source}"
target="${compiler.target}"
verbose="false"
fork="false">
<src>
<pathelement location="${build.mrSrcDir.9}"/>
</src>
<exclude name="**/module-info.java"/>
<classpath>
<path refid="build.classpath"/>
<pathelement location="${build.outputDir}"/>
</classpath>
</javac>
<!-- Build module-info.class -->
<javac destdir="${build.mrOutputDir.9}"
nowarn="true"
debug="true"
optimize="false"
deprecation="true"
release="9"
verbose="false"
fork="false">
<src>
<pathelement location="${build.mrSrcDir.9}"/>
</src>
<include name="**/module-info.java"/>
<modulepath>
<path refid="build.classpath"/>
<pathelement location="${build.outputDir}"/>
</modulepath>
</javac>
</target>
<target name="compile10" description="Compile the overrides for Java 10+" if="build10">
<!-- Override classes for Java 10+ -->
<mkdir dir="${build.mrOutputDir.10}"/>
<javac destdir="${build.mrOutputDir.10}"
nowarn="true"
debug="true"
optimize="false"
deprecation="true"
source="${compiler.source}"
target="${compiler.target}"
verbose="false"
fork="false">
<src>
<pathelement location="${build.mrSrcDir.10}"/>
</src>
<classpath>
<path refid="build.classpath"/>
<pathelement location="${build.outputDir}"/>
</classpath>
</javac>
</target>
<target name="compile11" description="Compile the overrides for Java 11+" if="build11">
<!-- Override classes for Java 11+ -->
<mkdir dir="${build.mrOutputDir.11}"/>
<javac destdir="${build.mrOutputDir.11}"
nowarn="true"
debug="true"
optimize="false"
deprecation="true"
source="${compiler.source}"
target="${compiler.target}"
verbose="false"
fork="false">
<src>
<pathelement location="${build.mrSrcDir.11}"/>
</src>
<classpath>
<path refid="build.classpath"/>
<pathelement location="${build.outputDir}"/>
</classpath>
</javac>
</target>
<target name="compile15" description="Compile the overrides for Java 15+" if="build15">
<!-- Override classes for Java 15+ -->
<mkdir dir="${build.mrOutputDir.15}"/>
<javac destdir="${build.mrOutputDir.15}"
nowarn="true"
debug="true"
optimize="false"
deprecation="true"
source="${compiler.source}"
target="${compiler.target}"
verbose="false"
fork="false">
<src>
<pathelement location="${build.mrSrcDir.15}"/>
</src>
<classpath>
<path refid="build.classpath"/>
<pathelement location="${build.outputDir}"/>
</classpath>
</javac>
</target>
<target name="compile16" description="Compile the overrides for Java 16+" if="build16">
<!-- Override classes for Java 16+ -->
<mkdir dir="${build.mrOutputDir.16}"/>
<javac destdir="${build.mrOutputDir.16}"
nowarn="true"
debug="true"
optimize="false"
deprecation="true"
source="${compiler.source}"
target="${compiler.target}"
verbose="false"
fork="false">
<src>
<pathelement location="${build.mrSrcDir.16}"/>
</src>
<classpath>
<path refid="build.classpath"/>
<pathelement location="${build.outputDir}"/>
</classpath>
</javac>
</target>
<!-- ====================================================================== -->
<!-- Javadoc target -->
<!-- ====================================================================== -->
<target name="javadoc" description="Generates the Javadoc of the application">
<javadoc sourcepath="${build.srcDir}"
destdir="${reporting.outputDirectory}/apidocs"
access="protected"
source="${compiler.source}"
verbose="false"
version="true"
use="true"
author="true"
splitindex="false"
nodeprecated="false"
nodeprecatedlist="false"
notree="false"
noindex="false"
nohelp="false"
nonavbar="false"
serialwarn="false"
charset="ISO-8859-1"
linksource="false"
breakiterator="false">
<classpath refid="build.classpath"/>
</javadoc>
</target>
<!-- ====================================================================== -->
<!-- Package target -->
<!-- ====================================================================== -->
<target name="package" depends="compile,compile9,compile10,compile11,compile15,compile16" description="Package the application">
<jar jarfile="${build.dir}/${build.finalName}.jar"
compress="true"
index="false"
basedir="${build.outputDir}"
excludes="**/package.html">
<manifest>
<attribute name="Bundle-Description" value="JSch is a pure Java implementation of SSH2"/>
<attribute name="Bundle-License" value="https://github.com/mwiede/jsch/blob/master/LICENSE.JZlib.txt,https://github.com/mwiede/jsch/blob/master/LICENSE.jBCrypt.txt,https://github.com/mwiede/jsch/blob/master/LICENSE.txt"/>
<attribute name="Bundle-ManifestVersion" value="2"/>
<attribute name="Bundle-Name" value="JSch"/>
<attribute name="Bundle-SymbolicName" value="com.jcraft.jsch"/>
<attribute name="Bundle-Version" value="${project.version}"/>
<attribute name="Export-Package" value="com.jcraft.jsch;version=&quot;${project.version}&quot;"/>
<attribute name="Implementation-Title" value="JSch"/>
<attribute name="Implementation-Version" value="${project.version}"/>
<attribute name="Import-Package" value="com.sun.jna.platform.win32;resolution:=optional,com.sun.jna;resolution:=optional,javax.crypto,javax.crypto.interfaces,javax.crypto.spec,org.bouncycastle.crypto.digests;resolution:=optional,org.bouncycastle.crypto.engines;resolution:=optional,org.bouncycastle.crypto.generators;resolution:=optional,org.bouncycastle.crypto.macs;resolution:=optional,org.bouncycastle.crypto.modes;resolution:=optional,org.bouncycastle.crypto.params;resolution:=optional,org.bouncycastle.crypto.signers;resolution:=optional,org.bouncycastle.crypto;resolution:=optional,org.ietf.jgss;resolution:=optional,org.slf4j;resolution:=optional"/>
<attribute name="Multi-Release" value="true"/>
<attribute name="Require-Capability" value="osgi.ee;filter:=&quot;(&amp;(osgi.ee=JavaSE)(version=${compiler.target}))&quot;"/>
<attribute name="Specification-Title" value="JSch"/>
<attribute name="Specification-Version" value="${spec.version}"/>
</manifest>
</jar>
</target>
<!-- ====================================================================== -->
<!-- A dummy target for the package named after the type it creates -->
<!-- ====================================================================== -->
<target name="jar" depends="package" description="Builds the jar for the application"/>
</project>

35
jsch-junixsocket.patch Normal file
View File

@ -0,0 +1,35 @@
--- a/src/main/java/com/jcraft/jsch/SSHAgentConnector.java
+++ b/src/main/java/com/jcraft/jsch/SSHAgentConnector.java
@@ -93,21 +93,7 @@ public class SSHAgentConnector implements AgentConnector {
}
private static USocketFactory getUSocketFactory() throws AgentProxyException {
- try {
- return new UnixDomainSocketFactory();
- } catch (AgentProxyException e) {
- try {
- return new JUnixSocketFactory();
- } catch (NoClassDefFoundError ee) {
- AgentProxyException eee = new AgentProxyException("junixsocket library unavailable");
- eee.addSuppressed(e);
- eee.addSuppressed(ee);
- throw eee;
- } catch (AgentProxyException ee) {
- ee.addSuppressed(e);
- throw e;
- }
- }
+ return new UnixDomainSocketFactory();
}
private static Path getSshAuthSocket() throws AgentProxyException {
--- a/src/main/java9/module-info.java
+++ b/src/main/java9/module-info.java
@@ -6,7 +6,6 @@ module com.jcraft.jsch {
requires static org.apache.logging.log4j;
requires static org.slf4j;
requires static org.bouncycastle.provider;
- requires static org.newsclub.net.unix;
requires static com.sun.jna;
requires static com.sun.jna.platform;
}

10
jsch-log4j.patch Normal file
View File

@ -0,0 +1,10 @@
--- a/src/main/java9/module-info.java
+++ b/src/main/java9/module-info.java
@@ -3,7 +3,6 @@ module com.jcraft.jsch {
requires static java.security.jgss;
requires static java.logging;
- requires static org.apache.logging.log4j;
requires static org.slf4j;
requires static org.bouncycastle.provider;
requires static com.sun.jna;

View File

@ -1,23 +0,0 @@
--- jsch-0.1.54/build.xml 2016-08-30 09:06:39.000000000 +0200
+++ jsch-0.1.54/build.xml 2020-04-07 15:40:40.461145903 +0200
@@ -50,9 +50,7 @@
<!-- Put everything in ${build} into the MyProject-${version}.jar file -->
<jar jarfile="${dist}/lib/jsch-${version}.jar" basedir="${build}">
- <!--
<manifest>
- <attribute name="Bundle-ClassPath" value="."/>
<attribute name="Bundle-Vendor" value="JCraft, Inc."/>
<attribute name="Bundle-Name" value="com.jcraft.jsch"/>
<attribute name="Bundle-ManifestVersion" value="2"/>
@@ -60,8 +58,8 @@
<attribute name="Bundle-Version" value="${version}"/>
<attribute name="Export-Package" value='com.jcraft.jsch;version="${version}",com.jcraft.jsch.jce;version="${version}";x-internal:=true,com.jcraft.jsch.jcraft;version="${version}";x-internal:=true,com.jcraft.jsch.jgss;version="${version}";x-internal:=true'/>
- <attribute name="Import-Package" value="javax.crypto,javax.crypto.spec,javax.crypto.interfaces,org.ietf.jgss,com.jcraft.jzlib"/>
+ <attribute name="Import-Package" value="javax.crypto,javax.crypto.spec,javax.crypto.interfaces,org.ietf.jgss,com.jcraft.jzlib;resolution:=optional"/>
+ <attribute name="Require-Capability" value="osgi.ee;filter:=&quot;(&amp;(osgi.ee=JavaSE)(version=1.6))&quot;"/>
</manifest>
- -->
</jar>
</target>

View File

@ -1,3 +1,278 @@
-------------------------------------------------------------------
Sat Jun 3 11:03:46 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Migrate from com.jcraft:jsch to com.github.mwiede:jsch fork
(bsc#1211955)
* Alias to the old artifact since the new one is drop-in
replacement
* Keep the old OSGi bundle symbolic name to avoid extensive
patching of eclipse stack
- Upgrade to version 0.2.9
* Changes of 0.2.9
+ various improvements, #295
~ #293 allow UserAuthNone to be extended.
~ Make JGSS module optional.
~ Tweak OSGi bundle manifest:
~ Avoid self-import.
~ Mark JGSS as optional.
~ Loosen import versions of dependencies.
~ Correctly adhere to the Multi-release JAR spec by ensuring
all public classes under versioned directories preside over
classes present in the top-level directory.
~ Eliminate stray System.err.println() calls.
~ Change PageantConnector to use JNA's built-in support for
User32.SendMessage().
+ Improve error handling in InputStream.close() for SFTP
channels, #331
* Changes of 0.2.8
+ activate sourcecode formatting, #247
+ build improvements, #279
+ #287 add algorithm type information to algorithm negotiation
logs, #290
+ wrap NoClassDefFoundError's for invalid private keys, #289 and
#290
* Changes of 0.2.7
+ #265 change buffer_margin computation to be dynamic based upon
the MAC to allow connections that advertise small maximum
packet sizes.
+ #266 fix PuTTY key parsing to work with unix line endings.
+ Add support for ECDSA and EdDSA type PuTTY keys.
+ #71 add support for PuTTY version 3 format keys.
~ Encrypted PuTTY version 3 format keys requires Bouncy
Castle (bcprov-jdk18on).
+ Eliminate KeyPairDeferred and instead change handling of
OpenSSH V1 type keys to be more like other KeyPair types.
+ Be more vigilant about clearing private key data.
+ Improve PKCS8 key handling and add support for PKCS5 2.1
encryption.
+ Add support for ECDSA type PKCS8 keys.
+ Add support for SCrypt type KDF for PKCS8 keys.
~ PKCS8 keys using SCrypt requires Bouncy Castle
(bcprov-jdk18on).
+ Add support for EdDSA type PKCS8 keys.
~ EdDSA type PKCS8 keys requires Bouncy Castle
(bcprov-jdk18on).
+ Attempt to authenticate using other signature algorithms
supported by the same public key.
~ Allow this behavior to be disabled via
try_additional_pubkey_algorithms config option.
° Some servers incorrectly respond with
SSH_MSG_USERAUTH_PK_OK to an initial auth query that they
don't actually support for RSA keys.
+ Add a new config option enable_pubkey_auth_query to allow
skipping auth queries and proceed directly to attempting
full SSH_MSG_USERAUTH_REQUEST's.
+ Add a new config option enable_auth_none to control whether
an initial auth request for the method none is sent to detect
all supported auth methods available on the server.
* Changes of 0.2.6
+ Include host alias instead of the real host in messages and
exceptions, #257
+ Fix missing keySize set when loading V1 RSA keys, #258
+ Enhancement to present KeyPair.getKeyTypeString() method, #259
* Changes of 0.2.5
+ Explictly free resources in Compression implementations, #241
+ Fix integration test failures on Apple Silicon by skipping
OpenSSH 7.4 tests, #227
+ generate osgi bundle manifest data for jar #248, #249
* Changes of 0.2.4
+ Improved excepton handling by @norrisjeremy in #200
* Changes of 0.2.3
+ #188 fix private key length checks for ssh-ed25519 and
ssh-ed448, #189
* Changes of 0.2.2
+ setup jdk for code-ql analysis, #151
+ misc improvements, #152
+ Fixing Issue #131, #134
+ Update link to bcrypt, #157
* Changes of 0.2.1
+ Allow to set a Logger per JSch-instance rather than a VM-wide
one, #128
+ Preliminary changes prior to Javadoc work, #126
+ remove check to allow setting any filename encoding with any
server version #137, #142
* Changes of 0.2.0
+ Disable RSA/SHA1 signature algorithm by default #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
~ Log4j2Logger, using Apache Log4j 2
~ Slf4jLogger, using SLF4J
+ Fix client version to be compliant with RFC 4253 section 4.2
by not including minus sign characters #115
+ Add java.util.zip based compression implementation #114
~ This is based upon the CompressionJUZ implementation posted
to the JSch-users mailing list in 2012 by the original JSch
author
~ The existing JZlib implementation remains the default to
maintain strict RFC 4253 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")
* Changes of 0.1.72
+ Switch chacha20-poly1305@openssh.com algorithm to a pure
Bouncy Castle based implementation
+ implement openssh config behavior to handle append, prepend
and removal of algorithms #104
* Changes of 0.1.71
+ Address #98 by restoring JSch.VERSION
* Changes of 0.1.70
+ Address #89 by fixing rare ECDSA signature validation issue
+ Address #93 by always setting the "want reply" flag for "env"
type channel requests to false
* Changes of 0.1.69
+ Address #83 by sending CR LF at the end of the identification
string
+ Fix earlier change for #76 that failed to correctly make the
"Host" keyword case-insensitive
+ Fix PageantConnector struct class visibility #86
* Changes of 0.1.68
+ Added support for the rijndael-cbc@lysator.liu.se algorithm
+ Added support for the hmac-ripemd160,
hmac-ripemd160@openssh.com and hmac-ripemd160-etm@openssh.com
algorithms using Bouncy Castle
+ Added support for various algorithms from RFC 4253 and
RFC 4344 using Bouncy Castle
~ cast128-cbc
~ cast128-ctr
~ twofish-cbc
~ twofish128-cbc
~ twofish128-ctr
~ twofish192-cbc
~ twofish192-ctr
~ twofish256-cbc
~ twofish256-ctr
+ Added support for the seed-cbc@ssh.com algorithm using Bouncy
Castle
* Changes of 0.1.67
+ Added support for the blowfish-ctr algorithm from RFC 4344
+ Fix bug where ext-info-c was incorrectly advertised during
rekeying
~ According to RFC 8308 section 2.1, ext-info-c should only
advertised during the first key exchange
+ Address #77 by attempting to add compatibility with older
Bouncy Castle releases
* Changes of 0.1.66
+ Added support for RFC 8308 extension negotiation and
server-sig-algs extension
~ This support is enabled by default, but can be controlled
via the enable_server_sig_algs config option (or
jsch.enable_server_sig_algs system property)
~ When enabled and a server-sig-algs message is received from
the server, the algorithms included by the server and also
present in the PubkeyAcceptedKeyTypes config option will be
attempted first when using publickey authentication
~ Additionally if the server is detected as OpenSSH version
7.4, the rsa-sha2-256 and rsa-sha2-512 algorithms will be
added to the received server-sig-algs as a workaround for
OpenSSH bug 2680
+ Added support for various algorithms supported by Tectia
(ssh.com):
~ diffie-hellman-group14-sha224@ssh.com
~ diffie-hellman-group14-sha256@ssh.com
~ diffie-hellman-group15-sha256@ssh.com
~ diffie-hellman-group15-sha384@ssh.com
~ diffie-hellman-group16-sha384@ssh.com
~ diffie-hellman-group16-sha512@ssh.com
~ diffie-hellman-group18-sha512@ssh.com
~ diffie-hellman-group-exchange-sha224@ssh.com
~ diffie-hellman-group-exchange-sha384@ssh.com
~ diffie-hellman-group-exchange-sha512@ssh.com
~ hmac-sha224@ssh.com
~ hmac-sha256@ssh.com
~ hmac-sha256-2@ssh.com
~ hmac-sha384@ssh.com
~ hmac-sha512@ssh.com
~ ssh-rsa-sha224@ssh.com
~ ssh-rsa-sha256@ssh.com
~ ssh-rsa-sha384@ssh.com
~ ssh-rsa-sha512@ssh.com
+ Added support for SHA224 to FingerprintHash
+ Fixing #52
+ Deprecate void setFilenameEncoding(String encoding) in favor
of void setFilenameEncoding(Charset encoding) in ChannelSftp
+ Added support for rsa-sha2-256 and rsa-rsa2-512 algorithms to
ChannelAgentForwarding
+ Address #65 by adding ssh-agent support derived from
jsch-agent-proxy
~ See examples/JSchWithAgentProxy.java for simple example
~ ssh-agent support requires either Java 16's JEP 380 or the
addition of junixsocket to classpath
~ Pageant support is untested and requires the addition of JNA
to classpath
+ Added support for the following algorithms with older Java
releases by using Bouncy Castle:
~ ssh-ed25519
~ ssh-ed448
~ curve25519-sha256
~ curve25519-sha256@libssh.org
~ curve448-sha512
~ chacha20-poly1305@openssh.com
* Changes of 0.1.65
+ Added system properties to allow manipulation of various
crypto algorithms used by default
+ Integrated JZlib, allowing use of zlib@openssh.com and zlib
compressions without the need to provide the JZlib jar-file
+ Modularized the jar-file for use with Java 9 or newer
+ Added runtime controls for the min/max/preferred sizes used
for diffie-hellman-group-exchange-sha256 and
diffie-hellman-group-exchange-sha1
+ Renamed PubkeyAcceptedKeyTypes config to
PubkeyAcceptedAlgorithms to match recent changes in OpenSSH
(PubkeyAcceptedKeyTypes is still accepted for backward
compatibility)
+ Reduced number of algorithms that are runtime checked by
default via CheckCiphers, CheckMacs, CheckKExes and
CheckSignatures to improve runtime performance
* Changes of 0.1.64
+ #55 bug fix
* Changes of 0.1.63
+ fix for #42
* Changes 0.1.62
+ #13 reject HostKey with some servers
+ #20 Include TestBCrypt.java unit test
+ #21 Misc cleanup
+ #27 Update Testcontainers to newest version to fix test
failures
+ #34 NPE with openssh v1 format
* Changes 0.1.61
+ Add support for chacha20-poly1305@openssh.com, ssh-ed25519,
ssh-ed448, curve448-sha512, diffie-hellman-group15-sha512
and diffie-hellman-group17-sha512.
This makes use of the new EdDSA feature added in Java 15's
JEP 339. #17
+ added integration test for public key authentication #19
* Changes of 0.1.60
+ support for openssh-v1-private-key format
+ Fix bug with AEAD ciphers when compression is used. #15
* Changes of 0.1.59
+ fixing issue #6 (originally from
https://sourceforge.net/p/jsch/mailman/message/36872566/)
* Changes of 0.1.58
+ adds support for more algorithms, see #4
* Changes of 0.1.57
+ support for rsa-sha2-256 and rsa-sha2-512. #1
* Changes of 0.1.56
+ support for direct-streamlocal@openssh.com
(see SocketForwardingL.java)
- Removed patches:
* jsch-0.1.54-sourcetarget.patch
* jsch-osgi-manifest.patch
+ both problems are handled differently in the new version
- Added patches:
* jsch-junixsocket.patch
+ disable building with dependency that we don't have
* jsch-log4j.patch
+ disable building with log4j support in order to avoid a
huge build cycle
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Mar 19 21:51:39 UTC 2022 - Fridrich Strba <fstrba@suse.com> Sat Mar 19 21:51:39 UTC 2022 - Fridrich Strba <fstrba@suse.com>

View File

@ -1,7 +1,7 @@
# #
# spec file for package jsch # spec file for package jsch
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -17,25 +17,27 @@
Name: jsch Name: jsch
Version: 0.1.55 Version: 0.2.9
Release: 0 Release: 0
Summary: Pure Java implementation of SSH2 Summary: Pure Java implementation of SSH2
License: BSD-3-Clause License: BSD-3-Clause
Group: Development/Libraries/Java Group: Development/Libraries/Java
URL: https://www.jcraft.com/jsch/ URL: https://github.com/mwiede/jsch/
Source0: https://downloads.sourceforge.net/%{name}/%{name}-%{version}.zip Source0: https://github.com/mwiede/%{name}/archive/refs/tags/%{name}-%{version}.tar.gz
Source1: https://repo1.maven.org/maven2/com/jcraft/%{name}/%{version}/%{name}-%{version}.pom Source1: %{name}-build.xml
Source2: plugin.properties Patch0: jsch-junixsocket.patch
Patch0: jsch-0.1.54-sourcetarget.patch Patch1: jsch-log4j.patch
Patch1: jsch-osgi-manifest.patch
BuildRequires: ant BuildRequires: ant
BuildRequires: bouncycastle
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: java-devel >= 1.6.0 # We need this for module-info.class
BuildRequires: javapackages-local BuildRequires: java-devel >= 9
BuildRequires: jzlib BuildRequires: javapackages-local >= 6
BuildRequires: unzip BuildRequires: jna
BuildRequires: zip BuildRequires: jna-contrib
Requires: jzlib BuildRequires: slf4j
# The jar still works with Java 8
Requires: java >= 1.8
BuildArch: noarch BuildArch: noarch
%description %description
@ -62,32 +64,39 @@ X11 forwarding, file transfer, etc., and you can integrate its
functionality into your own Java programs. functionality into your own Java programs.
%prep %prep
%setup -q %setup -q -n %{name}-%{name}-%{version}
cp %{SOURCE1} build.xml
# We don't have junixsocket
%pom_remove_dep com.kohlschutter.junixsocket:
rm -f \
src/main/java/com/jcraft/jsch/JUnixSocketFactory.java
%patch0 -p1 %patch0 -p1
# Do not depend on log4j
%pom_remove_dep org.apache.logging.log4j:
rm -f \
src/main/java/com/jcraft/jsch/Log4j2Logger.java \
src/test/java/com/jcraft/jsch/Log4j2LoggerTest.java
%patch1 -p1 %patch1 -p1
cp %{SOURCE1} pom.xml
%pom_remove_parent
%build %build
export CLASSPATH=$(build-classpath jzlib) mkdir -p lib
ant dist javadoc build-jar-repository -s lib jna jna-platform slf4j/api bcprov
%{ant} jar javadoc
%install %install
# inject the OSGi Manifest
cp %{SOURCE2} plugin.properties
jar uf dist/lib/%{name}-*.jar plugin.properties
# jars # jars
install -Dpm 644 dist/lib/%{name}-*.jar %{buildroot}%{_javadir}/%{name}.jar install -Dpm 644 target/%{name}-*.jar %{buildroot}%{_javadir}/%{name}.jar
# pom # pom
install -d -m 755 %{buildroot}%{_mavenpomdir} install -d -m 755 %{buildroot}%{_mavenpomdir}
install -p -m 644 pom.xml %{buildroot}%{_mavenpomdir}/%{name}.pom %{mvn_install_pom} pom.xml %{buildroot}%{_mavenpomdir}/%{name}.pom
%add_maven_depmap %{name}.pom %{name}.jar %add_maven_depmap %{name}.pom %{name}.jar -a com.jcraft:jsch
# javadoc # javadoc
install -dm 755 %{buildroot}%{_javadocdir}/%{name} install -dm 755 %{buildroot}%{_javadocdir}/%{name}
cp -pr javadoc/* %{buildroot}%{_javadocdir}/%{name} cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
%fdupes -s %{buildroot}%{_javadocdir}/%{name} %fdupes -s %{buildroot}%{_javadocdir}/%{name}
# examples # examples

View File

@ -1,13 +0,0 @@
###############################################################################
# Copyright (c) 2006 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
# Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
# IBM Corporation - implementation
###############################################################################
venderName=JCraft, Inc.
bundleName=JSch