15
0

Accepting request 682202 from devel:languages:python

- remove python-nacl from builddeps
- add 194.patch to fix testsuite

- Update to 1.16.0:
  * Added support for Ed448 host/client keys and certificates and rewrote Ed25519 support to use the PyCA implementation, reducing the dependency on libnacl and libsodium to only be needed to support the chacha20-poly1305 cipher.
  * Added support for PKCS#8 format Ed25519 and Ed448 private and public keys (in addition to the OpenSSH format previously supported).
  * Added support for multiple delimiters in SSHReader’s readuntil() function, causing it to return data as soon as any of the specified delimiters are matched.
  * Added the ability to register custom key handlers in the line editor which can modify the input line, extending the built-in editing functionality.
  * Added SSHSubprocessProtocol and SSHSubprocessTransport classes to provide compatibility with asyncio.SubprocessProtocol and asyncio.SubprocessTransport. Code which is designed to call BaseEventLoop.subprocess_shell() or BaseEventLoop.subprocess_exec() can be easily adapted to work against a remote process by calling SSHClientConnection.create_subprocess().
  * Added support for sending keepalive messages when the SSH connection is idle, with an option to automatically disconnect the connection if the remote system doesn’t respond to these keepalives.
  * Changed AsyncSSH to ignore errors when loading unsupported key types from the default file locations.
  * Changed the reuse_port option to only be available on Python releases which support it (3.4.4 and later).
  * Fixed an issue where MSG_IGNORE packets could sometimes be sent between MSG_NEWKEYS and MSG_EXT_INFO, which caused some SSH implementations to fail to properly parse the MSG_EXT_INFO.
  * Fixed a couple of errors in the handling of disconnects occurring prior to authentication completing.
  * Renamed “session_encoding” and “session_errors” arguments in asyncssh.create_server() to “encoding” and “errors”, to match the names used for these arguments in other AsyncSSH APIs. The old names are still supported for now, but they are marked as deprecated and will be removed in a future release.

OBS-URL: https://build.opensuse.org/request/show/682202
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-asyncssh?expand=0&rev=4
This commit is contained in:
2019-03-22 14:00:54 +00:00
committed by Git OBS Bridge
5 changed files with 100 additions and 16 deletions

61
194.patch Normal file
View File

@@ -0,0 +1,61 @@
From 110a7c22926c067e65cfaa05c19aac12b637eb79 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ond=C5=99ej=20S=C3=BAkup?= <mimi.vx@gmail.com>
Date: Wed, 6 Mar 2019 15:25:28 +0100
Subject: [PATCH] Test ed25519 and curve448 only if is available
---
tests/test_agent.py | 3 ++-
tests/test_kex.py | 5 +++++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/tests/test_agent.py b/tests/test_agent.py
index 6dd30b1..08237c1 100644
--- a/tests/test_agent.py
+++ b/tests/test_agent.py
@@ -29,6 +29,7 @@
import asyncssh
+from asyncssh.crypto.ed import ed25519_available
from asyncssh.agent import SSH_AGENT_SUCCESS, SSH_AGENT_FAILURE
from asyncssh.packet import Byte, String
@@ -175,7 +176,7 @@ def test_sign(self, agent):
algs = ['ssh-dss', 'ssh-rsa', 'ecdsa-sha2-nistp256']
- if libnacl_available: # pragma: no branch
+ if ed25519_available: # pragma: no branch
algs.append('ssh-ed25519')
for alg_name in algs:
diff --git a/tests/test_kex.py b/tests/test_kex.py
index 1512e40..86a75c6 100644
--- a/tests/test_kex.py
+++ b/tests/test_kex.py
@@ -27,6 +27,7 @@
import asyncssh
+
from asyncssh.kex_dh import MSG_KEXDH_INIT, MSG_KEXDH_REPLY
from asyncssh.kex_dh import MSG_KEX_DH_GEX_REQUEST, MSG_KEX_DH_GEX_GROUP
from asyncssh.kex_dh import MSG_KEX_DH_GEX_INIT, MSG_KEX_DH_GEX_REPLY, _KexDHGex
@@ -39,6 +40,7 @@
from asyncssh.kex import register_kex_alg, get_kex_algs, get_kex
from asyncssh.packet import SSHPacket, Boolean, Byte, MPInt, String
from asyncssh.public_key import SSHLocalKeyPair, decode_ssh_public_key
+from asyncssh.crypto.ed import curve448_available
from .util import asynctest, gss_available, patch_gss
from .util import AsyncTestCase, ConnectionStub
@@ -523,6 +525,9 @@ def test_curve448dh_errors(self):
except ImportError: # pragma: no cover
return
+ if not curve448_available: # pragma: no cover
+ return
+
client_conn, server_conn = \
_KexClientStub.make_pair(b'curve448-sha512')

