# HG changeset patch
# User Robey Pointer <robey@twitter.com>
# Date 1306136437 25200
#      Mon May 23 00:40:37 2011 -0700
# Node ID 93f469a34649a103c590e4538895790094bbbca4
# Parent  30c112d16104647ef00dd666b1beee959c1fe13c
version 1.7.7

diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -31,6 +31,7 @@
 # desmond (06jul08) - 1.7.4
 # ernest (19jul09) - 1.7.5
 # fanny (1nov09) - 1.7.6
+# george (21may11) - 1.7.7
 
 
 ifeq ($(wildcard /sbin/md5),/sbin/md5)
@@ -48,7 +49,7 @@
 	cd dist && $(MD5SUM) paramiko*.zip *.gz > md5-sums
 	cd dist && gpg -ba paramiko*.zip
 	cd dist && gpg -ba paramiko*.gz
-	
+
 
 docs: always
 	epydoc --no-private -o docs/ paramiko
diff --git a/NEWS b/NEWS
--- a/NEWS
+++ b/NEWS
@@ -8,10 +8,20 @@
 Releases
 ========
 
-Unreleased
-----------
-  * Use Crypto.Random rather than Crypto.Util.RandomPool.
+v1.7.7 (George) 21may11
+-----------------------
+  * Make the verification phase of SFTP.put optional (Larry Wright)
+  * Patches to fix AIX support (anonymous)
+  * Patch from Michele Bertoldi to allow compression to be turned on in the
+    client constructor.
+  * Patch from Shad Sharma to raise an exception if the transport isn't active
+    when you try to open a new channel.
+  * Stop leaking file descriptors in the SSH agent (John Adams)
+  * More fixes for Windows address family support (Andrew Bennetts)
+  * Use Crypto.Random rather than Crypto.Util.RandomPool
     (Gary van der Merwe, #271791)
+  * Support for openssl keys (tehfink)
+  * Fix multi-process support by calling Random.atfork (sugarc0de)
 
 v1.7.6 (Fanny) 1nov09
 ---------------------
diff --git a/README b/README
--- a/README
+++ b/README
@@ -9,10 +9,10 @@
 :Homepage: http://www.lag.net/paramiko/
 
 
-paramiko 1.7.6
+paramiko 1.7.7
 ==============
 
-"Fanny" release, 1 november 2009
+"George" release, 21 may 2011
 
 
 What
@@ -38,18 +38,9 @@
 Requirements
 ------------
 
-  - python 2.3	<http://www.python.org/>
+  - python 2.3 or better <http://www.python.org/>
     (python 2.2 is also supported, but not recommended)
-  - pycrypto 1.9+	<http://www.amk.ca/python/code/crypto.html>
-    (2.0 works too)
-
-pycrypto compiled for Win32 can be downloaded from the HashTar homepage:
-    http://nitace.bsd.uchicago.edu:8080/hashtar
-
-you can also build it yourself using the free MinGW tools and this command
-line (thanks to Roger Binns for the info)::
-
-    python setup.py build --compiler=mingw32 bdist_wininst
+  - pycrypto 2.1 or better <https://www.dlitz.net/software/pycrypto/>
 
 If you have setuptools, you can build and install paramiko and all its
 dependencies with this command (as root)::
@@ -60,34 +51,34 @@
 Portability
 -----------
 
-i code and test this library on Linux and MacOS X.  for that reason, i'm
-pretty sure that it works for all posix platforms, including MacOS.  it
+i code and test this library on Linux and MacOS X. for that reason, i'm
+pretty sure that it works for all posix platforms, including MacOS. it
 should also work on Windows, though i don't test it as frequently there.
 if you run into Windows problems, send me a patch: portability is important
 to me.
 
-python 2.2 may work, thanks to some patches from Roger Binns.  things to
+python 2.2 may work, thanks to some patches from Roger Binns. things to
 watch out for:
 
     * sockets in 2.2 don't support timeouts, so the 'select' module is
       imported to do polling.  
-    * logging is mostly stubbed out.  it works just enough to let paramiko
-      create log files for debugging, if you want them.  to get real logging,
-      you can backport python 2.3's logging package.  Roger has done that
+    * logging is mostly stubbed out. it works just enough to let paramiko
+      create log files for debugging, if you want them. to get real logging,
+      you can backport python 2.3's logging package. Roger has done that
       already:
       http://sourceforge.net/project/showfiles.php?group_id=75211&package_id=113804
 
-you really should upgrade to python 2.3.  laziness is no excuse! :)
+you really should upgrade to python 2.3. laziness is no excuse! :)
 
 some python distributions don't include the utf-8 string encodings, for
