15
0
Files
python-paramiko/python-paramiko.spec

101 lines
3.2 KiB
RPMSpec
Raw Normal View History

#
# spec file for package python-paramiko
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%bcond_without test
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-paramiko
Version: 2.4.0
Release: 0
Url: http://www.paramiko.org/
Summary: SSH2 protocol library
License: LGPL-2.1+
Group: Development/Languages/Python
Source: https://files.pythonhosted.org/packages/source/p/paramiko/paramiko-%{version}.tar.gz
Accepting request 531621 from home:mimi_vx:branches:devel:languages:python - update to 2.3.1 + cert_support.tar.gz - missing test certificates for testsuite * Certificate support broke the no-certificate case for Ed25519 keys (symptom is an AttributeError about public_blob.) This went uncaught due to cert autoload behavior (i.e. our test suite never actually ran the no-cert case, because the cert existed!) Both issues have been fixed. * Implement basic client-side certificate authentication (as per the OpenSSH vendor extension.) * Added pre-authentication banner support for the server interface (ServerInterface.get_banner plus related support in Transport/AuthHandler.) * Update Ed25519Key so its constructor offers the same file_obj parameter as its sibling key classes. * Add a gss_trust_dns option to Client and Transport to allow explicitly setting whether or not DNS canonicalization should occur when using GSSAPI. * Paramiko originally defaulted to zlib compression level 9 (when one connects with compression=True; it defaults to off.) This has been found to be quite wasteful and tends to cause much longer transfers in most cases, than is necessar * Enhance documentation around the new SFTP.posix_rename method so it’s referenced in the ‘standard’ rename method for increased visibility. * Modify logic around explicit disconnect messages, and unknown-channel situations, so that they rely on centralized shutdown code instead of running their own. This is at worst removing some unnecessary code, and may help with some situations where Paramiko hangs at the end of a session. * Display exception type and message when logging auth-rejection messages (ones reading Auth rejected: unsupported or mangled public key); previously this error case had a bare except and did not display exactly why the key failed. * Ed25519 keys never got proper API documentation support; this has been fixed. * Update how we use Cryptography‘s signature/verification methods OBS-URL: https://build.opensuse.org/request/show/531621 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-paramiko?expand=0&rev=66
2017-10-05 14:59:22 +00:00
# certificates needed by testsuite
Source1: cert_support.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: %{python_module PyNaCl >= 1.0.1}
BuildRequires: %{python_module bcrypt >= 3.1.3}
BuildRequires: %{python_module cryptography >= 1.1}
Accepting request 502890 from home:mimi_vx:branches:devel:languages:python - update to 2.1.3 * Make util.log_to_file append instead of replace. * SSHClient and Transport could cause a memory leak if there’s a connection problem or protocol error, even if Transport.close() is called. * Prior support for ecdsa-sha2-nistp(384|521) algorithms didn’t fully extend to covering host keys, preventing connection to hosts which only offer these key types and no others. This is now fixed. * Prefer newer ecdsa-sha2-nistp keys over RSA and DSA keys during host key selection. This improves compatibility with OpenSSH, both in terms of general behavior, and also re: ability to properly leverage OpenSSH-modified known_hosts files. * The RC4/arcfour family of ciphers has been broken since version 2.0; but since the algorithm is now known to be completely insecure, we are opting to remove support outright instead of fixing it. * Move sha1 above the now-arguably-broken md5 in the list of preferred MAC algorithms, as an incremental security improvement for users whose target systems offer both. * Writing encrypted/password-protected private key files was silently broken since 2.0 due to an incorrect API call Includes a directly related fix, namely adding the ability to read AES-256-CBC ciphered private keys (which is now what we tend to write out as it is Cryptography’s default private key cipher.) * Allow any type implementing the buffer API to be used with BufferedFile, Channel, and SFTPFile. This resolves a regression introduced in 1.13 with the Python 3 porting changes, when using types such as memoryview. * Enhance default cipher preference order such that aes(192|256)-cbc are preferred over blowfish-cbc. * SSHClient now requests the type of host key it has (e.g. from known_hosts) and does not consider a different type to be a “Missing” host key. This fixes a common case where an ECDSA key is in known_hosts and the server also has OBS-URL: https://build.opensuse.org/request/show/502890 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-paramiko?expand=0&rev=62
2017-06-14 09:20:40 +00:00
BuildRequires: %{python_module devel}
BuildRequires: %{python_module pyasn1 >= 0.1.7}
Accepting request 502890 from home:mimi_vx:branches:devel:languages:python - update to 2.1.3 * Make util.log_to_file append instead of replace. * SSHClient and Transport could cause a memory leak if there’s a connection problem or protocol error, even if Transport.close() is called. * Prior support for ecdsa-sha2-nistp(384|521) algorithms didn’t fully extend to covering host keys, preventing connection to hosts which only offer these key types and no others. This is now fixed. * Prefer newer ecdsa-sha2-nistp keys over RSA and DSA keys during host key selection. This improves compatibility with OpenSSH, both in terms of general behavior, and also re: ability to properly leverage OpenSSH-modified known_hosts files. * The RC4/arcfour family of ciphers has been broken since version 2.0; but since the algorithm is now known to be completely insecure, we are opting to remove support outright instead of fixing it. * Move sha1 above the now-arguably-broken md5 in the list of preferred MAC algorithms, as an incremental security improvement for users whose target systems offer both. * Writing encrypted/password-protected private key files was silently broken since 2.0 due to an incorrect API call Includes a directly related fix, namely adding the ability to read AES-256-CBC ciphered private keys (which is now what we tend to write out as it is Cryptography’s default private key cipher.) * Allow any type implementing the buffer API to be used with BufferedFile, Channel, and SFTPFile. This resolves a regression introduced in 1.13 with the Python 3 porting changes, when using types such as memoryview. * Enhance default cipher preference order such that aes(192|256)-cbc are preferred over blowfish-cbc. * SSHClient now requests the type of host key it has (e.g. from known_hosts) and does not consider a different type to be a “Missing” host key. This fixes a common case where an ECDSA key is in known_hosts and the server also has OBS-URL: https://build.opensuse.org/request/show/502890 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-paramiko?expand=0&rev=62
2017-06-14 09:20:40 +00:00
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
%if %{with test}
BuildRequires: %{python_module pytest-relaxed}
BuildRequires: %{python_module pytest}
%endif
Requires: python-PyNaCl >= 1.0.1
Requires: python-bcrypt >= 3.1.3
Accepting request 531621 from home:mimi_vx:branches:devel:languages:python - update to 2.3.1 + cert_support.tar.gz - missing test certificates for testsuite * Certificate support broke the no-certificate case for Ed25519 keys (symptom is an AttributeError about public_blob.) This went uncaught due to cert autoload behavior (i.e. our test suite never actually ran the no-cert case, because the cert existed!) Both issues have been fixed. * Implement basic client-side certificate authentication (as per the OpenSSH vendor extension.) * Added pre-authentication banner support for the server interface (ServerInterface.get_banner plus related support in Transport/AuthHandler.) * Update Ed25519Key so its constructor offers the same file_obj parameter as its sibling key classes. * Add a gss_trust_dns option to Client and Transport to allow explicitly setting whether or not DNS canonicalization should occur when using GSSAPI. * Paramiko originally defaulted to zlib compression level 9 (when one connects with compression=True; it defaults to off.) This has been found to be quite wasteful and tends to cause much longer transfers in most cases, than is necessar * Enhance documentation around the new SFTP.posix_rename method so it’s referenced in the ‘standard’ rename method for increased visibility. * Modify logic around explicit disconnect messages, and unknown-channel situations, so that they rely on centralized shutdown code instead of running their own. This is at worst removing some unnecessary code, and may help with some situations where Paramiko hangs at the end of a session. * Display exception type and message when logging auth-rejection messages (ones reading Auth rejected: unsupported or mangled public key); previously this error case had a bare except and did not display exactly why the key failed. * Ed25519 keys never got proper API documentation support; this has been fixed. * Update how we use Cryptography‘s signature/verification methods OBS-URL: https://build.opensuse.org/request/show/531621 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-paramiko?expand=0&rev=66
2017-10-05 14:59:22 +00:00
Requires: python-cryptography >= 1.5
Requires: python-pyasn1 >= 0.1.7
BuildArch: noarch
%python_subpackages
%description
This is a library for making SSH2 connections (client or server).
Emphasis is on using SSH2 as an alternative to SSL for making secure
connections between python scripts. All major ciphers and hash methods
are supported. SFTP client and server mode are both supported too.
%package -n python-paramiko-doc
Summary: Documentation for %{name}
Group: Documentation/Other
Provides: %{python_module paramiko-doc = %{version}}
%description -n python-paramiko-doc
This is a library for making SSH2 connections (client or server).
Emphasis is on using SSH2 as an alternative to SSL for making secure
connections between python scripts. All major ciphers and hash methods
are supported. SFTP client and server mode are both supported too.
This package contains the documentation.
%prep
%setup -q -n paramiko-%{version}
# Fix non-executable script rpmlint issue:
find demos -name "*.py" -exec sed -i "/#\!\/usr\/bin\/.*/d" {} \;
Accepting request 531621 from home:mimi_vx:branches:devel:languages:python - update to 2.3.1 + cert_support.tar.gz - missing test certificates for testsuite * Certificate support broke the no-certificate case for Ed25519 keys (symptom is an AttributeError about public_blob.) This went uncaught due to cert autoload behavior (i.e. our test suite never actually ran the no-cert case, because the cert existed!) Both issues have been fixed. * Implement basic client-side certificate authentication (as per the OpenSSH vendor extension.) * Added pre-authentication banner support for the server interface (ServerInterface.get_banner plus related support in Transport/AuthHandler.) * Update Ed25519Key so its constructor offers the same file_obj parameter as its sibling key classes. * Add a gss_trust_dns option to Client and Transport to allow explicitly setting whether or not DNS canonicalization should occur when using GSSAPI. * Paramiko originally defaulted to zlib compression level 9 (when one connects with compression=True; it defaults to off.) This has been found to be quite wasteful and tends to cause much longer transfers in most cases, than is necessar * Enhance documentation around the new SFTP.posix_rename method so it’s referenced in the ‘standard’ rename method for increased visibility. * Modify logic around explicit disconnect messages, and unknown-channel situations, so that they rely on centralized shutdown code instead of running their own. This is at worst removing some unnecessary code, and may help with some situations where Paramiko hangs at the end of a session. * Display exception type and message when logging auth-rejection messages (ones reading Auth rejected: unsupported or mangled public key); previously this error case had a bare except and did not display exactly why the key failed. * Ed25519 keys never got proper API documentation support; this has been fixed. * Update how we use Cryptography‘s signature/verification methods OBS-URL: https://build.opensuse.org/request/show/531621 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-paramiko?expand=0&rev=66
2017-10-05 14:59:22 +00:00
tar xvzf %{SOURCE1} -C tests/
%build
%python_build
%install
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%if %{with test}
%check
export LANG=en_US.UTF-8
%python_expand pytest-%{$python_bin_suffix}
%endif
%files %{python_files}
%defattr(-,root,root)
%doc LICENSE README.rst
%{python_sitelib}/*
%files -n python-paramiko-doc
%doc LICENSE demos/
%changelog