Blame SOURCES/openssl-1.0.2k-no-ssl2.patch

7779df
diff -up openssl-1.0.2k/apps/ciphers.c.no-ssl2 openssl-1.0.2k/apps/ciphers.c
7779df
--- openssl-1.0.2k/apps/ciphers.c.no-ssl2	2017-01-26 14:22:03.000000000 +0100
7779df
+++ openssl-1.0.2k/apps/ciphers.c	2017-03-01 14:18:28.058046372 +0100
7779df
@@ -73,7 +73,9 @@ static const char *ciphers_usage[] = {
7779df
     "usage: ciphers args\n",
7779df
     " -v          - verbose mode, a textual listing of the SSL/TLS ciphers in OpenSSL\n",
7779df
     " -V          - even more verbose\n",
7779df
+#ifndef OPENSSL_NO_SSL2
7779df
     " -ssl2       - SSL2 mode\n",
7779df
+#endif
7779df
     " -ssl3       - SSL3 mode\n",
7779df
     " -tls1       - TLS1 mode\n",
7779df
     NULL
7779df
diff -up openssl-1.0.2k/apps/s_client.c.no-ssl2 openssl-1.0.2k/apps/s_client.c
7779df
--- openssl-1.0.2k/apps/s_client.c.no-ssl2	2017-03-01 14:04:57.000000000 +0100
7779df
+++ openssl-1.0.2k/apps/s_client.c	2017-03-01 14:17:42.368974209 +0100
7779df
@@ -380,7 +380,9 @@ static void sc_usage(void)
7779df
                " -srp_strength int - minimal length in bits for N (default %d).\n",
7779df
                SRP_MINIMAL_N);
7779df
 #endif
7779df
+#ifndef OPENSSL_NO_SSL2
7779df
     BIO_printf(bio_err, " -ssl2         - just use SSLv2\n");
7779df
+#endif
7779df
 #ifndef OPENSSL_NO_SSL3_METHOD
7779df
     BIO_printf(bio_err, " -ssl3         - just use SSLv3\n");
7779df
 #endif
7779df
diff -up openssl-1.0.2k/apps/s_server.c.no-ssl2 openssl-1.0.2k/apps/s_server.c
7779df
--- openssl-1.0.2k/apps/s_server.c.no-ssl2	2017-02-15 11:33:38.000000000 +0100
7779df
+++ openssl-1.0.2k/apps/s_server.c	2017-03-01 14:13:54.154618822 +0100
7779df
@@ -598,7 +598,9 @@ static void sv_usage(void)
7779df
     BIO_printf(bio_err,
7779df
                " -srpuserseed string - A seed string for a default user salt.\n");
7779df
 #endif
7779df
+#ifndef OPENSSL_NO_SSL2
7779df
     BIO_printf(bio_err, " -ssl2         - Just talk SSLv2\n");
7779df
+#endif
7779df
 #ifndef OPENSSL_NO_SSL3_METHOD
7779df
     BIO_printf(bio_err, " -ssl3         - Just talk SSLv3\n");
7779df
 #endif
7779df
@@ -610,7 +612,7 @@ static void sv_usage(void)
7779df
     BIO_printf(bio_err, " -timeout      - Enable timeouts\n");
7779df
     BIO_printf(bio_err, " -mtu          - Set link layer MTU\n");
7779df
     BIO_printf(bio_err, " -chain        - Read a certificate chain\n");
7779df
-    BIO_printf(bio_err, " -no_ssl2      - Just disable SSLv2\n");
7779df
+    BIO_printf(bio_err, " -no_ssl2      - No-op, SSLv2 is always disabled\n");
7779df
     BIO_printf(bio_err, " -no_ssl3      - Just disable SSLv3\n");
7779df
     BIO_printf(bio_err, " -no_tls1      - Just disable TLSv1\n");
7779df
     BIO_printf(bio_err, " -no_tls1_1    - Just disable TLSv1.1\n");
