[project @ Arch-1:robey@lag.net--2003-public%secsh--dev--1.0--patch-46]

README update notes
added notes on what's new, what to watch out for in py22.  added a "since:
fearow" to all the relevant API calls that are new.
This commit is contained in:
Robey Pointer 2004-04-07 16:05:48 +00:00
parent 17acfb5d28
commit 5691415af1
6 changed files with 40 additions and 3 deletions

29
README
View File

@ -1,5 +1,5 @@
paramiko 0.9 paramiko 0.9
"eevee" release, 08 mar 2004 "fearow" release, 06 apr 2004
Copyright (c) 2003-2004 Robey Pointer <robey@lag.net> Copyright (c) 2003-2004 Robey Pointer <robey@lag.net>
@ -51,8 +51,12 @@ python 2.2 may work, thanks to some patches from Roger Binns. things to watch
out for: out for:
* sockets in 2.2 don't support timeouts, so the 'select' module is imported * sockets in 2.2 don't support timeouts, so the 'select' module is imported
to do polling. this may not work on windows. (works fine on osx.) to do polling. this may not work on windows. (works fine on osx.)
* there is no logging, period. * logging is mostly stubbed out. it works just enough to let paramiko create
you really should upgrade to python 2.3. laziness is no excuse! 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! :)
*** DEMO *** DEMO
@ -95,6 +99,25 @@ not much is tested yet, but it's a start. the tests for SFTP are probably
the best and easiest examples of how to use the SFTP class. the best and easiest examples of how to use the SFTP class.
*** WHAT'S NEW
highlights of what's new in each release:
v0.9 FEAROW
* Transport.send_ignore() -- send random ignored bytes
* RSAKey/DSSKey added from_private_key_file() as a factory constructor;
write_private_key_file() & generate() to create and save ssh2 keys;
get_base64() to retrieve the exported public key
* Transport added global_request() [client] and check_global_request() [server]
* Transport.get_remove_server_key() now returns a PKey object instead of a
tuple of strings
* Transport.get_username() -- return the username you auth'd as [client]
* Transport.set_keepalive() -- makes paramiko send periodic junk packets to the
remote host, to keep the session active
* python 2.2 support (thanks to Roger Binns)
* misc. bug fixes
*** MISSING LINKS *** MISSING LINKS
* ctr forms of ciphers are missing (blowfish-ctr, aes128-ctr, aes256-ctr) * ctr forms of ciphers are missing (blowfish-ctr, aes128-ctr, aes256-ctr)

View File

@ -92,6 +92,8 @@ class Transport (BaseTransport):
@return: username that was authenticated, or C{None}. @return: username that was authenticated, or C{None}.
@rtype: string @rtype: string
@since: fearow
""" """
return self.username return self.username

View File

@ -151,6 +151,8 @@ class DSSKey (PKey):
@type progress_func: function @type progress_func: function
@return: new private key @return: new private key
@rtype: L{DSSKey} @rtype: L{DSSKey}
@since: fearow
""" """
dsa = DSA.generate(bits, randpool.get_bytes, progress_func) dsa = DSA.generate(bits, randpool.get_bytes, progress_func)
key = DSSKey() key = DSSKey()

View File

@ -117,6 +117,8 @@ class PKey (object):
@return: a base64 string containing the public part of the key. @return: a base64 string containing the public part of the key.
@rtype: string @rtype: string
@since: fearow
""" """
return ''.join(base64.encodestring(str(self)).split('\n')) return ''.join(base64.encodestring(str(self)).split('\n'))
@ -189,6 +191,8 @@ class PKey (object):
@raise PasswordRequiredException: if the private key file is @raise PasswordRequiredException: if the private key file is
encrypted, and C{password} is C{None}. encrypted, and C{password} is C{None}.
@raise SSHException: if the key file is invalid. @raise SSHException: if the key file is invalid.
@since: fearow
""" """
key = cl() key = cl()
key.read_private_key_file(filename, password) key.read_private_key_file(filename, password)
@ -207,6 +211,8 @@ class PKey (object):
@raise IOError: if there was an error writing the file. @raise IOError: if there was an error writing the file.
@raise SSHException: if the key is invalid. @raise SSHException: if the key is invalid.
@since: fearow
""" """
raise exception('Not implemented in PKey') raise exception('Not implemented in PKey')

View File

@ -142,6 +142,8 @@ class RSAKey (PKey):
@type progress_func: function @type progress_func: function
@return: new private key @return: new private key
@rtype: L{RSAKey} @rtype: L{RSAKey}
@since: fearow
""" """
rsa = RSA.generate(bits, randpool.get_bytes, progress_func) rsa = RSA.generate(bits, randpool.get_bytes, progress_func)
key = RSAKey() key = RSAKey()

View File

@ -479,6 +479,8 @@ class BaseTransport (threading.Thread):
@param interval: seconds to wait before sending a keepalive packet (or @param interval: seconds to wait before sending a keepalive packet (or
0 to disable keepalives). 0 to disable keepalives).
@type interval: int @type interval: int
@since: fearow
""" """
self.keepalive_interval = interval self.keepalive_interval = interval