The branch master has been updated
       via  837f87c217fd595c814c4e1ab47ec1842d29b60d (commit)
      from  6ea3bca427b3e759939a63555821d0c4678dd79c (commit)


- Log -----------------------------------------------------------------
commit 837f87c217fd595c814c4e1ab47ec1842d29b60d
Author: Paul Yang <paulyang....@gmail.com>
Date:   Fri Jun 16 18:12:02 2017 +0800

    Forbid to specify -nextprotoneg if -tls1_3 is enabled
    
    This applies both to s_client and s_server app.
    
    Reaction to Issue #3665.
    
    Signed-off-by: Paul Yang <paulyang....@gmail.com>
    
    Reviewed-by: Matt Caswell <m...@openssl.org>
    Reviewed-by: Rich Salz <rs...@openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/3697)

-----------------------------------------------------------------------

Summary of changes:
 apps/s_client.c       | 6 ++++++
 apps/s_server.c       | 6 ++++++
 doc/man1/s_client.pod | 1 +
 doc/man1/s_server.pod | 1 +
 4 files changed, 14 insertions(+)

diff --git a/apps/s_client.c b/apps/s_client.c
index 8af3853..ad0eaec 100644
--- a/apps/s_client.c
+++ b/apps/s_client.c
@@ -1424,6 +1424,12 @@ int s_client_main(int argc, char **argv)
     if (argc != 0)
         goto opthelp;
 
+#ifndef OPENSSL_NO_NEXTPROTONEG
+    if (min_version == TLS1_3_VERSION && next_proto_neg_in != NULL) {
+        BIO_printf(bio_err, "Cannot supply -nextprotoneg with TLSv1.3\n");
+        goto opthelp;
+    }
+#endif
     if (proxystr != NULL) {
         int res;
         char *tmp_host = host, *tmp_port = port;
diff --git a/apps/s_server.c b/apps/s_server.c
index 26947c3..930ef6e 100644
--- a/apps/s_server.c
+++ b/apps/s_server.c
@@ -1536,6 +1536,12 @@ int s_server_main(int argc, char *argv[])
     argc = opt_num_rest();
     argv = opt_rest();
 
+#ifndef OPENSSL_NO_NEXTPROTONEG
+    if (min_version == TLS1_3_VERSION && next_proto_neg_in != NULL) {
+        BIO_printf(bio_err, "Cannot supply -nextprotoneg with TLSv1.3\n");
+        goto opthelp;
+    }
+#endif
 #ifndef OPENSSL_NO_DTLS
     if (www && socket_type == SOCK_DGRAM) {
         BIO_printf(bio_err, "Can't use -HTTP, -www or -WWW with DTLS\n");
diff --git a/doc/man1/s_client.pod b/doc/man1/s_client.pod
index 9f6084d..57fa920 100644
--- a/doc/man1/s_client.pod
+++ b/doc/man1/s_client.pod
@@ -564,6 +564,7 @@ for example "http/1.1" or "spdy/3".
 An empty list of protocols is treated specially and will cause the
 client to advertise support for the TLS extension but disconnect just
 after receiving ServerHello with a list of server supported protocols.
+The flag B<-nextprotoneg> cannot be specified if B<-tls1_3> is used.
 
 =item B<-ct|noct>
 
diff --git a/doc/man1/s_server.pod b/doc/man1/s_server.pod
index 6f22797..5f6054a 100644
--- a/doc/man1/s_server.pod
+++ b/doc/man1/s_server.pod
@@ -609,6 +609,7 @@ The B<val> list is a comma-separated list of supported 
protocol
 names.  The list should contain the most desirable protocols first.
 Protocol names are printable ASCII strings, for example "http/1.1" or
 "spdy/3".
+The flag B<-nextprotoneg> cannot be specified if B<-tls1_3> is used.
 
 =item B<-engine val>
 
_____
openssl-commits mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits

Reply via email to