2929 lines
82 KiB
Groff
2929 lines
82 KiB
Groff
|
# do not edit -- automatically generated by arch changelog
|
||
|
# arch-tag: automatic-ChangeLog--robey@lag.net--2003-public/secsh--dev--1.0
|
||
|
#
|
||
|
|
||
|
2005-04-18 00:53:57 GMT Robey Pointer <robey@lag.net> patch-164
|
||
|
|
||
|
Summary:
|
||
|
fix some docs
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-164
|
||
|
|
||
|
remove some epydoc comments about fileno() being non-portable.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/channel.py
|
||
|
|
||
|
|
||
|
2005-04-18 00:30:52 GMT Robey Pointer <robey@lag.net> patch-163
|
||
|
|
||
|
Summary:
|
||
|
add SFTPClient.close()
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-163
|
||
|
|
||
|
add SFTPClient.close() and add a simple little unit test for it.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/sftp_client.py tests/test_sftp.py
|
||
|
|
||
|
|
||
|
2005-04-18 00:11:34 GMT Robey Pointer <robey@lag.net> patch-162
|
||
|
|
||
|
Summary:
|
||
|
avoid os.environ['HOME'] in the demos
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-162
|
||
|
|
||
|
avoid using os.environ['HOME'], which will never work on windows, and
|
||
|
use os.path.expanduser() instead. it's semi-moot because windows doesn't
|
||
|
have a standard location for ssh files, but i think paramiko should set a
|
||
|
good example anyway.
|
||
|
|
||
|
modified files:
|
||
|
demo.py demo_simple.py
|
||
|
|
||
|
|
||
|
2005-04-16 23:38:22 GMT Robey Pointer <robey@lag.net> patch-161
|
||
|
|
||
|
Summary:
|
||
|
integrated laptop work (test commit)
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-161
|
||
|
|
||
|
Patches applied:
|
||
|
|
||
|
* robey@lag.net--2003-public-master-shake/secsh--dev--1.0--base-0
|
||
|
tag of robey@lag.net--2003-public/secsh--dev--1.0--patch-160
|
||
|
|
||
|
* robey@lag.net--2003-public-master-shake/secsh--dev--1.0--patch-1
|
||
|
test commit
|
||
|
|
||
|
* robey@lag.net--2003-public/secsh--dev--1.0--base-0
|
||
|
initial import
|
||
|
|
||
|
* robey@lag.net--2003-public/secsh--dev--1.0--patch-1
|
||
|
no changes
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
README paramiko/server.py
|
||
|
|
||
|
new patches:
|
||
|
robey@lag.net--2003-public-master-shake/secsh--dev--1.0--base-0
|
||
|
robey@lag.net--2003-public-master-shake/secsh--dev--1.0--patch-1
|
||
|
|
||
|
|
||
|
2005-04-10 00:46:41 GMT Robey Pointer <robey@lag.net> patch-160
|
||
|
|
||
|
Summary:
|
||
|
1.3 marowak
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-160
|
||
|
|
||
|
bump version to 1.3 / marowak
|
||
|
|
||
|
modified files:
|
||
|
Makefile README paramiko/__init__.py paramiko/transport.py
|
||
|
setup.py
|
||
|
|
||
|
|
||
|
2005-04-10 00:39:18 GMT Robey Pointer <robey@lag.net> patch-159
|
||
|
|
||
|
Summary:
|
||
|
clean up SFTPAttributes.__repr__
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-159
|
||
|
|
||
|
clean up SFTPAttributes repr() a bit.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/sftp_attr.py
|
||
|
|
||
|
|
||
|
2005-04-10 00:13:54 GMT Robey Pointer <robey@lag.net> patch-158
|
||
|
|
||
|
Summary:
|
||
|
remove ChangeLog from MANIFEST.in
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-158
|
||
|
|
||
|
remove ChangeLog from the dist list.
|
||
|
|
||
|
modified files:
|
||
|
MANIFEST.in
|
||
|
|
||
|
|
||
|
2005-04-06 07:24:28 GMT Robey Pointer <robey@lag.net> patch-157
|
||
|
|
||
|
Summary:
|
||
|
change SubsystemHandler/SFTPServerInterface API
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-157
|
||
|
|
||
|
change the API of SubsystemHandler to accept a reference to the
|
||
|
ServerInstance object during construction. this will break all code
|
||
|
that currently creates subsystem handlers (like sftp servers) -- sorry!
|
||
|
|
||
|
lots of little doc fixups (mostly indenting).
|
||
|
|
||
|
modified files:
|
||
|
paramiko/server.py paramiko/sftp_server.py paramiko/sftp_si.py
|
||
|
paramiko/transport.py tests/stub_sftp.py
|
||
|
|
||
|
|
||
|
2005-03-26 05:53:00 GMT Robey Pointer <robey@lag.net> patch-156
|
||
|
|
||
|
Summary:
|
||
|
rewrite channel pipes to work on windows
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-156
|
||
|
|
||
|
the pipe system i was using for simulating an os-level FD (for select) was
|
||
|
retarded. i realized this week that i could just use a single byte in the
|
||
|
pipe to signal "data is ready" and not try to feed all incoming data thru
|
||
|
the pipe -- and then i don't have to try to make the pipe non-blocking (which
|
||
|
should make it work on windows). a lot of duplicate code got removed and now
|
||
|
it's all going thru the same code-path on read.
|
||
|
|
||
|
there's still a slight penalty on incoming feeds and calling 'recv' when a
|
||
|
pipe has been opened (by calling 'fileno'), but it's tiny.
|
||
|
|
||
|
removed a bunch of documentation and comments about things not working on
|
||
|
windows, since i think they probably do now.
|
||
|
|
||
|
|
||
|
removed files:
|
||
|
.arch-ids/demo_windows.py.id demo_windows.py
|
||
|
|
||
|
modified files:
|
||
|
MANIFEST.in README paramiko/channel.py
|
||
|
|
||
|
|
||
|
2005-03-25 20:06:56 GMT Robey Pointer <robey@lag.net> patch-155
|
||
|
|
||
|
Summary:
|
||
|
fix sending of large sftp packet sizes
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-155
|
||
|
|
||
|
fix a bug where packets larger than about 12KB would cause the session to
|
||
|
die on platforms other than osx. turns out that on most platforms, setting a
|
||
|
socket timeout also causes timeouts to occur on writes (but not on osx). so
|
||
|
on a huge write, once the os buffers were full, paramiko would get a
|
||
|
socket.timeout exception when writing, and bail.
|
||
|
|
||
|
since the timeout is primarily so we can periodically poll to see if the
|
||
|
session has been killed from elsewhere, do that on a timeout but otherwise
|
||
|
continue trying to write. large packet sizes (in sftp) should now work.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/transport.py
|
||
|
|
||
|
|
||
|
2005-02-28 08:06:08 GMT Robey Pointer <robey@lag.net> patch-154
|
||
|
|
||
|
Summary:
|
||
|
even better 1.2 lapras
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-154
|
||
|
|
||
|
re-bump the version # to 1.2 (with a new date since i added more stuff).
|
||
|
add 2005 to the copyright date in a bunch of files.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
Makefile README demo.py demo_server.py demo_simple.py
|
||
|
demo_windows.py forward.py paramiko/__init__.py
|
||
|
paramiko/auth_transport.py paramiko/ber.py paramiko/channel.py
|
||
|
paramiko/common.py paramiko/dsskey.py paramiko/file.py
|
||
|
paramiko/kex_gex.py paramiko/kex_group1.py
|
||
|
paramiko/logging22.py paramiko/message.py paramiko/pkey.py
|
||
|
paramiko/primes.py paramiko/rsakey.py paramiko/server.py
|
||
|
paramiko/sftp.py paramiko/sftp_attr.py paramiko/sftp_client.py
|
||
|
paramiko/sftp_handle.py paramiko/sftp_server.py
|
||
|
paramiko/sftp_si.py paramiko/ssh_exception.py
|
||
|
paramiko/transport.py paramiko/util.py setup.py test.py
|
||
|
tests/loop.py tests/stub_sftp.py tests/test_file.py
|
||
|
tests/test_kex.py tests/test_message.py tests/test_pkey.py
|
||
|
tests/test_sftp.py tests/test_transport.py
|
||
|
|
||
|
|
||
|
2005-02-28 07:49:56 GMT Robey Pointer <robey@lag.net> patch-153
|
||
|
|
||
|
Summary:
|
||
|
tweak sftp_file write behavior on large blocks of data
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-153
|
||
|
|
||
|
BufferedFile.write() wasn't correctly dealing with the possibility that the
|
||
|
underlying write might not write the entire data block at once (even though
|
||
|
the docs said it would). now that it's working, make sftp_file take
|
||
|
advantage of it in order to chop up blocks larger than 32kB (the max allowed
|
||
|
on sftp) and add a unit test for it.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/file.py paramiko/sftp_file.py tests/test_sftp.py
|
||
|
|
||
|
|
||
|
2005-02-28 07:17:21 GMT Robey Pointer <robey@lag.net> patch-152
|
||
|
|
||
|
Summary:
|
||
|
little doc fixes
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-152
|
||
|
|
||
|
stupid little doc fixups that didn't fit with the other patches.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/auth_transport.py tests/loop.py
|
||
|
|
||
|
|
||
|
2005-02-28 07:16:22 GMT Robey Pointer <robey@lag.net> patch-151
|
||
|
|
||
|
Summary:
|
||
|
fix race in transport thread startup
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-151
|
||
|
|
||
|
set active=True from the methods that start the main transport thread, right
|
||
|
before actually starting the thread. this avoids a race where the main
|
||
|
thread could be started, but the original thread could wake up from the
|
||
|
event.wait(0.1) before the new thread actually set the transport active.
|
||
|
impossible, you say? no machines so slow exist? au contraire, my sad
|
||
|
little linux box faced this problem earlier today.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/transport.py
|
||
|
|
||
|
|
||
|
2005-02-28 07:14:11 GMT Robey Pointer <robey@lag.net> patch-150
|
||
|
|
||
|
Summary:
|
||
|
when combining stderr with stdout on a channel, merge the buffers too
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-150
|
||
|
|
||
|
when turning on combine-stderr mode on a channel, grab the channel lock and
|
||
|
feed any existing stderr buffer into the normal buffer. this should help
|
||
|
applications (and my unit tests) avoid races between data coming in over
|
||
|
stderr and setting combine-stderr.
|
||
|
|
||
|
_send_eof is now slightly safer too, although i don't think that really fixed
|
||
|
anything. it just makes me feel better.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/channel.py
|
||
|
|
||
|
|
||
|
2005-02-28 07:09:02 GMT Robey Pointer <robey@lag.net> patch-149
|
||
|
|
||
|
Summary:
|
||
|
add thread ids to logs
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-149
|
||
|
|
||
|
add a logging filter that reports the thread-id of the logger, and use
|
||
|
that for all paramiko logging. since thread-local stuff didn't appear
|
||
|
until python 2.4, i hacked up my own little version to assign incrementing
|
||
|
numbers to threads as they log.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/channel.py paramiko/sftp.py paramiko/sftp_client.py
|
||
|
paramiko/sftp_server.py paramiko/transport.py paramiko/util.py
|
||
|
|
||
|
|
||
|
2005-02-26 21:12:43 GMT Robey Pointer <robey@lag.net> patch-148
|
||
|
|
||
|
Summary:
|
||
|
forgot to check in stub_sftp
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-148
|
||
|
|
||
|
yikes! don't forget to check this in: needed for unit tests.
|
||
|
|
||
|
new files:
|
||
|
tests/.arch-ids/stub_sftp.py.id tests/stub_sftp.py
|
||
|
|
||
|
|
||
|
2005-02-26 21:11:04 GMT Robey Pointer <robey@lag.net> patch-147
|
||
|
|
||
|
Summary:
|
||
|
1.2 (lapras)
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-147
|
||
|
|
||
|
bump version stuff to 1.2 / lapras.
|
||
|
|
||
|
modified files:
|
||
|
Makefile README paramiko/__init__.py paramiko/transport.py
|
||
|
setup.py
|
||
|
|
||
|
|
||
|
2005-02-15 15:48:47 GMT Robey Pointer <robey@lag.net> patch-146
|
||
|
|
||
|
Summary:
|
||
|
raise better exception on empty key
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-146
|
||
|
|
||
|
raise a clearer exception when trying to create an empty key.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
README paramiko/dsskey.py paramiko/rsakey.py
|
||
|
tests/test_transport.py
|
||
|
|
||
|
|
||
|
2005-02-15 15:47:02 GMT Robey Pointer <robey@lag.net> patch-145
|
||
|
|
||
|
Summary:
|
||
|
add methods for sending/receiving a channel's exit status
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-145
|
||
|
|
||
|
track a channel's exit status and provide a method (recv_exit_status) to
|
||
|
block waiting for it to arrive. also provide a convenience method for
|
||
|
servers to send it (send_exit_status). add shutdown_read and shutdown_write.
|
||
|
fix a bug in sending window change requests.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
README paramiko/channel.py paramiko/transport.py
|
||
|
|
||
|
|
||
|
2005-02-06 23:32:22 GMT Robey Pointer <robey@lag.net> patch-144
|
||
|
|
||
|
Summary:
|
||
|
fix docs
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-144
|
||
|
|
||
|
clean up some of the docs.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
README paramiko/pkey.py paramiko/sftp_attr.py
|
||
|
|
||
|
|
||
|
2005-02-06 23:30:40 GMT Robey Pointer <robey@lag.net> patch-143
|
||
|
|
||
|
Summary:
|
||
|
fix an sftp unit test
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-143
|
||
|
|
||
|
fix one of the sftp unit tests to actually work.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
tests/test_sftp.py
|
||
|
|
||
|
|
||
|
2005-02-05 07:45:20 GMT Robey Pointer <robey@lag.net> patch-142
|
||
|
|
||
|
Summary:
|
||
|
fix windows sample script's HOME
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-142
|
||
|
|
||
|
fix the HOME environ var to work on windows too.
|
||
|
|
||
|
modified files:
|
||
|
demo_windows.py
|
||
|
|
||
|
|
||
|
2005-01-25 05:17:55 GMT Robey Pointer <robey@lag.net> patch-141
|
||
|
|
||
|
Summary:
|
||
|
misc logging fixes
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-141
|
||
|
|
||
|
change the level of some log messages so interesting stuff gets logged at
|
||
|
info instead of debug. fix an oops where channels defaulted to being in
|
||
|
ultra debug mode, and make this mode depend on a new Transport method:
|
||
|
"set_hexdump".
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/auth_transport.py paramiko/channel.py
|
||
|
paramiko/sftp.py paramiko/sftp_client.py
|
||
|
paramiko/sftp_server.py paramiko/transport.py
|
||
|
|
||
|
|
||
|
2005-01-17 10:09:09 GMT Robey Pointer <robey@lag.net> patch-140
|
||
|
|
||
|
Summary:
|
||
|
more flexible logging
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-140
|
||
|
|
||
|
some tweaks to make channels etc follow the logger setting of their parent
|
||
|
transport, so that setting the log channel for a paramiko transport will
|
||
|
cause all sub-logging to branch out from that channel.
|
||
|
|
||
|
also, close all open file handles when the sftp server ends.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/channel.py paramiko/sftp_attr.py
|
||
|
paramiko/sftp_client.py paramiko/sftp_handle.py
|
||
|
paramiko/sftp_server.py paramiko/transport.py
|
||
|
|
||
|
|
||
|
2005-01-16 21:03:15 GMT Robey Pointer <robey@lag.net> patch-139
|
||
|
|
||
|
Summary:
|
||
|
make loopback sftp tests the default
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-139
|
||
|
|
||
|
change the unit tests to default to always running the sftp tests locally,
|
||
|
and make a -R option to force the tests to run against a remote server.
|
||
|
the tests seem to work fine locally, and it helps test out server mode,
|
||
|
even though there's a danger that they could get isolated from reality
|
||
|
and only test that paramiko can talk to itself.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
test.py
|
||
|
|
||
|
|
||
|
2005-01-16 20:14:07 GMT Robey Pointer <robey@lag.net> patch-138
|
||
|
|
||
|
Summary:
|
||
|
doc fixups
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-138
|
||
|
|
||
|
little doc fixups that i did obsessively on the train one morning.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/file.py
|
||
|
|
||
|
|
||
|
2005-01-09 05:27:07 GMT Robey Pointer <robey@lag.net> patch-137
|
||
|
|
||
|
Summary:
|
||
|
added listdir_attr()
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-137
|
||
|
|
||
|
add SFTPClient.listdir_attr() to fetch a list of files & their attributes,
|
||
|
instead of just their filenames. artur piwko would find this useful.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/sftp_attr.py paramiko/sftp_client.py
|
||
|
|
||
|
|
||
|
2004-12-19 19:56:48 GMT Robey Pointer <robey@lag.net> patch-136
|
||
|
|
||
|
Summary:
|
||
|
loopback sftp test
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-136
|
||
|
|
||
|
add ability to turn off more tests, and a secret (for now) -X option to do
|
||
|
the sftp tests via loopback socket. added another symlink sftp test to see
|
||
|
what happens with absolute symlinks.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
test.py tests/test_sftp.py
|
||
|
|
||
|
|
||
|
2004-12-19 19:50:00 GMT Robey Pointer <robey@lag.net> patch-135
|
||
|
|
||
|
Summary:
|
||
|
more sftp cleanup
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-135
|
||
|
|
||
|
oops, this should've been part of the last patch.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/sftp_si.py
|
||
|
|
||
|
|
||
|
2004-12-19 19:43:27 GMT Robey Pointer <robey@lag.net> patch-134
|
||
|
|
||
|
Summary:
|
||
|
cleanup & docs in sftp
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-134
|
||
|
|
||
|
add some more docs to SFTPHandle, and give a default implementation for
|
||
|
close() that's usually right. add a flush() to the default implementation
|
||
|
of write(). document that symlink's args in the sftp protocol are out of
|
||
|
order (the spec is wrong).
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/sftp_handle.py paramiko/sftp_server.py
|
||
|
|
||
|
|
||
|
2004-12-13 07:32:14 GMT Robey Pointer <robey@lag.net> patch-133
|
||
|
|
||
|
Summary:
|
||
|
unit test madness
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-133
|
||
|
|
||
|
add some more testy bits and fix up some other bits.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
tests/test_transport.py
|
||
|
|
||
|
|
||
|
2004-12-13 07:31:01 GMT Robey Pointer <robey@lag.net> patch-132
|
||
|
|
||
|
Summary:
|
||
|
oops (continued)
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-132
|
||
|
|
||
|
er, part 2 of that.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/server.py
|
||
|
|
||
|
|
||
|
2004-12-13 07:29:38 GMT Robey Pointer <robey@lag.net> patch-131
|
||
|
|
||
|
Summary:
|
||
|
move check_global_request
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-131
|
||
|
|
||
|
move check_global_request into the server interface -- i missed it during
|
||
|
the initial move (oops).
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-12-13 07:27:39 GMT Robey Pointer <robey@lag.net> patch-130
|
||
|
|
||
|
Summary:
|
||
|
small fixups
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-130
|
||
|
|
||
|
move _wait_for_send_window into the right place in Channel. remove outdated
|
||
|
note from auth_transport. fix download url in setup.py.
|
||
|
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/auth_transport.py paramiko/channel.py setup.py
|
||
|
|
||
|
|
||
|
2004-12-12 09:58:40 GMT Robey Pointer <robey@lag.net> patch-129
|
||
|
|
||
|
Summary:
|
||
|
1.1 (kabuto)
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-129
|
||
|
|
||
|
edit various files to bump the version to 1.1.
|
||
|
also fix to point to the new url.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
Makefile README paramiko/__init__.py paramiko/transport.py
|
||
|
setup.py
|
||
|
|
||
|
|
||
|
2004-12-12 09:38:24 GMT Robey Pointer <robey@lag.net> patch-128
|
||
|
|
||
|
Summary:
|
||
|
more unit tests
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-128
|
||
|
|
||
|
added unit tests for multi-part auth, exec_command, and invoke_shell.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
tests/test_transport.py
|
||
|
|
||
|
|
||
|
2004-12-12 09:32:17 GMT Robey Pointer <robey@lag.net> patch-127
|
||
|
|
||
|
Summary:
|
||
|
doc fixups
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-127
|
||
|
|
||
|
fix some typos in sftp_client docs
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/sftp_client.py
|
||
|
|
||
|
|
||
|
2004-12-12 09:25:15 GMT Robey Pointer <robey@lag.net> patch-126
|
||
|
|
||
|
Summary:
|
||
|
server support for stderr & exec_command
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-126
|
||
|
|
||
|
for the server side of my stderr blunder, add send_stderr & sendall_stderr,
|
||
|
and make the sending side of makefile_stderr work correctly.
|
||
|
|
||
|
also, call check_channel_exec_request on a server object for exec requests
|
||
|
on a channel.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/channel.py paramiko/server.py
|
||
|
|
||
|
|
||
|
2004-12-12 09:16:03 GMT Robey Pointer <robey@lag.net> patch-125
|
||
|
|
||
|
Summary:
|
||
|
add client-side multi-part auth support
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-125
|
||
|
|
||
|
added support for multi-part authentication (even though nobody supports it
|
||
|
that i've seen). on a successful "partial" auth, the auth_* method will
|
||
|
return a list of acceptable means to continue authenticating.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/auth_transport.py paramiko/ssh_exception.py
|
||
|
|
||
|
|
||
|
2004-12-11 03:44:33 GMT Robey Pointer <robey@lag.net> patch-124
|
||
|
|
||
|
Summary:
|
||
|
docs fixup
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-124
|
||
|
|
||
|
fix a comment typo, and add @since designators to a couple of new methods.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/channel.py paramiko/sftp_server.py
|
||
|
|
||
|
|
||
|
2004-12-11 03:43:18 GMT Robey Pointer <robey@lag.net> patch-123
|
||
|
|
||
|
Summary:
|
||
|
clean up authentication
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-123
|
||
|
|
||
|
add new exception "BadAuthenticationType", which is raised when auth fails
|
||
|
because your auth type (password or public-key) isn't valid on the server.
|
||
|
|
||
|
used this as an excuse to clean up auth_password and auth_publickey so their
|
||
|
'event' arg is optional, and if missing, they block until auth is finished,
|
||
|
raising an exception on error.
|
||
|
|
||
|
also, don't close the session on failed auth -- the server may let you try
|
||
|
again.
|
||
|
|
||
|
added some test cases for failed auth.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/__init__.py paramiko/auth_transport.py
|
||
|
paramiko/ssh_exception.py paramiko/transport.py
|
||
|
tests/test_transport.py
|
||
|
|
||
|
|
||
|
2004-12-10 08:30:44 GMT Robey Pointer <robey@lag.net> patch-122
|
||
|
|
||
|
Summary:
|
||
|
symlink, readlink
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-122
|
||
|
|
||
|
add support for symlink command, and finish support for readlink. (i guess
|
||
|
i started readlink a while ago but forgot to add the right method to the
|
||
|
SFTPServerInterface class.)
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/sftp_server.py paramiko/sftp_si.py tests/test_sftp.py
|
||
|
|
||
|
|
||
|
2004-12-10 08:27:43 GMT Robey Pointer <robey@lag.net> patch-121
|
||
|
|
||
|
Summary:
|
||
|
other part of that last patch
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-121
|
||
|
|
||
|
oops, forgot this part.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-12-10 08:25:28 GMT Robey Pointer <robey@lag.net> patch-120
|
||
|
|
||
|
Summary:
|
||
|
add stderr support methods
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-120
|
||
|
|
||
|
big embarrassment: i didn't read the ssh2 docs close enough, and all this
|
||
|
time paramiko wasn't handling "extended_data" packets, which contain stderr
|
||
|
output.
|
||
|
|
||
|
so now, several new functions: recv_stderr_ready() and recv_stderr() to
|
||
|
mirror recv_ready() and recv(), and set_combined_stderr() to force stderr
|
||
|
to be combined into stdout. also, makefile_stderr() to create a fake file
|
||
|
object to represent stderr.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/channel.py
|
||
|
|
||
|
|
||
|
2004-12-10 07:55:33 GMT Robey Pointer <robey@lag.net> patch-119
|
||
|
|
||
|
Summary:
|
||
|
reformat README
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-119
|
||
|
|
||
|
reformatted the README to a slightly smaller margin, just because.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
README
|
||
|
|
||
|
|
||
|
2004-12-09 04:15:12 GMT Robey Pointer <robey@lag.net> patch-118
|
||
|
|
||
|
Summary:
|
||
|
fix SFTPFile gettimeout/settimeout
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-118
|
||
|
|
||
|
i don't think the gettimeout/settimeout calls on SFTPFile ever worked.
|
||
|
also, simplify the implementation of _get_size() since it's nearly
|
||
|
identical to stat().
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/sftp_file.py
|
||
|
|
||
|
|
||
|
2004-12-09 02:42:36 GMT Robey Pointer <robey@lag.net> patch-117
|
||
|
|
||
|
Summary:
|
||
|
readme comments
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-117
|
||
|
|
||
|
add another fixme to the readme
|
||
|
|
||
|
modified files:
|
||
|
README
|
||
|
|
||
|
|
||
|
2004-11-26 22:07:31 GMT Robey Pointer <robey@lag.net> patch-116
|
||
|
|
||
|
Summary:
|
||
|
doc fixups
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-116
|
||
|
|
||
|
explain "recv_ready" better, and add debug descriptions for the kex codes.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
README paramiko/channel.py paramiko/common.py
|
||
|
|
||
|
|
||
|
2004-11-25 19:39:34 GMT Robey Pointer <robey@lag.net> patch-115
|
||
|
|
||
|
Summary:
|
||
|
fix CONNECTION_FAILED_CODE
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-115
|
||
|
|
||
|
oops, fix typo in channel request failed.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-11-22 07:40:39 GMT Robey Pointer <robey@lag.net> patch-114
|
||
|
|
||
|
Summary:
|
||
|
fix typo in channel
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-114
|
||
|
|
||
|
fix typo that alain found: pipd_wfd -> pipe_wfd.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/channel.py
|
||
|
|
||
|
|
||
|
2004-11-22 07:27:21 GMT Robey Pointer <robey@lag.net> patch-113
|
||
|
|
||
|
Summary:
|
||
|
sftp server support!
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-113
|
||
|
|
||
|
finally check in sftp_handle (file handle abstraction), sftp_si (server
|
||
|
interface), and sftp_server (server implementation) -- all of which make
|
||
|
a roughly 90% implementation of server-side sftp.
|
||
|
|
||
|
|
||
|
|
||
|
new files:
|
||
|
paramiko/.arch-ids/sftp_handle.py.id
|
||
|
paramiko/.arch-ids/sftp_server.py.id
|
||
|
paramiko/.arch-ids/sftp_si.py.id paramiko/sftp_handle.py
|
||
|
paramiko/sftp_server.py paramiko/sftp_si.py
|
||
|
|
||
|
modified files:
|
||
|
README demo_windows.py paramiko/__init__.py
|
||
|
|
||
|
|
||
|
2004-11-22 07:07:08 GMT Robey Pointer <robey@lag.net> patch-112
|
||
|
|
||
|
Summary:
|
||
|
add finish_subsystem()
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-112
|
||
|
|
||
|
when a SubsystemHandler is being decomissioned (the client has closed the
|
||
|
channel or transport, or the socket went away), make a callback to let the
|
||
|
handler do any shutdown it needs to.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/server.py
|
||
|
|
||
|
|
||
|
2004-11-22 07:04:31 GMT Robey Pointer <robey@lag.net> patch-111
|
||
|
|
||
|
Summary:
|
||
|
fix extremely unlikely channel counter wrapping
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-111
|
||
|
|
||
|
Transport's channel counter can overflow after 4 billion some channels are
|
||
|
created. make it wrap back around after 16 million instead. also allow the
|
||
|
logging channel to be set manually. fix some comments elsewhere.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/channel.py paramiko/primes.py paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-11-22 07:01:43 GMT Robey Pointer <robey@lag.net> patch-110
|
||
|
|
||
|
Summary:
|
||
|
fix Transport.get_username() to work in server mode too
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-110
|
||
|
|
||
|
whenever i split the 'username' field into username and auth_username,
|
||
|
i guess that made get_username() stop working for server mode (because the
|
||
|
username was stored in a different field). this should fix it.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/auth_transport.py
|
||
|
|
||
|
|
||
|
2004-11-07 03:10:53 GMT Robey Pointer <robey@lag.net> patch-109
|
||
|
|
||
|
Summary:
|
||
|
v1.0 (jigglypuff)
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-109
|
||
|
|
||
|
bump all the version numbers up to 1.0 (jigglypuff).
|
||
|
|
||
|
modified files:
|
||
|
Makefile README paramiko/__init__.py paramiko/transport.py
|
||
|
setup.py
|
||
|
|
||
|
|
||
|
2004-11-07 02:51:42 GMT Robey Pointer <robey@lag.net> patch-108
|
||
|
|
||
|
Summary:
|
||
|
add filename to SFTPAttributes
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-108
|
||
|
|
||
|
add filename to the attributes stored in an SFTPAttributes object.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/sftp_attr.py
|
||
|
|
||
|
|
||
|
2004-11-07 02:31:48 GMT Robey Pointer <robey@lag.net> patch-107
|
||
|
|
||
|
Summary:
|
||
|
fix kex_gex
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-107
|
||
|
|
||
|
fix kex_gex (group-exchange key exchange) to, *cough*, work again, and also
|
||
|
layout kex_group1 a little more sanely.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/kex_gex.py paramiko/kex_group1.py
|
||
|
|
||
|
|
||
|
2004-11-07 02:29:54 GMT Robey Pointer <robey@lag.net> patch-106
|
||
|
|
||
|
Summary:
|
||
|
fix chmod +x on demo_windows.py
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-106
|
||
|
|
||
|
forgot to make demo_windows +x
|
||
|
|
||
|
|
||
|
2004-11-07 02:29:20 GMT Robey Pointer <robey@lag.net> patch-105
|
||
|
|
||
|
Summary:
|
||
|
move ChangeLog
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-105
|
||
|
|
||
|
move ChangeLog out of the way because tla can autogenerate any useful
|
||
|
ChangeLog.
|
||
|
|
||
|
|
||
|
renamed files:
|
||
|
.arch-ids/ChangeLog.id
|
||
|
==> .arch-ids/ChangeLog-old.id
|
||
|
ChangeLog
|
||
|
==> ChangeLog-old
|
||
|
|
||
|
|
||
|
2004-11-07 02:28:33 GMT Robey Pointer <robey@lag.net> patch-104
|
||
|
|
||
|
Summary:
|
||
|
fix location of SFTPError
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-104
|
||
|
|
||
|
fix location of SFTPError.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/__init__.py paramiko/sftp_client.py
|
||
|
|
||
|
|
||
|
2004-11-07 02:17:18 GMT Robey Pointer <robey@lag.net> patch-103
|
||
|
|
||
|
Summary:
|
||
|
rename sftp constants
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-103
|
||
|
|
||
|
replace oddly named sftp constants (FX_OK for example) with names that make
|
||
|
a bit more sense when sober (SFTP_OK).
|
||
|
|
||
|
modified files:
|
||
|
paramiko/__init__.py paramiko/sftp.py paramiko/sftp_client.py
|
||
|
|
||
|
|
||
|
2004-11-07 02:08:11 GMT Robey Pointer <robey@lag.net> patch-102
|
||
|
|
||
|
Summary:
|
||
|
add key exchange tests + 1 more sftp test
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-102
|
||
|
|
||
|
add test suite for key-exchange protocols, since i apparently broke the
|
||
|
"gex" protocol recently and never noticed. also add an sftp unit test for
|
||
|
mkdir/rmdir.
|
||
|
|
||
|
new files:
|
||
|
tests/.arch-ids/test_kex.py.id tests/test_kex.py
|
||
|
|
||
|
modified files:
|
||
|
test.py tests/test_sftp.py
|
||
|
|
||
|
|
||
|
2004-11-07 02:00:50 GMT Robey Pointer <robey@lag.net> patch-101
|
||
|
|
||
|
Summary:
|
||
|
remove old demo keys
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-101
|
||
|
|
||
|
the keys are in tests/ now.
|
||
|
|
||
|
removed files:
|
||
|
.arch-ids/demo_dss_key.id .arch-ids/demo_rsa_key.id
|
||
|
demo_dss_key demo_rsa_key
|
||
|
|
||
|
|
||
|
2004-11-06 20:32:08 GMT Robey Pointer <robey@lag.net> patch-100
|
||
|
|
||
|
Summary:
|
||
|
don't forget demo_windows.py
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-100
|
||
|
|
||
|
update MANIFEST.in to include demo_windows.py and not include the demo
|
||
|
keys (they're in tests/ now). clean up the README to explain the demo
|
||
|
scripts better now, since there are so many of them. then fix up the
|
||
|
demo scripts to look in tests/ for the keys.
|
||
|
|
||
|
demo_windows.py doesn't need to call get_pty() (in fact, i think that's
|
||
|
blowing openssh's mind) and was executing the wrong command.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
MANIFEST.in README demo_server.py demo_simple.py
|
||
|
demo_windows.py
|
||
|
|
||
|
|
||
|
2004-11-01 07:07:48 GMT Robey Pointer <robey@lag.net> patch-99
|
||
|
|
||
|
Summary:
|
||
|
use getpass
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-99
|
||
|
|
||
|
convert raw_input to getpass as suggested many weeks ago.
|
||
|
|
||
|
modified files:
|
||
|
forward.py
|
||
|
|
||
|
|
||
|
2004-11-01 03:54:01 GMT Robey Pointer <robey@lag.net> patch-98
|
||
|
|
||
|
Summary:
|
||
|
don't unlink a Channel until the server closes it too
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-98
|
||
|
|
||
|
when close()'ing a Channel, don't immediately unlink it from the Transport.
|
||
|
instead, wait for the server to send a close message.
|
||
|
|
||
|
this should fix a bug where doing close() on an EOF'd channel would cause
|
||
|
the entire transport to be killed, because the server would send an
|
||
|
'exit-status' and 'close' message for a channel that we no longer had a
|
||
|
record of.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/channel.py
|
||
|
|
||
|
|
||
|
2004-11-01 03:43:28 GMT Robey Pointer <robey@lag.net> patch-97
|
||
|
|
||
|
Summary:
|
||
|
better debugging, improve subsytem handler
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-97
|
||
|
|
||
|
add a list of ssh packet names for debugging. improve the server-mode
|
||
|
subsystem handler so it can take extra parameters (list or keyword) and
|
||
|
pass them to the subsystem constructor. remove a misleading comment
|
||
|
about rekeying (which was already implemented).
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/common.py paramiko/server.py paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-11-01 03:37:42 GMT Robey Pointer <robey@lag.net> patch-96
|
||
|
|
||
|
Summary:
|
||
|
remove key.valid check
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-96
|
||
|
|
||
|
oops! 'key.valid' no longer works -- catch the SSHException instead, and log
|
||
|
it.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/auth_transport.py
|
||
|
|
||
|
|
||
|
2004-10-23 07:36:23 GMT Robey Pointer <robey@lag.net> patch-95
|
||
|
|
||
|
Summary:
|
||
|
ivysaur 0.9
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-95
|
||
|
|
||
|
update ivysaur release date, and add the list of changes to the README
|
||
|
file.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
Makefile README paramiko/__init__.py
|
||
|
|
||
|
|
||
|
2004-10-20 16:52:51 GMT Robey Pointer <robey@lag.net> patch-94
|
||
|
|
||
|
Summary:
|
||
|
start testing Transport
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-94
|
||
|
|
||
|
the beginnings of tests for Transport. only the bare minimum is there right
|
||
|
now.
|
||
|
|
||
|
also started doc'ing things up to ivysaur.
|
||
|
|
||
|
new files:
|
||
|
.arch-ids/demo_windows.py.id demo_windows.py
|
||
|
tests/.arch-ids/loop.py.id
|
||
|
tests/.arch-ids/test_transport.py.id tests/loop.py
|
||
|
tests/test_transport.py
|
||
|
|
||
|
modified files:
|
||
|
Makefile README paramiko/__init__.py setup.py test.py
|
||
|
|
||
|
|
||
|
2004-10-18 04:54:27 GMT Robey Pointer <robey@lag.net> patch-93
|
||
|
|
||
|
Summary:
|
||
|
switch Transport.connect() to using a Pkey object for the host key
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-93
|
||
|
|
||
|
i suddenly realized that passing "hostkeytype" and "hostkey" as strings to
|
||
|
Transport.connect() was pretty silly since i went to all the effort of making
|
||
|
a class specifically for holding keys. so Transport.connect() now just takes
|
||
|
host-key argument: "hostkey" as a PKey object.
|
||
|
|
||
|
updated the demos to use PKey objects when reading the host key file, and to
|
||
|
use the new "hostkey" argument.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
demo.py demo_simple.py paramiko/pkey.py paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-09-25 22:07:59 GMT Robey Pointer <robey@lag.net> patch-92
|
||
|
|
||
|
Summary:
|
||
|
add rsa/dss key object unit tests
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-92
|
||
|
|
||
|
add tests for rsa/dss key objects -- yay!
|
||
|
|
||
|
|
||
|
new files:
|
||
|
tests/.arch-ids/test_dss.key.id
|
||
|
tests/.arch-ids/test_pkey.py.id
|
||
|
tests/.arch-ids/test_rsa.key.id tests/test_dss.key
|
||
|
tests/test_pkey.py tests/test_rsa.key
|
||
|
|
||
|
|
||
|
2004-09-25 22:03:48 GMT Robey Pointer <robey@lag.net> patch-91
|
||
|
|
||
|
Summary:
|
||
|
fix test.py to use options instead of env vars, sftp tests default off
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-91
|
||
|
|
||
|
fix up the test framework so that the sftp unit tests aren't always run (you
|
||
|
have to ask for them explicitly) and they take their configuration from
|
||
|
command-line options. they still require a remote server.
|
||
|
|
||
|
modified files:
|
||
|
test.py tests/test_sftp.py
|
||
|
|
||
|
|
||
|
2004-09-25 21:58:11 GMT Robey Pointer <robey@lag.net> patch-90
|
||
|
|
||
|
Summary:
|
||
|
fix __init__
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-90
|
||
|
|
||
|
fix __init__ to export BufferedFile and randpool, and to catch up with the
|
||
|
changes from a week or 2 ago where sftp_attr & friends were split off.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/__init__.py
|
||
|
|
||
|
|
||
|
2004-09-25 21:47:19 GMT Robey Pointer <robey@lag.net> patch-89
|
||
|
|
||
|
Summary:
|
||
|
fix some Transport docs
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-89
|
||
|
|
||
|
document that Transport also would like close() and settimeout() to exist
|
||
|
on the socket-like object passed to the constructor.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-09-25 21:32:53 GMT Robey Pointer <robey@lag.net> patch-88
|
||
|
|
||
|
Summary:
|
||
|
add Message.rewind()
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-88
|
||
|
|
||
|
add rewind() method to Message, which just resets the pointer so you can
|
||
|
start reading from the beginning again. this is useful for some tests.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/message.py tests/test_message.py
|
||
|
|
||
|
|
||
|
2004-09-25 21:28:23 GMT Robey Pointer <robey@lag.net> patch-87
|
||
|
|
||
|
Summary:
|
||
|
clean up pkey interface
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-87
|
||
|
|
||
|
change the pkey interface so that it's no longer possible to have a pkey
|
||
|
that doesn't represent a valid key. (ie: no more "blank" key objects.)
|
||
|
also add "get_bits" and "can_sign" methods to determine the key bit length
|
||
|
and whether it can sign things (contains the "private parts") respectively.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/dsskey.py paramiko/pkey.py paramiko/rsakey.py
|
||
|
|
||
|
|
||
|
2004-09-11 21:01:32 GMT Robey Pointer <robey@lag.net> patch-86
|
||
|
|
||
|
Summary:
|
||
|
unit tests for Message
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-86
|
||
|
|
||
|
spanking new unit tests for Message. i'm trying to fix the embarrassment
|
||
|
of having so little of paramiko testable. next up is Transport!
|
||
|
|
||
|
new files:
|
||
|
tests/.arch-ids/test_message.py.id tests/test_message.py
|
||
|
|
||
|
|
||
|
2004-09-11 20:56:01 GMT Robey Pointer <robey@lag.net> patch-85
|
||
|
|
||
|
Summary:
|
||
|
move SFTPFile and SFTPAttributes into their own files
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-85
|
||
|
|
||
|
move SFTPFile and SFTPAttributes into their own files.
|
||
|
|
||
|
new files:
|
||
|
paramiko/.arch-ids/sftp_attr.py.id
|
||
|
paramiko/.arch-ids/sftp_file.py.id paramiko/sftp_attr.py
|
||
|
paramiko/sftp_file.py
|
||
|
|
||
|
modified files:
|
||
|
paramiko/sftp.py paramiko/sftp_client.py
|
||
|
|
||
|
|
||
|
2004-09-11 20:50:39 GMT Robey Pointer <robey@lag.net> patch-84
|
||
|
|
||
|
Summary:
|
||
|
add sftp.normalize
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-84
|
||
|
|
||
|
kevin c. dorff pointed out that it would be nice to expose a way to
|
||
|
determine the server's "current working directory", so this new method
|
||
|
(normalize) directly maps to REALPATH.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/sftp_client.py
|
||
|
|
||
|
|
||
|
2004-09-11 20:43:09 GMT Robey Pointer <robey@lag.net> patch-83
|
||
|
|
||
|
Summary:
|
||
|
tweak Message.add() in the key exchanges
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-83
|
||
|
|
||
|
use the new Message.add() behavior to make a little code here much easier
|
||
|
to read.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/kex_gex.py paramiko/kex_group1.py
|
||
|
|
||
|
|
||
|
2004-09-11 20:40:08 GMT Robey Pointer <robey@lag.net> patch-82
|
||
|
|
||
|
Summary:
|
||
|
doc fixes
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-82
|
||
|
|
||
|
fix "string" -> "str" in types when documenting BufferedFile.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/file.py
|
||
|
|
||
|
|
||
|
2004-09-11 20:37:59 GMT Robey Pointer <robey@lag.net> patch-81
|
||
|
|
||
|
Summary:
|
||
|
more unit tests
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-81
|
||
|
|
||
|
add test for BufferedFile.read(-1) and sftp.normalize().
|
||
|
|
||
|
modified files:
|
||
|
tests/test_file.py tests/test_sftp.py
|
||
|
|
||
|
|
||
|
2004-09-11 20:36:49 GMT Robey Pointer <robey@lag.net> patch-80
|
||
|
|
||
|
Summary:
|
||
|
move SubsystemHandler to server.py
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-80
|
||
|
|
||
|
move SubsystemHandler into server.py where it makes more sense (it's part of
|
||
|
the server interface).
|
||
|
|
||
|
also fix up paramiko's "version string" used in ssh2 negotiation to stop
|
||
|
saying "pyssh" and start saying "paramiko". :)
|
||
|
|
||
|
modified files:
|
||
|
paramiko/server.py paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-09-11 20:35:19 GMT Robey Pointer <robey@lag.net> patch-79
|
||
|
|
||
|
Summary:
|
||
|
Message.add() can take many args
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-79
|
||
|
|
||
|
a bit of cleanup to Message: add() can now take any number of params, and
|
||
|
will add them all in order (using type guessing).
|
||
|
|
||
|
modified files:
|
||
|
paramiko/message.py
|
||
|
|
||
|
|
||
|
2004-09-09 01:36:45 GMT Robey Pointer <robey@lag.net> patch-78
|
||
|
|
||
|
Summary:
|
||
|
fix rbuffer -> _rbuffer in 3 places i missed
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-78
|
||
|
|
||
|
fix 3 places where "rbuffer" hadn't been converted to "_rbuffer". thanks to
|
||
|
kevin c. dorff for the bug report.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/file.py
|
||
|
|
||
|
|
||
|
2004-09-07 06:56:49 GMT Robey Pointer <robey@lag.net> patch-77
|
||
|
|
||
|
Summary:
|
||
|
docs for SubsystemHandler
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-77
|
||
|
|
||
|
add documentation to constructor for SubsystemHandler.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-09-07 06:54:31 GMT Robey Pointer <robey@lag.net> patch-76
|
||
|
|
||
|
Summary:
|
||
|
add sftp_client.py
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-76
|
||
|
|
||
|
i retardedly forgot to import this file a few days ago: it's the split-out
|
||
|
client mode for sftp. it now also has some changes to adapt it to the
|
||
|
improved SFTPAttributes object API.
|
||
|
|
||
|
new files:
|
||
|
paramiko/.arch-ids/sftp_client.py.id paramiko/sftp_client.py
|
||
|
|
||
|
|
||
|
2004-09-07 06:51:03 GMT Robey Pointer <robey@lag.net> patch-75
|
||
|
|
||
|
Summary:
|
||
|
clean up SFTPAttributes
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-75
|
||
|
|
||
|
add english descriptions to the FX_* error codes of sftp. clean up (and
|
||
|
document) SFTPAttributes since it's exported now, and make it simple to
|
||
|
generate one from a python os.stat object. make "_pythonize" the default --
|
||
|
that is, just use the same field names as python does for os.stat. (i'm not
|
||
|
sure why i didn't do it that way in the first place; probably ignorance.)
|
||
|
also add str() method that converts the SFTPAttributes into a string suitable
|
||
|
for use in ls (used in an obscure way in sftp servers).
|
||
|
|
||
|
modified files:
|
||
|
paramiko/sftp.py
|
||
|
|
||
|
|
||
|
2004-09-07 06:45:53 GMT Robey Pointer <robey@lag.net> patch-74
|
||
|
|
||
|
Summary:
|
||
|
note pycrypto 2.0 in README
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-74
|
||
|
|
||
|
update the README to note that pycrypto 2.0 works (i just tried it). also
|
||
|
fix the name from pyCrypt back to pycrypto -- that project is having trouble
|
||
|
making up its mind about naming. :)
|
||
|
|
||
|
modified files:
|
||
|
README
|
||
|
|
||
|
|
||
|
2004-09-05 07:44:03 GMT Robey Pointer <robey@lag.net> patch-73
|
||
|
|
||
|
Summary:
|
||
|
split sftp into sftp, sftp_client; renamed SFTP -> SFTPClient
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-73
|
||
|
|
||
|
add sftp_client file, and split out the common code (sftp) from stuff specific
|
||
|
to client mode (sftp_client). renamed SFTP class to SFTPClient, but left an
|
||
|
alias so old code will still work.
|
||
|
|
||
|
renamed a bunch of sftp constants now that they're better hidden from epydoc.
|
||
|
|
||
|
modified files:
|
||
|
README paramiko/__init__.py paramiko/sftp.py
|
||
|
|
||
|
|
||
|
2004-09-05 07:41:45 GMT Robey Pointer <robey@lag.net> patch-72
|
||
|
|
||
|
Summary:
|
||
|
some framework for adding subsystem handlers in server mode
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-72
|
||
|
|
||
|
you can now register a subsystem with a Transport by passing in the name
|
||
|
(like "sftp") and a class (like a hypothetical SFTPServer). the default
|
||
|
ServerInterface.check_channel_request_subsystem now checks this table in
|
||
|
Transport, and if it finds a match, it creates a new thread for the handler
|
||
|
and calls into it. a new class SubsystemHandler is added for this purpose
|
||
|
(to be subclassed).
|
||
|
|
||
|
modified files:
|
||
|
paramiko/server.py paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-09-05 07:37:40 GMT Robey Pointer <robey@lag.net> patch-71
|
||
|
|
||
|
Summary:
|
||
|
remove redundant 'auth_complete' member
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-71
|
||
|
|
||
|
remove the redundant 'auth_complete' field and just use 'authenticated' for
|
||
|
both client and server mode. this makes the repr() string look correct in
|
||
|
server mode instead of always claiming that the transport is un-auth'd.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/auth_transport.py
|
||
|
|
||
|
|
||
|
2004-09-03 22:39:20 GMT Robey Pointer <robey@lag.net> patch-70
|
||
|
|
||
|
Summary:
|
||
|
clean up server interface; no longer need to subclass Channel
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-70
|
||
|
|
||
|
- export AUTH_*, OPEN_FAILED_*, and the new OPEN_SUCCEEDED into the paramiko
|
||
|
namespace instead of making people dig into paramiko.Transport.AUTH_* etc.
|
||
|
- move all of the check_* methods from Channel to ServerInterface so apps
|
||
|
don't need to subclass Channel anymore just to run an ssh server
|
||
|
- ServerInterface.check_channel_request() returns an error code now, not a
|
||
|
new Channel object
|
||
|
- fix demo_server.py to follow all these changes
|
||
|
- fix a bunch of places where i used "string" in docstrings but meant "str"
|
||
|
- added Channel.get_id()
|
||
|
|
||
|
modified files:
|
||
|
README demo_server.py paramiko/__init__.py
|
||
|
paramiko/auth_transport.py paramiko/channel.py
|
||
|
paramiko/common.py paramiko/server.py paramiko/sftp.py
|
||
|
paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-08-31 02:44:56 GMT Robey Pointer <robey@lag.net> patch-69
|
||
|
|
||
|
Summary:
|
||
|
clean up SecurityOptions
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-69
|
||
|
|
||
|
the preferences are now tuples in Transport, and passed as tuples out of
|
||
|
SecurityOptions, so that the options can't be modified without setting them
|
||
|
back to the options field again. the algorithm lists in Transport are used
|
||
|
to validate the fields.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-08-30 20:22:10 GMT Robey Pointer <robey@lag.net> patch-68
|
||
|
|
||
|
Summary:
|
||
|
added Transport.get_security_options()
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-68
|
||
|
|
||
|
just something i wanted to play with:
|
||
|
added Transport.get_security_options() which returns a SecurityOptions object.
|
||
|
this object is a kind of proxy for the 4 "preferred_*" fields in Transport,
|
||
|
and lets me avoid exposing those fields directly in case i change my mind
|
||
|
later about how they should be stored.
|
||
|
|
||
|
added some docs to Channel explaining that the request methods now return
|
||
|
True/False, and fixed up docs in a few other places.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/__init__.py paramiko/channel.py paramiko/server.py
|
||
|
paramiko/sftp.py paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-08-28 04:21:12 GMT Robey Pointer <robey@lag.net> patch-67
|
||
|
|
||
|
Summary:
|
||
|
replay patch 63 (missing channel changes)
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-67
|
||
|
|
||
|
i'm still getting the hang of tla/arch, obviously.
|
||
|
|
||
|
replay patch 63, which was meant to be part of the later mega-patch, but
|
||
|
apparently when i reversed it, i lost it entirely.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/channel.py
|
||
|
|
||
|
|
||
|
2004-08-27 00:57:40 GMT Robey Pointer <robey@lag.net> patch-66
|
||
|
|
||
|
Summary:
|
||
|
new ServerInterface class, outbound rekey works, etc.
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-66
|
||
|
|
||
|
a bunch of changes that i'm too lazy to split out into individual patches:
|
||
|
* all the server overrides from transport.py have been moved into a separate
|
||
|
class ServerInterface, so server code doesn't have to subclass the whole
|
||
|
paramiko library
|
||
|
* updated demo_server to subclass ServerInterface
|
||
|
* when re-keying during a session, block other messages until the new keys
|
||
|
are activated (openssh doensn't like any other traffic during a rekey)
|
||
|
* re-key when outbound limits are tripped too (was only counting inbound
|
||
|
traffic)
|
||
|
* don't log scary things on EOF
|
||
|
|
||
|
|
||
|
new files:
|
||
|
paramiko/.arch-ids/server.py.id paramiko/server.py
|
||
|
|
||
|
modified files:
|
||
|
README demo_server.py paramiko/__init__.py
|
||
|
paramiko/auth_transport.py paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-08-27 00:28:33 GMT Robey Pointer <robey@lag.net> patch-65
|
||
|
|
||
|
Summary:
|
||
|
add settimeout/gettimeout/setblocking, some bugfixes.
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-65
|
||
|
|
||
|
hide the command and response codes in sftp so they aren't exported.
|
||
|
add settimeout/gettimeout/setblocking that just wrap calls to the underlying
|
||
|
socket or channel. fix _read_all to not catch timeout exceptions.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/sftp.py
|
||
|
|
||
|
|
||
|
2004-08-27 00:26:35 GMT Robey Pointer <robey@lag.net> patch-64
|
||
|
|
||
|
Summary:
|
||
|
reverse messed-up patch
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-64
|
||
|
|
||
|
Patches applied:
|
||
|
|
||
|
* robey@lag.net--2003-public/secsh--dev--1.0--base-0
|
||
|
initial import
|
||
|
|
||
|
* robey@lag.net--2003-public/secsh--dev--1.0--patch-1
|
||
|
no changes
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/channel.py {arch}/=tagging-method
|
||
|
|
||
|
|
||
|
2004-08-27 00:06:42 GMT Robey Pointer <robey@lag.net> patch-63
|
||
|
|
||
|
Summary:
|
||
|
add settimeout/gettimeout/setblocking, some bugfixes.
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-63
|
||
|
|
||
|
hide the command and response codes in sftp so they aren't exported.
|
||
|
add settimeout/gettimeout/setblocking that just wrap calls to the underlying
|
||
|
socket or channel. fix _read_all to not catch timeout exceptions.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/channel.py
|
||
|
|
||
|
|
||
|
2004-06-27 20:14:15 GMT Robey Pointer <robey@lag.net> patch-62
|
||
|
|
||
|
Summary:
|
||
|
version -> horsea
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-62
|
||
|
|
||
|
up version to horsea.
|
||
|
|
||
|
modified files:
|
||
|
Makefile README paramiko/__init__.py setup.py
|
||
|
{arch}/secsh/secsh--dev/secsh--dev--1.0/robey@lag.net--2003-public/patch-log/patch-1
|
||
|
|
||
|
|
||
|
2004-06-10 18:12:00 GMT Robey Pointer <robey@lag.net> patch-61
|
||
|
|
||
|
Summary:
|
||
|
no more Foobar
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-61
|
||
|
|
||
|
fix "Foobar" to be "Paramiko" in the one place i missed it in all the gpl
|
||
|
headers. sigh. :)
|
||
|
|
||
|
modified files:
|
||
|
paramiko/__init__.py paramiko/auth_transport.py
|
||
|
paramiko/ber.py paramiko/common.py paramiko/dsskey.py
|
||
|
paramiko/kex_gex.py paramiko/kex_group1.py
|
||
|
paramiko/logging22.py paramiko/message.py paramiko/pkey.py
|
||
|
paramiko/primes.py paramiko/rsakey.py
|
||
|
paramiko/ssh_exception.py paramiko/util.py test.py
|
||
|
|
||
|
|
||
|
2004-06-10 18:08:50 GMT Robey Pointer <robey@lag.net> patch-60
|
||
|
|
||
|
Summary:
|
||
|
limit read/write requests to 32KB, advertise 32KB max packet size
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-60
|
||
|
|
||
|
one of the unit tests was failing because the openssh sftp server was dropping
|
||
|
the connection without any error. turns out they have a maximum allowed write
|
||
|
size (possibly around 64KB). the sftp rfcs have a small hint that some servers
|
||
|
may drop read/write requests of greater than 32KB.
|
||
|
|
||
|
so, all reads are limited to 32KB, and all writes > 32KB are now chopped up
|
||
|
and sent in 32KB chunks. this seems to keep openssh happy.
|
||
|
|
||
|
also, we now advertise 32KB max packet size instead of 8KB (the speed
|
||
|
improves a lot), and log when we read/write a packet. and sftp files are
|
||
|
flushed on seek.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/sftp.py paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-06-10 18:02:13 GMT Robey Pointer <robey@lag.net> patch-59
|
||
|
|
||
|
Summary:
|
||
|
speed up parts of BufferedFile
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-59
|
||
|
|
||
|
BufferedFile uses cStringIO for the write buffer now (i don't actually notice
|
||
|
any speed difference so this might revert later) and the default buffer size
|
||
|
has been upped from 1KB to 8KB.
|
||
|
|
||
|
when scanning for linefeeds (when writing to a line-buffered file), only scan
|
||
|
the newly-written bytes, since we know all the previously buffered data is
|
||
|
linefeed-free. this was the #1 slowdown on the 1MB-file unit test.
|
||
|
|
||
|
also, limit the buffering on line-buffered files to whatever the default
|
||
|
buffer size is. there's no reason to buffer 1MB waiting for a linefeed.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/file.py
|
||
|
|
||
|
|
||
|
2004-06-10 17:55:17 GMT Robey Pointer <robey@lag.net> patch-58
|
||
|
|
||
|
Summary:
|
||
|
some Channel fixes for max packet size & blocking on zero window
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-58
|
||
|
|
||
|
some clean-ups and fixes to channels:
|
||
|
* when send() is blocked on a zero-width window, check that the channel is
|
||
|
still open. this was causing some lockups.
|
||
|
* set a lower bound to the "maximum packet size" we accept from the remote
|
||
|
host. if they tell us anything less than 1KB, assume they meant 1KB. (it's
|
||
|
not reasonable to fragment below that.)
|
||
|
* leave a little padding instead of cutting right up to the maximum packet
|
||
|
size: some space will be taken up by protocol overhead.
|
||
|
* turn off some of the debug log lines unless "ultra_debug" is on (nobody
|
||
|
cares about the feed info)
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/channel.py
|
||
|
|
||
|
|
||
|
2004-06-10 17:35:30 GMT Robey Pointer <robey@lag.net> patch-57
|
||
|
|
||
|
Summary:
|
||
|
more unit tests
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-57
|
||
|
|
||
|
add a unit test for sending a large (1MB) file with line buffering but no
|
||
|
linefeeds (this triggered several bugs and inefficiencies), and another test
|
||
|
to verify that the write buffer is flushed on seek.
|
||
|
|
||
|
modified files:
|
||
|
tests/test_file.py tests/test_sftp.py
|
||
|
|
||
|
|
||
|
2004-05-31 23:48:10 GMT Robey Pointer <robey@lag.net> patch-56
|
||
|
|
||
|
Summary:
|
||
|
add forward.py demo script; bump to gyarados
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-56
|
||
|
|
||
|
add a demo script to show how to do local port forwarding.
|
||
|
|
||
|
add gyarados to all the docs and bump the version number everywhere.
|
||
|
|
||
|
new files:
|
||
|
.arch-ids/forward.py.id forward.py
|
||
|
|
||
|
modified files:
|
||
|
MANIFEST.in Makefile README paramiko/__init__.py setup.py
|
||
|
|
||
|
|
||
|
2004-05-29 18:58:11 GMT Robey Pointer <robey@lag.net> patch-55
|
||
|
|
||
|
Summary:
|
||
|
add an sftp unit test for making 100 files
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-55
|
||
|
|
||
|
create 100 files on the remote server, set their mode with chmod, then verify
|
||
|
that they're all there and contain the right data. valeriy is reporting that
|
||
|
sometimes he's getting stuck after 20 and though i'm not seeing it, i want to
|
||
|
add a test to try to pin it down.
|
||
|
|
||
|
modified files:
|
||
|
tests/test_sftp.py
|
||
|
|
||
|
|
||
|
2004-05-29 18:56:10 GMT Robey Pointer <robey@lag.net> patch-54
|
||
|
|
||
|
Summary:
|
||
|
add direct-tcpip ability to open_channel
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-54
|
||
|
|
||
|
open_channel can now be given a dest_addr and src_addr, which are filled in
|
||
|
if the channel type is "forwarded-tcpip" or "direct-tcpip". these channel
|
||
|
types are used in remote & local port forwarding, respectively. i've only
|
||
|
tested "direct-tcpip" but i think if one works, they both should work.
|
||
|
|
||
|
also fixed a bug in connect where it was still assuming the old meaning for
|
||
|
get_remove_server_key() (oops!) and changed the sense of a send() failure
|
||
|
from <= 0 to < 0 since it may be possible for send() to return 0 and it not
|
||
|
be an EOF error.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-05-29 18:48:23 GMT Robey Pointer <robey@lag.net> patch-53
|
||
|
|
||
|
Summary:
|
||
|
add note about utf8 encodings
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-53
|
||
|
|
||
|
add info to the README about what to do if python complains about missing
|
||
|
encodings. veleriy pogrebitskiy ran into this and had advice.
|
||
|
|
||
|
modified files:
|
||
|
README
|
||
|
|
||
|
|
||
|
2004-05-17 07:41:50 GMT Robey Pointer <robey@lag.net> patch-52
|
||
|
|
||
|
Summary:
|
||
|
fix deadlock in closing a channel
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-52
|
||
|
|
||
|
closing a channel would enter an odd codepath where the lock was grabbed,
|
||
|
some stuff was done, then another function was called where the lock was
|
||
|
grabbed again. unfortunately python locks aren't monitors so this would
|
||
|
deadlock. instead, make the smaller function lock-free with an explicit
|
||
|
notice that you must be holding the lock before calling.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/channel.py
|
||
|
|
||
|
|
||
|
2004-05-17 00:43:43 GMT Robey Pointer <robey@lag.net> patch-51
|
||
|
|
||
|
Summary:
|
||
|
fix utf8, raise packet size, log exceptions, be more lax with sfp servers
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-51
|
||
|
|
||
|
explicitly import utf8 encodings for "freezing" (and also because not all
|
||
|
platforms come with utf8, apparently). raise the max acceptable packet size
|
||
|
to 8kB, cuz 2kB was too low. log exceptions at error level instead of debug
|
||
|
level. and don't reject older sftp servers.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/auth_transport.py paramiko/sftp.py
|
||
|
paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-04-23 22:55:16 GMT Robey Pointer <robey@lag.net> patch-50
|
||
|
|
||
|
Summary:
|
||
|
fearow date and last-minute fixes
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-50
|
||
|
|
||
|
update release date of fearow to 23apr. fix channel._set_closed() to grab
|
||
|
the lock before notifying the in/out buffers that the channel is closed.
|
||
|
try roger's trick for finding the home folder on windows.
|
||
|
|
||
|
modified files:
|
||
|
Makefile README paramiko/__init__.py paramiko/channel.py
|
||
|
paramiko/common.py
|
||
|
|
||
|
|
||
|
2004-04-08 06:31:08 GMT Robey Pointer <robey@lag.net> patch-49
|
||
|
|
||
|
Summary:
|
||
|
fix doc typos
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-49
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/dsskey.py paramiko/rsakey.py paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-04-08 05:48:16 GMT Robey Pointer <robey@lag.net> patch-48
|
||
|
|
||
|
Summary:
|
||
|
set version number to fearow
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-48
|
||
|
|
||
|
set version number to fearow.
|
||
|
|
||
|
modified files:
|
||
|
Makefile README paramiko/__init__.py setup.py
|
||
|
|
||
|
|
||
|
2004-04-08 05:12:20 GMT Robey Pointer <robey@lag.net> patch-47
|
||
|
|
||
|
Summary:
|
||
|
add socket.timeout for py22
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-47
|
||
|
|
||
|
oops, forgot this vital part of the py22 patches. roger binns sent me a
|
||
|
code patch that included this snip.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/common.py
|
||
|
|
||
|
|
||
|
2004-04-07 16:05:48 GMT Robey Pointer <robey@lag.net> patch-46
|
||
|
|
||
|
Summary:
|
||
|
README update notes
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-46
|
||
|
|
||
|
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.
|
||
|
|
||
|
modified files:
|
||
|
README paramiko/auth_transport.py paramiko/dsskey.py
|
||
|
paramiko/pkey.py paramiko/rsakey.py paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-04-07 15:52:07 GMT Robey Pointer <robey@lag.net> patch-45
|
||
|
|
||
|
Summary:
|
||
|
add set_keepalive()
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-45
|
||
|
|
||
|
add set_keepalive() to set an automatic keepalive mechanism. (while waiting
|
||
|
for a packet on a connection, we periodically check if it's time to send a
|
||
|
keepalive packet.)
|
||
|
|
||
|
modified files:
|
||
|
paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-04-07 06:07:29 GMT Robey Pointer <robey@lag.net> patch-44
|
||
|
|
||
|
Summary:
|
||
|
add get_username() method for remembering who you auth'd as
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-44
|
||
|
|
||
|
add get_username() method for remembering who you auth'd as. also, fix these
|
||
|
bugs:
|
||
|
* "continue" auth response counted as a failure (in server mode).
|
||
|
* try to import 'logging' in py22 before falling back to the fake logger,
|
||
|
in case they have a backported version of 'logger'
|
||
|
* raise the right exception when told to read a private key from a file that
|
||
|
isn't a private key file
|
||
|
* tell channels to close when the transport dies
|
||
|
|
||
|
modified files:
|
||
|
paramiko/auth_transport.py paramiko/channel.py
|
||
|
paramiko/common.py paramiko/pkey.py paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-04-06 22:03:21 GMT Robey Pointer <robey@lag.net> patch-43
|
||
|
|
||
|
Summary:
|
||
|
fix encrypted private key files
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-43
|
||
|
|
||
|
the random byte padding on private key files' BER data was confusing openssh,
|
||
|
so switch to null-byte padding, which is slightly less secure but works with
|
||
|
crappy old openssh. also, enforce the mode when writing the private key
|
||
|
file. we really really want it to be 0600. (python seems to ignore the
|
||
|
mode normally.)
|
||
|
|
||
|
modified files:
|
||
|
paramiko/pkey.py
|
||
|
|
||
|
|
||
|
2004-04-06 08:16:02 GMT Robey Pointer <robey@lag.net> patch-42
|
||
|
|
||
|
Summary:
|
||
|
support py22, more or less
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-42
|
||
|
|
||
|
add roger binns' patches for supporting python 2.2. i hedged a bit on the
|
||
|
logging stuff and just added some trickery to let logging be stubbed out for
|
||
|
python 2.2. this changed a lot of import statements but i managed to avoid
|
||
|
hacking at any of the existing logging.
|
||
|
|
||
|
socket timeouts are required for the threads to notice when they've been
|
||
|
deactivated. worked around it by using the 'select' module on py22.
|
||
|
|
||
|
also fixed the sftp unit tests to cope with a password-protected private key.
|
||
|
|
||
|
new files:
|
||
|
paramiko/.arch-ids/logging22.py.id paramiko/logging22.py
|
||
|
|
||
|
modified files:
|
||
|
README demo.py demo_server.py demo_simple.py
|
||
|
paramiko/__init__.py paramiko/auth_transport.py
|
||
|
paramiko/channel.py paramiko/common.py paramiko/kex_gex.py
|
||
|
paramiko/kex_group1.py paramiko/message.py paramiko/sftp.py
|
||
|
paramiko/transport.py paramiko/util.py tests/test_sftp.py
|
||
|
|
||
|
|
||
|
2004-04-05 22:32:03 GMT Robey Pointer <robey@lag.net> patch-41
|
||
|
|
||
|
Summary:
|
||
|
make get_remote_server_key() return a PKey object
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-41
|
||
|
|
||
|
a good suggestion from roger binns: make get_remote_server_key() just return
|
||
|
a pkey object instead of a tuple of strings. all the strings can be extracted
|
||
|
from the pkey object, as well as other potentially useful things.
|
||
|
|
||
|
modified files:
|
||
|
demo.py paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-04-05 19:36:40 GMT Robey Pointer <robey@lag.net> patch-40
|
||
|
|
||
|
Summary:
|
||
|
add dss key generation too, and fix some bugs
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-40
|
||
|
|
||
|
added the ability to generate dss keys and write private dss key files,
|
||
|
similar to rsa. in the process, fixed a couple of bugs with ber encoding
|
||
|
and writing password-encrypted key files. the key has to be padded to the
|
||
|
iblock size of the cipher -- it's very difficult to determine how the others
|
||
|
do this, so i just add random bytes to the end.
|
||
|
|
||
|
fixed the simple demo to use Transport's (host, port) constructor for
|
||
|
simplicity, and fixed a bug where the standard demo's DSS login wouldn't
|
||
|
work.
|
||
|
|
||
|
also, move the common logfile setup crap into util so all the demos can just
|
||
|
call that one.
|
||
|
|
||
|
modified files:
|
||
|
demo.py demo_simple.py paramiko/ber.py paramiko/dsskey.py
|
||
|
paramiko/pkey.py paramiko/rsakey.py paramiko/util.py
|
||
|
|
||
|
|
||
|
2004-04-05 10:37:18 GMT Robey Pointer <robey@lag.net> patch-39
|
||
|
|
||
|
Summary:
|
||
|
add global request mechanism
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-39
|
||
|
|
||
|
add transport.global_request() to make a global-style request (usually an
|
||
|
extension to the protocol -- like keepalives) and handle requests from the
|
||
|
remote host. incoming requests are now handled and responded to correctly,
|
||
|
which should make openssh-style keepalives work. (before, we would silently
|
||
|
ignore them, which was wrong.)
|
||
|
|
||
|
modified files:
|
||
|
paramiko/common.py paramiko/message.py paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-04-05 10:24:33 GMT Robey Pointer <robey@lag.net> patch-38
|
||
|
|
||
|
Summary:
|
||
|
add common.py file
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-38
|
||
|
|
||
|
missing from previous change because tla doesn't like to add files in some
|
||
|
situations. (frown)
|
||
|
|
||
|
|
||
|
new files:
|
||
|
paramiko/.arch-ids/common.py.id paramiko/common.py
|
||
|
|
||
|
|
||
|
2004-04-05 10:16:31 GMT Robey Pointer <robey@lag.net> patch-37
|
||
|
|
||
|
Summary:
|
||
|
can now generate rsa keys (not dss yet)
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-37
|
||
|
|
||
|
added functionality to ber to create ber streams. added some common methods
|
||
|
to PKey to allow dumping the key to base64 (the format used by openssh for
|
||
|
public key files and host key lists), and a factory for creating a key from
|
||
|
a private key file, and a common way to save private keys. RSAKey luckily
|
||
|
didn't have to change that much.
|
||
|
|
||
|
also added a factory method to RSAKey to generate a new key.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
paramiko/ber.py paramiko/pkey.py paramiko/rsakey.py
|
||
|
|
||
|
|
||
|
2004-04-05 10:12:59 GMT Robey Pointer <robey@lag.net> patch-36
|
||
|
|
||
|
Summary:
|
||
|
add common.py for commonly used constants and globals
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-36
|
||
|
|
||
|
common.py now stores the constants and globals.
|
||
|
lots of renaming because of this.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/auth_transport.py paramiko/channel.py
|
||
|
paramiko/kex_gex.py paramiko/kex_group1.py
|
||
|
paramiko/transport.py paramiko/util.py
|
||
|
|
||
|
|
||
|
2004-04-02 02:41:43 GMT Robey Pointer <robey@lag.net> patch-35
|
||
|
|
||
|
Summary:
|
||
|
add send_ignore
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-35
|
||
|
|
||
|
add send_ignore() call to allow for sending garbage ignored packets to the
|
||
|
remote side.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-03-16 07:33:09 GMT Robey Pointer <robey@lag.net> patch-34
|
||
|
|
||
|
Summary:
|
||
|
fix some arcana in unpacking private keys
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-34
|
||
|
|
||
|
"!= type([])" is a pretty obscure way to say it. let's try "is not list"
|
||
|
which is a lot more readable.
|
||
|
|
||
|
(mostly this is a test to make sure tla is working okay on my laptop.)
|
||
|
|
||
|
modified files:
|
||
|
paramiko/dsskey.py paramiko/rsakey.py
|
||
|
|
||
|
|
||
|
2004-03-09 01:09:17 GMT Robey Pointer <robey@lag.net> patch-33
|
||
|
|
||
|
Summary:
|
||
|
include tests in manifest
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-33
|
||
|
|
||
|
include the tests in the manifest for dist, and remove some outdated notes in
|
||
|
NOTES about the exported API (this is doc'd wayyy better in epydoc now).
|
||
|
|
||
|
modified files:
|
||
|
MANIFEST.in NOTES
|
||
|
|
||
|
|
||
|
2004-03-08 17:54:19 GMT Robey Pointer <robey@lag.net> patch-32
|
||
|
|
||
|
Summary:
|
||
|
add unit tests
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-32
|
||
|
|
||
|
add unit tests for BufferedFile and SFTP (it's a start). remove the demo sftp
|
||
|
client because it was 99% copied from the other demos, which makes it kinda
|
||
|
confusing. the unit tests are a much better example.
|
||
|
|
||
|
new files:
|
||
|
.arch-ids/test.py.id test.py tests/.arch-ids/=id
|
||
|
tests/.arch-ids/test_file.py.id
|
||
|
tests/.arch-ids/test_sftp.py.id tests/test_file.py
|
||
|
tests/test_sftp.py
|
||
|
|
||
|
removed files:
|
||
|
.arch-ids/demo_sftp.py.id demo_sftp.py
|
||
|
|
||
|
new directories:
|
||
|
tests tests/.arch-ids
|
||
|
|
||
|
|
||
|
2004-03-08 17:52:25 GMT Robey Pointer <robey@lag.net> patch-31
|
||
|
|
||
|
Summary:
|
||
|
bump version number to eevee
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-31
|
||
|
|
||
|
bump the version number to eevee in a few places and talk about the unit
|
||
|
tests.
|
||
|
|
||
|
modified files:
|
||
|
Makefile README paramiko/__init__.py setup.py
|
||
|
|
||
|
|
||
|
2004-03-08 17:50:49 GMT Robey Pointer <robey@lag.net> patch-30
|
||
|
|
||
|
Summary:
|
||
|
finish up client sftp support
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-30
|
||
|
|
||
|
added 'stat' to SFTPFile and SFTP, documented 'open' and 'listdir', and added
|
||
|
'rmdir', 'lstat', 'symlink', 'chmod', 'chown', 'utime', 'readlink'.
|
||
|
|
||
|
turned off ultra debugging now that the unit tests are all working.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/sftp.py
|
||
|
|
||
|
|
||
|
2004-03-08 17:45:44 GMT Robey Pointer <robey@lag.net> patch-29
|
||
|
|
||
|
Summary:
|
||
|
fix some docs and BufferedFile.readline
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-29
|
||
|
|
||
|
fix some documentation and fix readline()'s universal newline support to
|
||
|
always return strings ending with '\n', regardless of how they were in the
|
||
|
original file. (this is an obvious feature of python's universal newline
|
||
|
support that i somehow missed before.)
|
||
|
|
||
|
modified files:
|
||
|
paramiko/file.py paramiko/message.py
|
||
|
|
||
|
|
||
|
2004-03-08 09:47:47 GMT Robey Pointer <robey@lag.net> patch-28
|
||
|
|
||
|
Summary:
|
||
|
fix lingering thread bug
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-28
|
||
|
|
||
|
this bug has been in there forever and i could never figure out a workaround
|
||
|
till now.
|
||
|
|
||
|
when the python interpreter exits, it doesn't necessarily destroy the
|
||
|
remaining objects or call __del__ on anything, and it will lock up until all
|
||
|
threads finish running. how the threads are supposed to notice the exiting
|
||
|
interpreter has always been sort of a mystery to me.
|
||
|
|
||
|
tonight i figured out how to use the 'atexit' module to register a handler
|
||
|
that runs when the interpreter exits. now we keep a list of active threads
|
||
|
and ask them all to exit on shutdown. no more going to another shell to
|
||
|
kill -9 python! yeah!!
|
||
|
|
||
|
modified files:
|
||
|
paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-03-04 08:21:45 GMT Robey Pointer <robey@lag.net> patch-27
|
||
|
|
||
|
Summary:
|
||
|
add BufferedFile abstraction
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-27
|
||
|
|
||
|
SFTP client mode is mostly functional. there are probably still some bugs
|
||
|
but most of the operations on "file" objects have survived my simple tests.
|
||
|
|
||
|
BufferedFile wraps a simpler stream in something that looks like a python
|
||
|
file (and can even handle seeking if the stream underneath supports it).
|
||
|
it's meant to be subclassed. most of it is ripped out of what used to be
|
||
|
ChannelFile so i can reuse it for sftp -- ChannelFile is now tiny.
|
||
|
|
||
|
SFTP and Message are now exported.
|
||
|
|
||
|
fixed util.format_binary_line to not quote spaces.
|
||
|
|
||
|
new files:
|
||
|
.arch-ids/demo_sftp.py.id demo_sftp.py
|
||
|
paramiko/.arch-ids/file.py.id paramiko/.arch-ids/sftp.py.id
|
||
|
paramiko/file.py paramiko/sftp.py
|
||
|
|
||
|
modified files:
|
||
|
paramiko/__init__.py paramiko/channel.py paramiko/message.py
|
||
|
paramiko/util.py
|
||
|
|
||
|
|
||
|
2004-01-27 02:04:59 GMT Robey Pointer <robey@lag.net> patch-26
|
||
|
|
||
|
Summary:
|
||
|
Transport constructor can take hostname or address tuple
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-26
|
||
|
|
||
|
part of an ongoing attempt to make "simple" versions of some of the API calls,
|
||
|
so you can do common-case operations with just a few calls:
|
||
|
|
||
|
Transport's constructor will now let you pass in a string or tuple instead
|
||
|
of a socket-like object. if you pass in a string, it assumes the string is
|
||
|
a hostname (with optional ":port" segment) and turns that into an address
|
||
|
tuple. if you pass in a tuple, it assumes it's an address tuple. in both
|
||
|
cases, it then creates a socket, connects to the given address, and then
|
||
|
continues as if that was the socket passed in.
|
||
|
|
||
|
the idea being that you can call Transport('example.com') and it will do
|
||
|
the right thing.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/transport.py
|
||
|
|
||
|
|
||
|
2004-01-27 02:00:19 GMT Robey Pointer <robey@lag.net> patch-25
|
||
|
|
||
|
Summary:
|
||
|
pkey no longer raises binascii.Error
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-25
|
||
|
|
||
|
catch binascii.Error in the private key decoder and convert it into an
|
||
|
SSHException. there's no reason people should have to care that it was a
|
||
|
decoding error vs. any of the other million things that could be wrong in
|
||
|
a corrupt key file.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/pkey.py
|
||
|
|
||
|
|
||
|
2004-01-27 01:45:44 GMT Robey Pointer <robey@lag.net> patch-24
|
||
|
|
||
|
Summary:
|
||
|
document more of Message; add get_int64
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-24
|
||
|
|
||
|
all of the get_* methods are now documented, but there's a bit more to do.
|
||
|
get_int64 added for eventual sftp support.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/message.py
|
||
|
|
||
|
|
||
|
2004-01-04 10:33:05 GMT Robey Pointer <robey@lag.net> patch-23
|
||
|
|
||
|
Summary:
|
||
|
quick doc fix.
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-23
|
||
|
|
||
|
fix broken cross-link in kex_gex docs.
|
||
|
|
||
|
modified files:
|
||
|
paramiko/kex_gex.py
|
||
|
|
||
|
|
||
|
2004-01-04 10:26:00 GMT Robey Pointer <robey@lag.net> patch-22
|
||
|
|
||
|
Summary:
|
||
|
fix MANIFEST.in, change version numbers to 0.9-doduo, fix LPGL notices
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-22
|
||
|
|
||
|
fixed MANIFEST.in to include the demo scripts, LICENSE, and ChangeLog.
|
||
|
upped everything to version 0.9-doduo.
|
||
|
|
||
|
fixed the copyright notice, and added the LGPL banner to the top of every
|
||
|
python file.
|
||
|
|
||
|
modified files:
|
||
|
MANIFEST.in Makefile NOTES README paramiko/__init__.py
|
||
|
paramiko/auth_transport.py paramiko/ber.py paramiko/channel.py
|
||
|
paramiko/dsskey.py paramiko/kex_gex.py paramiko/kex_group1.py
|
||
|
paramiko/message.py paramiko/pkey.py paramiko/primes.py
|
||
|
paramiko/rsakey.py paramiko/ssh_exception.py
|
||
|
paramiko/transport.py paramiko/util.py setup.py
|
||
|
|
||
|
|
||
|
2004-01-04 10:07:35 GMT Robey Pointer <robey@lag.net> patch-21
|
||
|
|
||
|
Summary:
|
||
|
MANIFEST -> MANIFEST.in, fix setup.py.
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-21
|
||
|
|
||
|
out with MANIFEST, in with MANIFEST.in.
|
||
|
|
||
|
new files:
|
||
|
.arch-ids/MANIFEST.in.id MANIFEST.in
|
||
|
|
||
|
removed files:
|
||
|
.arch-ids/MANIFEST.id MANIFEST
|
||
|
|
||
|
modified files:
|
||
|
setup.py
|
||
|
|
||
|
|
||
|
2004-01-04 09:29:13 GMT Robey Pointer <robey@lag.net> patch-20
|
||
|
|
||
|
Summary:
|
||
|
more docs, and password-protected key files can now be read
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-20
|
||
|
|
||
|
lots more documentation, some of it moved out of the README file, which is
|
||
|
now much smaller and less rambling.
|
||
|
|
||
|
repr(Transport) now reports the number of bits used in the cipher.
|
||
|
|
||
|
cleaned up BER to use util functions, and throw a proper exception (the new
|
||
|
BERException) on error. it doesn't ever have to be a full BER decoder, but
|
||
|
it can at least comb its hair and tuck in its shirt.
|
||
|
|
||
|
lots of stuff added to PKey.read_private_key_file so it can try to decode
|
||
|
password-protected key files. right now it only understands "DES-EDE3-CBC"
|
||
|
format, but this is the only format i've seen openssh make so far. if the
|
||
|
key is password-protected, but no password was given, a new exception
|
||
|
(PasswordRequiredException) is raised so an outer layer can ask for a password
|
||
|
and try again.
|
||
|
|
||
|
modified files:
|
||
|
README demo.py demo_server.py paramiko/__init__.py
|
||
|
paramiko/auth_transport.py paramiko/ber.py paramiko/channel.py
|
||
|
paramiko/dsskey.py paramiko/pkey.py paramiko/primes.py
|
||
|
paramiko/rsakey.py paramiko/ssh_exception.py
|
||
|
paramiko/transport.py paramiko/util.py
|
||
|
|
||
|
|
||
|
2003-12-31 06:31:43 GMT Robey Pointer <robey@lag.net> patch-19
|
||
|
|
||
|
Summary:
|
||
|
renamed auth_key -> auth_publickey; more docs.
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-19
|
||
|
|
||
|
renamed Transport.auth_key to auth_publickey for consistency. and lots more
|
||
|
documentation.
|
||
|
|
||
|
modified files:
|
||
|
README demo.py demo_server.py paramiko/__init__.py
|
||
|
paramiko/auth_transport.py paramiko/transport.py
|
||
|
|
||
|
|
||
|
2003-12-30 22:24:21 GMT Robey Pointer <robey@lag.net> patch-18
|
||
|
|
||
|
Summary:
|
||
|
added public-key support to server mode, more docs
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-18
|
||
|
|
||
|
added public-key support to server mode (it can now verify a client signature)
|
||
|
and added a demo of that to the demo_server.py script (user_rsa_key). in the
|
||
|
process, cleaned up the API of PKey so that now it only has to know about
|
||
|
signing and verifying ssh2 blobs, and can be hashed and compared with other
|
||
|
keys (comparing & hashing only the public parts of the key). keys can also
|
||
|
be created from strings now too.
|
||
|
|
||
|
some more documentation and hiding private methods.
|
||
|
|
||
|
new files:
|
||
|
.arch-ids/user_rsa_key.id .arch-ids/user_rsa_key.pub.id
|
||
|
user_rsa_key user_rsa_key.pub
|
||
|
|
||
|
modified files:
|
||
|
Makefile demo_server.py paramiko/__init__.py
|
||
|
paramiko/auth_transport.py paramiko/dsskey.py
|
||
|
paramiko/kex_gex.py paramiko/kex_group1.py paramiko/pkey.py
|
||
|
paramiko/rsakey.py paramiko/transport.py
|
||
|
|
||
|
|
||
|
2003-12-30 07:18:20 GMT Robey Pointer <robey@lag.net> patch-17
|
||
|
|
||
|
Summary:
|
||
|
lots more documentation, and added Transport.connect()
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-17
|
||
|
|
||
|
renamed demo_host_key to demo_rsa_key. moved changelog to a separate file,
|
||
|
and indicated that future changelog entries should be fetched from tla.
|
||
|
tried to clean up "__all__" in a way that makes epydoc still work.
|
||
|
|
||
|
added lots more documentation, and renamed many methods and vars to hide
|
||
|
them as private non-exported API.
|
||
|
|
||
|
Transport's ModulusPack is now a static member, so it only has to be loaded
|
||
|
once, and can then be used by any future Transport object.
|
||
|
|
||
|
added Transport.connect(), which tries to wrap all the SSH2 negotiation and
|
||
|
authentication into one method. you should be able to create a Transport,
|
||
|
call connect(), and then create channels.
|
||
|
|
||
|
new files:
|
||
|
.arch-ids/ChangeLog.id .arch-ids/demo_simple.py.id ChangeLog
|
||
|
demo_simple.py paramiko/.arch-ids/pkey.py.id paramiko/pkey.py
|
||
|
|
||
|
removed files:
|
||
|
.arch-ids/paramiko.py.id paramiko.py
|
||
|
|
||
|
modified files:
|
||
|
Makefile NOTES README demo.py demo_server.py
|
||
|
paramiko/__init__.py paramiko/auth_transport.py
|
||
|
paramiko/channel.py paramiko/dsskey.py paramiko/kex_gex.py
|
||
|
paramiko/kex_group1.py paramiko/rsakey.py
|
||
|
paramiko/transport.py setup.py {arch}/=tagging-method
|
||
|
|
||
|
renamed files:
|
||
|
.arch-ids/demo_host_key.id
|
||
|
==> .arch-ids/demo_rsa_key.id
|
||
|
demo_host_key
|
||
|
==> demo_rsa_key
|
||
|
|
||
|
|
||
|
2003-12-28 03:20:42 GMT Robey Pointer <robey@lag.net> patch-16
|
||
|
|
||
|
Summary:
|
||
|
hook up server-side kex-gex; add more documentation
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-16
|
||
|
|
||
|
group-exchange kex should work now on the server side. it will only be
|
||
|
advertised if a "moduli" file has been loaded (see the -gasp- docs) so we
|
||
|
don't spend hours (literally. hours.) computing primes. some of the logic
|
||
|
was previously wrong, too, since it had never been tested.
|
||
|
|
||
|
fixed repr() string for Transport/BaseTransport. moved is_authenticated to
|
||
|
Transport where it belongs.
|
||
|
|
||
|
added lots of documentation (but still only about 10% documented). lots of
|
||
|
methods were made private finally.
|
||
|
|
||
|
new files:
|
||
|
paramiko/.arch-ids/primes.py.id paramiko/primes.py
|
||
|
|
||
|
modified files:
|
||
|
NOTES demo.py demo_server.py paramiko/__init__.py
|
||
|
paramiko/auth_transport.py paramiko/channel.py
|
||
|
paramiko/kex_gex.py paramiko/kex_group1.py
|
||
|
paramiko/transport.py paramiko/util.py
|
||
|
|
||
|
|
||
|
2003-12-27 02:03:44 GMT Robey Pointer <robey@lag.net> patch-15
|
||
|
|
||
|
Summary:
|
||
|
fix up new paramiko/ folder.
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-15
|
||
|
|
||
|
moved SSHException to a new file (ssh_exception.py) and turned paramiko.py
|
||
|
into an __init__.py file. i'm still not entirely sure how this normally
|
||
|
works, so i may have done something wrong, but it's supposed to work the
|
||
|
same as before.
|
||
|
|
||
|
new files:
|
||
|
paramiko/.arch-ids/__init__.py.id
|
||
|
paramiko/.arch-ids/ssh_exception.py.id paramiko/__init__.py
|
||
|
paramiko/ssh_exception.py
|
||
|
|
||
|
modified files:
|
||
|
paramiko/auth_transport.py paramiko/channel.py
|
||
|
paramiko/dsskey.py paramiko/kex_gex.py paramiko/kex_group1.py
|
||
|
paramiko/transport.py
|
||
|
|
||
|
|
||
|
2003-12-27 01:49:19 GMT Robey Pointer <robey@lag.net> patch-14
|
||
|
|
||
|
Summary:
|
||
|
move the paramiko files into a paramiko/ folder.
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-14
|
||
|
|
||
|
just moving the files into a folder. it won't build this way yet.
|
||
|
|
||
|
new files:
|
||
|
paramiko/.arch-ids/=id
|
||
|
|
||
|
renamed files:
|
||
|
.arch-ids/auth_transport.py.id
|
||
|
==> paramiko/.arch-ids/auth_transport.py.id
|
||
|
.arch-ids/ber.py.id
|
||
|
==> paramiko/.arch-ids/ber.py.id
|
||
|
.arch-ids/channel.py.id
|
||
|
==> paramiko/.arch-ids/channel.py.id
|
||
|
.arch-ids/dsskey.py.id
|
||
|
==> paramiko/.arch-ids/dsskey.py.id
|
||
|
.arch-ids/kex_gex.py.id
|
||
|
==> paramiko/.arch-ids/kex_gex.py.id
|
||
|
.arch-ids/kex_group1.py.id
|
||
|
==> paramiko/.arch-ids/kex_group1.py.id
|
||
|
.arch-ids/message.py.id
|
||
|
==> paramiko/.arch-ids/message.py.id
|
||
|
.arch-ids/rsakey.py.id
|
||
|
==> paramiko/.arch-ids/rsakey.py.id
|
||
|
.arch-ids/transport.py.id
|
||
|
==> paramiko/.arch-ids/transport.py.id
|
||
|
.arch-ids/util.py.id
|
||
|
==> paramiko/.arch-ids/util.py.id
|
||
|
auth_transport.py
|
||
|
==> paramiko/auth_transport.py
|
||
|
ber.py
|
||
|
==> paramiko/ber.py
|
||
|
channel.py
|
||
|
==> paramiko/channel.py
|
||
|
dsskey.py
|
||
|
==> paramiko/dsskey.py
|
||
|
kex_gex.py
|
||
|
==> paramiko/kex_gex.py
|
||
|
kex_group1.py
|
||
|
==> paramiko/kex_group1.py
|
||
|
message.py
|
||
|
==> paramiko/message.py
|
||
|
rsakey.py
|
||
|
==> paramiko/rsakey.py
|
||
|
transport.py
|
||
|
==> paramiko/transport.py
|
||
|
util.py
|
||
|
==> paramiko/util.py
|
||
|
|
||
|
new directories:
|
||
|
paramiko paramiko/.arch-ids
|
||
|
|
||
|
|
||
|
2003-12-24 22:09:43 GMT Robey Pointer <robey@lag.net> patch-13
|
||
|
|
||
|
Summary:
|
||
|
fix a deadlock/race in handle_eof & close
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-13
|
||
|
|
||
|
(patch from fred gansevles)
|
||
|
add locking around the eof handler and the close() call, so we can't be in
|
||
|
both simultaneously.
|
||
|
|
||
|
modified files:
|
||
|
channel.py
|
||
|
|
||
|
|
||
|
2003-12-24 20:49:38 GMT Robey Pointer <robey@lag.net> patch-12
|
||
|
|
||
|
Summary:
|
||
|
fix dss key signing
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-12
|
||
|
|
||
|
(expanded on a patch from fred gansevles)
|
||
|
add a demo dss key for server mode, and fix some bugs that had caused the dss
|
||
|
signing stuff to never work before. the demo_server is a bit more verbose
|
||
|
now, too. both key types (RSAKey & DSSKey) now have a function to return the
|
||
|
fingerprint of the key, and both versions of read_private_key_file() now raise
|
||
|
exceptions on failure, instead of just silently setting "valid" to false.
|
||
|
|
||
|
new files:
|
||
|
.arch-ids/demo_dss_key.id demo_dss_key
|
||
|
|
||
|
modified files:
|
||
|
demo_server.py dsskey.py kex_gex.py kex_group1.py paramiko.py
|
||
|
rsakey.py transport.py
|
||
|
|
||
|
|
||
|
2003-12-23 06:44:56 GMT Robey Pointer <robey@lag.net> patch-11
|
||
|
|
||
|
Summary:
|
||
|
in server mode, don't offer keys we don't have
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-11
|
||
|
|
||
|
(from Paolo Losi) in server mode, when advertising which key methods we
|
||
|
support, don't list methods that we don't have any existing keys for.
|
||
|
|
||
|
modified files:
|
||
|
transport.py
|
||
|
|
||
|
|
||
|
2003-12-23 06:36:27 GMT Robey Pointer <robey@lag.net> patch-10
|
||
|
|
||
|
Summary:
|
||
|
add logfiles and .pyc files to the "junk" list
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-10
|
||
|
|
||
|
add *.log and *.pyc to the explicit junk list.
|
||
|
|
||
|
modified files:
|
||
|
{arch}/=tagging-method
|
||
|
|
||
|
|
||
|
2003-11-10 08:49:50 GMT Robey Pointer <robey@lag.net> patch-9
|
||
|
|
||
|
Summary:
|
||
|
rename secsh -> paramiko
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-9
|
||
|
|
||
|
also, rename SecshException back to SSHException. sigh. :)
|
||
|
|
||
|
modified files:
|
||
|
./MANIFEST ./Makefile ./NOTES ./README ./auth_transport.py
|
||
|
./channel.py ./demo.py ./demo_server.py ./kex_gex.py
|
||
|
./kex_group1.py ./message.py ./paramiko.py ./setup.py
|
||
|
./transport.py
|
||
|
|
||
|
renamed files:
|
||
|
./.arch-ids/secsh.py.id
|
||
|
==> ./.arch-ids/paramiko.py.id
|
||
|
./secsh.py
|
||
|
==> ./paramiko.py
|
||
|
|
||
|
|
||
|
2003-11-10 06:52:35 GMT Robey Pointer <robey@lag.net> patch-8
|
||
|
|
||
|
Summary:
|
||
|
doc changes
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-8
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
./README ./demo_server.py ./secsh.py
|
||
|
|
||
|
|
||
|
2003-11-10 04:54:02 GMT Robey Pointer <robey@lag.net> patch-7
|
||
|
|
||
|
Summary:
|
||
|
cleaned up server code, renamed some files & classes
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-7
|
||
|
|
||
|
renamed demo-server.py and demo-host-key to demo_server.py and
|
||
|
demo_host_key, just to be consistent.
|
||
|
|
||
|
renamed SSHException -> SecshException.
|
||
|
|
||
|
generalized the mechanism where Channel decides whether to allow
|
||
|
different channel requests: 4 of the main ones (pty, window-change,
|
||
|
shell, and subsystem) go through easily override-able methods now.
|
||
|
you could probably make an actual ssh shell server.
|
||
|
|
||
|
gave ChannelFile a repr().
|
||
|
|
||
|
turned off ultra debugging in the demos. demo_server creates a
|
||
|
subclass of Channel to allow pty/shell and sets an event when the
|
||
|
shell request is made, so that it knows when it can start sending
|
||
|
the fake bbs.
|
||
|
|
||
|
renamed to charmander and updated some of the distutils files.
|
||
|
|
||
|
modified files:
|
||
|
./MANIFEST ./NOTES ./auth_transport.py ./channel.py ./demo.py
|
||
|
./demo_server.py ./kex_gex.py ./kex_group1.py ./secsh.py
|
||
|
./setup.py ./transport.py
|
||
|
|
||
|
renamed files:
|
||
|
./.arch-ids/demo-host-key.id
|
||
|
==> ./.arch-ids/demo_host_key.id
|
||
|
./.arch-ids/demo-server.py.id
|
||
|
==> ./.arch-ids/demo_server.py.id
|
||
|
./demo-host-key
|
||
|
==> ./demo_host_key
|
||
|
./demo-server.py
|
||
|
==> ./demo_server.py
|
||
|
|
||
|
|
||
|
2003-11-09 21:16:35 GMT Robey Pointer <robey@lag.net> patch-6
|
||
|
|
||
|
Summary:
|
||
|
notes about the exported api
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-6
|
||
|
|
||
|
just wrote some quick notes (for a few of the classes) about which
|
||
|
methods are intended to be the exported API. python has no decent
|
||
|
way of distinguishing private vs public.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
./NOTES
|
||
|
|
||
|
|
||
|
2003-11-09 21:14:21 GMT Robey Pointer <robey@lag.net> patch-5
|
||
|
|
||
|
Summary:
|
||
|
big chunk of work which makes server code 95% done
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-5
|
||
|
|
||
|
fixed auth check methods to return just a result (failed, succeeded,
|
||
|
partially succeeded) and always use get_allowed_auths to determine the
|
||
|
list of allowed auth methods to return.
|
||
|
|
||
|
channel's internal API changed a bit to allow for client-side vs.
|
||
|
server-side channels. we now honor the "want-reply" bit from channel
|
||
|
requests. in server mode (for now), we automatically allow pty-req
|
||
|
and shell requests without doing anything.
|
||
|
|
||
|
ChannelFile was fixed up a bit to support universal newlines. readline
|
||
|
got rewritten: the old way used the "greedy" read call from ChannelFile,
|
||
|
which won't work if the socket doesn't have that much data buffered and
|
||
|
ready. now it uses recv directly, and tracks the different newlines.
|
||
|
|
||
|
demo-server.py now answers to a single shell request (like a CLI ssh
|
||
|
tool will make) and does a very simple demo pretending to be a BBS.
|
||
|
|
||
|
transport: fixed a bug with parsing the remote side's banner. channel
|
||
|
requests are passed to another method in server mode, to determine if
|
||
|
we should allow it. new allowed channels are added to an accept queue,
|
||
|
and a new method 'accept' (with timeout) will block until the next
|
||
|
incoming channel is ready.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
./auth_transport.py ./channel.py ./demo-server.py ./demo.py
|
||
|
./transport.py
|
||
|
|
||
|
|
||
|
2003-11-09 20:59:51 GMT Robey Pointer <robey@lag.net> patch-4
|
||
|
|
||
|
Summary:
|
||
|
change kex-gex server code to generate primes by hand
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-4
|
||
|
|
||
|
added a util function "generate_prime" to compare to the incredibly slow C
|
||
|
version, but it's no faster of course. i think kex-gex from the server is
|
||
|
just not going to be feasible without having a separate thread generate some
|
||
|
primes in the background to have handy when a request comes in. so in short,
|
||
|
this still doesn't work.
|
||
|
|
||
|
also i put bit_length into util and a tb_strings function which gets stack
|
||
|
traceback info and splits it into a list of strings.
|
||
|
|
||
|
|
||
|
modified files:
|
||
|
./kex_gex.py ./util.py
|
||
|
|
||
|
|
||
|
2003-11-07 10:36:42 GMT Robey Pointer <robey@lag.net> patch-3
|
||
|
|
||
|
Summary:
|
||
|
remove some leftover garbage from dsskey
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-3
|
||
|
|
||
|
leftover from a cut & paste i was doing a few days ago. bad robey.
|
||
|
|
||
|
modified files:
|
||
|
./dsskey.py
|
||
|
|
||
|
|
||
|
2003-11-06 07:34:27 GMT Robey Pointer <robey@lag.net> patch-2
|
||
|
|
||
|
Summary:
|
||
|
add a demo host key and point demo-server at it.
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-2
|
||
|
|
||
|
also, temporarily comment out the nonfunctional kex-gex method.
|
||
|
|
||
|
new files:
|
||
|
./.arch-ids/demo-host-key.id ./demo-host-key
|
||
|
|
||
|
modified files:
|
||
|
./demo-server.py ./transport.py
|
||
|
|
||
|
|
||
|
2003-11-04 08:50:22 GMT Robey Pointer <robey@lag.net> patch-1
|
||
|
|
||
|
Summary:
|
||
|
no changes
|
||
|
Revision:
|
||
|
secsh--dev--1.0--patch-1
|
||
|
|
||
|
why aren't my log messages kept?
|
||
|
|
||
|
modified files:
|
||
|
./kex_gex.py
|
||
|
|
||
|
new patches:
|
||
|
robey@lag.net--2003/secsh--dev--1.0--patch-1
|
||
|
|
||
|
|
||
|
2003-11-04 08:34:24 GMT Robey Pointer <robey@lag.net> base-0
|
||
|
|
||
|
Summary:
|
||
|
initial import
|
||
|
Revision:
|
||
|
secsh--dev--1.0--base-0
|
||
|
|
||
|
|
||
|
(automatically generated log message)
|
||
|
|
||
|
new files:
|
||
|
./LICENSE ./MANIFEST ./Makefile ./NOTES ./README
|
||
|
./auth_transport.py ./ber.py ./channel.py ./demo-server.py
|
||
|
./demo.py ./dsskey.py ./kex_gex.py ./kex_group1.py
|
||
|
./message.py ./rsakey.py ./secsh.py ./setup.py ./transport.py
|
||
|
./util.py
|
||
|
|
||
|
new patches:
|
||
|
robey@lag.net--2003/secsh--dev--1.0--base-0
|
||
|
|
||
|
|