tempesta-tech / tempesta-test

Test suite for Tempesta FW
11 stars 4 forks source link

tls_tests blinking #279

Closed pale-emperor closed 2 years ago

pale-emperor commented 2 years ago

Every test based on scapy_tls may fail with same error:

ERROR: test_many_ciphers (tls.test_tls_handshake.TlsHandshakeTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/wh1te/tempesta-test/helpers/dmesg.py", line 130, in func_wrapper
    return func(*args, **kwargs)
  File "/home/wh1te/tempesta-test/tls/test_tls_handshake.py", line 93, in test_many_ciphers
    res = hs12.do_12()
  File "/home/wh1te/tempesta-test/tls/handshake.py", line 430, in do_12
    if not self._do_12_hs(fuzzer):
  File "/home/wh1te/tempesta-test/tls/handshake.py", line 336, in _do_12_hs
    resp = self.send_recv(msg1)
  File "/home/wh1te/tempesta-test/tls/handshake.py", line 188, in send_recv
    resp = self.sock.recvall(timeout=self.io_to)
  File "/home/wh1te/tempesta-test/tls/scapy_ssl_tls/ssl_tls.py", line 1304, in recvall
    records = TLS(b"".join(resp), ctx=self.tls_ctx, _origin=self._get_pkt_origin('in'))
  File "/usr/local/lib/python3.8/dist-packages/scapy/base_classes.py", line 389, in __call__
    i.__init__(*args, **kargs)
  File "/home/wh1te/tempesta-test/tls/scapy_ssl_tls/ssl_tls.py", line 1338, in __init__
    Packet.__init__(self, *args, **fields)
  File "/usr/local/lib/python3.8/dist-packages/scapy/packet.py", line 159, in __init__
    self.dissect(_pkt)
  File "/usr/local/lib/python3.8/dist-packages/scapy/packet.py", line 994, in dissect
    s = self.do_dissect(s)
  File "/home/wh1te/tempesta-test/tls/scapy_ssl_tls/ssl_tls.py", line 1370, in do_dissect
    self.tls_ctx.insert(payload, origin=self._origin)
  File "/home/wh1te/tempesta-test/tls/scapy_ssl_tls/ssl_tls_crypto.py", line 215, in insert
    self._process(pkt, origin=origin)
  File "/home/wh1te/tempesta-test/tls/scapy_ssl_tls/ssl_tls_crypto.py", line 521, in _process
    self.__handle_server_hello(pkt[tls.TLSServerHello])
  File "/home/wh1te/tempesta-test/tls/scapy_ssl_tls/ssl_tls_crypto.py", line 335, in __handle_server_hello
    self.__handle_tls13_server_hello(server_hello)
  File "/home/wh1te/tempesta-test/tls/scapy_ssl_tls/ssl_tls_crypto.py", line 315, in __handle_tls13_server_hello
    raise tls.TLSProtocolError("TLS 1.3 server hello without KeyShare extension")
tls.scapy_ssl_tls.ssl_tls.TLSProtocolError: TLS 1.3 server hello without KeyShare extension

ERROR: test_invalid_ticket (tls.test_tls_tickets.TlsTicketTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/wh1te/tempesta-test/tls/test_tls_tickets.py", line 116, in test_invalid_ticket
    res = hs.do_12()
  File "/home/wh1te/tempesta-test/tls/handshake.py", line 430, in do_12
    if not self._do_12_hs(fuzzer):
  File "/home/wh1te/tempesta-test/tls/handshake.py", line 336, in _do_12_hs
    resp = self.send_recv(msg1)
  File "/home/wh1te/tempesta-test/tls/handshake.py", line 188, in send_recv
    resp = self.sock.recvall(timeout=self.io_to)
  File "/home/wh1te/tempesta-test/tls/scapy_ssl_tls/ssl_tls.py", line 1304, in recvall
    records = TLS(b"".join(resp), ctx=self.tls_ctx, _origin=self._get_pkt_origin('in'))
  File "/usr/local/lib/python3.8/dist-packages/scapy/base_classes.py", line 389, in __call__
    i.__init__(*args, **kargs)
  File "/home/wh1te/tempesta-test/tls/scapy_ssl_tls/ssl_tls.py", line 1338, in __init__
    Packet.__init__(self, *args, **fields)
  File "/usr/local/lib/python3.8/dist-packages/scapy/packet.py", line 159, in __init__
    self.dissect(_pkt)
  File "/usr/local/lib/python3.8/dist-packages/scapy/packet.py", line 994, in dissect
    s = self.do_dissect(s)
  File "/home/wh1te/tempesta-test/tls/scapy_ssl_tls/ssl_tls.py", line 1370, in do_dissect
    self.tls_ctx.insert(payload, origin=self._origin)
  File "/home/wh1te/tempesta-test/tls/scapy_ssl_tls/ssl_tls_crypto.py", line 215, in insert
    self._process(pkt, origin=origin)
  File "/home/wh1te/tempesta-test/tls/scapy_ssl_tls/ssl_tls_crypto.py", line 521, in _process
    self.__handle_server_hello(pkt[tls.TLSServerHello])
  File "/home/wh1te/tempesta-test/tls/scapy_ssl_tls/ssl_tls_crypto.py", line 335, in __handle_server_hello
    self.__handle_tls13_server_hello(server_hello)
  File "/home/wh1te/tempesta-test/tls/scapy_ssl_tls/ssl_tls_crypto.py", line 315, in __handle_tls13_server_hello
    raise tls.TLSProtocolError("TLS 1.3 server hello without KeyShare extension")
tls.scapy_ssl_tls.ssl_tls.TLSProtocolError: TLS 1.3 server hello without KeyShare extension

ERROR: test_vhost_sni (tls.test_tls_handshake.TlsVhostHandshakeTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/wh1te/tempesta-test/tls/test_tls_handshake.py", line 418, in test_vhost_sni
    res = vhs.do_12()
  File "/home/wh1te/tempesta-test/tls/handshake.py", line 430, in do_12
    if not self._do_12_hs(fuzzer):
  File "/home/wh1te/tempesta-test/tls/handshake.py", line 336, in _do_12_hs
    resp = self.send_recv(msg1)
  File "/home/wh1te/tempesta-test/tls/handshake.py", line 188, in send_recv
    resp = self.sock.recvall(timeout=self.io_to)
  File "/home/wh1te/tempesta-test/tls/scapy_ssl_tls/ssl_tls.py", line 1304, in recvall
    records = TLS(b"".join(resp), ctx=self.tls_ctx, _origin=self._get_pkt_origin('in'))
  File "/usr/local/lib/python3.8/dist-packages/scapy/base_classes.py", line 389, in __call__
    i.__init__(*args, **kargs)
  File "/home/wh1te/tempesta-test/tls/scapy_ssl_tls/ssl_tls.py", line 1338, in __init__
    Packet.__init__(self, *args, **fields)
  File "/usr/local/lib/python3.8/dist-packages/scapy/packet.py", line 159, in __init__
    self.dissect(_pkt)
  File "/usr/local/lib/python3.8/dist-packages/scapy/packet.py", line 994, in dissect
    s = self.do_dissect(s)
  File "/home/wh1te/tempesta-test/tls/scapy_ssl_tls/ssl_tls.py", line 1370, in do_dissect
    self.tls_ctx.insert(payload, origin=self._origin)
  File "/home/wh1te/tempesta-test/tls/scapy_ssl_tls/ssl_tls_crypto.py", line 215, in insert
    self._process(pkt, origin=origin)
  File "/home/wh1te/tempesta-test/tls/scapy_ssl_tls/ssl_tls_crypto.py", line 521, in _process
    self.__handle_server_hello(pkt[tls.TLSServerHello])
  File "/home/wh1te/tempesta-test/tls/scapy_ssl_tls/ssl_tls_crypto.py", line 335, in __handle_server_hello
    self.__handle_tls13_server_hello(server_hello)
  File "/home/wh1te/tempesta-test/tls/scapy_ssl_tls/ssl_tls_crypto.py", line 315, in __handle_tls13_server_hello
    raise tls.TLSProtocolError("TLS 1.3 server hello without KeyShare extension")
tls.scapy_ssl_tls.ssl_tls.TLSProtocolError: TLS 1.3 server hello without KeyShare extension
pale-emperor commented 2 years ago

Duplicate of issue #154