-reasons of space (misdirected as that is).  if your distribution is
+reasons of space (misdirected as that is). if your distribution is
 missing encodings, you'll see an error like this::
 
     LookupError: no codec search functions registered: can't find encoding
 
 this means you need to copy string encodings over from a working system.
 (it probably only happens on embedded systems, not normal python
-installs.)  Valeriy Pogrebitskiy says the best place to look is
+installs.) Valeriy Pogrebitskiy says the best place to look is
 ``.../lib/python*/encodings/__init__.py``.
 
 
diff --git a/README.rst b/README.rst
deleted file mode 100644
--- a/README.rst
+++ /dev/null
@@ -1,158 +0,0 @@
-
-========
-paramiko
-========
-
-:Paramiko: Python SSH module
-:Copyright: Copyright (c) 2003-2009  Robey Pointer <robeypointer@gmail.com>
-:License: LGPL
-:Homepage: http://www.lag.net/paramiko/
-
-
-paramiko 1.7.6
-==============
-
-"Fanny" release, 1 november 2009
-
-
-What
-----
-
-"paramiko" is a combination of the esperanto words for "paranoid" and
-"friend".  it's a module for python 2.2+ that implements the SSH2 protocol
-for secure (encrypted and authenticated) connections to remote machines.
-unlike SSL (aka TLS), SSH2 protocol does not require hierarchical
-certificates signed by a powerful central authority. you may know SSH2 as
-the protocol that replaced telnet and rsh for secure access to remote
-shells, but the protocol also includes the ability to open arbitrary
-channels to remote services across the encrypted tunnel (this is how sftp
-works, for example).
-
-it is written entirely in python (no C or platform-dependent code) and is
-released under the GNU LGPL (lesser GPL). 
-
-the package and its API is fairly well documented in the "doc/" folder
-that should have come with this archive.
-
-
-Requirements
-------------
-
-  - python 2.3 or better <http://www.python.org/>
-    (python 2.2 is also supported, but not recommended)
-  - pycrypto 2.1 or better <https://www.dlitz.net/software/pycrypto/>
-
-If you have setuptools, you can build and install paramiko and all its
-dependencies with this command (as root)::
-
-    easy_install ./
-
-
-Portability
------------
-
-i code and test this library on Linux and MacOS X. for that reason, i'm
-pretty sure that it works for all posix platforms, including MacOS. it
-should also work on Windows, though i don't test it as frequently there.
-if you run into Windows problems, send me a patch: portability is important
-to me.
-
-python 2.2 may work, thanks to some patches from Roger Binns. things to
-watch out for:
-
-    * sockets in 2.2 don't support timeouts, so the 'select' module is
-      imported to do polling.  
-    * logging is mostly stubbed out. it works just enough to let paramiko
-      create log files for debugging, if you want them. to get real logging,
-      you can backport python 2.3's logging package. Roger has done that
-      already:
-      http://sourceforge.net/project/showfiles.php?group_id=75211&package_id=113804
-
-you really should upgrade to python 2.3. laziness is no excuse! :)
-
-some python distributions don't include the utf-8 string encodings, for
-reasons of space (misdirected as that is). if your distribution is
-missing encodings, you'll see an error like this::
-
-    LookupError: no codec search functions registered: can't find encoding
-
-this means you need to copy string encodings over from a working system.
-(it probably only happens on embedded systems, not normal python
-installs.) Valeriy Pogrebitskiy says the best place to look is
-``.../lib/python*/encodings/__init__.py``.
-
-
-Bugs & Support
---------------
-
-there's a launchpage page for paramiko, with a bug tracker:
-
-    https://launchpad.net/paramiko/
-    
-this is the primary place to file and browse bug reports.
-
-there's also a low-traffic mailing list for support and discussions:
-
-    http://www.lag.net/mailman/listinfo/paramiko
-
-
-Demo
-----
-
-several demo scripts come with paramiko to demonstrate how to use it.
-probably the simplest demo of all is this::
-
-    import paramiko, base64
-    key = paramiko.RSAKey(data=base64.decodestring('AAA...'))
-    client = paramiko.SSHClient()
-    client.get_host_keys().add('ssh.example.com', 'ssh-rsa', key)
-    client.connect('ssh.example.com', username='strongbad', password='thecheat')
-    stdin, stdout, stderr = client.exec_command('ls')
-    for line in stdout:
-        print '... ' + line.strip('\n')
-    client.close()
-
-...which prints out the results of executing ``ls`` on a remote server.
-(the host key 'AAA...' should of course be replaced by the actual base64
-encoding of the host key.  if you skip host key verification, the
-connection is not secure!)
-
-the following example scripts (in demos/) get progressively more detailed:
-
-:demo_simple.py:
-    calls invoke_shell() and emulates a terminal/tty through which you can
-    execute commands interactively on a remote server.  think of it as a
-    poor man's ssh command-line client.
-
-:demo.py:
-    same as demo_simple.py, but allows you to authenticiate using a
-    private key, attempts to use an SSH-agent if present, and uses the long
-    form of some of the API calls.
-
-:forward.py:
-    command-line script to set up port-forwarding across an ssh transport.
-    (requires python 2.3.)
-
-:demo_sftp.py:
-    opens an sftp session and does a few simple file operations.
-
-:demo_server.py:
-    an ssh server that listens on port 2200 and accepts a login for
-    'robey' (password 'foo'), and pretends to be a BBS.  meant to be a
-    very simple demo of writing an ssh server.
-
-
-Use
----
-
-the demo scripts are probably the best example of how to use this package.
-there is also a lot of documentation, generated with epydoc, in the doc/
-folder.  point your browser there.  seriously, do it.  mad props to
-epydoc, which actually motivated me to write more documentation than i
-ever would have before.
-
-there are also unit tests here::
-
-    $ python ./test.py
-
-which will verify that most of the core components are working correctly.
diff --git a/paramiko/__init__.py b/paramiko/__init__.py
--- a/paramiko/__init__.py
+++ b/paramiko/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2009  Robey Pointer <robeypointer@gmail.com>
+# Copyright (C) 2003-2011  Robey Pointer <robeypointer@gmail.com>
 #
 # This file is part of paramiko.
 #
