From 3a3f2bfe9e46f01c1328e38291e84974bcf85679 Mon Sep 17 00:00:00 2001 From: Griatch Date: Mon, 29 Jan 2018 20:03:54 +0100 Subject: [PATCH] Further refactor when an extra endline is added with the FORCEDENDLINE option --- evennia/server/portal/telnet.py | 8 +++----- evennia/server/portal/ttype.py | 1 + 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/evennia/server/portal/telnet.py b/evennia/server/portal/telnet.py index 17044ae110..558475cd34 100644 --- a/evennia/server/portal/telnet.py +++ b/evennia/server/portal/telnet.py @@ -234,12 +234,10 @@ class TelnetProtocol(Telnet, StatefulTelnetProtocol, Session): # escape IAC in line mode, and correctly add \r\n (the TELNET end-of-line) line = line.replace(IAC, IAC + IAC) line = line.replace('\n', '\r\n') - if not self.protocol_flags.get("NOGOAHEAD", True): - if self.protocol_flags.get("FORCEDENDLINE", False): - line += "\r\n" - line += IAC + GA - elif not line.endswith("\r\n"): + if not line.endswith("\r\n") and self.protocol_flags.get("FORCEDENDLINE", True): line += "\r\n" + if not self.protocol_flags.get("NOGOAHEAD", True): + line += IAC + GA return self.transport.write(mccp_compress(self, line)) # Session hooks diff --git a/evennia/server/portal/ttype.py b/evennia/server/portal/ttype.py index 3102762edf..45a60d625b 100644 --- a/evennia/server/portal/ttype.py +++ b/evennia/server/portal/ttype.py @@ -113,6 +113,7 @@ class Ttype(object): # only support after a certain version, but all support # it since at least 4 years. We assume recent client here for now. cupper = clientname.upper() + xterm256 = False if cupper.startswith("MUDLET"): # supports xterm256 stably since 1.1 (2010?) xterm256 = cupper.split("MUDLET", 1)[1].strip() >= "1.1"