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.
(2, r"Non-UTF-8 sequence from admin: b'say argle\\xffbargle'.*> ", ""),
)
(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"),
test_admin_restriction = (
(0, "> ", "help halt"),
(0, r"That is not an available command\.", "halt"),
(test_account1_teardown, "second account teardown"),
(test_admin_setup, "admin account setup"),
(test_telnet_iac, "escape stray telnet iac bytes"),
(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"),
(test_admin_restriction, "restricted admin commands"),
(test_admin_help, "admin help"),
(test_reload, "reload"),