diff options
author | Sebastian Deiss <s.deiss@science-computing.de> | 2014-03-26 11:39:26 +0100 |
---|---|---|
committer | Sebastian Deiss <s.deiss@science-computing.de> | 2014-03-26 11:39:26 +0100 |
commit | a23d9bc654b5278f1ab43df825ed559e4f9a2332 (patch) | |
tree | 593ae35cd2b7f550f5b9ff3d4babac57f072e741 /sites/www | |
parent | 5407b1a27468d5abedde93b51aad5bd97bd046c4 (diff) | |
parent | bd8f96d33a3e1ee6162540a6f230ef93e435528a (diff) |
Merge branch 'master' into gssapi-py3-support
Conflicts:
.gitignore
README
demos/demo_simple.py
dev-requirements.txt
paramiko/__init__.py
paramiko/_winapi.py
paramiko/agent.py
paramiko/auth_handler.py
paramiko/ber.py
paramiko/buffered_pipe.py
paramiko/channel.py
paramiko/client.py
paramiko/common.py
paramiko/dsskey.py
paramiko/ecdsakey.py
paramiko/file.py
paramiko/hostkeys.py
paramiko/kex_gex.py
paramiko/kex_group1.py
paramiko/message.py
paramiko/packet.py
paramiko/pkey.py
paramiko/primes.py
paramiko/proxy.py
paramiko/py3compat.py
paramiko/server.py
paramiko/sftp_client.py
paramiko/transport.py
paramiko/util.py
paramiko/win_pageant.py
setup.py
sites/shared_conf.py
sites/www/changelog.rst
sites/www/conf.py
sites/www/index.rst
sites/www/installing.rst
test.py
tests/loop.py
tests/stub_sftp.py
tests/test_auth.py
tests/test_client.py
tests/test_file.py
tests/test_hostkeys.py
tests/test_kex.py
tests/test_message.py
tests/test_packetizer.py
tests/test_pkey.py
tests/test_sftp.py
tests/test_sftp_big.py
tests/test_transport.py
tests/test_util.py
Diffstat (limited to 'sites/www')
-rw-r--r-- | sites/www/changelog.rst | 68 | ||||
-rw-r--r-- | sites/www/conf.py | 8 | ||||
-rw-r--r-- | sites/www/faq.rst | 9 | ||||
-rw-r--r-- | sites/www/index.rst | 3 | ||||
-rw-r--r-- | sites/www/installing.rst | 60 |
5 files changed, 98 insertions, 50 deletions
diff --git a/sites/www/changelog.rst b/sites/www/changelog.rst index 2680086e..5b221e90 100644 --- a/sites/www/changelog.rst +++ b/sites/www/changelog.rst @@ -3,24 +3,66 @@ Changelog ========= * :feature:`250` GSS-API / SSPI authenticated Diffie-Hellman Key Exchange and user authentication. -* :bug:`193` (and its attentant PRs :issue:`230` & :issue:`253`): Fix SSH agent +* :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>` +* :release:`1.12.3 <2014-03-13>` +* :release:`1.11.5 <2014-03-13>` +* :release:`1.10.7 <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. + + 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 + <http://codahale.com/a-lesson-in-timing-attacks/>`_. Thanks to Alex Gaynor + for the patch. +* :release:`1.12.2 <2014-02-14>` +* :release:`1.11.4 <2014-02-14>` +* :release:`1.10.6 <2014-02-14>` +* :feature:`58` Allow client code to access the stored SSH server banner via + `Transport.get_banner <paramiko.transport.Transport.get_banner>`. Thanks to + ``@Jhoanor`` for the patch. +* :bug:`252` (`Fabric #1020 <https://github.com/fabric/fabric/issues/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>` -* :release:`1.11.3 <2014-01-08>` 176 -* :release:`1.10.5 <2014-01-08>` 176 -* :bug:`225` Note ecdsa requirement in README. Thanks to Amaury Rodriguez for - the catch. +* :release:`1.11.3 <2014-01-08>` +* :release:`1.10.5 <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. * :release:`1.12.0 <2013-09-27>` * :release:`1.11.2 <2013-09-27>` -* :release:`1.10.4 <2013-09-27>` 199, 200, 179 -* :feature:`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). +* :release:`1.10.4 <2013-09-27>` +* :feature:`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 @@ -29,9 +71,9 @@ Changelog * :feature:`136` Add server-side support for the SSH protocol's 'env' command. Thanks to Benjamin Pollack for the patch. -* :bug:`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. +* :bug:`156 (1.11+)` 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. * :bug:`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. diff --git a/sites/www/conf.py b/sites/www/conf.py index 481acdff..1c6c9254 100644 --- a/sites/www/conf.py +++ b/sites/www/conf.py @@ -24,10 +24,10 @@ extensions.append('sphinx.ext.intersphinx') target = join(dirname(__file__), '..', 'docs', '_build') if os.environ.get('READTHEDOCS') == 'True': # TODO: switch to docs.paramiko.org post go-live of sphinx API docs - target = 'http://paramiko-docs.readthedocs.org/en/latest/' -#intersphinx_mapping = { -# 'docs': (target, None), -#} + target = 'http://docs.paramiko.org/en/latest/' +intersphinx_mapping = { + 'docs': (target, None), +} # Sister-site links to API docs html_theme_options['extra_nav_links'] = { diff --git a/sites/www/faq.rst b/sites/www/faq.rst new file mode 100644 index 00000000..a7e80014 --- /dev/null +++ b/sites/www/faq.rst @@ -0,0 +1,9 @@ +=================================== +Frequently Asked/Answered Questions +=================================== + +Which version should I use? I see multiple active releases. +=========================================================== + +Please see :ref:`the installation docs <release-lines>` which have an explicit +section about this topic. diff --git a/sites/www/index.rst b/sites/www/index.rst index 7fefedd2..cb3961ce 100644 --- a/sites/www/index.rst +++ b/sites/www/index.rst @@ -1,7 +1,7 @@ Welcome to Paramiko! ==================== -Paramiko is a Python (2.5+) implementation of the SSHv2 protocol [#]_, +Paramiko is a Python (2.6+, 3.3+) implementation of the SSHv2 protocol [#]_, providing both client and server functionality. While it leverages a Python C extension for low level cryptography (`PyCrypto <http://pycrypto.org>`_), Paramiko itself is a pure Python interface around SSH networking concepts. @@ -13,6 +13,7 @@ usage and API documentation can be found at our code documentation site, .. toctree:: changelog + FAQs <faq> installing contributing contact diff --git a/sites/www/installing.rst b/sites/www/installing.rst index 0d4dc1ac..74c5c6e8 100644 --- a/sites/www/installing.rst +++ b/sites/www/installing.rst @@ -2,10 +2,12 @@ Installing ========== +.. _paramiko-itself: + Paramiko itself =============== -The recommended way to get Invoke is to **install the latest stable release** +The recommended way to get Paramiko is to **install the latest stable release** via `pip <http://pip-installer.org>`_:: $ pip install paramiko @@ -14,50 +16,44 @@ via `pip <http://pip-installer.org>`_:: Users who want the bleeding edge can install the development version via ``pip install paramiko==dev``. -We currently support **Python 2.5/2.6/2.7**, with support for Python 3 coming -soon. Users on Python 2.4 or older are urged to upgrade. Paramiko *may* work on -Python 2.4 still, but there is no longer any support guarantee. +We currently support **Python 2.6, 2.7 and 3.3** (Python **3.2** should also +work but has a less-strong compatibility guarantee from us.) Users on Python +2.5 or older are urged to upgrade. Paramiko has two dependencies: the pure-Python ECDSA module `ecdsa`, and the PyCrypto C extension. `ecdsa` is easily installable from wherever you obtained Paramiko's package; PyCrypto may require more work. Read on for details. -PyCrypto -======== - -`PyCrypto <https://www.dlitz.net/software/pycrypto/>`_ provides the low-level -(C-based) encryption algorithms we need to implement the SSH protocol. There -are a couple gotchas associated with installing PyCrypto: its compatibility -with Python's package tools, and the fact that it is a C-based extension. +.. _release-lines: -.. _pycrypto-and-pip: +Release lines +------------- -Possible gotcha on older Python and/or pip versions ---------------------------------------------------- +Users desiring stability may wish to pin themselves to a specific release line +once they first start using Paramiko; to assist in this, we guarantee bugfixes +for at least the last 2-3 releases including the latest stable one. This currently means Paramiko **1.11** through **1.13**. -We strongly recommend using ``pip`` to as it is newer and generally better than -``easy_install``. However, a combination of bugs in specific (now rather old) -versions of Python, ``pip`` and PyCrypto can prevent installation of PyCrypto. -Specifically: +If you're unsure which version to install, we have suggestions: -* Python = 2.5.x -* PyCrypto >= 2.1 (required for most modern versions of Paramiko) -* ``pip`` < 0.8.1 +* **Completely new users** should always default to the **latest stable + release** (as above, whatever is newest / whatever shows up with ``pip + install paramiko``.) +* **Users upgrading from a much older version** (e.g. the 1.7.x line) should + probably get the **oldest actively supported line** (see the paragraph above + this list for what that currently is.) +* **Everybody else** is hopefully already "on" a given version and can + carefully upgrade to whichever version they care to, when their release line + stops being supported. -When all three criteria are met, you may encounter ``No such file or -directory`` IOErrors when trying to ``pip install paramiko`` or ``pip install -PyCrypto``. -The fix is to make sure at least one of the above criteria is not met, by doing -the following (in order of preference): - -* Upgrade to ``pip`` 0.8.1 or above, e.g. by running ``pip install -U pip``. -* Upgrade to Python 2.6 or above. -* Downgrade to Paramiko 1.7.6 or 1.7.7, which do not require PyCrypto >= 2.1, - and install PyCrypto 2.0.1 (the oldest version on PyPI which works with - Paramiko 1.7.6/1.7.7) +PyCrypto +======== +`PyCrypto <https://www.dlitz.net/software/pycrypto/>`_ provides the low-level +(C-based) encryption algorithms we need to implement the SSH protocol. There +are a couple gotchas associated with installing PyCrypto: its compatibility +with Python's package tools, and the fact that it is a C-based extension. C extension ----------- |