mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2024-11-25 08:48:31 -05:00
tests: Fix eap_fast_tlv_nak_oom and eap_fast_proto_phase2
Something broke eap_fast_tlv_nak_oom when moving from Ubuntu 14.04 to 16.04. OpenSSL.SSL.Connection() state_string() returns None in these cases and the debug log prints for that were causing the case to fail. For now, work around this by checking whether the state string is None before trying to print it. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
fabce22df6
commit
6219943d57
@ -8037,31 +8037,43 @@ def run_eap_fast_phase2(dev, test_payload, test_failure=True):
|
|||||||
ctx['sslctx'].set_cipher_list("ADH-AES128-SHA")
|
ctx['sslctx'].set_cipher_list("ADH-AES128-SHA")
|
||||||
ctx['conn'] = OpenSSL.SSL.Connection(ctx['sslctx'], None)
|
ctx['conn'] = OpenSSL.SSL.Connection(ctx['sslctx'], None)
|
||||||
ctx['conn'].set_accept_state()
|
ctx['conn'].set_accept_state()
|
||||||
logger.info("State: " + ctx['conn'].state_string())
|
state = ctx['conn'].state_string()
|
||||||
|
if state:
|
||||||
|
logger.info("State: " + state)
|
||||||
ctx['conn'].bio_write(payload)
|
ctx['conn'].bio_write(payload)
|
||||||
try:
|
try:
|
||||||
ctx['conn'].do_handshake()
|
ctx['conn'].do_handshake()
|
||||||
except OpenSSL.SSL.WantReadError:
|
except OpenSSL.SSL.WantReadError:
|
||||||
pass
|
pass
|
||||||
logger.info("State: " + ctx['conn'].state_string())
|
state = ctx['conn'].state_string()
|
||||||
|
if state:
|
||||||
|
logger.info("State: " + state)
|
||||||
data = ctx['conn'].bio_read(4096)
|
data = ctx['conn'].bio_read(4096)
|
||||||
logger.info("State: " + ctx['conn'].state_string())
|
state = ctx['conn'].state_string()
|
||||||
|
if state:
|
||||||
|
logger.info("State: " + state)
|
||||||
return struct.pack(">BBHBB", EAP_CODE_REQUEST, ctx['id'],
|
return struct.pack(">BBHBB", EAP_CODE_REQUEST, ctx['id'],
|
||||||
4 + 1 + 1 + len(data),
|
4 + 1 + 1 + len(data),
|
||||||
EAP_TYPE_FAST, 0x01) + data
|
EAP_TYPE_FAST, 0x01) + data
|
||||||
|
|
||||||
def process_clientkeyexchange(ctx, payload, appl_data):
|
def process_clientkeyexchange(ctx, payload, appl_data):
|
||||||
logger.info("Process ClientKeyExchange")
|
logger.info("Process ClientKeyExchange")
|
||||||
logger.info("State: " + ctx['conn'].state_string())
|
state = ctx['conn'].state_string()
|
||||||
|
if state:
|
||||||
|
logger.info("State: " + state)
|
||||||
ctx['conn'].bio_write(payload)
|
ctx['conn'].bio_write(payload)
|
||||||
try:
|
try:
|
||||||
ctx['conn'].do_handshake()
|
ctx['conn'].do_handshake()
|
||||||
except OpenSSL.SSL.WantReadError:
|
except OpenSSL.SSL.WantReadError:
|
||||||
pass
|
pass
|
||||||
ctx['conn'].send(appl_data)
|
ctx['conn'].send(appl_data)
|
||||||
logger.info("State: " + ctx['conn'].state_string())
|
state = ctx['conn'].state_string()
|
||||||
|
if state:
|
||||||
|
logger.info("State: " + state)
|
||||||
data = ctx['conn'].bio_read(4096)
|
data = ctx['conn'].bio_read(4096)
|
||||||
logger.info("State: " + ctx['conn'].state_string())
|
state = ctx['conn'].state_string()
|
||||||
|
if state:
|
||||||
|
logger.info("State: " + state)
|
||||||
return struct.pack(">BBHBB", EAP_CODE_REQUEST, ctx['id'],
|
return struct.pack(">BBHBB", EAP_CODE_REQUEST, ctx['id'],
|
||||||
4 + 1 + 1 + len(data),
|
4 + 1 + 1 + len(data),
|
||||||
EAP_TYPE_FAST, 0x01) + data
|
EAP_TYPE_FAST, 0x01) + data
|
||||||
|
Loading…
Reference in New Issue
Block a user