|
|
@ -1,23 +1,16 @@
|
|
|
|
Name: libssh2
|
|
|
|
Name: libssh2
|
|
|
|
Version: 1.11.0
|
|
|
|
Version: 1.10.0
|
|
|
|
Release: 1%{?dist}
|
|
|
|
Release: 1%{?dist}
|
|
|
|
Summary: A library implementing the SSH2 protocol
|
|
|
|
Summary: A library implementing the SSH2 protocol
|
|
|
|
License: BSD-3-Clause
|
|
|
|
License: BSD
|
|
|
|
URL: https://www.libssh2.org/
|
|
|
|
URL: https://www.libssh2.org/
|
|
|
|
Source0: https://libssh2.org/download/libssh2-%{version}.tar.gz
|
|
|
|
Source0: https://libssh2.org/download/libssh2-%{version}.tar.gz
|
|
|
|
Source1: https://libssh2.org/download/libssh2-%{version}.tar.gz.asc
|
|
|
|
|
|
|
|
# Daniel Stenberg's GPG keys; linked from https://daniel.haxx.se/address.html
|
|
|
|
|
|
|
|
Source2: https://daniel.haxx.se/mykey.asc
|
|
|
|
|
|
|
|
Patch1: libssh2-1.11.0-strict-modes.patch
|
|
|
|
|
|
|
|
Patch2: libssh2-1.11.0-ssh-rsa-test.patch
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BuildRequires: coreutils
|
|
|
|
BuildRequires: coreutils
|
|
|
|
BuildRequires: findutils
|
|
|
|
BuildRequires: findutils
|
|
|
|
BuildRequires: gcc
|
|
|
|
BuildRequires: gcc
|
|
|
|
BuildRequires: gnupg2
|
|
|
|
|
|
|
|
BuildRequires: make
|
|
|
|
BuildRequires: make
|
|
|
|
BuildRequires: openssl-devel > 1:1.0.2
|
|
|
|
BuildRequires: openssl-devel > 1:1.0.1
|
|
|
|
BuildRequires: pkgconfig
|
|
|
|
|
|
|
|
BuildRequires: sed
|
|
|
|
BuildRequires: sed
|
|
|
|
BuildRequires: zlib-devel
|
|
|
|
BuildRequires: zlib-devel
|
|
|
|
BuildRequires: /usr/bin/man
|
|
|
|
BuildRequires: /usr/bin/man
|
|
|
@ -57,69 +50,59 @@ The libssh2-docs package contains man pages and examples for
|
|
|
|
developing applications that use libssh2.
|
|
|
|
developing applications that use libssh2.
|
|
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
%prep
|
|
|
|
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
|
|
|
|
|
|
|
%setup -q
|
|
|
|
%setup -q
|
|
|
|
|
|
|
|
|
|
|
|
# Group-writeable directories in the hierarchy above where we
|
|
|
|
|
|
|
|
# run the tests from can cause failures due to openssh's strict
|
|
|
|
|
|
|
|
# permissions checks. Adding this option helps the tests to run
|
|
|
|
|
|
|
|
# more reliably on a variety of build systems.
|
|
|
|
|
|
|
|
%patch -P 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# In 8.8 OpenSSH disabled sha1 rsa-sha keys out of the box,
|
|
|
|
|
|
|
|
# so we need to re-enable them as a workaround for the test
|
|
|
|
|
|
|
|
# suite until upstream updates the tests.
|
|
|
|
|
|
|
|
# See: https://github.com/libssh2/libssh2/issues/630
|
|
|
|
|
|
|
|
%if 0%{?fedora} > 33 || 0%{?rhel} > 8
|
|
|
|
|
|
|
|
%patch -P 2
|
|
|
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Replace hard wired port number in the test suite to avoid collisions
|
|
|
|
# Replace hard wired port number in the test suite to avoid collisions
|
|
|
|
# between 32-bit and 64-bit builds running on a single build-host
|
|
|
|
# between 32-bit and 64-bit builds running on a single build-host
|
|
|
|
sed -i s/4711/47%{?__isa_bits}/ tests/{openssh_fixture.c,test_ssh{2.c,d.test}}
|
|
|
|
sed -i s/4711/47%{__isa_bits}/ tests/ssh2.{c,sh}
|
|
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
%build
|
|
|
|
# Test suite fails to compile if we use --disable-static
|
|
|
|
%configure --disable-silent-rules --disable-static --enable-shared
|
|
|
|
# https://github.com/libssh2/libssh2/issues/1056
|
|
|
|
|
|
|
|
%configure \
|
|
|
|
|
|
|
|
--disable-silent-rules \
|
|
|
|
|
|
|
|
--enable-shared \
|
|
|
|
|
|
|
|
--disable-docker-tests
|
|
|
|
|
|
|
|
%{make_build}
|
|
|
|
%{make_build}
|
|
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
%install
|
|
|
|
%{make_install} INSTALL="install -p"
|
|
|
|
%{make_install} INSTALL="install -p"
|
|
|
|
find %{buildroot} -name '*.la' -delete
|
|
|
|
find %{buildroot} -name '*.la' -delete
|
|
|
|
|
|
|
|
|
|
|
|
# Remove static library that we only built for testing
|
|
|
|
# clean things up a bit for packaging
|
|
|
|
rm -v %{buildroot}%{_libdir}/libssh2.a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Clean things up a bit for packaging
|
|
|
|
|
|
|
|
make -C example clean
|
|
|
|
make -C example clean
|
|
|
|
find example/ -type f \
|
|
|
|
rm -rf example/.deps
|
|
|
|
'(' -name '*.am' -o -name '*.in' -o -name CMakeLists.txt ')' \
|
|
|
|
find example/ -type f '(' -name '*.am' -o -name '*.in' ')' -delete
|
|
|
|
-print -delete
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Remove redundant references to libdir in pkg-config file
|
|
|
|
# avoid multilib conflict on libssh2-devel
|
|
|
|
sed -i -e 's|-L%{_libdir} ||g' \
|
|
|
|
|
|
|
|
-e 's|-L[$]{libdir} ||g' %{buildroot}%{_libdir}/pkgconfig/libssh2.pc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Avoid multilib conflict on libssh2-devel
|
|
|
|
|
|
|
|
mv -v example example.%{_arch}
|
|
|
|
mv -v example example.%{_arch}
|
|
|
|
|
|
|
|
|
|
|
|
%check
|
|
|
|
%check
|
|
|
|
|
|
|
|
echo "Running tests for %{_arch}"
|
|
|
|
|
|
|
|
# The SSH test will fail if we don't have /dev/tty, as is the case in some
|
|
|
|
|
|
|
|
# versions of mock (#672713)
|
|
|
|
|
|
|
|
if [ ! -c /dev/tty ]; then
|
|
|
|
|
|
|
|
echo Skipping SSH test due to missing /dev/tty
|
|
|
|
|
|
|
|
echo "exit 0" > tests/ssh2.sh
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Apparently it fails in the sparc and arm buildsystems too
|
|
|
|
|
|
|
|
%ifarch %{sparc} %{arm}
|
|
|
|
|
|
|
|
echo Skipping SSH test on sparc/arm
|
|
|
|
|
|
|
|
echo "exit 0" > tests/ssh2.sh
|
|
|
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
# mansyntax check fails on PPC* and aarch64 with some strange locale error
|
|
|
|
|
|
|
|
%ifarch ppc %{power64} aarch64
|
|
|
|
|
|
|
|
echo "Skipping mansyntax test on PPC* and aarch64"
|
|
|
|
|
|
|
|
echo "exit 0" > tests/mansyntax.sh
|
|
|
|
|
|
|
|
%endif
|
|
|
|
LC_ALL=en_US.UTF-8 make -C tests check
|
|
|
|
LC_ALL=en_US.UTF-8 make -C tests check
|
|
|
|
|
|
|
|
|
|
|
|
%ldconfig_scriptlets
|
|
|
|
%ldconfig_scriptlets
|
|
|
|
|
|
|
|
|
|
|
|
%files
|
|
|
|
%files
|
|
|
|
|
|
|
|
%{!?_licensedir:%global license %%doc}
|
|
|
|
%license COPYING
|
|
|
|
%license COPYING
|
|
|
|
%doc docs/AUTHORS README RELEASE-NOTES
|
|
|
|
%doc docs/AUTHORS README RELEASE-NOTES
|
|
|
|
%{_libdir}/libssh2.so.1
|
|
|
|
%{_libdir}/libssh2.so.1
|
|
|
|
%{_libdir}/libssh2.so.1.*
|
|
|
|
%{_libdir}/libssh2.so.1.*
|
|
|
|
|
|
|
|
|
|
|
|
%files docs
|
|
|
|
%files docs
|
|
|
|
%doc docs/BINDINGS.md docs/HACKING.md docs/TODO NEWS
|
|
|
|
%doc docs/BINDINGS docs/HACKING docs/TODO NEWS
|
|
|
|
%{_mandir}/man3/libssh2_*.3*
|
|
|
|
%{_mandir}/man3/libssh2_*.3*
|
|
|
|
|
|
|
|
|
|
|
|
%files devel
|
|
|
|
%files devel
|
|
|
@ -131,96 +114,8 @@ LC_ALL=en_US.UTF-8 make -C tests check
|
|
|
|
%{_libdir}/pkgconfig/libssh2.pc
|
|
|
|
%{_libdir}/pkgconfig/libssh2.pc
|
|
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
%changelog
|
|
|
|
* Thu Jun 1 2023 Paul Howarth <paul@city-fan.org> - 1.11.0-1
|
|
|
|
* Thu Feb 29 2024 Sergey Cherevko <s.cherevko@msvsphere-os.ru> - 1.10.0-1
|
|
|
|
- Update to 1.11.0 (rhbz#2211200)
|
|
|
|
- Rebuilt for MSVSphere 8.9
|
|
|
|
- Adds support for encrypt-then-mac (ETM) MACs
|
|
|
|
|
|
|
|
- Adds support for AES-GCM crypto protocols
|
|
|
|
|
|
|
|
- Adds support for sk-ecdsa-sha2-nistp256 and sk-ssh-ed25519 keys
|
|
|
|
|
|
|
|
- Adds support for RSA certificate authentication
|
|
|
|
|
|
|
|
- Adds FIDO support with *_sk() functions
|
|
|
|
|
|
|
|
- Adds RSA-SHA2 key upgrading to OpenSSL, WinCNG, mbedTLS, OS400 backends
|
|
|
|
|
|
|
|
- Adds Agent Forwarding and libssh2_agent_sign()
|
|
|
|
|
|
|
|
- Adds support for Channel Signal message libssh2_channel_signal_ex()
|
|
|
|
|
|
|
|
- Adds support to get the user auth banner message libssh2_userauth_banner()
|
|
|
|
|
|
|
|
- Adds LIBSSH2_NO_{MD5, HMAC_RIPEMD, DSA, RSA, RSA_SHA1, ECDSA, ED25519,
|
|
|
|
|
|
|
|
AES_CBC, AES_CTR, BLOWFISH, RC4, CAST, 3DES} options
|
|
|
|
|
|
|
|
- Adds direct stream UNIX sockets with libssh2_channel_direct_streamlocal_ex()
|
|
|
|
|
|
|
|
- Adds wolfSSL support to CMake file
|
|
|
|
|
|
|
|
- Adds mbedTLS 3.x support
|
|
|
|
|
|
|
|
- Adds LibreSSL 3.5 support
|
|
|
|
|
|
|
|
- Adds support for CMake "unity" builds
|
|
|
|
|
|
|
|
- Adds CMake support for building shared and static libs in a single pass
|
|
|
|
|
|
|
|
- Adds symbol hiding support to CMake
|
|
|
|
|
|
|
|
- Adds support for libssh2.rc for all build tools
|
|
|
|
|
|
|
|
- Adds .zip, .tar.xz and .tar.bz2 release tarballs
|
|
|
|
|
|
|
|
- Enables ed25519 key support for LibreSSL 3.7.0 or higher
|
|
|
|
|
|
|
|
- Improves OpenSSL 1.1 and 3 compatibility
|
|
|
|
|
|
|
|
- Now requires OpenSSL 1.0.2 or newer
|
|
|
|
|
|
|
|
- Now requires CMake 3.1 or newer
|
|
|
|
|
|
|
|
- SFTP: Adds libssh2_sftp_open_ex_r() and libssh2_sftp_open_r() extended APIs
|
|
|
|
|
|
|
|
- SFTP: No longer has a packet limit when reading a directory
|
|
|
|
|
|
|
|
- SFTP: Now parses attribute extensions if they exist
|
|
|
|
|
|
|
|
- SFTP: No longer will busy loop if SFTP fails to initialize
|
|
|
|
|
|
|
|
- SFTP: Now clear various errors as expected
|
|
|
|
|
|
|
|
- SFTP: No longer skips files if the line buffer is too small
|
|
|
|
|
|
|
|
- SCP: Add option to not quote paths
|
|
|
|
|
|
|
|
- SCP: Enables 64-bit offset support unconditionally
|
|
|
|
|
|
|
|
- Now skips leading \r and \n characters in banner_receive()
|
|
|
|
|
|
|
|
- Enables secure memory zeroing with all build tools on all platforms
|
|
|
|
|
|
|
|
- No longer logs SSH_MSG_REQUEST_FAILURE packets from keepalive
|
|
|
|
|
|
|
|
- Speed up base64 encoding by 7x
|
|
|
|
|
|
|
|
- Assert if there is an attempt to write a value that is too large
|
|
|
|
|
|
|
|
- WinCNG: fix memory leak in _libssh2_dh_secret()
|
|
|
|
|
|
|
|
- Added protection against possible null pointer dereferences
|
|
|
|
|
|
|
|
- Agent now handles overly large comment lengths
|
|
|
|
|
|
|
|
- Now ensure KEX replies don't include extra bytes
|
|
|
|
|
|
|
|
- Fixed possible buffer overflow when receiving SSH_MSG_USERAUTH_BANNER
|
|
|
|
|
|
|
|
- Fixed possible buffer overflow in keyboard interactive code path
|
|
|
|
|
|
|
|
- Fixed overlapping memcpy()
|
|
|
|
|
|
|
|
- Fixed Windows UWP builds
|
|
|
|
|
|
|
|
- Fixed DLL import name
|
|
|
|
|
|
|
|
- Renamed local RANDOM_PADDING macro to avoid unexpected define on Windows
|
|
|
|
|
|
|
|
- Support for building with gcc versions older than 8
|
|
|
|
|
|
|
|
- Improvements to CMake, Makefile, NMakefile, GNUmakefile, autoreconf files
|
|
|
|
|
|
|
|
- Restores ANSI C89 compliance
|
|
|
|
|
|
|
|
- Enabled new compiler warnings and fixed/silenced them
|
|
|
|
|
|
|
|
- Improved error messages
|
|
|
|
|
|
|
|
- Now uses CIFuzz
|
|
|
|
|
|
|
|
- Numerous minor code improvements
|
|
|
|
|
|
|
|
- Improvements to CI builds
|
|
|
|
|
|
|
|
- Improvements to unit tests
|
|
|
|
|
|
|
|
- Improvements to doc files
|
|
|
|
|
|
|
|
- Improvements to example files
|
|
|
|
|
|
|
|
- Removed "old gex" build option
|
|
|
|
|
|
|
|
- Removed no-encryption/no-mac builds
|
|
|
|
|
|
|
|
- Removed support for NetWare and Watcom wmake build files
|
|
|
|
|
|
|
|
- Avoid use of deprecated patch syntax
|
|
|
|
|
|
|
|
- Build static library but don't package it since it's required for the
|
|
|
|
|
|
|
|
test suite (https://github.com/libssh2/libssh2/issues/1056)
|
|
|
|
|
|
|
|
- Remove redundant references to %%{_libdir} from pkgconfig file
|
|
|
|
|
|
|
|
- Add patch to work around strict permissions issues for sshd tests
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.0-7
|
|
|
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Fri Oct 28 2022 Todd Zullinger <tmz@pobox.com> - 1.10.0-6
|
|
|
|
|
|
|
|
- Verify upstream release signatures
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.0-5
|
|
|
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Sun Jan 23 2022 Paul Howarth <paul@city-fan.org> - 1.10.0-4
|
|
|
|
|
|
|
|
- In 8.8 OpenSSH disabled sha1 rsa-sha keys out of the box,
|
|
|
|
|
|
|
|
so we need to re-enable them as a workaround for the test
|
|
|
|
|
|
|
|
suite until upstream updates the tests
|
|
|
|
|
|
|
|
See: https://github.com/libssh2/libssh2/issues/630
|
|
|
|
|
|
|
|
- Drop other test workarounds, none of them being needed any longer
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.0-3
|
|
|
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 1.10.0-2
|
|
|
|
|
|
|
|
- Rebuilt with OpenSSL 3.0.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Mon Aug 30 2021 Paul Howarth <paul@city-fan.org> - 1.10.0-1
|
|
|
|
* Mon Aug 30 2021 Paul Howarth <paul@city-fan.org> - 1.10.0-1
|
|
|
|
- Update to 1.10.0
|
|
|
|
- Update to 1.10.0
|