Skip to content

Commit 38fcc4a

Browse files
gpotter2guedou
authored andcommitted
Remove small duplication
1 parent 63d2f76 commit 38fcc4a

File tree

1 file changed

+22
-32
lines changed

1 file changed

+22
-32
lines changed

scapy/layers/tls/handshake.py

Lines changed: 22 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -469,25 +469,30 @@ def tls_session_update(self, msg_str):
469469
tls_version=self.version)
470470

471471

472+
_tls_13_server_hello_fields = [
473+
ByteEnumField("msgtype", 2, _tls_handshake_type),
474+
ThreeBytesField("msglen", None),
475+
_TLSVersionField("version", 0x0303, _tls_version),
476+
_TLSRandomBytesField("random_bytes", None, 32),
477+
FieldLenField("sidlen", None, length_of="sid", fmt="B"),
478+
_SessionIDField("sid", "",
479+
length_from=lambda pkt: pkt.sidlen),
480+
EnumField("cipher", None, _tls_cipher_suites),
481+
_CompressionMethodsField("comp", [0],
482+
_tls_compression_algs,
483+
itemfmt="B",
484+
length_from=lambda pkt: 1),
485+
_ExtensionsLenField("extlen", None, length_of="ext"),
486+
_ExtensionsField("ext", None,
487+
length_from=lambda pkt: (pkt.msglen -
488+
38))
489+
]
490+
491+
472492
class TLS13ServerHello(_TLSHandshake):
473493
""" TLS 1.3 ServerHello """
474494
name = "TLS 1.3 Handshake - Server Hello"
475-
fields_desc = [ByteEnumField("msgtype", 2, _tls_handshake_type),
476-
ThreeBytesField("msglen", None),
477-
_TLSVersionField("version", 0x0303, _tls_version),
478-
_TLSRandomBytesField("random_bytes", None, 32),
479-
FieldLenField("sidlen", None, length_of="sid", fmt="B"),
480-
_SessionIDField("sid", "",
481-
length_from=lambda pkt: pkt.sidlen),
482-
EnumField("cipher", None, _tls_cipher_suites),
483-
_CompressionMethodsField("comp", [0],
484-
_tls_compression_algs,
485-
itemfmt="B",
486-
length_from=lambda pkt: 1),
487-
_ExtensionsLenField("extlen", None, length_of="ext"),
488-
_ExtensionsField("ext", None,
489-
length_from=lambda pkt: (pkt.msglen -
490-
38))]
495+
fields_desc = _tls_13_server_hello_fields
491496

492497
def post_build(self, p, pay):
493498
if self.random_bytes is None:
@@ -554,22 +559,7 @@ def tls_session_update(self, msg_str):
554559
class TLS13HelloRetryRequest(_TLSHandshake):
555560
name = "TLS 1.3 Handshake - Hello Retry Request"
556561

557-
fields_desc = [ByteEnumField("msgtype", 2, _tls_handshake_type),
558-
ThreeBytesField("msglen", None),
559-
_TLSVersionField("version", 0x0303, _tls_version),
560-
_TLSRandomBytesField("random_bytes", None, 32),
561-
FieldLenField("sidlen", None, length_of="sid", fmt="B"),
562-
_SessionIDField("sid", "",
563-
length_from=lambda pkt: pkt.sidlen),
564-
EnumField("cipher", None, _tls_cipher_suites),
565-
_CompressionMethodsField("comp", [0],
566-
_tls_compression_algs,
567-
itemfmt="B",
568-
length_from=lambda pkt: 1),
569-
_ExtensionsLenField("extlen", None, length_of="ext"),
570-
_ExtensionsField("ext", None,
571-
length_from=lambda pkt: (pkt.msglen -
572-
38))]
562+
fields_desc = _tls_13_server_hello_fields
573563

574564

575565
###############################################################################

0 commit comments

Comments
 (0)