From 57c5fa5702d0a9bfe2612961e4d4359a0f399f91 Mon Sep 17 00:00:00 2001 From: Evgeny Vereshchagin Date: Tue, 19 Sep 2023 15:43:09 +0000 Subject: [PATCH] [SSLv2] s/debug_dissect/debug_dissector/ to prevent do_dissect_payload from failing with ``` File "scapy/scapy/layers/tls/record_sslv2.py", line 177, in do_dissect_payload if conf.debug_dissect: ^^^^^^^^^^^^^^^^^^ File "scapy/scapy/config.py", line 950, in __getattribute__ return object.__getattribute__(self, attr) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'Conf' object has no attribute 'debug_dissect' ``` The test is added to exercise the Exception clause. --- scapy/layers/tls/record_sslv2.py | 2 +- test/scapy/layers/tls/sslv2.uts | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/scapy/layers/tls/record_sslv2.py b/scapy/layers/tls/record_sslv2.py index 8d311faaadc..8e99a3522b2 100644 --- a/scapy/layers/tls/record_sslv2.py +++ b/scapy/layers/tls/record_sslv2.py @@ -174,7 +174,7 @@ def do_dissect_payload(self, s): except KeyboardInterrupt: raise except Exception: - if conf.debug_dissect: + if conf.debug_dissector: raise p = conf.raw_layer(s, _internal=1, _underlayer=self) self.add_payload(p) diff --git a/test/scapy/layers/tls/sslv2.uts b/test/scapy/layers/tls/sslv2.uts index aeab19ba0aa..c523e8153ec 100644 --- a/test/scapy/layers/tls/sslv2.uts +++ b/test/scapy/layers/tls/sslv2.uts @@ -273,6 +273,11 @@ assert isinstance(s.wcs.ciphersuite, SSL_CK_DES_192_EDE3_CBC_WITH_MD5) s.rcs.cipher.iv == b'\x01'*8 s.wcs.cipher.iv == b'\x01'*8 += Dissect invalid payload +p = SSLv2() +with no_debug_dissector(): + p.do_dissect_payload(b'\x00') + assert raw(p.payload) == b'\x00' ############################################################################### ############################ Automaton behaviour ##############################