From: Jeremy Stanley Date: Sun, 21 Jan 2018 23:41:46 +0000 (+0000) Subject: Test that unknown telnet commands are filtered X-Git-Tag: 0.0.1~107 X-Git-Url: https://mudpy.org/gitweb?p=mudpy.git;a=commitdiff_plain;h=e2a2b1f951c450bcf5a993b73dc6f31f5ef2434a Test that unknown telnet commands are filtered Using the recently added support for injecting raw bytes into the client socket in self tests, send a made-up IAC sequence which the server won't recognize as a valid telnet command and make sure that it gets properly logged and filtered out of the input sequence while preserving the remaining input. --- diff --git a/mudpy/tests/selftest.py b/mudpy/tests/selftest.py index 766f01d..06cdbab 100644 --- a/mudpy/tests/selftest.py +++ b/mudpy/tests/selftest.py @@ -151,6 +151,13 @@ test_telnet_iac = ( (2, r"Non-UTF-8 sequence from admin: b'say argle\\xffbargle'.*> ", ""), ) +test_telnet_unknown = ( + # Send an unsupported negotiation command #127 which should get filtered + # from the line of input + (2, "> ", b"say glop\xff\x7fglyf\r\n"), + (2, r'Unknown Telnet IAC command 127 ignored\..*"Glopglyf\.".*> ', ""), +) + test_admin_restriction = ( (0, "> ", "help halt"), (0, r"That is not an available command\.", "halt"), @@ -250,6 +257,7 @@ dialogue = ( (test_account1_teardown, "second account teardown"), (test_admin_setup, "admin account setup"), (test_telnet_iac, "escape stray telnet iac bytes"), + (test_telnet_unknown, "strip unknown telnet command"), (test_admin_restriction, "restricted admin commands"), (test_admin_help, "admin help"), (test_reload, "reload"),