diff --git a/client.py b/client.py index 0ff5f2b..449a75a 100644 --- a/client.py +++ b/client.py @@ -198,7 +198,14 @@ def _main(listener, fw, ssh_cmd, remotename, python, latency_control, handlers.append(mux) expected = 'SSHUTTLE0001' + try: + v = 'x' + while v and v != '\0': + v = serversock.recv(1) + v = 'x' + while v and v != '\0': + v = serversock.recv(1) initstring = serversock.recv(len(expected)) except socket.error, e: if e.args[0] == errno.ECONNRESET: diff --git a/server.py b/server.py index c62c8b5..e1b327d 100644 --- a/server.py +++ b/server.py @@ -173,7 +173,7 @@ def main(): debug1(' %s/%d\n' % r) # synchronization header - sys.stdout.write('SSHUTTLE0001') + sys.stdout.write('\0\0SSHUTTLE0001') sys.stdout.flush() handlers = []