View File

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

3
asyncssh-1.16.0.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4f3b4da21e415f20dc72aa9189f865833588301e8531641a6a22bf6a336bb63a
size 321999

View File

@@ -1,3 +1,26 @@
-------------------------------------------------------------------
Wed Mar 6 14:55:29 UTC 2019 - Ondřej Súkup <mimi.vx@gmail.com>
- remove python-nacl from builddeps
- add 194.patch to fix testsuite
-------------------------------------------------------------------
Wed Mar 6 12:36:52 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 1.16.0:
* Added support for Ed448 host/client keys and certificates and rewrote Ed25519 support to use the PyCA implementation, reducing the dependency on libnacl and libsodium to only be needed to support the chacha20-poly1305 cipher.
* Added support for PKCS#8 format Ed25519 and Ed448 private and public keys (in addition to the OpenSSH format previously supported).
* Added support for multiple delimiters in SSHReaders readuntil() function, causing it to return data as soon as any of the specified delimiters are matched.
* Added the ability to register custom key handlers in the line editor which can modify the input line, extending the built-in editing functionality.
* Added SSHSubprocessProtocol and SSHSubprocessTransport classes to provide compatibility with asyncio.SubprocessProtocol and asyncio.SubprocessTransport. Code which is designed to call BaseEventLoop.subprocess_shell() or BaseEventLoop.subprocess_exec() can be easily adapted to work against a remote process by calling SSHClientConnection.create_subprocess().
* Added support for sending keepalive messages when the SSH connection is idle, with an option to automatically disconnect the connection if the remote system doesnt respond to these keepalives.
* Changed AsyncSSH to ignore errors when loading unsupported key types from the default file locations.
* Changed the reuse_port option to only be available on Python releases which support it (3.4.4 and later).
* Fixed an issue where MSG_IGNORE packets could sometimes be sent between MSG_NEWKEYS and MSG_EXT_INFO, which caused some SSH implementations to fail to properly parse the MSG_EXT_INFO.
* Fixed a couple of errors in the handling of disconnects occurring prior to authentication completing.
* Renamed “session_encoding” and “session_errors” arguments in asyncssh.create_server() to “encoding” and “errors”, to match the names used for these arguments in other AsyncSSH APIs. The old names are still supported for now, but they are marked as deprecated and will be removed in a future release.
-------------------------------------------------------------------
Tue Feb 5 14:34:42 UTC 2019 - Jan Engelhardt <jengelh@inai.de>

View File

@@ -19,30 +19,28 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-asyncssh
Version: 1.15.1
Version: 1.16.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: http://asyncssh.timeheart.net
Source: https://files.pythonhosted.org/packages/source/a/asyncssh/asyncssh-%{version}.tar.gz
BuildRequires: %{python_module bcrypt}
BuildRequires: %{python_module cryptography >= 1.5}
BuildRequires: %{python_module gssapi}
BuildRequires: %{python_module libnacl}
BuildRequires: %{python_module pyOpenSSL}
Patch0: 194.patch
BuildRequires: %{python_module bcrypt >= 3.1.3}
BuildRequires: %{python_module cryptography >= 2.6.1}
BuildRequires: %{python_module gssapi >= 1.2.0}
BuildRequires: %{python_module pyOpenSSL >= 17.0.0}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module uvloop}
BuildRequires: fdupes
BuildRequires: openssh
BuildRequires: openssl
BuildRequires: python-rpm-macros
Requires: python-bcrypt
Requires: python-cryptography >= 1.5
Requires: python-gssapi
Requires: python-libnacl
Requires: python-pyOpenSSL
Recommends: python-uvloop
Requires: python-bcrypt >= 3.1.3
Requires: python-cryptography >= 2.6.1
Requires: python-gssapi >= 1.2.0
Requires: python-libnacl >= 1.4.2
Requires: python-pyOpenSSL >= 17.0.0
BuildArch: noarch
%python_subpackages
@@ -55,6 +53,7 @@ asyncio framework.
%prep
%setup -q -n asyncssh-%{version}
%autopatch -p1
%build
%python_build
@@ -64,6 +63,7 @@ asyncio framework.
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
%python_exec -m unittest discover -s tests_py35
%python_exec setup.py test
%files %{python_files}