7779df
diff -up openssl-1.0.2k/apps/s_time.c.no-ssl2 openssl-1.0.2k/apps/s_time.c
7779df
--- openssl-1.0.2k/apps/s_time.c.no-ssl2	2017-02-15 11:33:38.000000000 +0100
7779df
+++ openssl-1.0.2k/apps/s_time.c	2017-03-01 14:20:15.708572549 +0100
7779df
@@ -191,7 +191,9 @@ static void s_time_usage(void)
7779df
            SSL_CONNECT_NAME);
7779df
 #ifdef FIONBIO
7779df
     printf("-nbio         - Run with non-blocking IO\n");
7779df
+#ifndef OPENSSL_NO_SSL2
7779df
     printf("-ssl2         - Just use SSLv2\n");
7779df
+#endif
7779df
     printf("-ssl3         - Just use SSLv3\n");
7779df
     printf("-bugs         - Turn on SSL bug compatibility\n");
7779df
     printf("-new          - Just time new connections\n");
7779df
diff -up openssl-1.0.2k/doc/apps/ciphers.pod.no-ssl2 openssl-1.0.2k/doc/apps/ciphers.pod
7779df
--- openssl-1.0.2k/doc/apps/ciphers.pod.no-ssl2	2017-01-26 14:22:04.000000000 +0100
7779df
+++ openssl-1.0.2k/doc/apps/ciphers.pod	2017-03-01 14:02:51.275041593 +0100
7779df
@@ -9,7 +9,6 @@ ciphers - SSL cipher display and cipher
7779df
 B<openssl> B<ciphers>
7779df
 [B<-v>]
7779df
 [B<-V>]
7779df
-[B<-ssl2>]
7779df
 [B<-ssl3>]
7779df
 [B<-tls1>]
7779df
 [B<cipherlist>]
7779df
@@ -42,10 +41,6 @@ Like B<-v>, but include cipher suite cod
7779df
 
7779df
 This lists ciphers compatible with any of SSLv3, TLSv1, TLSv1.1 or TLSv1.2.
7779df
 
7779df
-=item B<-ssl2>
7779df
-
7779df
-Only include SSLv2 ciphers.
7779df
-
7779df
 =item B<-h>, B<-?>
7779df
 
7779df
 Print a brief usage message.
7779df
diff -up openssl-1.0.2k/doc/apps/s_client.pod.no-ssl2 openssl-1.0.2k/doc/apps/s_client.pod
7779df
--- openssl-1.0.2k/doc/apps/s_client.pod.no-ssl2	2017-03-01 14:04:57.000000000 +0100
7779df
+++ openssl-1.0.2k/doc/apps/s_client.pod	2017-03-01 14:06:28.389146669 +0100
7779df
@@ -33,13 +33,11 @@ B<openssl> B<s_client>
7779df
 [B<-ign_eof>]
7779df
 [B<-no_ign_eof>]
7779df
 [B<-quiet>]
7779df
-[B<-ssl2>]
7779df
 [B<-ssl3>]
7779df
 [B<-tls1>]
7779df
 [B<-tls1_1>]
7779df
 [B<-tls1_2>]
7779df
 [B<-dtls1>]
7779df
-[B<-no_ssl2>]
7779df
 [B<-no_ssl3>]
7779df
 [B<-no_tls1>]
7779df
 [B<-no_tls1_1>]
7779df
@@ -207,7 +205,7 @@ Use the PSK key B<key> when using a PSK
7779df
 given as a hexadecimal number without leading 0x, for example -psk
7779df
 1a2b3c4d.
7779df
 
