X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=sql-edition%2Fservers%2FLATClient.py;h=12cc47ceef5f64c9650dc6bf985ef0dab849e44f;hb=40e17947a5da57fefc76768a23f55a9b9aed6e92;hp=f1a9ca0cbcc18a59644d72b95e75400068c4dc2a;hpb=f72d11b6eee9031792be32ecd92764e2bbb8db83;p=uccvend-vendserver.git diff --git a/sql-edition/servers/LATClient.py b/sql-edition/servers/LATClient.py index f1a9ca0..12cc47c 100644 --- a/sql-edition/servers/LATClient.py +++ b/sql-edition/servers/LATClient.py @@ -28,9 +28,14 @@ def write_expecting_echo(rfh, wfh, message): while len(message) > 0: wfh.write(message[0]) wfh.flush() - echo = rfh.read(1) - if echo != message[0]: - print "Gah, expected echo when writing", message[0] + if message[0] == '\n': + echo = rfh.read(2) + expected_echo = '\r\n' + else: + echo = rfh.read(1) + expected_echo = message[0] + if echo != expected_echo: + print "Gah, expected echo when writing", repr(message[0]), "but got", repr(echo) message = message[1:] print " --> Sent and echoed." @@ -93,9 +98,10 @@ class LATClient: self.sock.shutdown(2) self.sock.close() mopw, mopr = popen4('/usr/sbin/moprc '+self.server_name) - write_expecting_echo(mopr, mopw, '\n') read_for_a_bit(mopr) - write_expecting_echo(mopr, mopw, self.connect_password+'\n') + mopw.write('\n') + read_for_a_bit(mopr) + mopw.write(self.connect_password+'\n') read_for_a_bit(mopr) write_expecting_echo(mopr, mopw, 'grim reaper\n') read_for_a_bit(mopr)