mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-19 05:57:04 +01:00
gnu: w3m: Enable SSL, disable broken protocols and ciphers.
Fixes <http://bugs.gnu.org/16791>. * gnu/packages/patches/w3m-force-ssl_verify_server-on.patch: New file. * gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch: New file. * gnu/packages/patches/w3m-disable-weak-ciphers.patch: New file. * gnu/packages/w3m.scm (w3m)[source]: Add patches. * gnu-system.am (dist_patch_DATA): Add the new files.
This commit is contained in:
parent
e6352001c4
commit
62339e2d49
5 changed files with 79 additions and 1 deletions
|
@ -699,6 +699,9 @@ dist_patch_DATA = \
|
||||||
gnu/packages/patches/vpnc-script.patch \
|
gnu/packages/patches/vpnc-script.patch \
|
||||||
gnu/packages/patches/vtk-mesa-10.patch \
|
gnu/packages/patches/vtk-mesa-10.patch \
|
||||||
gnu/packages/patches/w3m-libgc.patch \
|
gnu/packages/patches/w3m-libgc.patch \
|
||||||
|
gnu/packages/patches/w3m-force-ssl_verify_server-on.patch \
|
||||||
|
gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch \
|
||||||
|
gnu/packages/patches/w3m-disable-weak-ciphers.patch \
|
||||||
gnu/packages/patches/webkitgtk-2.4-sql-init-string.patch \
|
gnu/packages/patches/webkitgtk-2.4-sql-init-string.patch \
|
||||||
gnu/packages/patches/weechat-python.patch \
|
gnu/packages/patches/weechat-python.patch \
|
||||||
gnu/packages/patches/weex-vacopy.patch \
|
gnu/packages/patches/weex-vacopy.patch \
|
||||||
|
|
24
gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch
Normal file
24
gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
Subject: Disable SSLv2 and SSLv3.
|
||||||
|
|
||||||
|
The only remaining methods are TLSv1.* (the code never distinguishes
|
||||||
|
between TLSv1.0, TLSv1.1, and TLSv1.2).
|
||||||
|
---
|
||||||
|
fm.h | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/fm.h b/fm.h
|
||||||
|
index 320906c..ddcd4fc 100644
|
||||||
|
--- a/fm.h
|
||||||
|
+++ b/fm.h
|
||||||
|
@@ -1144,7 +1144,7 @@ global int ssl_path_modified init(FALSE);
|
||||||
|
#endif /* defined(USE_SSL) &&
|
||||||
|
* defined(USE_SSL_VERIFY) */
|
||||||
|
#ifdef USE_SSL
|
||||||
|
-global char *ssl_forbid_method init(NULL);
|
||||||
|
+global char *ssl_forbid_method init("2, 3");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
global int is_redisplay init(FALSE);
|
||||||
|
--
|
||||||
|
2.6.4
|
||||||
|
|
24
gnu/packages/patches/w3m-disable-weak-ciphers.patch
Normal file
24
gnu/packages/patches/w3m-disable-weak-ciphers.patch
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
Subject: Disable weak ciphers
|
||||||
|
|
||||||
|
Disable RC4, "export ciphers", and all keys < 128 bits.
|
||||||
|
|
||||||
|
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/w3m/+bug/1325674
|
||||||
|
---
|
||||||
|
url.c | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/url.c b/url.c
|
||||||
|
index ed6062e..e86b1f3 100644
|
||||||
|
--- a/url.c
|
||||||
|
+++ b/url.c
|
||||||
|
@@ -326,6 +326,7 @@ openSSLHandle(int sock, char *hostname, char **p_cert)
|
||||||
|
SSL_load_error_strings();
|
||||||
|
if (!(ssl_ctx = SSL_CTX_new(SSLv23_client_method())))
|
||||||
|
goto eend;
|
||||||
|
+ SSL_CTX_set_cipher_list(ssl_ctx, "DEFAULT:!LOW:!RC4:!EXP");
|
||||||
|
option = SSL_OP_ALL;
|
||||||
|
if (ssl_forbid_method) {
|
||||||
|
if (strchr(ssl_forbid_method, '2'))
|
||||||
|
--
|
||||||
|
2.6.4
|
||||||
|
|
24
gnu/packages/patches/w3m-force-ssl_verify_server-on.patch
Normal file
24
gnu/packages/patches/w3m-force-ssl_verify_server-on.patch
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
Subject: Force ssl_verify_server on.
|
||||||
|
|
||||||
|
By default, SSL/TLS certificates are not verified. This enables the
|
||||||
|
verification.
|
||||||
|
---
|
||||||
|
fm.h | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/fm.h b/fm.h
|
||||||
|
index 8378939..320906c 100644
|
||||||
|
--- a/fm.h
|
||||||
|
+++ b/fm.h
|
||||||
|
@@ -1135,7 +1135,7 @@ global int view_unseenobject init(TRUE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(USE_SSL) && defined(USE_SSL_VERIFY)
|
||||||
|
-global int ssl_verify_server init(FALSE);
|
||||||
|
+global int ssl_verify_server init(TRUE);
|
||||||
|
global char *ssl_cert_file init(NULL);
|
||||||
|
global char *ssl_key_file init(NULL);
|
||||||
|
global char *ssl_ca_path init(NULL);
|
||||||
|
--
|
||||||
|
2.6.4
|
||||||
|
|
|
@ -44,7 +44,10 @@ (define-public w3m
|
||||||
"1qx9f0kprf92r1wxl3sacykla0g04qsi0idypzz24b7xy9ix5579"))
|
"1qx9f0kprf92r1wxl3sacykla0g04qsi0idypzz24b7xy9ix5579"))
|
||||||
|
|
||||||
;; cf. https://bugs.archlinux.org/task/33397
|
;; cf. https://bugs.archlinux.org/task/33397
|
||||||
(patches (list (search-patch "w3m-libgc.patch")))))
|
(patches (list (search-patch "w3m-libgc.patch")
|
||||||
|
(search-patch "w3m-force-ssl_verify_server-on.patch")
|
||||||
|
(search-patch "w3m-disable-sslv2-and-sslv3.patch")
|
||||||
|
(search-patch "w3m-disable-weak-ciphers.patch")))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments `(#:tests? #f ; no check target
|
(arguments `(#:tests? #f ; no check target
|
||||||
#:phases (alist-cons-before
|
#:phases (alist-cons-before
|
||||||
|
|
Loading…
Reference in a new issue