diff options
| author | beck <> | 2015-09-11 12:57:24 +0000 |
|---|---|---|
| committer | beck <> | 2015-09-11 12:57:24 +0000 |
| commit | 994b9ccba77d1b0abb25d1ca9ed43f05218bf8bc (patch) | |
| tree | 81490b911a735fa08d10bb7a65fe0c0ac62d6e27 /src/regress/lib/libtls/verify/verifytest.c | |
| parent | 27e5e00bb80457049b7e7613f43e8f1165402316 (diff) | |
| download | openbsd-994b9ccba77d1b0abb25d1ca9ed43f05218bf8bc.tar.gz openbsd-994b9ccba77d1b0abb25d1ca9ed43f05218bf8bc.tar.bz2 openbsd-994b9ccba77d1b0abb25d1ca9ed43f05218bf8bc.zip | |
fix verify to allow for servername->name
ok jsing@
Diffstat (limited to 'src/regress/lib/libtls/verify/verifytest.c')
| -rw-r--r-- | src/regress/lib/libtls/verify/verifytest.c | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/src/regress/lib/libtls/verify/verifytest.c b/src/regress/lib/libtls/verify/verifytest.c index 632cacd271..5f4ac8c111 100644 --- a/src/regress/lib/libtls/verify/verifytest.c +++ b/src/regress/lib/libtls/verify/verifytest.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: verifytest.c,v 1.3 2015/02/22 15:14:32 jsing Exp $ */ | 1 | /* $OpenBSD: verifytest.c,v 1.4 2015/09/11 12:57:24 beck Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> |
| 4 | * | 4 | * |
| @@ -22,81 +22,81 @@ | |||
| 22 | #include <openssl/x509v3.h> | 22 | #include <openssl/x509v3.h> |
| 23 | #include <tls.h> | 23 | #include <tls.h> |
| 24 | 24 | ||
| 25 | extern int tls_check_servername(struct tls *ctx, X509 *cert, const char *name); | 25 | extern int tls_check_name(struct tls *ctx, X509 *cert, const char *name); |
| 26 | 26 | ||
| 27 | struct verify_test { | 27 | struct verify_test { |
| 28 | const char common_name[128]; | 28 | const char common_name[128]; |
| 29 | const char alt_name[128]; | 29 | const char alt_name[128]; |
| 30 | int alt_name_len; | 30 | int alt_name_len; |
| 31 | int alt_name_type; | 31 | int alt_name_type; |
| 32 | const char servername[128]; | 32 | const char name[128]; |
| 33 | int want; | 33 | int want; |
| 34 | }; | 34 | }; |
| 35 | 35 | ||
| 36 | struct verify_test verify_tests[] = { | 36 | struct verify_test verify_tests[] = { |
| 37 | { | 37 | { |
| 38 | .common_name = "www.openbsd.org", | 38 | .common_name = "www.openbsd.org", |
| 39 | .servername = "www.openbsd.org", | 39 | .name = "www.openbsd.org", |
| 40 | .want = 0, | 40 | .want = 0, |
| 41 | }, | 41 | }, |
| 42 | { | 42 | { |
| 43 | .common_name = "www.openbsd.org", | 43 | .common_name = "www.openbsd.org", |
| 44 | .servername = "", | 44 | .name = "", |
| 45 | .want = -1, | 45 | .want = -1, |
| 46 | }, | 46 | }, |
| 47 | { | 47 | { |
| 48 | .common_name = "*.openbsd.org", | 48 | .common_name = "*.openbsd.org", |
| 49 | .servername = "www.openbsd.org", | 49 | .name = "www.openbsd.org", |
| 50 | .want = 0, | 50 | .want = 0, |
| 51 | }, | 51 | }, |
| 52 | { | 52 | { |
| 53 | .common_name = "www.openbsdfoundation.org", | 53 | .common_name = "www.openbsdfoundation.org", |
| 54 | .servername = "www.openbsd.org", | 54 | .name = "www.openbsd.org", |
| 55 | .want = -1, | 55 | .want = -1, |
| 56 | }, | 56 | }, |
| 57 | { | 57 | { |
| 58 | .common_name = "w*.openbsd.org", | 58 | .common_name = "w*.openbsd.org", |
| 59 | .servername = "www.openbsd.org", | 59 | .name = "www.openbsd.org", |
| 60 | .want = -1, | 60 | .want = -1, |
| 61 | }, | 61 | }, |
| 62 | { | 62 | { |
| 63 | .common_name = "www.*.org", | 63 | .common_name = "www.*.org", |
| 64 | .servername = "www.openbsd.org", | 64 | .name = "www.openbsd.org", |
| 65 | .want = -1, | 65 | .want = -1, |
| 66 | }, | 66 | }, |
| 67 | { | 67 | { |
| 68 | .common_name = "www.openbsd.*", | 68 | .common_name = "www.openbsd.*", |
| 69 | .servername = "www.openbsd.org", | 69 | .name = "www.openbsd.org", |
| 70 | .want = -1, | 70 | .want = -1, |
| 71 | }, | 71 | }, |
| 72 | { | 72 | { |
| 73 | .common_name = "*", | 73 | .common_name = "*", |
| 74 | .servername = "www.openbsd.org", | 74 | .name = "www.openbsd.org", |
| 75 | .want = -1, | 75 | .want = -1, |
| 76 | }, | 76 | }, |
| 77 | { | 77 | { |
| 78 | .common_name = "*.org", | 78 | .common_name = "*.org", |
| 79 | .servername = "www.openbsd.org", | 79 | .name = "www.openbsd.org", |
| 80 | .want = -1, | 80 | .want = -1, |
| 81 | }, | 81 | }, |
| 82 | { | 82 | { |
| 83 | .common_name = "*.org", | 83 | .common_name = "*.org", |
| 84 | .servername = "openbsd.org", | 84 | .name = "openbsd.org", |
| 85 | .want = -1, | 85 | .want = -1, |
| 86 | }, | 86 | }, |
| 87 | { | 87 | { |
| 88 | .common_name = "1.2.3.4", | 88 | .common_name = "1.2.3.4", |
| 89 | .servername = "1.2.3.4", | 89 | .name = "1.2.3.4", |
| 90 | .want = 0, | 90 | .want = 0, |
| 91 | }, | 91 | }, |
| 92 | { | 92 | { |
| 93 | .common_name = "*.2.3.4", | 93 | .common_name = "*.2.3.4", |
| 94 | .servername = "1.2.3.4", | 94 | .name = "1.2.3.4", |
| 95 | .want = -1, | 95 | .want = -1, |
| 96 | }, | 96 | }, |
| 97 | { | 97 | { |
| 98 | .common_name = "cafe::beef", | 98 | .common_name = "cafe::beef", |
| 99 | .servername = "cafe::beef", | 99 | .name = "cafe::beef", |
| 100 | .want = 0, | 100 | .want = 0, |
| 101 | }, | 101 | }, |
| 102 | { | 102 | { |
| @@ -104,7 +104,7 @@ struct verify_test verify_tests[] = { | |||
| 104 | .alt_name = "ftp.openbsd.org", | 104 | .alt_name = "ftp.openbsd.org", |
| 105 | .alt_name_len = -1, | 105 | .alt_name_len = -1, |
| 106 | .alt_name_type = GEN_DNS, | 106 | .alt_name_type = GEN_DNS, |
| 107 | .servername = "ftp.openbsd.org", | 107 | .name = "ftp.openbsd.org", |
| 108 | .want = 0, | 108 | .want = 0, |
| 109 | }, | 109 | }, |
| 110 | { | 110 | { |
| @@ -112,7 +112,7 @@ struct verify_test verify_tests[] = { | |||
| 112 | .alt_name = "*.openbsd.org", | 112 | .alt_name = "*.openbsd.org", |
| 113 | .alt_name_len = -1, | 113 | .alt_name_len = -1, |
| 114 | .alt_name_type = GEN_DNS, | 114 | .alt_name_type = GEN_DNS, |
| 115 | .servername = "www.openbsd.org", | 115 | .name = "www.openbsd.org", |
| 116 | .want = 0, | 116 | .want = 0, |
| 117 | }, | 117 | }, |
| 118 | { | 118 | { |
| @@ -120,7 +120,7 @@ struct verify_test verify_tests[] = { | |||
| 120 | .alt_name = "*.org", | 120 | .alt_name = "*.org", |
| 121 | .alt_name_len = -1, | 121 | .alt_name_len = -1, |
| 122 | .alt_name_type = GEN_DNS, | 122 | .alt_name_type = GEN_DNS, |
| 123 | .servername = "www.openbsd.org", | 123 | .name = "www.openbsd.org", |
| 124 | .want = -1, | 124 | .want = -1, |
| 125 | }, | 125 | }, |
| 126 | { | 126 | { |
| @@ -128,7 +128,7 @@ struct verify_test verify_tests[] = { | |||
| 128 | .alt_name = "1.2.3.4", | 128 | .alt_name = "1.2.3.4", |
| 129 | .alt_name_len = -1, | 129 | .alt_name_len = -1, |
| 130 | .alt_name_type = GEN_DNS, | 130 | .alt_name_type = GEN_DNS, |
| 131 | .servername = "1.2.3.4", | 131 | .name = "1.2.3.4", |
| 132 | .want = -1, | 132 | .want = -1, |
| 133 | }, | 133 | }, |
| 134 | { | 134 | { |
| @@ -136,7 +136,7 @@ struct verify_test verify_tests[] = { | |||
| 136 | .alt_name = {0x1, 0x2, 0x3, 0x4}, | 136 | .alt_name = {0x1, 0x2, 0x3, 0x4}, |
| 137 | .alt_name_len = 4, | 137 | .alt_name_len = 4, |
| 138 | .alt_name_type = GEN_IPADD, | 138 | .alt_name_type = GEN_IPADD, |
| 139 | .servername = "1.2.3.4", | 139 | .name = "1.2.3.4", |
| 140 | .want = 0, | 140 | .want = 0, |
| 141 | }, | 141 | }, |
| 142 | { | 142 | { |
| @@ -147,7 +147,7 @@ struct verify_test verify_tests[] = { | |||
| 147 | }, | 147 | }, |
| 148 | .alt_name_len = 16, | 148 | .alt_name_len = 16, |
| 149 | .alt_name_type = GEN_IPADD, | 149 | .alt_name_type = GEN_IPADD, |
| 150 | .servername = "cafe::beef", | 150 | .name = "cafe::beef", |
| 151 | .want = 0, | 151 | .want = 0, |
| 152 | }, | 152 | }, |
| 153 | }; | 153 | }; |
| @@ -213,10 +213,10 @@ do_verify_test(int test_no, struct verify_test *vt) | |||
| 213 | sk_GENERAL_NAME_pop_free(alt_name_stack, GENERAL_NAME_free); | 213 | sk_GENERAL_NAME_pop_free(alt_name_stack, GENERAL_NAME_free); |
| 214 | } | 214 | } |
| 215 | 215 | ||
| 216 | if (tls_check_servername(tls, cert, vt->servername) != vt->want) { | 216 | if (tls_check_name(tls, cert, vt->name) != vt->want) { |
| 217 | fprintf(stderr, "FAIL: test %i failed with common name " | 217 | fprintf(stderr, "FAIL: test %i failed with common name " |
| 218 | "'%s', alt name '%s' and servername '%s'\n", test_no, | 218 | "'%s', alt name '%s' and name '%s'\n", test_no, |
| 219 | vt->common_name, vt->alt_name, vt->servername); | 219 | vt->common_name, vt->alt_name, vt->name); |
| 220 | return (1); | 220 | return (1); |
| 221 | } | 221 | } |
| 222 | 222 | ||