@@ -47,7 +47,7 @@
 
 Website: U{http://www.lag.net/paramiko/}
 
-@version: 1.7.6 (Fanny)
+@version: 1.7.7 (George)
 @author: Robey Pointer
 @contact: robeypointer@gmail.com
 @license: GNU Lesser General Public License (LGPL)
@@ -60,9 +60,9 @@
 
 
 __author__ = "Robey Pointer <robeypointer@gmail.com>"
-__date__ = "1 Nov 2009"
-__version__ = "1.7.6 (Fanny)"
-__version_info__ = (1, 7, 6)
+__date__ = "21 May 2011"
+__version__ = "1.7.7 (George)"
+__version_info__ = (1, 7, 7)
 __license__ = "GNU Lesser General Public License (LGPL)"
 
 
diff --git a/paramiko/transport.py b/paramiko/transport.py
--- a/paramiko/transport.py
+++ b/paramiko/transport.py
@@ -194,7 +194,7 @@
     """
 
     _PROTO_ID = '2.0'
-    _CLIENT_ID = 'paramiko_1.7.6'
+    _CLIENT_ID = 'paramiko_1.7.7'
 
     _preferred_ciphers = ( 'aes128-ctr', 'aes256-ctr', 'aes128-cbc', 'blowfish-cbc', 'aes256-cbc', '3des-cbc',
         'arcfour128', 'arcfour256' )