Annotation of embedaddon/strongswan/src/libtls/tests/suites/test_suites.c, revision 1.1

1.1     ! misho       1: /*
        !             2:  * Copyright (C) 2014 Martin Willi
        !             3:  * Copyright (C) 2014 revosec AG
        !             4:  *
        !             5:  * This program is free software; you can redistribute it and/or modify it
        !             6:  * under the terms of the GNU General Public License as published by the
        !             7:  * Free Software Foundation; either version 2 of the License, or (at your
        !             8:  * option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
        !             9:  *
        !            10:  * This program is distributed in the hope that it will be useful, but
        !            11:  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
        !            12:  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
        !            13:  * for more details.
        !            14:  */
        !            15: 
        !            16: #include <test_suite.h>
        !            17: 
        !            18: #include <unistd.h>
        !            19: 
        !            20: #include "tls_crypto.h"
        !            21: 
        !            22: START_TEST(test_cipher_names)
        !            23: {
        !            24:        char buf[128];
        !            25: 
        !            26: #define CHECK_NAME(x) { \
        !            27:        snprintf(buf, sizeof(buf), "%N", tls_cipher_suite_names, x); \
        !            28:        ck_assert_str_eq(#x, buf); }
        !            29: 
        !            30:        CHECK_NAME(TLS_NULL_WITH_NULL_NULL);
        !            31:        CHECK_NAME(TLS_RSA_WITH_NULL_MD5);
        !            32:        CHECK_NAME(TLS_RSA_WITH_NULL_SHA);
        !            33:        CHECK_NAME(TLS_RSA_EXPORT_WITH_RC4_40_MD5);
        !            34:        CHECK_NAME(TLS_RSA_WITH_RC4_128_MD5);
        !            35:        CHECK_NAME(TLS_RSA_WITH_RC4_128_SHA);
        !            36:        CHECK_NAME(TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5);
        !            37:        CHECK_NAME(TLS_RSA_WITH_IDEA_CBC_SHA);
        !            38:        CHECK_NAME(TLS_RSA_EXPORT_WITH_DES40_CBC_SHA);
        !            39:        CHECK_NAME(TLS_RSA_WITH_DES_CBC_SHA);
        !            40:        CHECK_NAME(TLS_RSA_WITH_3DES_EDE_CBC_SHA);
        !            41:        CHECK_NAME(TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA);
        !            42:        CHECK_NAME(TLS_DH_DSS_WITH_DES_CBC_SHA);
        !            43:        CHECK_NAME(TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA);
        !            44:        CHECK_NAME(TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA);
        !            45:        CHECK_NAME(TLS_DH_RSA_WITH_DES_CBC_SHA);
        !            46:        CHECK_NAME(TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA);
        !            47:        CHECK_NAME(TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA);
        !            48:        CHECK_NAME(TLS_DHE_DSS_WITH_DES_CBC_SHA);
        !            49:        CHECK_NAME(TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA);
        !            50:        CHECK_NAME(TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA);
        !            51:        CHECK_NAME(TLS_DHE_RSA_WITH_DES_CBC_SHA);
        !            52:        CHECK_NAME(TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA);
        !            53:        CHECK_NAME(TLS_DH_anon_EXPORT_WITH_RC4_40_MD5);
        !            54:        CHECK_NAME(TLS_DH_anon_WITH_RC4_128_MD5);
        !            55:        CHECK_NAME(TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA);
        !            56:        CHECK_NAME(TLS_DH_anon_WITH_DES_CBC_SHA);
        !            57:        CHECK_NAME(TLS_DH_anon_WITH_3DES_EDE_CBC_SHA);
        !            58:        CHECK_NAME(TLS_KRB5_WITH_DES_CBC_SHA);
        !            59:        CHECK_NAME(TLS_KRB5_WITH_3DES_EDE_CBC_SHA);
        !            60:        CHECK_NAME(TLS_KRB5_WITH_RC4_128_SHA);
        !            61:        CHECK_NAME(TLS_KRB5_WITH_IDEA_CBC_SHA);
        !            62:        CHECK_NAME(TLS_KRB5_WITH_DES_CBC_MD5);
        !            63:        CHECK_NAME(TLS_KRB5_WITH_3DES_EDE_CBC_MD5);
        !            64:        CHECK_NAME(TLS_KRB5_WITH_RC4_128_MD5);
        !            65:        CHECK_NAME(TLS_KRB5_WITH_IDEA_CBC_MD5);
        !            66:        CHECK_NAME(TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA);
        !            67:        CHECK_NAME(TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA);
        !            68:        CHECK_NAME(TLS_KRB5_EXPORT_WITH_RC4_40_SHA);
        !            69:        CHECK_NAME(TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5);
        !            70:        CHECK_NAME(TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5);
        !            71:        CHECK_NAME(TLS_KRB5_EXPORT_WITH_RC4_40_MD5);
        !            72:        CHECK_NAME(TLS_PSK_WITH_NULL_SHA);
        !            73:        CHECK_NAME(TLS_DHE_PSK_WITH_NULL_SHA);
        !            74:        CHECK_NAME(TLS_RSA_PSK_WITH_NULL_SHA);
        !            75:        CHECK_NAME(TLS_RSA_WITH_AES_128_CBC_SHA);
        !            76:        CHECK_NAME(TLS_DH_DSS_WITH_AES_128_CBC_SHA);
        !            77:        CHECK_NAME(TLS_DH_RSA_WITH_AES_128_CBC_SHA);
        !            78:        CHECK_NAME(TLS_DHE_DSS_WITH_AES_128_CBC_SHA);
        !            79:        CHECK_NAME(TLS_DHE_RSA_WITH_AES_128_CBC_SHA);
        !            80:        CHECK_NAME(TLS_DH_anon_WITH_AES_128_CBC_SHA);
        !            81:        CHECK_NAME(TLS_RSA_WITH_AES_256_CBC_SHA);
        !            82:        CHECK_NAME(TLS_DH_DSS_WITH_AES_256_CBC_SHA);
        !            83:        CHECK_NAME(TLS_DH_RSA_WITH_AES_256_CBC_SHA);
        !            84:        CHECK_NAME(TLS_DHE_DSS_WITH_AES_256_CBC_SHA);
        !            85:        CHECK_NAME(TLS_DHE_RSA_WITH_AES_256_CBC_SHA);
        !            86:        CHECK_NAME(TLS_DH_anon_WITH_AES_256_CBC_SHA);
        !            87:        CHECK_NAME(TLS_RSA_WITH_NULL_SHA256);
        !            88:        CHECK_NAME(TLS_RSA_WITH_AES_128_CBC_SHA256);
        !            89:        CHECK_NAME(TLS_RSA_WITH_AES_256_CBC_SHA256);
        !            90:        CHECK_NAME(TLS_DH_DSS_WITH_AES_128_CBC_SHA256);
        !            91:        CHECK_NAME(TLS_DH_RSA_WITH_AES_128_CBC_SHA256);
        !            92:        CHECK_NAME(TLS_DHE_DSS_WITH_AES_128_CBC_SHA256);
        !            93:        CHECK_NAME(TLS_RSA_WITH_CAMELLIA_128_CBC_SHA);
        !            94:        CHECK_NAME(TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA);
        !            95:        CHECK_NAME(TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA);
        !            96:        CHECK_NAME(TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA);
        !            97:        CHECK_NAME(TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA);
        !            98:        CHECK_NAME(TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA);
        !            99:        CHECK_NAME(TLS_DHE_RSA_WITH_AES_128_CBC_SHA256);
        !           100:        CHECK_NAME(TLS_DH_DSS_WITH_AES_256_CBC_SHA256);
        !           101:        CHECK_NAME(TLS_DH_RSA_WITH_AES_256_CBC_SHA256);
        !           102:        CHECK_NAME(TLS_DHE_DSS_WITH_AES_256_CBC_SHA256);
        !           103:        CHECK_NAME(TLS_DHE_RSA_WITH_AES_256_CBC_SHA256);
        !           104:        CHECK_NAME(TLS_DH_anon_WITH_AES_128_CBC_SHA256);
        !           105:        CHECK_NAME(TLS_DH_anon_WITH_AES_256_CBC_SHA256);
        !           106:        CHECK_NAME(TLS_RSA_WITH_CAMELLIA_256_CBC_SHA);
        !           107:        CHECK_NAME(TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA);
        !           108:        CHECK_NAME(TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA);
        !           109:        CHECK_NAME(TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA);
        !           110:        CHECK_NAME(TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA);
        !           111:        CHECK_NAME(TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA);
        !           112:        CHECK_NAME(TLS_PSK_WITH_RC4_128_SHA);
        !           113:        CHECK_NAME(TLS_PSK_WITH_3DES_EDE_CBC_SHA);
        !           114:        CHECK_NAME(TLS_PSK_WITH_AES_128_CBC_SHA);
        !           115:        CHECK_NAME(TLS_PSK_WITH_AES_256_CBC_SHA);
        !           116:        CHECK_NAME(TLS_DHE_PSK_WITH_RC4_128_SHA);
        !           117:        CHECK_NAME(TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA);
        !           118:        CHECK_NAME(TLS_DHE_PSK_WITH_AES_128_CBC_SHA);
        !           119:        CHECK_NAME(TLS_DHE_PSK_WITH_AES_256_CBC_SHA);
        !           120:        CHECK_NAME(TLS_RSA_PSK_WITH_RC4_128_SHA);
        !           121:        CHECK_NAME(TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA);
        !           122:        CHECK_NAME(TLS_RSA_PSK_WITH_AES_128_CBC_SHA);
        !           123:        CHECK_NAME(TLS_RSA_PSK_WITH_AES_256_CBC_SHA);
        !           124:        CHECK_NAME(TLS_RSA_WITH_SEED_CBC_SHA);
        !           125:        CHECK_NAME(TLS_DH_DSS_WITH_SEED_CBC_SHA);
        !           126:        CHECK_NAME(TLS_DH_RSA_WITH_SEED_CBC_SHA);
        !           127:        CHECK_NAME(TLS_DHE_DSS_WITH_SEED_CBC_SHA);
        !           128:        CHECK_NAME(TLS_DHE_RSA_WITH_SEED_CBC_SHA);
        !           129:        CHECK_NAME(TLS_DH_anon_WITH_SEED_CBC_SHA);
        !           130:        CHECK_NAME(TLS_RSA_WITH_AES_128_GCM_SHA256);
        !           131:        CHECK_NAME(TLS_RSA_WITH_AES_256_GCM_SHA384);
        !           132:        CHECK_NAME(TLS_DHE_RSA_WITH_AES_128_GCM_SHA256);
        !           133:        CHECK_NAME(TLS_DHE_RSA_WITH_AES_256_GCM_SHA384);
        !           134:        CHECK_NAME(TLS_DH_RSA_WITH_AES_128_GCM_SHA256);
        !           135:        CHECK_NAME(TLS_DH_RSA_WITH_AES_256_GCM_SHA384);
        !           136:        CHECK_NAME(TLS_DHE_DSS_WITH_AES_128_GCM_SHA256);
        !           137:        CHECK_NAME(TLS_DHE_DSS_WITH_AES_256_GCM_SHA384);
        !           138:        CHECK_NAME(TLS_DH_DSS_WITH_AES_128_GCM_SHA256);
        !           139:        CHECK_NAME(TLS_DH_DSS_WITH_AES_256_GCM_SHA384);
        !           140:        CHECK_NAME(TLS_DH_anon_WITH_AES_128_GCM_SHA256);
        !           141:        CHECK_NAME(TLS_DH_anon_WITH_AES_256_GCM_SHA384);
        !           142:        CHECK_NAME(TLS_PSK_WITH_AES_128_GCM_SHA256);
        !           143:        CHECK_NAME(TLS_PSK_WITH_AES_256_GCM_SHA384);
        !           144:        CHECK_NAME(TLS_DHE_PSK_WITH_AES_128_GCM_SHA256);
        !           145:        CHECK_NAME(TLS_DHE_PSK_WITH_AES_256_GCM_SHA384);
        !           146:        CHECK_NAME(TLS_RSA_PSK_WITH_AES_128_GCM_SHA256);
        !           147:        CHECK_NAME(TLS_RSA_PSK_WITH_AES_256_GCM_SHA384);
        !           148:        CHECK_NAME(TLS_PSK_WITH_AES_128_CBC_SHA256);
        !           149:        CHECK_NAME(TLS_PSK_WITH_AES_256_CBC_SHA384);
        !           150:        CHECK_NAME(TLS_PSK_WITH_NULL_SHA256);
        !           151:        CHECK_NAME(TLS_PSK_WITH_NULL_SHA384);
        !           152:        CHECK_NAME(TLS_DHE_PSK_WITH_AES_128_CBC_SHA256);
        !           153:        CHECK_NAME(TLS_DHE_PSK_WITH_AES_256_CBC_SHA384);
        !           154:        CHECK_NAME(TLS_DHE_PSK_WITH_NULL_SHA256);
        !           155:        CHECK_NAME(TLS_DHE_PSK_WITH_NULL_SHA384);
        !           156:        CHECK_NAME(TLS_RSA_PSK_WITH_AES_128_CBC_SHA256);
        !           157:        CHECK_NAME(TLS_RSA_PSK_WITH_AES_256_CBC_SHA384);
        !           158:        CHECK_NAME(TLS_RSA_PSK_WITH_NULL_SHA256);
        !           159:        CHECK_NAME(TLS_RSA_PSK_WITH_NULL_SHA384);
        !           160:        CHECK_NAME(TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256);
        !           161:        CHECK_NAME(TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256);
        !           162:        CHECK_NAME(TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256);
        !           163:        CHECK_NAME(TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256);
        !           164:        CHECK_NAME(TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256);
        !           165:        CHECK_NAME(TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256);
        !           166:        CHECK_NAME(TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256);
        !           167:        CHECK_NAME(TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256);
        !           168:        CHECK_NAME(TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256);
        !           169:        CHECK_NAME(TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256);
        !           170:        CHECK_NAME(TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256);
        !           171:        CHECK_NAME(TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256);
        !           172:        CHECK_NAME(TLS_EMPTY_RENEGOTIATION_INFO_SCSV);
        !           173:        CHECK_NAME(TLS_ECDH_ECDSA_WITH_NULL_SHA);
        !           174:        CHECK_NAME(TLS_ECDH_ECDSA_WITH_RC4_128_SHA);
        !           175:        CHECK_NAME(TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA);
        !           176:        CHECK_NAME(TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA);
        !           177:        CHECK_NAME(TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA);
        !           178:        CHECK_NAME(TLS_ECDHE_ECDSA_WITH_NULL_SHA);
        !           179:        CHECK_NAME(TLS_ECDHE_ECDSA_WITH_RC4_128_SHA);
        !           180:        CHECK_NAME(TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA);
        !           181:        CHECK_NAME(TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA);
        !           182:        CHECK_NAME(TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA);
        !           183:        CHECK_NAME(TLS_ECDH_RSA_WITH_NULL_SHA);
        !           184:        CHECK_NAME(TLS_ECDH_RSA_WITH_RC4_128_SHA);
        !           185:        CHECK_NAME(TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA);
        !           186:        CHECK_NAME(TLS_ECDH_RSA_WITH_AES_128_CBC_SHA);
        !           187:        CHECK_NAME(TLS_ECDH_RSA_WITH_AES_256_CBC_SHA);
        !           188:        CHECK_NAME(TLS_ECDHE_RSA_WITH_NULL_SHA);
        !           189:        CHECK_NAME(TLS_ECDHE_RSA_WITH_RC4_128_SHA);
        !           190:        CHECK_NAME(TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA);
        !           191:        CHECK_NAME(TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA);
        !           192:        CHECK_NAME(TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA);
        !           193:        CHECK_NAME(TLS_ECDH_anon_WITH_NULL_SHA);
        !           194:        CHECK_NAME(TLS_ECDH_anon_WITH_RC4_128_SHA);
        !           195:        CHECK_NAME(TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA);
        !           196:        CHECK_NAME(TLS_ECDH_anon_WITH_AES_128_CBC_SHA);
        !           197:        CHECK_NAME(TLS_ECDH_anon_WITH_AES_256_CBC_SHA);
        !           198:        CHECK_NAME(TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA);
        !           199:        CHECK_NAME(TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA);
        !           200:        CHECK_NAME(TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA);
        !           201:        CHECK_NAME(TLS_SRP_SHA_WITH_AES_128_CBC_SHA);
        !           202:        CHECK_NAME(TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA);
        !           203:        CHECK_NAME(TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA);
        !           204:        CHECK_NAME(TLS_SRP_SHA_WITH_AES_256_CBC_SHA);
        !           205:        CHECK_NAME(TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA);
        !           206:        CHECK_NAME(TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA);
        !           207:        CHECK_NAME(TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256);
        !           208:        CHECK_NAME(TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384);
        !           209:        CHECK_NAME(TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256);
        !           210:        CHECK_NAME(TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384);
        !           211:        CHECK_NAME(TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256);
        !           212:        CHECK_NAME(TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384);
        !           213:        CHECK_NAME(TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256);
        !           214:        CHECK_NAME(TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384);
        !           215:        CHECK_NAME(TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256);
        !           216:        CHECK_NAME(TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384);
        !           217:        CHECK_NAME(TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256);
        !           218:        CHECK_NAME(TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384);
        !           219:        CHECK_NAME(TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256);
        !           220:        CHECK_NAME(TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384);
        !           221:        CHECK_NAME(TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256);
        !           222:        CHECK_NAME(TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384);
        !           223:        CHECK_NAME(TLS_ECDHE_PSK_WITH_RC4_128_SHA);
        !           224:        CHECK_NAME(TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA);
        !           225:        CHECK_NAME(TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA);
        !           226:        CHECK_NAME(TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA);
        !           227:        CHECK_NAME(TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256);
        !           228:        CHECK_NAME(TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384);
        !           229:        CHECK_NAME(TLS_ECDHE_PSK_WITH_NULL_SHA);
        !           230:        CHECK_NAME(TLS_ECDHE_PSK_WITH_NULL_SHA256);
        !           231:        CHECK_NAME(TLS_ECDHE_PSK_WITH_NULL_SHA384);
        !           232: }
        !           233: END_TEST
        !           234: 
        !           235: Suite *suites_suite_create()
        !           236: {
        !           237:        Suite *s;
        !           238:        TCase *tc;
        !           239: 
        !           240:        s = suite_create("suites");
        !           241: 
        !           242:        tc = tcase_create("cipher-names");
        !           243:        tcase_add_test(tc, test_cipher_names);
        !           244:        suite_add_tcase(s, tc);
        !           245: 
        !           246:        return s;
        !           247: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>