head 1.20; access; symbols pkgsrc-2023Q4:1.20.0.2 pkgsrc-2023Q4-base:1.20 pkgsrc-2023Q3:1.19.0.2 pkgsrc-2023Q3-base:1.19 pkgsrc-2023Q2:1.18.0.10 pkgsrc-2023Q2-base:1.18 pkgsrc-2023Q1:1.18.0.8 pkgsrc-2023Q1-base:1.18 pkgsrc-2022Q4:1.18.0.6 pkgsrc-2022Q4-base:1.18 pkgsrc-2022Q3:1.18.0.4 pkgsrc-2022Q3-base:1.18 pkgsrc-2022Q2:1.18.0.2 pkgsrc-2022Q2-base:1.18 pkgsrc-2022Q1:1.17.0.24 pkgsrc-2022Q1-base:1.17 pkgsrc-2021Q4:1.17.0.22 pkgsrc-2021Q4-base:1.17 pkgsrc-2021Q3:1.17.0.20 pkgsrc-2021Q3-base:1.17 pkgsrc-2021Q2:1.17.0.18 pkgsrc-2021Q2-base:1.17 pkgsrc-2021Q1:1.17.0.16 pkgsrc-2021Q1-base:1.17 pkgsrc-2020Q4:1.17.0.14 pkgsrc-2020Q4-base:1.17 pkgsrc-2020Q3:1.17.0.12 pkgsrc-2020Q3-base:1.17 pkgsrc-2020Q2:1.17.0.10 pkgsrc-2020Q2-base:1.17 pkgsrc-2020Q1:1.17.0.6 pkgsrc-2020Q1-base:1.17 pkgsrc-2019Q4:1.17.0.8 pkgsrc-2019Q4-base:1.17 pkgsrc-2019Q3:1.17.0.4 pkgsrc-2019Q3-base:1.17 pkgsrc-2019Q2:1.17.0.2 pkgsrc-2019Q2-base:1.17 pkgsrc-2019Q1:1.16.0.6 pkgsrc-2019Q1-base:1.16 pkgsrc-2018Q4:1.16.0.4 pkgsrc-2018Q4-base:1.16 pkgsrc-2018Q3:1.16.0.2 pkgsrc-2018Q3-base:1.16 pkgsrc-2018Q2:1.15.0.4 pkgsrc-2018Q2-base:1.15 pkgsrc-2018Q1:1.15.0.2 pkgsrc-2018Q1-base:1.15 pkgsrc-2017Q4:1.14.0.2 pkgsrc-2017Q4-base:1.14 pkgsrc-2017Q3:1.13.0.6 pkgsrc-2017Q3-base:1.13 pkgsrc-2017Q2:1.13.0.2 pkgsrc-2017Q2-base:1.13 pkgsrc-2017Q1:1.12.0.18 pkgsrc-2017Q1-base:1.12 pkgsrc-2016Q4:1.12.0.16 pkgsrc-2016Q4-base:1.12 pkgsrc-2016Q3:1.12.0.14 pkgsrc-2016Q3-base:1.12 pkgsrc-2016Q2:1.12.0.12 pkgsrc-2016Q2-base:1.12 pkgsrc-2016Q1:1.12.0.10 pkgsrc-2016Q1-base:1.12 pkgsrc-2015Q4:1.12.0.8 pkgsrc-2015Q4-base:1.12 pkgsrc-2015Q3:1.12.0.6 pkgsrc-2015Q3-base:1.12 pkgsrc-2015Q2:1.12.0.4 pkgsrc-2015Q2-base:1.12 pkgsrc-2015Q1:1.12.0.2 pkgsrc-2015Q1-base:1.12 pkgsrc-2014Q4:1.11.0.6 pkgsrc-2014Q4-base:1.11 pkgsrc-2014Q3:1.11.0.4 pkgsrc-2014Q3-base:1.11 pkgsrc-2014Q2:1.11.0.2 pkgsrc-2014Q2-base:1.11 pkgsrc-2014Q1:1.10.0.4 pkgsrc-2014Q1-base:1.10 pkgsrc-2013Q4:1.10.0.2 pkgsrc-2013Q4-base:1.10 pkgsrc-2013Q3:1.9.0.2 pkgsrc-2013Q3-base:1.9 pkgsrc-2013Q2:1.8.0.6 pkgsrc-2013Q2-base:1.8 pkgsrc-2013Q1:1.8.0.4 pkgsrc-2013Q1-base:1.8 pkgsrc-2012Q4:1.8.0.2 pkgsrc-2012Q4-base:1.8 pkgsrc-2012Q3:1.7.0.10 pkgsrc-2012Q3-base:1.7 pkgsrc-2012Q2:1.7.0.8 pkgsrc-2012Q2-base:1.7 pkgsrc-2012Q1:1.7.0.6 pkgsrc-2012Q1-base:1.7 pkgsrc-2011Q4:1.7.0.4 pkgsrc-2011Q4-base:1.7 pkgsrc-2011Q3:1.7.0.2 pkgsrc-2011Q3-base:1.7 pkgsrc-2011Q2:1.6.0.10 pkgsrc-2011Q2-base:1.6 pkgsrc-2011Q1:1.6.0.8 pkgsrc-2011Q1-base:1.6 pkgsrc-2010Q4:1.6.0.6 pkgsrc-2010Q4-base:1.6 pkgsrc-2010Q3:1.6.0.4 pkgsrc-2010Q3-base:1.6 pkgsrc-2010Q2:1.6.0.2 pkgsrc-2010Q2-base:1.6 pkgsrc-2010Q1:1.4.0.8 pkgsrc-2010Q1-base:1.4 pkgsrc-2009Q4:1.4.0.6 pkgsrc-2009Q4-base:1.4 pkgsrc-2009Q3:1.4.0.4 pkgsrc-2009Q3-base:1.4 pkgsrc-2009Q2:1.4.0.2 pkgsrc-2009Q2-base:1.4 pkgsrc-2009Q1:1.3.0.12 pkgsrc-2009Q1-base:1.3 pkgsrc-2008Q4:1.3.0.10 pkgsrc-2008Q4-base:1.3 pkgsrc-2008Q3:1.3.0.8 pkgsrc-2008Q3-base:1.3 cube-native-xorg:1.3.0.6 cube-native-xorg-base:1.3 pkgsrc-2008Q2:1.3.0.4 pkgsrc-2008Q2-base:1.3 cwrapper:1.3.0.2 pkgsrc-2008Q1:1.2.0.4 pkgsrc-2008Q1-base:1.2 pkgsrc-2007Q4:1.2.0.2 pkgsrc-2007Q4-base:1.2 pkgsrc-2007Q3:1.1.1.1.0.10 pkgsrc-2007Q3-base:1.1.1.1 pkgsrc-2007Q2:1.1.1.1.0.8 pkgsrc-2007Q2-base:1.1.1.1 pkgsrc-2007Q1:1.1.1.1.0.6 pkgsrc-2007Q1-base:1.1.1.1 pkgsrc-2006Q4:1.1.1.1.0.4 pkgsrc-2006Q4-base:1.1.1.1 pkgsrc-2006Q3:1.1.1.1.0.2 pkgsrc-2006Q3-base:1.1.1.1 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.20 date 2023.12.18.16.25.43; author wiz; state Exp; branches; next 1.19; commitid jcPZ7vO3y3MZVXQE; 1.19 date 2023.07.18.15.54.43; author adam; state Exp; branches; next 1.18; commitid trW0hGw48b1dGixE; 1.18 date 2022.05.05.17.59.35; author adam; state Exp; branches; next 1.17; commitid uK2tZf4xixVUtTCD; 1.17 date 2019.06.10.08.42.57; author adam; state Exp; branches; next 1.16; commitid EnS5KaScsYtNsCqB; 1.16 date 2018.09.21.11.04.16; author adam; state Exp; branches; next 1.15; commitid 3yEx8yeFw29PFXSA; 1.15 date 2018.03.13.18.35.29; author adam; state Exp; branches; next 1.14; commitid OwZPl7YPh4RtlkuA; 1.14 date 2017.10.12.12.42.26; author adam; state Exp; branches; next 1.13; commitid eOezx7dYSK9nhLaA; 1.13 date 2017.05.19.14.47.10; author he; state Exp; branches; next 1.12; commitid mjQxxF8AexBZE0Sz; 1.12 date 2015.01.05.13.18.28; author drochner; state Exp; branches; next 1.11; commitid M0O8M5LyNqEGXP4y; 1.11 date 2014.06.12.00.43.28; author gls; state Exp; branches; next 1.10; commitid 4KKZL6QbVHxhpaEx; 1.10 date 2013.10.20.17.02.02; author gls; state Exp; branches; next 1.9; commitid u0gR3zJtGyWAp3ax; 1.9 date 2013.08.06.18.11.28; author gls; state Exp; branches; next 1.8; commitid gMlWsq0MqpY1dq0x; 1.8 date 2012.11.27.22.13.32; author gls; state Exp; branches; next 1.7; 1.7 date 2011.07.22.14.03.30; author obache; state Exp; branches; next 1.6; 1.6 date 2010.06.02.18.31.41; author gls; state Exp; branches; next 1.5; 1.5 date 2010.05.31.20.30.31; author gls; state Exp; branches; next 1.4; 1.4 date 2009.06.14.18.13.37; author joerg; state Exp; branches; next 1.3; 1.3 date 2008.05.15.18.27.43; author drochner; state Exp; branches; next 1.2; 1.2 date 2007.12.14.13.35.04; author bjs; state Exp; branches; next 1.1; 1.1 date 2006.07.04.15.35.54; author drochner; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2006.07.04.15.35.54; author drochner; state Exp; branches; next ; desc @@ 1.20 log @py-paramiko: convert to wheel.mk Update dependencies. Bump PKGREVISION. @ text @@@comment $NetBSD$ ${PYSITELIB}/${WHEEL_INFODIR}/LICENSE ${PYSITELIB}/${WHEEL_INFODIR}/METADATA ${PYSITELIB}/${WHEEL_INFODIR}/RECORD ${PYSITELIB}/${WHEEL_INFODIR}/WHEEL ${PYSITELIB}/${WHEEL_INFODIR}/top_level.txt ${PYSITELIB}/paramiko/__init__.py ${PYSITELIB}/paramiko/__init__.pyc ${PYSITELIB}/paramiko/__init__.pyo ${PYSITELIB}/paramiko/_version.py ${PYSITELIB}/paramiko/_version.pyc ${PYSITELIB}/paramiko/_version.pyo ${PYSITELIB}/paramiko/_winapi.py ${PYSITELIB}/paramiko/_winapi.pyc ${PYSITELIB}/paramiko/_winapi.pyo ${PYSITELIB}/paramiko/agent.py ${PYSITELIB}/paramiko/agent.pyc ${PYSITELIB}/paramiko/agent.pyo ${PYSITELIB}/paramiko/auth_handler.py ${PYSITELIB}/paramiko/auth_handler.pyc ${PYSITELIB}/paramiko/auth_handler.pyo ${PYSITELIB}/paramiko/auth_strategy.py ${PYSITELIB}/paramiko/auth_strategy.pyc ${PYSITELIB}/paramiko/auth_strategy.pyo ${PYSITELIB}/paramiko/ber.py ${PYSITELIB}/paramiko/ber.pyc ${PYSITELIB}/paramiko/ber.pyo ${PYSITELIB}/paramiko/buffered_pipe.py ${PYSITELIB}/paramiko/buffered_pipe.pyc ${PYSITELIB}/paramiko/buffered_pipe.pyo ${PYSITELIB}/paramiko/channel.py ${PYSITELIB}/paramiko/channel.pyc ${PYSITELIB}/paramiko/channel.pyo ${PYSITELIB}/paramiko/client.py ${PYSITELIB}/paramiko/client.pyc ${PYSITELIB}/paramiko/client.pyo ${PYSITELIB}/paramiko/common.py ${PYSITELIB}/paramiko/common.pyc ${PYSITELIB}/paramiko/common.pyo ${PYSITELIB}/paramiko/compress.py ${PYSITELIB}/paramiko/compress.pyc ${PYSITELIB}/paramiko/compress.pyo ${PYSITELIB}/paramiko/config.py ${PYSITELIB}/paramiko/config.pyc ${PYSITELIB}/paramiko/config.pyo ${PYSITELIB}/paramiko/dsskey.py ${PYSITELIB}/paramiko/dsskey.pyc ${PYSITELIB}/paramiko/dsskey.pyo ${PYSITELIB}/paramiko/ecdsakey.py ${PYSITELIB}/paramiko/ecdsakey.pyc ${PYSITELIB}/paramiko/ecdsakey.pyo ${PYSITELIB}/paramiko/ed25519key.py ${PYSITELIB}/paramiko/ed25519key.pyc ${PYSITELIB}/paramiko/ed25519key.pyo ${PYSITELIB}/paramiko/file.py ${PYSITELIB}/paramiko/file.pyc ${PYSITELIB}/paramiko/file.pyo ${PYSITELIB}/paramiko/hostkeys.py ${PYSITELIB}/paramiko/hostkeys.pyc ${PYSITELIB}/paramiko/hostkeys.pyo ${PYSITELIB}/paramiko/kex_curve25519.py ${PYSITELIB}/paramiko/kex_curve25519.pyc ${PYSITELIB}/paramiko/kex_curve25519.pyo ${PYSITELIB}/paramiko/kex_ecdh_nist.py ${PYSITELIB}/paramiko/kex_ecdh_nist.pyc ${PYSITELIB}/paramiko/kex_ecdh_nist.pyo ${PYSITELIB}/paramiko/kex_gex.py ${PYSITELIB}/paramiko/kex_gex.pyc ${PYSITELIB}/paramiko/kex_gex.pyo ${PYSITELIB}/paramiko/kex_group1.py ${PYSITELIB}/paramiko/kex_group1.pyc ${PYSITELIB}/paramiko/kex_group1.pyo ${PYSITELIB}/paramiko/kex_group14.py ${PYSITELIB}/paramiko/kex_group14.pyc ${PYSITELIB}/paramiko/kex_group14.pyo ${PYSITELIB}/paramiko/kex_group16.py ${PYSITELIB}/paramiko/kex_group16.pyc ${PYSITELIB}/paramiko/kex_group16.pyo ${PYSITELIB}/paramiko/kex_gss.py ${PYSITELIB}/paramiko/kex_gss.pyc ${PYSITELIB}/paramiko/kex_gss.pyo ${PYSITELIB}/paramiko/message.py ${PYSITELIB}/paramiko/message.pyc ${PYSITELIB}/paramiko/message.pyo ${PYSITELIB}/paramiko/packet.py ${PYSITELIB}/paramiko/packet.pyc ${PYSITELIB}/paramiko/packet.pyo ${PYSITELIB}/paramiko/pipe.py ${PYSITELIB}/paramiko/pipe.pyc ${PYSITELIB}/paramiko/pipe.pyo ${PYSITELIB}/paramiko/pkey.py ${PYSITELIB}/paramiko/pkey.pyc ${PYSITELIB}/paramiko/pkey.pyo ${PYSITELIB}/paramiko/primes.py ${PYSITELIB}/paramiko/primes.pyc ${PYSITELIB}/paramiko/primes.pyo ${PYSITELIB}/paramiko/proxy.py ${PYSITELIB}/paramiko/proxy.pyc ${PYSITELIB}/paramiko/proxy.pyo ${PYSITELIB}/paramiko/rsakey.py ${PYSITELIB}/paramiko/rsakey.pyc ${PYSITELIB}/paramiko/rsakey.pyo ${PYSITELIB}/paramiko/server.py ${PYSITELIB}/paramiko/server.pyc ${PYSITELIB}/paramiko/server.pyo ${PYSITELIB}/paramiko/sftp.py ${PYSITELIB}/paramiko/sftp.pyc ${PYSITELIB}/paramiko/sftp.pyo ${PYSITELIB}/paramiko/sftp_attr.py ${PYSITELIB}/paramiko/sftp_attr.pyc ${PYSITELIB}/paramiko/sftp_attr.pyo ${PYSITELIB}/paramiko/sftp_client.py ${PYSITELIB}/paramiko/sftp_client.pyc ${PYSITELIB}/paramiko/sftp_client.pyo ${PYSITELIB}/paramiko/sftp_file.py ${PYSITELIB}/paramiko/sftp_file.pyc ${PYSITELIB}/paramiko/sftp_file.pyo ${PYSITELIB}/paramiko/sftp_handle.py ${PYSITELIB}/paramiko/sftp_handle.pyc ${PYSITELIB}/paramiko/sftp_handle.pyo ${PYSITELIB}/paramiko/sftp_server.py ${PYSITELIB}/paramiko/sftp_server.pyc ${PYSITELIB}/paramiko/sftp_server.pyo ${PYSITELIB}/paramiko/sftp_si.py ${PYSITELIB}/paramiko/sftp_si.pyc ${PYSITELIB}/paramiko/sftp_si.pyo ${PYSITELIB}/paramiko/ssh_exception.py ${PYSITELIB}/paramiko/ssh_exception.pyc ${PYSITELIB}/paramiko/ssh_exception.pyo ${PYSITELIB}/paramiko/ssh_gss.py ${PYSITELIB}/paramiko/ssh_gss.pyc ${PYSITELIB}/paramiko/ssh_gss.pyo ${PYSITELIB}/paramiko/transport.py ${PYSITELIB}/paramiko/transport.pyc ${PYSITELIB}/paramiko/transport.pyo ${PYSITELIB}/paramiko/util.py ${PYSITELIB}/paramiko/util.pyc ${PYSITELIB}/paramiko/util.pyo ${PYSITELIB}/paramiko/win_openssh.py ${PYSITELIB}/paramiko/win_openssh.pyc ${PYSITELIB}/paramiko/win_openssh.pyo ${PYSITELIB}/paramiko/win_pageant.py ${PYSITELIB}/paramiko/win_pageant.pyc ${PYSITELIB}/paramiko/win_pageant.pyo @ 1.19 log @py-paramiko: updated to 3.2.0 3.2.0 2023-05-25 [Feature]: PKey grew a new .fingerprint property which emits a fingerprint string matching the SHA256+Base64 values printed by various OpenSSH tooling (eg ssh-add -l, ssh -v). This is intended to help troubleshoot Paramiko-vs-OpenSSH behavior and will eventually replace the venerable get_fingerprint method. [Feature]: PKey grew a new .algorithm_name property which displays the key algorithm; this is typically derived from the value of get_name. For example, ED25519 keys have a get_name of ssh-ed25519 (the SSH protocol key type field value), and now have a algorithm_name of ED25519. [Feature]: PKey now offers convenience “meta-constructors”, static methods that simplify the process of instantiating the correct subclass for a given key input. For example, PKey.from_path can load a file path without knowing a priori what type of key it is (thanks to some handy methods within our cryptography dependency). Going forwards, we expect this to be the primary method of loading keys by user code that runs on “human time” (i.e. where some minor efficiencies are worth the convenience). In addition, PKey.from_type_string now exists, and is being used in some internals to load ssh-agent keys. As part of these changes, PKey and friends grew an identifiers classmethod; this is inspired by the supported_key_format_identifiers classmethod (which now refers to the new method.) This also includes adding a .name attribute to most key classes (which will eventually replace .get_name(). [Feature]: Enhanced AgentKey with new attributes, such as: Added a comment attribute (and constructor argument); Agent.get_keys() now uses this kwarg to store any comment field sent over by the agent. The original version of the agent feature inexplicably did not store the comment anywhere. Agent-derived keys now attempt to instantiate a copy of the appropriate key class for access to other algorithm-specific members (eg key size). This is available as the .inner_key attribute. Note This functionality is now in use in Fabric’s new --list-agent-keys feature, as well as in Paramiko’s debug logging. [Feature] Users of SSHClient can now configure the authentication logic Paramiko uses when connecting to servers; this functionality is intended for advanced users and higher-level libraries such as Fabric. See auth_strategy for details. Fabric’s co-temporal release includes a proof-of-concept use of this feature, implementing an auth flow much closer to that of the OpenSSH client (versus Paramiko’s legacy behavior). It is strongly recommended that if this interests you, investigate replacing any direct use of SSHClient with Fabric’s Connection. Warning This feature is EXPERIMENTAL; please see its docs for details. [Feature]: Implement _fields() on AgentKey so that it may be compared (via ==) with other PKey instances. [Bug]: AgentKey had a dangling Python 3 incompatible __str__ method returning bytes. This method has been removed, allowing the superclass’ (PKey) method to run instead. [Bug] Since its inception, Paramiko has (for reasons lost to time) implemented authentication as a side effect of handling affirmative replies to MSG_SERVICE_REQUEST protocol messages. What this means is Paramiko makes one such request before every MSG_USERAUTH_REQUEST, i.e. every auth attempt. OpenSSH doesn’t care if clients send multiple service requests, but other server implementations are often stricter in what they accept after an initial service request (due to the RFCs not being clear). This can result in odd behavior when a user doesn’t authenticate successfully on the very first try (for example, when the right key for a target host is the third in one’s ssh-agent). This version of Paramiko now contains an opt-in Transport subclass, ServiceRequestingTransport, which more-correctly implements service request handling in the Transport, and uses an auth-handler subclass internally which has been similarly adapted. Users wanting to try this new experimental code path may hand this class to SSHClient.connect as its transport_factory kwarg. Warning This feature is EXPERIMENTAL and its code may be subject to change. In addition: minor backwards incompatible changes exist in the new code paths, most notably the removal of the (inconsistently applied and rarely used) event arguments to the auth_xxx methods. GSSAPI support has only been partially implemented, and is untested. Note Some minor backwards-compatible changes were made to the existing Transport and AuthHandler classes to facilitate the new code. For example, Transport._handler_table and AuthHandler._client_handler_table are now properties instead of raw attributes. [Bug] The server-sig-algs and RSA-SHA2 features added around Paramiko 2.9 or so, had the annoying side effect of not working with servers that don’t support either of those feature sets, requiring use of disabled_algorithms to forcibly disable the SHA2 algorithms on Paramiko’s end. The experimental ServiceRequestingTransport (noted in its own entry in this changelog) includes a fix for this issue, specifically by falling back to the same algorithm as the in-use pubkey if it’s in the algorithm list (leaving the “first algorithm in said list” as an absolute final fallback). [Bug]: Fixed a very sneaky bug found at the apparently rarely-traveled intersection of RSA-SHA2 keys, certificates, SSH agents, and stricter-than-OpenSSH server targets. This manifested as yet another “well, if we turn off SHA2 at one end or another, everything works again” problem, for example with version 12 of the Teleport server endpoint. This has been fixed; Paramiko tweaked multiple aspects of how it requests agent signatures, and the agent appears to do the right thing now. @ text @d1 6 a6 6 @@comment $NetBSD: PLIST,v 1.18 2022/05/05 17:59:35 adam Exp $ ${PYSITELIB}/${EGG_INFODIR}/PKG-INFO ${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt ${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt ${PYSITELIB}/${EGG_INFODIR}/requires.txt ${PYSITELIB}/${EGG_INFODIR}/top_level.txt @ 1.18 log @py-paramiko: updated to 2.10.4 2.10.4 2022-04-25 [Bug]: Servers offering certificate variants of hostkey algorithms (eg ssh-rsa-cert-v01@@openssh.com) could not have their host keys verified by Paramiko clients, as it only ever considered non-cert key types for that part of connection handshaking. This has been fixed. [Bug]: PKey instances’ __eq__ did not have the usual safety guard in place to ensure they were being compared to another PKey object, causing occasional spurious BadHostKeyException (among other things). This has been fixed. Thanks to Shengdun Hua for the original report/patch and to Christopher Papke for the final version of the fix. [Support]: Update camelCase method calls against the threading module to be snake_case; this and related tweaks should fix some deprecation warnings under Python 3.10. Thanks to Karthikeyan Singaravelan for the report, @@Narendra-Neerukonda for the patch, and to Thomas Grainger and Jun Omae for patch workshopping. @ text @d1 1 a1 1 @@comment $NetBSD: PLIST,v 1.17 2019/06/10 08:42:57 adam Exp $ d22 3 a99 3 ${PYSITELIB}/paramiko/py3compat.py ${PYSITELIB}/paramiko/py3compat.pyc ${PYSITELIB}/paramiko/py3compat.pyo @ 1.17 log @py-paramiko: updated to 2.5.0 2.5.0: [Feature] Updated SSHConfig.lookup so it returns a new, type-casting-friendly dict subclass (SSHConfigDict) in lieu of dict literals. This ought to be backwards compatible, and allows an easier way to check boolean or int type ssh_config values. [Feature] Add support for Curve25519 key exchange (aka curve25519-sha256@@libssh.org). [Feature] Add support for encrypt-then-MAC (ETM) schemes (hmac-sha2-256-etm@@openssh.com, hmac-sha2-512-etm@@openssh.com) and two newer Diffie-Hellman group key exchange algorithms (group14, using SHA256; and group16, using SHA512). Patch courtesy of Edgar Sousa. [Support] Update our install docs with (somewhat) recently added additional dependencies; we previously only required Cryptography, but the docs never got updated after we incurred bcrypt and pynacl requirements for Ed25519 key support. Additionally, pyasn1 was never actually hard-required; it was necessary during a development branch, and is used by the optional GSSAPI support, but is not required for regular installation. Thus, it has been removed from our setup.py and its imports in the GSSAPI code made optional. [Support] Add *.pub files to the MANIFEST so distributed source packages contain some necessary test assets. Credit: Alexander Kapshuna. [Support] Add support for the modern (as of Python 3.3) import location of MutableMapping (used in host key management) to avoid the old location becoming deprecated in Python 3.8. [Support] Raise Cryptography dependency requirement to version 2.5 (from 1.5) and update some deprecated uses of its API. @ text @d1 1 a1 1 @@comment $NetBSD: PLIST,v 1.16 2018/09/21 11:04:16 adam Exp $ d139 3 @ 1.16 log @py-paramiko: updated to 2.4.2 2.4.2: Fix exploit (CVE pending) in Paramiko’s server mode (not client mode) where hostile clients could trick the server into thinking they were authenticated without actually submitting valid authentication. Specifically, steps have been taken to start separating client and server related message types in the message handling tables within Transport and AuthHandler; this work is not complete but enough has been performed to close off this particular exploit (which was the only obvious such exploit for this particular channel). Modify protocol message handling such that Transport does not respond to MSG_UNIMPLEMENTED with its own MSG_UNIMPLEMENTED. This behavior probably didn’t cause any outright errors, but it doesn’t seem to conform to the RFCs and could cause (non-infinite) feedback loops in some scenarios (usually those involving Paramiko on both ends). Add *.pub files to the MANIFEST so distributed source packages contain some necessary test assets. Credit: Alexander Kapshuna. Backport pytest support and application of the black code formatter (both of which previously only existed in the 2.4 branch and above) to everything 2.0 and newer. This makes back/forward porting bugfixes significantly easier. Backport changes from 979 (added in Paramiko 2.3) to Paramiko 2.0-2.2, using duck-typing to preserve backwards compatibility. This allows these older versions to use newer Cryptography sign/verify APIs when available, without requiring them (as is the case with Paramiko 2.3+). @ text @d1 1 a1 1 @@comment $NetBSD: PLIST,v 1.15 2018/03/13 18:35:29 adam Exp $ d58 3 d73 3 @ 1.15 log @py-paramiko: updated to 2.4.1 2.4.1: [Bug] Ed25519 auth key decryption raised an unexpected exception when given a unicode password string (typical in python 3). Report by Theodor van Nahl and fix by Pierce Lopez. [Bug] Add newer key classes for Ed25519 and ECDSA to paramiko.__all__ so that code introspecting that attribute, or using from paramiko import * (such as some IDEs) sees them. Thanks to @@patriksevallius for the patch. [Bug] Fix a security flaw (CVE-2018-7750) in Paramiko’s server mode (emphasis on server mode; this does not impact client use!) where authentication status was not checked before processing channel-open and other requests typically only sent after authenticating. Big thanks to Matthijs Kooijman for the report. @ text @d1 1 a1 1 @@comment $NetBSD: PLIST,v 1.14 2017/10/12 12:42:26 adam Exp $ a21 3 ${PYSITELIB}/paramiko/authenticator.py ${PYSITELIB}/paramiko/authenticator.pyc ${PYSITELIB}/paramiko/authenticator.pyo @ 1.14 log @py-paramiko: update to 2.3.1 2.3.1: [Bug] 1071: 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. Thanks to John Hu for the report. @ text @d1 1 a1 1 @@comment $NetBSD: PLIST,v 1.13 2017/05/19 14:47:10 he Exp $ d22 3 @ 1.13 log @Upgrade py-paramiko from 1.15.3 to 1.18.2. Pkgsrc changes: Adapt PLIST. Upstream changes: 1.18.2 2017-02-20 [Bug] #895: Fix a bug in server-mode concerning multiple interactive auth steps (which were incorrectly responded to). Thanks to Dennis Kaarsemaker for catch & patch. [Bug] #713: (via #714 and #889) Don't pass initialization vectors to PyCrypto when dealing with counter-mode ciphers; newer PyCrypto versions throw an exception otherwise (older ones simply ignored this parameter altogether). Thanks to @@jmh045000 for report & patches. [Bug] #44: (via #891) SSHClient now gives its internal Transport a handle on itself, preventing garbage collection of the client until the session is closed. Without this, some code which returns stream or transport objects without the client that generated them, would result in premature session closure when the client was GCd. Credit: @@w31rd0 for original report, Omer Anson for the patch. [Bug] #862: (via #863) Avoid test suite exceptions on platforms lacking errno.ETIME (which seems to be some FreeBSD and some Windows environments.) Thanks to Sofian Brabez. [Bug] #853: Tweak how RSAKey.__str__ behaves so it doesn't cause TypeError under Python 3. Thanks to Francisco Couzo for the report. [Support] #866: (also #838) Remove an old test-related file we don't support, and add PyPy to Travis-CI config. Thanks to Pierce Lopez for the final patch and Pedro Rodrigues for an earlier edition. 1.18.1 2016-12-12 [Bug] #859: (via #860) A tweak to the original patch implementing #398 was not fully applied, causing calls to invoke_shell to fail with AttributeError. This has been fixed. Patch credit: Kirk Byers. 1.18.0 2016-12-09 [Feature] #398: Add an environment dict argument to Client.exec_command (plus the lower level Channel.update_environment and Channel.set_environment_variable methods) which implements the env SSH message type. This means the remote shell environment can be set without the use of VARNAME=value shell tricks, provided the server's AcceptEnv lists the variables you need to set. Thanks to Philip Lorenz for the pull request. [Feature] #780: (also #779, and may help users affected by #520) Add an optional timeout parameter to Transport.start_client (and feed it the value of the configured connection timeout when used within SSHClient.) This helps prevent situations where network connectivity isn't timing out, but the remote server is otherwise unable to service the connection in a timely manner. Credit to @@sanseihappa. [Support] #819: Document how lacking gmp headers at install time can cause a significant performance hit if you build PyCrypto from source. (Most system-distributed packages already have this enabled.) [Support] #854: Fix incorrect docstring/param-list for Transport.auth_gssapi_keyex so it matches the real signature. Caught by @@Score_Under. [Support] #792: Minor updates to the README and demos; thanks to Alan Yee. [Support] #801: Skip a Unix-only test when on Windows; thanks to Gabi Davar. For pre-1.18.0 changes, see http://www.paramiko.org/changelog.html @ text @d1 1 a1 1 @@comment $NetBSD: PLIST,v 1.12 2015/01/05 13:18:28 drochner Exp $ a4 1 ${PYSITELIB}/${EGG_INFODIR}/pbr.json d49 3 d58 3 a93 3 ${PYSITELIB}/paramiko/resource.py ${PYSITELIB}/paramiko/resource.pyc ${PYSITELIB}/paramiko/resource.pyo @ 1.12 log @update to 0.15.2 There is no useful changelog, but it makes the client work again a recent OpenSSH server (6.7p1-hpn14v5) again. Tested with "duplicity". @ text @d1 1 a1 1 @@comment $NetBSD$ d5 1 @ 1.11 log @Update security/py-paramiko to 1.14.0 Upstream changes: ----------------- :release:`1.14.0 <2014-05-07>` ------------------------------ :bug:`-` paramiko.file.BufferedFile.read incorrectly returned text strings after the Python 3 migration, despite bytes being more appropriate for file contents (which may be binary or of an unknown encoding.) This has been addressed. Note paramiko.file.BufferedFile.readline continues to return strings, not bytes, as "lines" only make sense for textual data. It assumes UTF-8 by default. This should fix this issue raised on the Obnam mailing list. Thanks to Antoine Brenner for the patch. :bug:`-` Added self.args for exception classes. Used for unpickling. Related to (Fabric #986, Fabric #714). Thanks to Alex Plugaru. :bug:`-` Fix logging error in sftp_client for filenames containing the '%' character. Thanks to Antoine Brenner. :bug:`308` Fix regression in dsskey.py that caused sporadic signature verification failures. Thanks to Chris Rose. :support:`299` Use deterministic signatures for ECDSA keys for improved security. Thanks to Alex Gaynor. :support:`297` Replace PyCrypto's Random with os.urandom for improved speed and security. Thanks again to Alex. :support:`295` Swap out a bunch of PyCrypto hash functions with use of hashlib. Thanks to Alex Gaynor. :support:`290` (also :issue:`292`) Add support for building universal (Python 2+3 compatible) wheel files during the release process. Courtesy of Alex Gaynor. :support:`284` Add Python language trove identifiers to setup.py. Thanks to Alex Gaynor for catch & patch. :bug:`235` Improve string type testing in a handful of spots (e.g. s/if type(x) is str/if isinstance(x, basestring)/g.) Thanks to @@ksamuel for the report. :release:`1.13.0 <2014-03-13>` ------------------------------ :feature:`16` Python 3 support! Our test suite passes under Python 3, and it (& Fabric's test suite) continues to pass under Python 2. Python 2.5 is no longer supported with this change! The merged code was built on many contributors' efforts, both code & feedback. In no particular order, we thank Daniel Goertzen, Ivan Kolodyazhny, Tomi Pieviläinen, Jason R. Coombs, Jan N. Schulze, @@Lazik, Dorian Pula, Scott Maxwell, Tshepang Lekhonkhobe, Aaron Meurer, and Dave Halter. :support:`256 backported` Convert API documentation to Sphinx, yielding a new API docs website to replace the old Epydoc one. Thanks to Olle Lundberg for the initial conversion work. :bug:`-` Use constant-time hash comparison operations where possible, to protect against timing-based attacks. Thanks to Alex Gaynor for the patch. :release:`1.12.2 <2014-02-14>` ------------------------------ :feature:`58` Allow client code to access the stored SSH server banner via Transport.get_banner . Thanks to @@Jhoanor for the patch. :bug:`252` (Fabric #1020) Enhanced the implementation of ProxyCommand to avoid a deadlock/hang condition that frequently occurs at Transport shutdown time. Thanks to Mateusz Kobos, Matthijs van der Vleuten and Guillaume Zitta for the original reports and to Marius Gedminas for helping test nontrivial use cases. :bug:`268` Fix some missed renames of ProxyCommand related error classes. Thanks to Marius Gedminas for catch & patch. :bug:`34` (PR :issue:`35`) Fix SFTP prefetching incompatibility with some SFTP servers regarding request/response ordering. Thanks to Richard Kettlewell. :bug:`193` (and its attentant PRs :issue:`230` & :issue:`253`) Fix SSH agent problems present on Windows. Thanks to David Hobbs for initial report and to Aarni Koskela & Olle Lundberg for the patches. :release:`1.12.1 <2014-01-08>` ------------------------------ :bug:`225 (1.12+)` Note ecdsa requirement in README. Thanks to Amaury Rodriguez for the catch. :bug:`176` Fix AttributeError bugs in known_hosts file (re)loading. Thanks to Nathan Scowcroft for the patch & Martin Blumenstingl for the initial test case. @ text @d10 3 d61 6 d121 3 @ 1.10 log @Update security/py-paramiko to 1.12.0 pkgsrc changes: --------------- - Depends on security/py-ecdsa - FETCH_USING=curl to deal with PyPi's htpps only website. upstream changes: ----------------- v1.12.0 (27th Sep 2013) ----------------------- * #152: Add tentative support for ECDSA keys. *This adds the ecdsa module as a new dependency of Paramiko.* The module is available at [warner/python-ecdsa on Github](https://github.com/warner/python-ecdsa) and [ecdsa on PyPI](https://pypi.python.org/pypi/ecdsa). * Note that you might still run into problems with key negotiation -- Paramiko picks the first key that the server offers, which might not be what you have in your known_hosts file. * Mega thanks to Ethan Glasser-Camp for the patch. * #136: Add server-side support for the SSH protocol's 'env' command. Thanks to Benjamin Pollack for the patch. v1.11.2 (27th Sep 2013) ----------------------- * #156: Fix potential deadlock condition when using Channel objects as sockets (e.g. when using SSH gatewaying). Thanks to Steven Noonan and Frank Arnold for catch & patch. * #179: Fix a missing variable causing errors when an ssh_config file has a non-default AddressFamily set. Thanks to Ed Marshall & Tomaz Muraus for catch & patch. * #200: Fix an exception-causing typo in `demo_simple.py`. Thanks to Alex Buchanan for catch & Dave Foster for patch. * #199: Typo fix in the license header cross-project. Thanks to Armin Ronacher for catch & patch. v1.12.0 (27th Sep 2013) ----------------------- * #152: Add tentative support for ECDSA keys. *This adds the ecdsa module as a new dependency of Paramiko.* The module is available at [warner/python-ecdsa on Github](https://github.com/warner/python-ecdsa) and [ecdsa on PyPI](https://pypi.python.org/pypi/ecdsa). * Note that you might still run into problems with key negotiation -- Paramiko picks the first key that the server offers, which might not be what you have in your known_hosts file. * Mega thanks to Ethan Glasser-Camp for the patch. * #136: Add server-side support for the SSH protocol's 'env' command. Thanks to Benjamin Pollack for the patch. v1.11.2 (27th Sep 2013) ----------------------- * #156: Fix potential deadlock condition when using Channel objects as sockets (e.g. when using SSH gatewaying). Thanks to Steven Noonan and Frank Arnold for catch & patch. * #179: Fix a missing variable causing errors when an ssh_config file has a non-default AddressFamily set. Thanks to Ed Marshall & Tomaz Muraus for catch & patch. * #200: Fix an exception-causing typo in `demo_simple.py`. Thanks to Alex Buchanan for catch & Dave Foster for patch. * #199: Typo fix in the license header cross-project. Thanks to Armin Ronacher for catch & patch. @ text @a57 3 ${PYSITELIB}/paramiko/logging22.py ${PYSITELIB}/paramiko/logging22.pyc ${PYSITELIB}/paramiko/logging22.pyo d76 3 @ 1.9 log @Update security/py-paramiko to 1.11.0 pkgsrc changes: --------------- FETCH_USING= curl, as PyPi moved to https. Upstream changes: ----------------- v1.11.0 (26th Jul 2013) ----------------------- * #98: On Windows, when interacting with the PuTTY PAgeant, Paramiko now creates the shared memory map with explicit Security Attributes of the user, which is the same technique employed by the canonical PuTTY library to avoid permissions issues when Paramiko is running under a different UAC context than the PuTTY Ageant process. Thanks to Jason R. Coombs for the patch. * #100: Remove use of PyWin32 in `win_pageant` module. Module was already dependent on ctypes for constructing appropriate structures and had ctypes implementations of all functionality. Thanks to Jason R. Coombs for the patch. * #87: Ensure updates to `known_hosts` files account for any updates to said files after Paramiko initially read them. (Includes related fix to guard against duplicate entries during subsequent `known_hosts` loads.) Thanks to `@@sunweaver` for the contribution. v1.10.2 (26th Jul 2013) ----------------------- * #153, #67: Warn on parse failure when reading known_hosts file. Thanks to `@@glasserc` for patch. * #146: Indentation fixes for readability. Thanks to Abhinav Upadhyay for catch & patch. @ text @d43 3 @ 1.8 log @Update security/py-paramiko to 1.9.0. Fix a tyop in DESCR. Upstream changes: ----------------- v1.9.0 (6th Nov 2012) --------------------- * #97 (with a little #93): Improve config parsing of `ProxyCommand` directives and provide a wrapper class to allow subprocess-driven proxy commands to be used as `sock=` arguments for `SSHClient.connect`. * #77: Allow `SSHClient.connect()` to take an explicit `sock` parameter overriding creation of an internal, implicit socket object. * Thanks in no particular order to Erwin Bolwidt, Oskari Saarenmaa, Steven Noonan, Vladimir Lazarenko, Lincoln de Sousa, Valentino Volonghi, Olle Lundberg, and Github user `@@acrish` for the various and sundry patches leading to the above changes. v1.8.1 (6th Nov 2012) --------------------- * #90: Ensure that callbacks handed to `SFTPClient.get()` always fire at least once, even for zero-length files downloaded. Thanks to Github user `@@enB` for the catch. * #85: Paramiko's test suite overrides `unittest.TestCase.assertTrue/assertFalse` to provide these modern assertions to Python 2.2/2.3, which lacked them. However on newer Pythons such as 2.7, this now causes deprecation warnings. The overrides have been patched to only execute when necessary. Thanks to `@@Arfrever` for catch & patch. v1.8.0 (3rd Oct 2012) --------------------- * #17 ('ssh' 28): Fix spurious `NoneType has no attribute 'error'` and similar exceptions that crop up on interpreter exit. * 'ssh' 32: Raise a more useful error explaining which `known_hosts` key line was problematic, when encountering `binascii` issues decoding known host keys. Thanks to `@@thomasvs` for catch & patch. * 'ssh' 33: Bring `ssh_config` parsing more in line with OpenSSH spec, re: order of setting overrides by `Host` specifiers. Specifically, the overrides now go by file order instead of automatically sorting by `Host` value length. In addition, the first value found per config key (e.g. `Port`, `User` etc) wins, instead of the last. Thanks to Jan Brauer for the contribution. * 'ssh' 36: Support new server two-factor authentication option (`RequiredAuthentications2`), at least re: combining key-based & password auth. Thanks to Github user `bninja`. * 'ssh' 11: When raising an exception for hosts not listed in `known_hosts` (when `RejectPolicy` is in effect) the exception message was confusing/vague. This has been improved somewhat. Thanks to Cal Leeming for highlighting the issue. * 'ssh' 40: Fixed up & expanded EINTR signal handling. Thanks to Douglas Turk. * 'ssh' 15: Implemented parameter substitution in SSHConfig, matching the implementation of `ssh_config(5)`. Thanks to Olle Lundberg for the patch. * 'ssh' 24: Switch some internal type checking to use `isinstance` to help prevent problems with client libraries using subclasses of builtin types. Thanks to Alex Morega for the patch. * Fabric #562: Agent forwarding would error out (with `Authentication response too long`) or freeze, when more than one remote connection to the local agent was active at the same time. This has been fixed. Thanks to Steven McDonald for assisting in troubleshooting/patching, and to GitHub user `@@lynxis` for providing the final version of the patch. * 'ssh' 5: Moved a `fcntl` import closer to where it's used to help avoid `ImportError` problems on Windows platforms. Thanks to Jason Coombs for the catch + suggested fix. * 'ssh' 4: Updated implementation of WinPageant integration to work on 64-bit Windows. Thanks again to Jason Coombs for the patch. * Added an IO loop sleep() call to avoid needless CPU usage when agent forwarding is in use. * Handful of internal tweaks to version number storage. * Updated `setup.py` with `==dev` install URL for `pip` users. * Updated `setup.py` to account for packaging problems in PyCrypto 2.4.0 * Added an extra `atfork()` call to help prevent spurious RNG errors when running under high parallel (multiprocess) load. * Merge PR #28: https://github.com/paramiko/paramiko/pull/28 which adds a ssh-keygen like demo module. (Sofian Brabez) v1.7.7.2 16may12 ---------------- * Merge pull request #63: https://github.com/paramiko/paramiko/pull/63 which fixes exceptions that occur when re-keying over fast connections. (Dwayne Litzenberger) @ text @d10 3 @ 1.7 log @Update py-paramiko to 1.7.7.1. various bug fixes; requires pycrypto 2.1. or newer @ text @d70 3 @ 1.6 log @This is a Python egg. Don't hardwire paths in PLIST. As noted by Ryo HAYASAKA in PR/43405. @ text @d1 1 a1 1 @@comment $NetBSD: PLIST,v 1.5 2010/05/31 20:30:31 gls Exp $ a72 9 ${PYSITELIB}/paramiko/rng.py ${PYSITELIB}/paramiko/rng.pyc ${PYSITELIB}/paramiko/rng.pyo ${PYSITELIB}/paramiko/rng_posix.py ${PYSITELIB}/paramiko/rng_posix.pyc ${PYSITELIB}/paramiko/rng_posix.pyo ${PYSITELIB}/paramiko/rng_win32.py ${PYSITELIB}/paramiko/rng_win32.pyc ${PYSITELIB}/paramiko/rng_win32.pyo @ 1.5 log @Update security/py-paramiko to 1.7.6. pkgsrc changes: - patches/patch-aa no longer required - Added LICENSE Changelog: ARC4 & CTR support, IP6 support, and various bug fixes (incl. an important Windows random number generation fix) @ text @d1 6 a6 6 @@comment $NetBSD$ ${PYSITELIB}/paramiko-1.7.6-py2.6.egg-info/PKG-INFO ${PYSITELIB}/paramiko-1.7.6-py2.6.egg-info/SOURCES.txt ${PYSITELIB}/paramiko-1.7.6-py2.6.egg-info/dependency_links.txt ${PYSITELIB}/paramiko-1.7.6-py2.6.egg-info/requires.txt ${PYSITELIB}/paramiko-1.7.6-py2.6.egg-info/top_level.txt @ 1.4 log @Remove @@dirrm entries from PLISTs @ text @d1 6 a6 1 @@comment $NetBSD: PLIST,v 1.3 2008/05/15 18:27:43 drochner Exp $ a57 3 ${PYSITELIB}/paramiko/osrandom.py ${PYSITELIB}/paramiko/osrandom.pyc ${PYSITELIB}/paramiko/osrandom.pyo d70 12 a84 3 ${PYSITELIB}/paramiko/resource.py ${PYSITELIB}/paramiko/resource.pyc ${PYSITELIB}/paramiko/resource.pyo @ 1.3 log @update to 1.7.3 changes: -direct-tcpip support -bug fixes pkgsrc change: disable use of Python setuptools (gives unpredictable results) @ text @d1 1 a1 1 @@comment $NetBSD: PLIST,v 1.2 2007/12/14 13:35:04 bjs Exp $ a109 1 @@dirrm ${PYSITELIB}/paramiko @ 1.2 log @ Update to version 1.7.1. Changes: Update to version 1.7.1. Changes: v1.7.1 (Amy) 10jun07 -------------------- * windows SSH agent support can use the 'ctypes' module now if 'win32all' is not available [patch from alexander belchenko] * SFTPClient.listdir_attr() now preserves the 'longname' field [patch from wesley augur] * SFTPClient.get_channel() API added * SSHClient constuctor takes an optional 'timeout' parameter [patch from james bardin] v1.7 (zubat) 18feb07 -------------------- * added x11 channel support (patch from david guerizec) * added reverse port forwarding support * (bug 75370) raise an exception when contacting a broken SFTP server * (bug 80295) SSHClient shouldn't expand the user directory twice when reading RSA/DSS keys * (bug 82383) typo in DSS key in SSHClient * (bug 83523) python 2.5 warning when encoding a file's modification time * if connecting to an SSH agent fails, silently fallback instead of raising an exception v1.6.4 (yanma) 19nov06 ---------------------- * fix setup.py on osx (oops!) * (bug 69330) check for the existence of RSA/DSA keys before trying to open them in SFTPClient * (bug 69222) catch EAGAIN in socket code to workaround a bug in recent Linux 2.6 kernels * (bug 70398) improve dict emulation in HostKeys objects * try harder to make sure all worker threads are joined on Transport.close() v1.6.3 (xatu) 14oct06 --------------------- * fixed bug where HostKeys.__setitem__ wouldn't always do the right thing * fixed bug in SFTPClient.chdir and SFTPAttributes.__str__ [patch from mike barber] * try harder not to raise EOFError from within SFTPClient * fixed bug where a thread waiting in accept() could block forever if the transport dies [patch from mike looijmans] v1.6.2 (weedle) 16aug06 ----------------------- * added support for "old" group-exchange server mode, for compatibility with the windows putty client * fixed some more interactions with SFTP file readv() and prefetch() * when saving the known_hosts file, preserve the original order [patch from warren young] * fix a couple of broken lines when exporting classes (bug 55946) v1.6.1 (vulpix) 10jul06 ----------------------- * more unit tests fixed for windows/cygwin (thanks to alexander belchenko) * a couple of fixes related to exceptions leaking out of SFTPClient * added ability to set items in HostKeys via __setitem__ * HostKeys now retains order and has a save() method * added PKey.write_private_key and PKey.from_private_key v1.6 (umbreon) 10may06 ---------------------- * pageant support on Windows thanks to john arbash meinel and todd whiteman * fixed unit tests to work under windows and cygwin (thanks to alexander belchenko for debugging) * various bugfixes/tweaks to SFTP file prefetch * added SSHClient for a higher-level API * SFTP readv() now yields results as it gets them * several APIs changed to throw an exception instead of "False" on failure @ text @d1 1 a1 1 @@comment $NetBSD: PLIST,v 1.1.1.1 2006/07/04 15:35:54 drochner Exp $ d53 3 @ 1.1 log @Initial revision @ text @d1 1 a1 1 @@comment $NetBSD$ d68 3 @ 1.1.1.1 log @add py-paramiko-1.6, a python extension implementing the ssh2 protocol @ text @@