diff options
author | David Woodhouse <dwmw2@infradead.org> | 2015-03-03 15:47:08 +0000 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2015-03-20 12:00:48 +0000 |
commit | 98b8cdd32277cea829c31034a53f2487f750615d (patch) | |
tree | 74d092c382f3e777b64ca94c6a6c8b835a9854e7 /ssl | |
parent | 504e643e0996fb842ac183023c3a6b9049af50ea (diff) | |
download | openssl-98b8cdd32277cea829c31034a53f2487f750615d.tar.gz |
Add DTLS support to ssltest
Reviewed-by: Emilia Käsper <emilia@openssl.org>
Diffstat (limited to 'ssl')
-rw-r--r-- | ssl/ssltest.c | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/ssl/ssltest.c b/ssl/ssltest.c index 12d3efb50c..a57d5052c3 100644 --- a/ssl/ssltest.c +++ b/ssl/ssltest.c @@ -788,6 +788,10 @@ static void sv_usage(void) fprintf(stderr, " -ssl3 - use SSLv3\n"); #endif fprintf(stderr, " -tls1 - use TLSv1\n"); +#ifndef OPENSSL_NO_DTLS + fprintf(stderr, " -dtls1 - use DTLSv1\n"); + fprintf(stderr, " -dtls12 - use DTLSv1.2\n"); +#endif fprintf(stderr, " -CApath arg - PEM format directory of CA's\n"); fprintf(stderr, " -CAfile arg - PEM format file of CA's\n"); fprintf(stderr, " -cert arg - Server certificate file\n"); @@ -958,7 +962,7 @@ int main(int argc, char *argv[]) int badop = 0; int bio_pair = 0; int force = 0; - int tls1 = 0, ssl3 = 0, ret = 1; + int dtls1 = 0, dtls12 = 0, tls1 = 0, ssl3 = 0, ret = 1; int client_auth = 0; int server_auth = 0, i; struct app_verify_arg app_verify_arg = @@ -1136,6 +1140,16 @@ int main(int argc, char *argv[]) no_protocol = 1; #endif ssl3 = 1; + } else if (strcmp(*argv, "-dtls1") == 0) { +#ifdef OPENSSL_NO_DTLS + no_protocol = 1; +#endif + dtls1 = 1; + } else if (strcmp(*argv, "-dtls12") == 0) { +#ifdef OPENSSL_NO_DTLS + no_protocol = 1; +#endif + dtls12 = 1; } else if (strncmp(*argv, "-num", 4) == 0) { if (--argc < 1) goto bad; @@ -1309,8 +1323,8 @@ int main(int argc, char *argv[]) goto end; } - if (ssl3 + tls1 > 1) { - fprintf(stderr, "At most one of -ssl3, or -tls1 should " + if (ssl3 + tls1 + dtls1 + dtls12 > 1) { + fprintf(stderr, "At most one of -ssl3, -tls1, -dtls1 or -dtls12 should " "be requested.\n"); EXIT(1); } @@ -1327,10 +1341,10 @@ int main(int argc, char *argv[]) goto end; } - if (!ssl3 && !tls1 && number > 1 && !reuse && !force) { + if (!ssl3 && !tls1 && !dtls1 && !dtls12 && number > 1 && !reuse && !force) { fprintf(stderr, "This case cannot work. Use -f to perform " "the test anyway (and\n-d to see what happens), " - "or add one of -ssl3, -tls1, -reuse\n" + "or add one of -ssl3, -tls1, -dtls1, -dtls12, -reuse\n" "to avoid protocol mismatch.\n"); EXIT(1); } @@ -1403,6 +1417,13 @@ int main(int argc, char *argv[]) meth = SSLv3_method(); else #endif +#ifndef OPENSSL_NO_DTLS + if (dtls1) + meth = DTLSv1_method(); + else if (dtls12) + meth = DTLSv1_2_method(); + else +#endif if (tls1) meth = TLSv1_method(); else |