aboutsummaryrefslogtreecommitdiffstats
path: root/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/10_w3m.1-debian-fix.patch (renamed from debian/patches/03-w3m.1-debian-fix)0
-rw-r--r--debian/patches/20_ja-w3m.1-debian-fix.patch (renamed from debian/patches/04-ja-w3m.1-debian-fix)0
-rw-r--r--debian/patches/30_config-debian-fix.patch (renamed from debian/patches/05-config-debian-fix)0
-rw-r--r--debian/patches/40_gnukfreebsd-ftbfs-fix.patch (renamed from debian/patches/06-gnukfreebsd-ftbfs-fix)0
-rw-r--r--debian/patches/50_w3mman-keep-formatting.patch (renamed from debian/patches/10-w3mman-keep-formatting)0
-rw-r--r--debian/patches/60_check-null-cn.patch57
-rw-r--r--debian/patches/70_ssl-init.patch25
-rw-r--r--debian/patches/series12
8 files changed, 89 insertions, 5 deletions
diff --git a/debian/patches/03-w3m.1-debian-fix b/debian/patches/10_w3m.1-debian-fix.patch
index e43dae4..e43dae4 100644
--- a/debian/patches/03-w3m.1-debian-fix
+++ b/debian/patches/10_w3m.1-debian-fix.patch
diff --git a/debian/patches/04-ja-w3m.1-debian-fix b/debian/patches/20_ja-w3m.1-debian-fix.patch
index da9961b..da9961b 100644
--- a/debian/patches/04-ja-w3m.1-debian-fix
+++ b/debian/patches/20_ja-w3m.1-debian-fix.patch
diff --git a/debian/patches/05-config-debian-fix b/debian/patches/30_config-debian-fix.patch
index 0f0818d..0f0818d 100644
--- a/debian/patches/05-config-debian-fix
+++ b/debian/patches/30_config-debian-fix.patch
diff --git a/debian/patches/06-gnukfreebsd-ftbfs-fix b/debian/patches/40_gnukfreebsd-ftbfs-fix.patch
index 8398f4d..8398f4d 100644
--- a/debian/patches/06-gnukfreebsd-ftbfs-fix
+++ b/debian/patches/40_gnukfreebsd-ftbfs-fix.patch
diff --git a/debian/patches/10-w3mman-keep-formatting b/debian/patches/50_w3mman-keep-formatting.patch
index 2e3c81c..2e3c81c 100644
--- a/debian/patches/10-w3mman-keep-formatting
+++ b/debian/patches/50_w3mman-keep-formatting.patch
diff --git a/debian/patches/60_check-null-cn.patch b/debian/patches/60_check-null-cn.patch
new file mode 100644
index 0000000..fdab45c
--- /dev/null
+++ b/debian/patches/60_check-null-cn.patch
@@ -0,0 +1,57 @@
+Description: Check for null bytes in CN/subjAltName
+Origin: http://www.openwall.com/lists/oss-security/2010/06/14/4
+Author: Ludwig Nussel <ludwig.nussel@suse.de>
+Bug-Debian: http://bugs.debian.org/587445
+
+--- w3m-0.5.2.orig/istream.c
++++ w3m-0.5.2/istream.c
+@@ -447,8 +447,17 @@ ssl_check_cert_ident(X509 * x, char *hos
+
+ if (!seen_dnsname)
+ seen_dnsname = Strnew();
++ /* replace \0 to make full string visible to user */
++ if (sl != strlen(sn)) {
++ int i;
++ for (i = 0; i < sl; ++i) {
++ if (!sn[i])
++ sn[i] = '!';
++ }
++ }
+ Strcat_m_charp(seen_dnsname, sn, " ", NULL);
+- if (ssl_match_cert_ident(sn, sl, hostname))
++ if (sl == strlen(sn) /* catch \0 in SAN */
++ && ssl_match_cert_ident(sn, sl, hostname))
+ break;
+ }
+ }
+@@ -466,16 +475,27 @@ ssl_check_cert_ident(X509 * x, char *hos
+ if (match_ident == FALSE && ret == NULL) {
+ X509_NAME *xn;
+ char buf[2048];
++ int slen;
+
+ xn = X509_get_subject_name(x);
+
+- if (X509_NAME_get_text_by_NID(xn, NID_commonName,
+- buf, sizeof(buf)) == -1)
++ slen = X509_NAME_get_text_by_NID(xn, NID_commonName, buf, sizeof(buf));
++ if ( slen == -1)
+ /* FIXME: gettextize? */
+ ret = Strnew_charp("Unable to get common name from peer cert");
+- else if (!ssl_match_cert_ident(buf, strlen(buf), hostname))
++ else if (slen != strlen(buf)
++ || !ssl_match_cert_ident(buf, strlen(buf), hostname)) {
++ /* replace \0 to make full string visible to user */
++ if (slen != strlen(buf)) {
++ int i;
++ for (i = 0; i < slen; ++i) {
++ if (!buf[i])
++ buf[i] = '!';
++ }
++ }
+ /* FIXME: gettextize? */
+ ret = Sprintf("Bad cert ident %s from %s", buf, hostname);
++ }
+ else
+ match_ident = TRUE;
+ }
diff --git a/debian/patches/70_ssl-init.patch b/debian/patches/70_ssl-init.patch
new file mode 100644
index 0000000..6d19279
--- /dev/null
+++ b/debian/patches/70_ssl-init.patch
@@ -0,0 +1,25 @@
+Description: Force ssl_verify_server on and disable SSLv2 support
+Origin: http://www.openwall.com/lists/oss-security/2010/06/14/4
+Author: Ludwig Nussel <ludwig.nussel@suse.de>
+Bug-Debian: http://bugs.debian.org/587445
+
+--- w3m-0.5.2.orig/fm.h
++++ w3m-0.5.2/fm.h
+@@ -1120,7 +1120,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);
+@@ -1129,7 +1129,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");
+ #endif
+
+ global int is_redisplay init(FALSE);
diff --git a/debian/patches/series b/debian/patches/series
index c9dd892..abb32d3 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,5 +1,7 @@
-03-w3m.1-debian-fix
-04-ja-w3m.1-debian-fix
-05-config-debian-fix
-06-gnukfreebsd-ftbfs-fix
-10-w3mman-keep-formatting
+10_w3m.1-debian-fix.patch
+20_ja-w3m.1-debian-fix.patch
+30_config-debian-fix.patch
+40_gnukfreebsd-ftbfs-fix.patch
+50_w3mman-keep-formatting.patch
+60_check-null-cn.patch
+70_ssl-init.patch