X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=pdm%2Fsshsock.py;h=dd53e6aaf6b98cbd2f678cbc7c15ab03469cb330;hb=1a8ebe554dad381da2df0200b50a9c9f676d84c2;hp=44fd1136f7f0d54ff76569669cc2f4eac08c3dc0;hpb=34a3ccd619725d341dc7befa245e9c18ee88f945;p=pdm.git diff --git a/pdm/sshsock.py b/pdm/sshsock.py index 44fd113..dd53e6a 100644 --- a/pdm/sshsock.py +++ b/pdm/sshsock.py @@ -17,6 +17,14 @@ class sshsocket(object): raise socket.error("unexpected reply from %s: %r" % (host, head)) head = self.recv(1) if head == "+": + buf = "" + while True: + r = self.recv(1) + if r == "": + raise socket.error("unexpected EOF in SSH socket stream") + elif r == "\n": + break + buf += r return elif head == "-": buf = "" @@ -59,8 +67,10 @@ def cli(): sk.connect(sys.argv[1]) except socket.error as err: sys.stdout.write("SSOCK-connect: %s\n" % err) + sys.stdout.flush() return sys.stdout.write("SSOCK+\n") + sys.stdout.flush() buf1 = "" buf2 = "" while True: