summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorBenny Baumann <BenBE@geshi.org>2020-06-24 21:54:05 +0200
committerPauli <paul.dale@oracle.com>2020-06-30 11:12:59 +1000
commit2c9ba46c90e9d25040260bbdc43e87921f08c788 (patch)
tree5ef7a9cf188b3f485138ce0b0220f2646c1afdbb /apps
parent64fdea12beb7fa0a1c2d2c67ee998e3e5d895b0b (diff)
Force ssl/tls protocol flags to use stream sockets
Prior to this patch doing something like openssl s_client -dtls1 -tls1 ... could cause s_client to speak TLS on a UDP socket which does not normally make much sense. Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/12266)
Diffstat (limited to 'apps')
-rw-r--r--apps/s_client.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/apps/s_client.c b/apps/s_client.c
index 886b2cd8d6..5a5a40c927 100644
--- a/apps/s_client.c
+++ b/apps/s_client.c
@@ -1319,22 +1319,42 @@ int s_client_main(int argc, char **argv)
case OPT_SSL3:
min_version = SSL3_VERSION;
max_version = SSL3_VERSION;
+ socket_type = SOCK_STREAM;
+#ifndef OPENSSL_NO_DTLS
+ isdtls = 0;
+#endif
break;
case OPT_TLS1_3:
min_version = TLS1_3_VERSION;
max_version = TLS1_3_VERSION;
+ socket_type = SOCK_STREAM;
+#ifndef OPENSSL_NO_DTLS
+ isdtls = 0;
+#endif
break;
case OPT_TLS1_2:
min_version = TLS1_2_VERSION;
max_version = TLS1_2_VERSION;
+ socket_type = SOCK_STREAM;
+#ifndef OPENSSL_NO_DTLS
+ isdtls = 0;
+#endif
break;
case OPT_TLS1_1:
min_version = TLS1_1_VERSION;
max_version = TLS1_1_VERSION;
+ socket_type = SOCK_STREAM;
+#ifndef OPENSSL_NO_DTLS
+ isdtls = 0;
+#endif
break;
case OPT_TLS1:
min_version = TLS1_VERSION;
max_version = TLS1_VERSION;
+ socket_type = SOCK_STREAM;
+#ifndef OPENSSL_NO_DTLS
+ isdtls = 0;
+#endif
break;
case OPT_DTLS:
#ifndef OPENSSL_NO_DTLS