--- telnetlib.py 2009-02-12 19:45:39.000000000 -0500 +++ telnetlib.py.new 2009-02-12 19:44:41.000000000 -0500 @@ -421,26 +421,27 @@ buf = [b'', b''] try: while self.rawq: - c = self.rawq_getchar() + char = self.rawq_getchar() + c = char[0] if not self.iacseq: if c == theNULL: continue - if c == b"\021": + if c == b"\021"[0]: continue if c != IAC: - buf[self.sb] = buf[self.sb] + c + buf[self.sb] = buf[self.sb] + char continue else: - self.iacseq += c + self.iacseq += char elif len(self.iacseq) == 1: # 'IAC: IAC CMD [OPTION only for WILL/WONT/DO/DONT]' if c in (DO, DONT, WILL, WONT): - self.iacseq += c + self.iacseq += char continue self.iacseq = b'' if c == IAC: - buf[self.sb] = buf[self.sb] + c + buf[self.sb] = buf[self.sb] + char else: if c == SB: # SB ... SE start. self.sb = 1