I've tested below patch and results seems to be good:

for i in www.secure.io www.secure.io:8443 www.amazon.com www.google.com 
www.facebook.com
do
  for j in auto sslv2 sslv3 tlsv1 tlsv1_1 tlsv1_2 pfs
  do
    echo "===> wget -S -O /dev/null --progress dot:mega --secure-protocol $j 
https://$i/ <==="
    wget -S -O /dev/null --progress dot:mega --secure-protocol $j https://$i/
    echo
    echo
  done
done


However, with sslv2 wget ends up with 'Abort trap (core dumped)'. I did
expect that sslv2 will not work, but didn't expect it will core dump.
Otherwise it looks good to me.



On Wed, Nov 19, 2014 at 10:05:24PM +0100, Jérémie Courr??ges-Anglas wrote:
> So, here's a patch that makes wget use TLSv1+ instead of TLSv1.0 by
> default - and with --secure-protocol=pfs - while making sure that we
> don't accept SSLv[23].
> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/net/wget/Makefile,v
> retrieving revision 1.64
> diff -u -p -r1.64 Makefile
> --- Makefile  5 Nov 2014 22:11:40 -0000       1.64
> +++ Makefile  19 Nov 2014 20:56:37 -0000
> @@ -3,6 +3,7 @@
>  COMMENT =    retrieve files from the web via HTTP, HTTPS and FTP
>  
>  DISTNAME =   wget-1.16
> +REVISION =   0
>  CATEGORIES = net
>  
>  HOMEPAGE =   https://www.gnu.org/software/wget/
> Index: patches/patch-src_openssl_c
> ===================================================================
> RCS file: /cvs/ports/net/wget/patches/patch-src_openssl_c,v
> retrieving revision 1.8
> diff -u -p -r1.8 patch-src_openssl_c
> --- patches/patch-src_openssl_c       5 Nov 2014 22:11:40 -0000       1.8
> +++ patches/patch-src_openssl_c       19 Nov 2014 20:21:35 -0000
> @@ -1,6 +1,6 @@
>  $OpenBSD: patch-src_openssl_c,v 1.8 2014/11/05 22:11:40 naddy Exp $
>  --- src/openssl.c.orig       Mon Oct 27 09:15:33 2014
> -+++ src/openssl.c    Tue Nov  4 22:27:21 2014
> ++++ src/openssl.c    Wed Nov 19 21:21:07 2014
>  @@ -89,9 +89,11 @@ init_prng (void)
>     if (RAND_status ())
>       return;
> @@ -13,3 +13,32 @@ $OpenBSD: patch-src_openssl_c,v 1.8 2014
>   
>     if (RAND_status ())
>       return;
> +@@ -201,6 +203,8 @@ ssl_init (void)
> +   SSLeay_add_all_algorithms ();
> +   SSLeay_add_ssl_algorithms ();
> + 
> ++  long ssl_options = 0;
> ++
> +   switch (opt.secure_protocol)
> +     {
> + #ifndef OPENSSL_NO_SSL2
> +@@ -213,6 +217,9 @@ ssl_init (void)
> +       break;
> +     case secure_protocol_auto:
> +     case secure_protocol_pfs:
> ++      meth = SSLv23_client_method ();
> ++      ssl_options |= SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3;
> ++      break;
> +     case secure_protocol_tlsv1:
> +       meth = TLSv1_client_method ();
> +       break;
> +@@ -233,6 +240,9 @@ ssl_init (void)
> +   ssl_ctx = SSL_CTX_new ((SSL_METHOD *)meth);
> +   if (!ssl_ctx)
> +     goto error;
> ++
> ++  if (ssl_options)
> ++    SSL_CTX_set_options (ssl_ctx, ssl_options);
> + 
> +   /* OpenSSL ciphers: https://www.openssl.org/docs/apps/ciphers.html
> +    * Since we want a good protection, we also use HIGH (that excludes MD4 
> ciphers and some more)
> 

-- 
best regards
q#

Reply via email to