summaryrefslogtreecommitdiffhomepage
path: root/README
diff options
context:
space:
mode:
authorRobey Pointer <robey@lag.net>2005-03-26 05:53:00 +0000
committerRobey Pointer <robey@lag.net>2005-03-26 05:53:00 +0000
commit5d8d1938fa6aa58a1b27730d8bcac8db963f4595 (patch)
tree4013ff87d56690524fa24e00415581658587cee8 /README
parent3e5bd84cc58fc6db485c5a188ac0ef90280b2804 (diff)
[project @ Arch-1:robey@lag.net--2003-public%secsh--dev--1.0--patch-156]
rewrite channel pipes to work on windows 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.
Diffstat (limited to 'README')
-rw-r--r--README27
1 files changed, 6 insertions, 21 deletions
diff --git a/README b/README
index 526ffe43..8ff90bbc 100644
--- a/README
+++ b/README
@@ -47,17 +47,10 @@ also think it will work on Windows, though i've never tested it there. if
you run into Windows problems, send me a patch: portability is important
to me.
-the Channel object supports a "fileno()" call so that it can be passed
-into select or poll, for polling on posix. once you call "fileno()" on a
-Channel, it changes behavior in some fundamental ways, and these ways
-require posix. so don't call "fileno()" on a Channel on Windows. this is
-detailed in the documentation for the "fileno" method.
-
python 2.2 may work, thanks to some patches from Roger Binns. things to
watch out for:
* sockets in 2.2 don't support timeouts, so the 'select' module is
- imported to do polling. this may not work on windows. (works fine on
- osx.)
+ imported to do polling.
* logging is mostly stubbed out. it works just enough to let paramiko
create log files for debugging, if you want them. to get real logging,
you can backport python 2.3's logging package. Roger has done that
@@ -102,32 +95,23 @@ connection is not secure!)
the following example scripts get progressively more detailed:
-demo_windows.py
- executes 'ls' on any remote server, loading the host key from your
- openssh key file. (this script works on windows because it avoids
- using terminal i/o or the 'select' module.) it also creates a logfile
- 'demo_windows.log'.
-
demo_simple.py
calls invoke_shell() and emulates a terminal/tty through which you can
execute commands interactively on a remote server. think of it as a
- poor man's ssh command-line client. (works only on posix [unix or
- macosx].)
+ poor man's ssh command-line client.
demo.py
same as demo_simple.py, but allows you to authenticiate using a
- private key, and uses the long form of some of the API calls. (posix
- only.)
+ private key, and uses the long form of some of the API calls.
forward.py
command-line script to set up port-forwarding across an ssh transport.
- (requires python 2.3 and posix.)
+ (requires python 2.3.)
demo_server.py
an ssh server that listens on port 2200 and accepts a login for
'robey' (password 'foo'), and pretends to be a BBS. meant to be a
- very simple demo of writing an ssh server. (should work on all
- platforms.)
+ very simple demo of writing an ssh server.
*** USE
@@ -235,3 +219,4 @@ v0.9 FEAROW
* ctr forms of ciphers are missing (blowfish-ctr, aes128-ctr, aes256-ctr)
* server mode needs better documentation
+* why are big files so slow to transfer? profiling needed...