diff options
Diffstat (limited to 'network/w3m/patches/w3m-0.5.2-nulcn.patch')
-rw-r--r-- | network/w3m/patches/w3m-0.5.2-nulcn.patch | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/network/w3m/patches/w3m-0.5.2-nulcn.patch b/network/w3m/patches/w3m-0.5.2-nulcn.patch deleted file mode 100644 index bc67ab8c6806..000000000000 --- a/network/w3m/patches/w3m-0.5.2-nulcn.patch +++ /dev/null @@ -1,54 +0,0 @@ -Index: w3m-0.5.2/istream.c -=================================================================== ---- 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; - } |