* Added sparse file support for SFTP, allowing file copying
which automatically skips over any "holes" in a source file,
transferring only the data ranges which are actually present.
* Added support for applications to request that session,
connection, or TUN/TAP requests arriving on an
SSHServerConnection be forwarded out some other established
SSHClientConnection. Callback methods on SSHServer which
decide how to handle these requests can now return an
SSHClientConnection to set up this tunneling, instead of
having to accept the request and implement their own
forwarding logic.
* Further hardened the SSH key exchange process to make
AsyncSSH more strict when accepting messages during key
exchange. Thanks go to Fabian Bäumer and Marcus Brinkmann for
identifying potential issues here.
* Added support for the auth_completed callback in SSHServer to
be either a callable or a coroutine, allowing async
operations to be performed when user authentication completes
successfully, prior to accepting session requests.
* Added support for the sftp_factory config argument be either
a callable or a coroutine, allowing async operations to be
performed when starting up a new SFTP server session.
* Fixed a bug where the exit() method of SFTPServer didn't
handle being declared as a coroutine. Thanks go to C. R.
Oldham for reporting this issue.
* Improved handling of exceptions in connection_lost()
callbacks. Exceptions in connection_lost() will now be
reported in the debug log, but other cleanup code in AsyncSSH
will continue, ignoring those exceptions. Thanks go to Danil
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-asyncssh?expand=0&rev=64
82 lines
2.7 KiB
RPMSpec
82 lines
2.7 KiB
RPMSpec
#
|
|
# spec file for package python-asyncssh
|
|
#
|
|
# Copyright (c) 2025 SUSE LLC
|
|
#
|
|
# 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 https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%{?sle15_python_module_pythons}
|
|
Name: python-asyncssh
|
|
Version: 2.21.0
|
|
Release: 0
|
|
Summary: Asynchronous SSHv2 client and server library
|
|
License: EPL-2.0 OR GPL-2.0-or-later
|
|
Group: Development/Languages/Python
|
|
URL: https://github.com/ronf/asyncssh
|
|
Source: https://files.pythonhosted.org/packages/source/a/asyncssh/asyncssh-%{version}.tar.gz
|
|
Patch0: gss_test.patch
|
|
# SECTION test requirements
|
|
BuildRequires: %{python_module bcrypt >= 3.1.3}
|
|
BuildRequires: %{python_module cryptography >= 2.8}
|
|
BuildRequires: %{python_module fido2 >= 0.8.1}
|
|
BuildRequires: %{python_module gssapi >= 1.2.0}
|
|
BuildRequires: %{python_module pip}
|
|
BuildRequires: %{python_module pyOpenSSL >= 17.0.0}
|
|
BuildRequires: %{python_module pytest}
|
|
BuildRequires: %{python_module setuptools}
|
|
BuildRequires: %{python_module typing_extensions}
|
|
BuildRequires: %{python_module uvloop >= 0.9.1}
|
|
BuildRequires: %{python_module wheel}
|
|
BuildRequires: openssh
|
|
BuildRequires: openssl
|
|
BuildRequires: (libnettle8 if python38-base)
|
|
# /SECTION
|
|
BuildRequires: fdupes
|
|
BuildRequires: python-rpm-macros
|
|
Requires: python-bcrypt >= 3.1.3
|
|
Requires: python-cryptography >= 2.8
|
|
Requires: python-gssapi >= 1.2.0
|
|
Requires: python-libnacl >= 1.4.2
|
|
Requires: python-pyOpenSSL >= 17.0.0
|
|
Recommends: libnettle8
|
|
Recommends: python-fido2 >= 0.8.1
|
|
BuildArch: noarch
|
|
|
|
%python_subpackages
|
|
|
|
%description
|
|
AsyncSSH is a Python package which provides an asynchronous client and
|
|
server implementation of the SSHv2 protocol on top of the Python asyncio framework.
|
|
|
|
%prep
|
|
%autosetup -p1 -n asyncssh-%{version}
|
|
|
|
%build
|
|
%pyproject_wheel
|
|
|
|
%install
|
|
%pyproject_install
|
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
|
|
|
%check
|
|
%pytest -k 'not (test_connect_timeout_exceeded or test_forward_remote or test_enroll)'
|
|
|
|
%files %{python_files}
|
|
%license LICENSE COPYRIGHT
|
|
%doc README.rst
|
|
%{python_sitelib}/asyncssh
|
|
%{python_sitelib}/asyncssh-%{version}.dist-info
|
|
|
|
%changelog
|