Subject: CVS commit: pkgsrc/security/py-asyncssh
From: Adam Ciarcinski
Date: 2019-12-01 12:45:35
Message id: 20191201114535.77CDAFA97@cvs.NetBSD.org

Log Message:
py-asyncssh: updated to 2.1.0

Release 2.1.0:
Added support in the SSHProcess redirect mechanism to accept asyncio \ 
StreamReader and StreamWriter objects, allowing asyncio streams to be plugged in \ 
as stdin/stdout/stderr in an SSHProcess.
Added support for key handlers in the AsyncSSH line editor to trigger signals \ 
being delivered when certain “hot keys” are hit while reading input.
Improved cleanup of unreturned connection objects when an error occurs or the \ 
connection request is canceled or times out.
Improved cleanup of SSH agent client objects to avoid triggering a false \ 
positive warning in Python 3.8.
Added an example to the documentation for how to create reverse-direction SSH \ 
client and server connections.
Made check of session objects against None explicit to avoid confusion on \ 
user-defined sessions that implement __len__ or __bool__.

Release 2.0.1:
Some API changes which should have been included in the 2.0.0 release were \ 
missed. This release corrects that, but means that additional changes may be \ 
needed in applications moving to 2.0.1. This should hopefully be the last of \ 
such changes, but if any other issues are discovered, additional changes will be \ 
limited to 2.0.x patch releases and the API will stabilize again in the AsyncSSH \ 
2.1 release. See the next bullet for details about the additional incompatible \ 
change.
To be consistent with other connect and listen functions, all methods on \ 
SSHClientConnection which previously returned None on listen failures have been \ 
changed to raise an exception instead. A new ChannelListenError exception will \ 
now be raised when an SSH server returns failure on a request to open a remote \ 
listener. This change affects the following SSHClientConnection methods: \ 
create_server, create_unix_server, start_server, start_unix_server, \ 
forward_remote_port, and forward_remote_path.
Restored the ability for SSHListener objects to be used as async context \ 
managers. This previously worked in AsyncSSH 1.x and was unintentionally broken \ 
in AsyncSSH 2.0.0.
Added support for a number of additional functions to be called from within an \ 
“async with” statement. These functions already returned objects capable of \ 
being async context managers, but were not decorated to allow them to be \ 
directly called from within “async with”. This change applies to the top \ 
level functions create_server, listen, and listen_reverse and the \ 
SSHClientConnection methods create_server, create_unix_server, start_server, \ 
start_unix_server, forward_local_port, forward_local_path, forward_remote_port, \ 
forward_remote_path, listen_ssh, and listen_reverse_ssh,
Fixed a couple of issues in loading OpenSSH-format certificates which were \ 
missing a trailing newline.
Changed load_certificates() to allow multiple certificates to be loaded from a \ 
single byte string argument, making it more consistent with how \ 
load_certificates() works when reading from a file.

Release 2.0.0:
NEW MAJOR VERSION: See below for potentially incompatible changes.
Updated AsyncSSH to use the modern async/await syntax internally, now requiring \ 
Python 3.6 or later. Those wishing to use AsyncSSH on Python 3.4 or 3.5 should \ 
stick to the AsyncSSH 1.x releases.
Changed first argument of SFTPServer constructor from an SSHServerConnection \ 
(conn) to an SSHServerChannel (chan) to allow custom SFTP server implementations \ 
to access environment variables set on the channel that SFTP is run over. \ 
Applications which subclass the SFTPServer class and implement an __init__ \ 
method will need to be updated to account for this change and pass the new \ 
argument through to the SFTPServer parent class. If the subclass has no __init__ \ 
and just uses the connection, channel, and env properties of SFTPServer to \ 
access this information, no changes should be required.
Removed deprecated “session_encoding” and “session_errors” arguments \ 
from create_server() and listen() functions. These arguments were renamed to \ 
“encoding” and “errors” back in version 1.16.0 to be consistent with \ 
other AsyncSSH APIs.
Removed get_environment(), get_command(), and get_subsystem() methods on \ 
SSHServerProcess class. This information was made available as “env”, \ 
“command”, and “subsystem” properties of SSHServerProcess in AsyncSSH \ 
1.11.0.
Removed optional loop argument from all public AsyncSSH APIs, consistent with \ 
the deprecation of this argument in the asyncio package in Python 3.8. Calls \ 
will now always use the event loop which is active at the time of the call.
Removed support for non-async context managers on AsyncSSH connections and \ 
processes and SFTP client connections and file objects. Callers should use \ 
“async with” to invoke the async the context managers on these objects.
Added support for SSHAgentClient being an async context manager. To be \ 
consistent with other connect calls, connect_agent() will now raise an exception \ 
when no agent is found or a connection failure occurs, rather than logging a \ 
warning and returning None. Callers should catch OSError or ChannelOpenError \ 
exceptions rather than looking for a return value of None when calling this \ 
function.
Added set_input() and clear_input() methods on SSHLineEditorChannel to change \ 
the value of the current input line when line editing is enabled.
Added is_closing() method to the SSHChannel, SSHProcess, SSHWriter, and \ 
SSHSubprocessTransport classes. mirroring the asyncio BaseTransport and \ 
StreamWriter methods added in Python 3.7.
Added wait_closed() async method to the SSHWriter class, mirroring the asyncio \ 
StreamWriter method added in Python 3.7.

Files:
RevisionActionfile
1.18modifypkgsrc/security/py-asyncssh/Makefile
1.18modifypkgsrc/security/py-asyncssh/distinfo