7779df
-=item B<-ssl2>, B<-ssl3>, B<-tls1>, B<-tls1_1>, B<-tls1_2>, B<-dtls1>, B<-no_ssl2>, B<-no_ssl3>, B<-no_tls1>, B<-no_tls1_1>, B<-no_tls1_2>
7779df
+=item B<-ssl3>, B<-tls1>, B<-tls1_1>, B<-tls1_2>, B<-dtls1>, B<-no_ssl3>, B<-no_tls1>, B<-no_tls1_1>, B<-no_tls1_2>
7779df
 
7779df
 These options require or disable the use of the specified SSL or TLS protocols.
7779df
 By default the initial handshake uses a I<version-flexible> method which will
7779df
@@ -326,8 +324,8 @@ would typically be used (https uses port
7779df
 then an HTTP command can be given such as "GET /" to retrieve a web page.
7779df
 
7779df
 If the handshake fails then there are several possible causes, if it is
7779df
-nothing obvious like no client certificate then the B<-bugs>, B<-ssl2>,
7779df
-B<-ssl3>, B<-tls1>, B<-no_ssl2>, B<-no_ssl3>, B<-no_tls1> options can be tried
7779df
+nothing obvious like no client certificate then the B<-bugs>,
7779df
+B<-ssl3>, B<-tls1>, B<-no_ssl3>, B<-no_tls1> options can be tried
7779df
 in case it is a buggy server. In particular you should play with these
7779df
 options B<before> submitting a bug report to an OpenSSL mailing list.
7779df
 
7779df
@@ -349,10 +347,6 @@ on the command line is no guarantee that
7779df
 If there are problems verifying a server certificate then the
7779df
 B<-showcerts> option can be used to show the whole chain.
7779df
 
7779df
-Since the SSLv23 client hello cannot include compression methods or extensions
7779df
-these will only be supported if its use is disabled, for example by using the
7779df
-B<-no_sslv2> option.
7779df
-
7779df
 The B<s_client> utility is a test tool and is designed to continue the
7779df
 handshake after any certificate verification errors. As a result it will
7779df
 accept any certificate chain (trusted or not) sent by the peer. None test
7779df
diff -up openssl-1.0.2k/doc/apps/s_server.pod.no-ssl2 openssl-1.0.2k/doc/apps/s_server.pod
7779df
--- openssl-1.0.2k/doc/apps/s_server.pod.no-ssl2	2017-03-01 14:04:57.000000000 +0100
7779df
+++ openssl-1.0.2k/doc/apps/s_server.pod	2017-03-01 14:04:17.871077754 +0100
7779df
@@ -42,12 +42,10 @@ B<openssl> B<s_server>
7779df
 [B<-keytab filename>]
7779df
 [B<-quiet>]
7779df
 [B<-no_tmp_rsa>]
7779df
-[B<-ssl2>]
7779df
 [B<-ssl3>]
7779df
 [B<-tls1>]
7779df
 [B<-tls1_1>]
7779df
 [B<-tls1_2>]
7779df
-[B<-no_ssl2>]
7779df
 [B<-no_ssl3>]
7779df
 [B<-no_tls1>]
7779df
 [B<-no_dhe>]
7779df
@@ -229,7 +227,7 @@ Use the PSK key B<key> when using a PSK
7779df
 given as a hexadecimal number without leading 0x, for example -psk
7779df
 1a2b3c4d.
7779df
 
7779df
-=item B<-ssl2>, B<-ssl3>, B<-tls1>, B<-tls1_1>, B<-tls1_2>, B<-dtls1>, B<-no_ssl2>, B<-no_ssl3>, B<-no_tls1>, B<-no_tls1_1>, B<-no_tls1_2>
7779df
+=item B<-ssl3>, B<-tls1>, B<-tls1_1>, B<-tls1_2>, B<-dtls1>, B<-no_ssl3>, B<-no_tls1>, B<-no_tls1_1>, B<-no_tls1_2>
7779df
 
7779df
 These options require or disable the use of the specified SSL or TLS protocols.
7779df
 By default the initial handshake uses a I<version-flexible> method which will
7779df
diff -up openssl-1.0.2k/doc/apps/s_time.pod.no-ssl2 openssl-1.0.2k/doc/apps/s_time.pod
7779df
--- openssl-1.0.2k/doc/apps/s_time.pod.no-ssl2	2017-02-15 11:33:38.000000000 +0100
7779df
+++ openssl-1.0.2k/doc/apps/s_time.pod	2017-03-01 14:03:50.440432769 +0100
7779df
@@ -20,7 +20,6 @@ B<openssl> B<s_time>
7779df
 [B<-verify depth>]
7779df
 [B<-nbio>]
7779df
 [B<-time seconds>]
7779df
-[B<-ssl2>]
7779df
 [B<-ssl3>]
7779df
 [B<-bugs>]
7779df
 [B<-cipher cipherlist>]
7779df
@@ -99,9 +98,9 @@ specified, they are both on by default a
7779df
 
7779df
 turns on non-blocking I/O.
7779df
 
7779df
-=item B<-ssl2>, B<-ssl3>
7779df
+=item B<-ssl3>
7779df
 
7779df
-these options disable the use of certain SSL or TLS protocols. By default
7779df
+this option disables the use of certain SSL or TLS protocols. By default
7779df
 the initial handshake uses a method which should be compatible with all
7779df
 servers and permit them to use SSL v3, SSL v2 or TLS as appropriate.
7779df
 The timing program is not as rich in options to turn protocols on and off as
7779df
@@ -109,8 +108,7 @@ the L<s_client(1)|s_client(1)> program a
7779df
 
7779df
 Unfortunately there are a lot of ancient and broken servers in use which
7779df
 cannot handle this technique and will fail to connect. Some servers only
7779df
-work if TLS is turned off with the B<-ssl3> option; others
7779df
-will only support SSL v2 and may need the B<-ssl2> option.
7779df
+work if TLS is turned off with the B<-ssl3> option.
7779df
 
7779df
 =item B<-bugs>
7779df
 
7779df
@@ -144,7 +142,7 @@ which both client and server can agree,
7779df
 for details.
7779df
 
7779df
 If the handshake fails then there are several possible causes, if it is
7779df
-nothing obvious like no client certificate then the B<-bugs>, B<-ssl2>,
7779df
+nothing obvious like no client certificate then the B<-bugs>,
7779df
 B<-ssl3> options can be tried
7779df
 in case it is a buggy server. In particular you should play with these
7779df
 options B<before> submitting a bug report to an OpenSSL mailing list.
7779df
diff -up openssl-1.0.2k/doc/ssl/SSL_CTX_new.pod.no-ssl2 openssl-1.0.2k/doc/ssl/SSL_CTX_new.pod
7779df
--- openssl-1.0.2k/doc/ssl/SSL_CTX_new.pod.no-ssl2	2017-01-26 14:22:04.000000000 +0100
7779df
+++ openssl-1.0.2k/doc/ssl/SSL_CTX_new.pod	2017-03-01 14:09:12.981016773 +0100
7779df
@@ -123,13 +123,8 @@ used.
7779df
 
7779df
 =item SSLv2_method(), SSLv2_server_method(), SSLv2_client_method()
7779df
 
7779df
-A TLS/SSL connection established with these methods will only understand the
7779df
-SSLv2 protocol.  A client will send out SSLv2 client hello messages and will
7779df
-also indicate that it only understand SSLv2.  A server will only understand
7779df
-SSLv2 client hello messages.  The SSLv2 protocol offers little to no security
7779df
-and should not be used.
7779df
-As of OpenSSL 1.0.2g, EXPORT ciphers and 56-bit DES are no longer available
7779df
-with SSLv2.
7779df
+These calls are provided only as stubs for keeping ABI compatibility. There
7779df
+is no support for SSLv2 built in the library.
7779df
 
7779df
 =item DTLS_method(), DTLS_server_method(), DTLS_client_method()
7779df