From 8be85027f04f082713c47539d0831e8c3296114b Mon Sep 17 00:00:00 2001 From: Dimitur Kirov Date: Sat, 10 Sep 2005 13:43:43 +0000 Subject: [PATCH] read nl after auth (if sender is 0.8.2) --- src/common/socks5.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/common/socks5.py b/src/common/socks5.py index 522c0691a..acd466b87 100644 --- a/src/common/socks5.py +++ b/src/common/socks5.py @@ -452,7 +452,7 @@ class Socks5: self.file_props['last-time'] self.file_props['last-time'] = current_time self.file_props['received-len'] = self.size - if self.size == int(self.file_props['size']): + if self.size >= int(self.file_props['size']): self.state = 8 # end connection self.file_props['error'] = 0 self.close_file() @@ -512,6 +512,12 @@ class Socks5: except Exception, e: buff = '' first_byte = False + if self.file_props['received-len'] == 0: + if len(buff) > 0: + # delimiter between auth and data + if ord(buff[0]) == 0xD: + first_byte = True + buff = buff[1:] current_time = time.time() self.file_props['elapsed-time'] += current_time - \ self.file_props['last-time'] @@ -531,7 +537,7 @@ class Socks5: self.disconnect(False) self.file_props['error'] = -1 return 0 - if self.file_props['received-len'] == int(self.file_props['size']): + if self.file_props['received-len'] >= int(self.file_props['size']): # transfer completed self.rem_fd(fd) self.disconnect()