diff --git a/tests/test_translate_format.sh b/tests/test_translate_ciphers_format.sh similarity index 96% rename from tests/test_translate_format.sh rename to tests/test_translate_ciphers_format.sh index 241db4739..9b3b4bb82 100755 --- a/tests/test_translate_format.sh +++ b/tests/test_translate_ciphers_format.sh @@ -121,13 +121,13 @@ Ot_CIPHERS=$( echo "$Ot_CIPHERS" | sed -e 's/[[:space:]][[:space:]]*/ /g' -e 's/ # Upon fail, print them to view the differences if [ "$Mt_CIPHERS" != "$M_CIPHERS" ] then - echo "MBED Translated: $M_CIPHERS" - echo "MBED Original: $Mt_CIPHERS" + echo "MBEDTLS Translated: $M_CIPHERS" + echo "MBEDTLS Original: $Mt_CIPHERS" fi if [ "$Gt_CIPHERS" != "$G_CIPHERS" ] then - echo "GNU Translated: $G_CIPHERS" - echo "GNU Original: $Gt_CIPHERS" + echo "GNUTLS Translated: $G_CIPHERS" + echo "GNUTLS Original: $Gt_CIPHERS" fi if [ "$Ot_CIPHERS" != "$O_CIPHERS" ] then diff --git a/tests/test_translate_names.py b/tests/test_translate_ciphers_names.py similarity index 97% rename from tests/test_translate_names.py rename to tests/test_translate_ciphers_names.py index d018c1091..70b2a8fc7 100755 --- a/tests/test_translate_names.py +++ b/tests/test_translate_ciphers_names.py @@ -21,7 +21,7 @@ # # Test translate_ciphers.py by running every MBedTLS ciphersuite name # combination through the translate functions and comparing them to their -# correct GNU or OpenSSL counterpart. +# correct GNUTLS or OpenSSL counterpart. from translate_ciphers import * @@ -170,21 +170,17 @@ def test_all_common(): "PSK-3DES-EDE-CBC-SHA", "PSK-AES128-CBC-SHA", "PSK-AES256-CBC-SHA", - - #"PSK-DES-CBC3-SHA", - #"PSK-AES128-SHA", - #"PSK-AES256-SHA", ] for i in range(len(m_ciphers)): - g = translate_gnu(m_ciphers[i]) + g = translate_gnutls(m_ciphers[i]) assert_equal(g, g_ciphers[i]) o = translate_ossl(m_ciphers[i]) assert_equal(o, o_ciphers[i]) -def test_mbed_ossl_common(): +def test_mbedtls_ossl_common(): m_ciphers = [ "TLS-ECDH-ECDSA-WITH-NULL-SHA", "TLS-ECDH-ECDSA-WITH-3DES-EDE-CBC-SHA", @@ -235,7 +231,6 @@ def test_mbed_ossl_common(): "DES-CBC-SHA", "EDH-RSA-DES-CBC-SHA", - #"DHE-RSA-DES-CBC-SHA", "ECDHE-ARIA256-GCM-SHA384", "DHE-RSA-ARIA256-GCM-SHA384", @@ -260,7 +255,7 @@ def test_mbed_ossl_common(): o = translate_ossl(m_ciphers[i]) assert_equal(o, o_ciphers[i]) -def test_mbed_gnu_common(): +def test_mbedtls_gnutls_common(): m_ciphers = [ "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-CBC-SHA256", "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-CBC-SHA384", @@ -442,9 +437,9 @@ def test_mbed_gnu_common(): for i in range(len(m_ciphers)): - g = translate_gnu(m_ciphers[i]) + g = translate_gnutls(m_ciphers[i]) assert_equal(g, g_ciphers[i]) test_all_common() -test_mbed_ossl_common() -test_mbed_gnu_common() +test_mbedtls_ossl_common() +test_mbedtls_gnutls_common() diff --git a/tests/translate_ciphers.py b/tests/translate_ciphers.py index d6b604dd3..0f76cf508 100755 --- a/tests/translate_ciphers.py +++ b/tests/translate_ciphers.py @@ -19,20 +19,20 @@ # # Purpose # -# Translate ciphersuite names in MBedTLS format to OpenSSL and GNU +# Translate ciphersuite names in MBedTLS format to OpenSSL and GNUTLS # standards. # # Format and analyse strings past in via input arguments to match # the expected strings utilised in compat.sh. # -# sys.argv[1] should be "g" or "o" for GNU or OpenSSL. +# sys.argv[1] should be "g" or "o" for GNUTLS or OpenSSL. # sys.argv[2] should be a string containing one or more # ciphersuite names. import re import sys -def translate_gnu(m_cipher): +def translate_gnutls(m_cipher): # Remove "TLS-" # Replace "-WITH-" with ":+" # Remove "EDE" @@ -97,23 +97,35 @@ def translate_ossl(m_cipher): return m_cipher -def format(mode, ciphers): - ciphers = ciphers.split() - t_ciphers = [] - if mode == "g": - for i in ciphers: - t_ciphers.append(translate_gnu(i)) - if mode == "o": - for i in ciphers: - t_ciphers.append(translate_ossl(i)) - return " ".join(t_ciphers) +def format_ciphersuite_names(mode, ciphers): + #ciphers = ciphers.split() + #t_ciphers = [] + #if mode == "g": + # for i in ciphers: + # t_ciphers.append(translate_gnutls(i)) + #elif mode == "o": + # for i in ciphers: + # t_ciphers.append(translate_ossl(i)) + #else: + # print("Incorrect use of argument 1, should be either \"g\" or \"o\"") + # exit(1) + #return " ".join(t_ciphers) + try: + t = {"g": translate_gnutls, "o": translate_ossl}[mode] + return " ".join(t(c) for c in ciphers.split()) + except Exception as E: + if E != mode: print(E) + else: print("Incorrect use of argument 1, should be either \"g\" or \"o\"") + sys.exit(1) def main(): - # print command line arguments - if len(sys.argv) <= 2: - exit(1) - else: - print(format(sys.argv[1], sys.argv[2])) + if len(sys.argv) != 3: + print("""Incorrect number of arguments. +The first argument with either an \"o\" for OpenSSL or \"g\" for GNUTLS. +The second argument should a single space seperated string of MBedTLS ciphersuite names""") + sys.exit(1) + print(format_ciphersuite_names(sys.argv[1], sys.argv[2])) + sys.exit(0) if __name__ == "__main__": main()