Wed Dec 11 10:43:53 2019 UTC ()
py-paramiko: updated to 2.7.1

2.7.1:
[Bug] Fix a bug in support for ECDSA keys under the newly supported OpenSSH key format. Thanks to Pierce Lopez for the patch.
[Bug] The new-style private key format (added in 2.7) suffered from an unpadding bug which had been fixed earlier for Ed25519 (as that key type has always used the newer format). That fix has been refactored and applied to the base key class, courtesy of Pierce Lopez.

2.7.0:
[Feature]: Add new convenience classmethod constructors to SSHConfig: from_text, from_file, and from_path. No more annoying two-step process!
[Feature] Implement most 窶歪anonical hostname窶� ssh_config functionality (CanonicalizeHostname, CanonicalDomains, CanonicalizeFallbackLocal, and CanonicalizeMaxDots; CanonicalizePermittedCNAMEs has not yet been implemented). All were previously silently ignored. Reported by Michael Leinartas.
[Feature] Implement support for the Match keyword in ssh_config files. Previously, this keyword was simply ignored & keywords inside such blocks were treated as if they were part of the previous block. Thanks to Michael Leinartas for the initial patchset.

Note
This feature adds a new optional install dependency, Invoke, for managing Match exec subprocesses.

[Feature]: A couple of outright SSHConfig parse errors were previously represented as vanilla Exception instances; as part of recent feature work a more specific exception class, ConfigParseError, has been created. It is now also used in those older spots, which is naturally backwards compatible.
[Feature] Implement support for OpenSSH 6.5-style private key files (typically denoted as having BEGIN OPENSSH PRIVATE KEY headers instead of PEM format窶冱 BEGIN RSA PRIVATE KEY or similar). If you were getting any sort of weird auth error from 窶徇odern窶� keys generated on newer operating system releases (such as macOS Mojave), this is the first update to try.

Major thanks to everyone who contributed or tested versions of the patch, including but not limited to: Kevin Abel, Michiel Tiller, Pierce Lopez, and Jared Hobbs.

[Bug]: Perform deduplication of IdentityFile contents during ssh_config parsing; previously, if your config would result in the same value being encountered more than once, IdentityFile would contain that many copies of the same string.
[Bug]: Paramiko窶冱 use of subprocess for ProxyCommand support is conditionally imported to prevent issues on limited interpreter platforms like Google Compute Engine. However, any resulting ImportError was lost instead of preserved for raising (in the rare cases where a user tried leveraging ProxyCommand in such an environment). This has been fixed.
[Bug]: ssh_config token expansion used a different method of determining the local username ($USER env var), compared to what the (much older) client connection code does (getpass.getuser, which includes $USER but may check other variables first, and is generally much more comprehensive). Both modules now use getpass.getuser.
[Support]: Explicitly document which ssh_config features we currently support. Previously users just had to guess, which is simply no good.
[Support]: Additional installation extras_require 窶彷lavors窶� (ed25519, invoke, and all) have been added to our packaging metadata; see the install docs for details.


(adam)
diff -r1.36 -r1.37 pkgsrc/security/py-paramiko/Makefile
diff -r1.22 -r1.23 pkgsrc/security/py-paramiko/distinfo

cvs diff -r1.36 -r1.37 pkgsrc/security/py-paramiko/Makefile (expand / switch to unified diff)

--- pkgsrc/security/py-paramiko/Makefile 2019/07/02 04:31:13 1.36
+++ pkgsrc/security/py-paramiko/Makefile 2019/12/11 10:43:53 1.37
@@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
1# $NetBSD: Makefile,v 1.36 2019/07/02 04:31:13 adam Exp $ 1# $NetBSD: Makefile,v 1.37 2019/12/11 10:43:53 adam Exp $
2 2
3DISTNAME= paramiko-2.6.0 3DISTNAME= paramiko-2.7.1
4PKGNAME= ${PYPKGPREFIX}-${DISTNAME} 4PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
5CATEGORIES= security python 5CATEGORIES= security python
6MASTER_SITES= ${MASTER_SITE_PYPI:=p/paramiko/} 6MASTER_SITES= ${MASTER_SITE_PYPI:=p/paramiko/}
7 7
8MAINTAINER= pkgsrc-users@NetBSD.org 8MAINTAINER= pkgsrc-users@NetBSD.org
9HOMEPAGE= http://www.paramiko.org/ 9HOMEPAGE= http://www.paramiko.org/
10COMMENT= SSH2 protocol library 10COMMENT= SSH2 protocol library
11LICENSE= gnu-lgpl-v2.1 11LICENSE= gnu-lgpl-v2.1
12 12
13DEPENDS+= ${PYPKGPREFIX}-bcrypt>=3.1.3:../../security/py-bcrypt 13DEPENDS+= ${PYPKGPREFIX}-bcrypt>=3.1.3:../../security/py-bcrypt
14DEPENDS+= ${PYPKGPREFIX}-cryptography>=2.5:../../security/py-cryptography 14DEPENDS+= ${PYPKGPREFIX}-cryptography>=2.5:../../security/py-cryptography
15DEPENDS+= ${PYPKGPREFIX}-nacl>=1.0.1:../../security/py-nacl 15DEPENDS+= ${PYPKGPREFIX}-nacl>=1.0.1:../../security/py-nacl
16TEST_DEPENDS+= ${PYPKGPREFIX}-mock-[0-9]*:../../devel/py-mock 16TEST_DEPENDS+= ${PYPKGPREFIX}-mock-[0-9]*:../../devel/py-mock

cvs diff -r1.22 -r1.23 pkgsrc/security/py-paramiko/distinfo (expand / switch to unified diff)

--- pkgsrc/security/py-paramiko/distinfo 2019/07/02 04:31:13 1.22
+++ pkgsrc/security/py-paramiko/distinfo 2019/12/11 10:43:53 1.23
@@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
1$NetBSD: distinfo,v 1.22 2019/07/02 04:31:13 adam Exp $ 1$NetBSD: distinfo,v 1.23 2019/12/11 10:43:53 adam Exp $
2 2
3SHA1 (paramiko-2.6.0.tar.gz) = b3ece8385409624d67dd503c48c6d71b0a3907a5 3SHA1 (paramiko-2.7.1.tar.gz) = a52fc133b817dc4d8b036bec71173c376e9dc38d
4RMD160 (paramiko-2.6.0.tar.gz) = 82c1bec4374aa9d2de56ced753d65bcdf3642f7a 4RMD160 (paramiko-2.7.1.tar.gz) = 04207a10ce1810a510af3a7dfc1b3b7581fa687e
5SHA512 (paramiko-2.6.0.tar.gz) = a54ec36ebef3d1bfbdc0fe4de07fe73ca7177dbf5fd4683a408d8c7f174bf4e4d7c9f119aa5c450fb932d6a9e09002547451579726296e2712aa1e2e9f4d0431 5SHA512 (paramiko-2.7.1.tar.gz) = 80068c8f72ab8c98d84188caa074deecead9fb459b1a71cedb3cfa627736730928a2b9c6eb2b5a8b60acb9bccb0f68aefbef9d0d55554001c835b5cf897751ab
6Size (paramiko-2.6.0.tar.gz) = 1018679 bytes 6Size (paramiko-2.7.1.tar.gz) = 1136432 bytes