summaryrefslogtreecommitdiff
path: root/network/w3m/patches
diff options
context:
space:
mode:
authorFelix Pfeifer <pfeifer[dot]felix[at]googlemail[dot]com>2010-08-28 08:08:34 -0400
committerErik Hanson <erik@slackbuilds.org>2010-08-29 15:32:14 -0500
commitf5287105ec1e82d22cf6fd8e556b1094f244bcff (patch)
tree180464a6451f07119f1f9c821af078c1ba6b0958 /network/w3m/patches
parent0c218fe9a0caa5529cb479248c73fbf981a5f860 (diff)
downloadslackbuilds-f5287105ec1e82d22cf6fd8e556b1094f244bcff.tar.gz
network/w3m: Added (text-mode web browser)
Signed-off-by: dsomero <xgizzmo@slackbuilds.org>
Diffstat (limited to 'network/w3m/patches')
-rw-r--r--network/w3m/patches/bug_566101_Fix-DSO-X11.patch11
-rw-r--r--network/w3m/patches/w3m-0.4.1-helpcharset.patch24
-rw-r--r--network/w3m/patches/w3m-0.5.1-gcc4.patch23
-rw-r--r--network/w3m/patches/w3m-0.5.2-gpm_fix-1.patch124
-rw-r--r--network/w3m/patches/w3m-0.5.2-multilib.patch12
-rw-r--r--network/w3m/patches/w3m-0.5.2-nulcn.patch54
-rw-r--r--network/w3m/patches/w3m-0.5.2-ssl_verify_server_on.patch24
7 files changed, 272 insertions, 0 deletions
diff --git a/network/w3m/patches/bug_566101_Fix-DSO-X11.patch b/network/w3m/patches/bug_566101_Fix-DSO-X11.patch
new file mode 100644
index 0000000000..4f41fc885f
--- /dev/null
+++ b/network/w3m/patches/bug_566101_Fix-DSO-X11.patch
@@ -0,0 +1,11 @@
+--- Makefile.in.old 2007-05-29 17:31:04.000000000 +0530
++++ Makefile.in 2010-02-17 14:19:08.000000000 +0530
+@@ -193,7 +193,7 @@
+ $(CC) $(CFLAGS) -DDUMMY -c -o $@ $?
+
+ $(IMGDISPLAY): w3mimgdisplay.o $(ALIB) w3mimg/w3mimg.a
+- $(CC) $(CFLAGS) -o $(IMGDISPLAY) w3mimgdisplay.o w3mimg/w3mimg.a $(LDFLAGS) $(LIBS) $(IMGLDFLAGS)
++ $(CC) $(CFLAGS) -o $(IMGDISPLAY) w3mimgdisplay.o w3mimg/w3mimg.a $(LDFLAGS) $(LIBS) $(IMGLDFLAGS) -lX11
+
+ w3mimgdisplay.o: w3mimgdisplay.c w3mimg/w3mimg.h
+ $(CC) $(CFLAGS) $(IMGCFLAGS) -o $@ -c $(srcdir)/w3mimgdisplay.c
diff --git a/network/w3m/patches/w3m-0.4.1-helpcharset.patch b/network/w3m/patches/w3m-0.4.1-helpcharset.patch
new file mode 100644
index 0000000000..be787e12a3
--- /dev/null
+++ b/network/w3m/patches/w3m-0.4.1-helpcharset.patch
@@ -0,0 +1,24 @@
+diff -ruN w3m-0.4.1.orig/scripts/w3mhelp.cgi.in w3m-0.4.1/scripts/w3mhelp.cgi.in
+--- w3m-0.4.1.orig/scripts/w3mhelp.cgi.in 2003-06-12 21:03:09.000000000 +0900
++++ w3m-0.4.1/scripts/w3mhelp.cgi.in 2003-06-12 21:25:44.000000000 +0900
+@@ -51,6 +51,12 @@
+ }
+ }
+
++if ($lang eq 'ja') {
++ $help_charset='EUC-JP';
++} else {
++ $help_charset='UTF-8';
++}
++
+ %f = %keyfunc;
+ %keyfunc = ();
+ while (($key, $fname) = each %f) {
+@@ -88,6 +94,7 @@
+
+ <HTML>
+ <HEAD>
++<META http-equiv="Content-Type" content="text/html; charset=$help_charset">
+ <TITLE>w3m help page</TITLE>
+ </HEAD>
+ <BODY>
diff --git a/network/w3m/patches/w3m-0.5.1-gcc4.patch b/network/w3m/patches/w3m-0.5.1-gcc4.patch
new file mode 100644
index 0000000000..39e232c133
--- /dev/null
+++ b/network/w3m/patches/w3m-0.5.1-gcc4.patch
@@ -0,0 +1,23 @@
+Patch by Robert Scheck <redhat@linuxnetz.de> for w3m >= 0.5.1, which makes
+w3m rebuildable using gcc 4.
+
+--- w3m-0.5.1/istream.c 2003-10-20 18:41:56.000000000 +0200
++++ w3m-0.5.1/istream.c.gcc4 2005-03-15 12:18:36.000000000 +0100
+@@ -37,7 +37,7 @@
+ {
+ int len;
+ base->stream.cur = base->stream.next = 0;
+- len = base->read(base->handle, base->stream.buf, base->stream.size);
++ len = (base->read) (base->handle, base->stream.buf, base->stream.size);
+ if (len <= 0)
+ base->iseos = TRUE;
+ else
+@@ -320,7 +320,7 @@
+ len = buffer_read(&base->stream, buf->ptr, count);
+ rest = count - len;
+ if (MUST_BE_UPDATED(base)) {
+- len = base->read(base->handle, &buf->ptr[len], rest);
++ len = (base->read) (base->handle, &buf->ptr[len], rest);
+ if (len <= 0) {
+ base->iseos = TRUE;
+ len = 0;
diff --git a/network/w3m/patches/w3m-0.5.2-gpm_fix-1.patch b/network/w3m/patches/w3m-0.5.2-gpm_fix-1.patch
new file mode 100644
index 0000000000..74c645d348
--- /dev/null
+++ b/network/w3m/patches/w3m-0.5.2-gpm_fix-1.patch
@@ -0,0 +1,124 @@
+diff -urN w3m-0.5.2/configure.ac w3m-0.5.2.fixed/configure.ac
+--- w3m-0.5.2/configure.ac 2004-04-29 00:19:25.000000000 +0600
++++ w3m-0.5.2.fixed/configure.ac 2005-09-24 16:39:11.000000000 +0600
+@@ -97,6 +97,7 @@
+ AC_SUBST(USE_W3M)
+ AC_CHECK_LIB(gpm, Gpm_Open, [AC_DEFINE(USE_GPM)
+ W3M_LIBS="$W3M_LIBS -lgpm"])
++ AC_CHECK_LIB(gpm, Gpm_Wgetch, AC_DEFINE(HAVE_GPM_WGETCH))
+ AC_SUBST(USE_SYSMOUSE)
+ AC_TRY_CPP([#include <machine/console.h>
+ MOUSE_GETINFO], [AC_DEFINE(USE_SYSMOUSE)])
+diff -urN w3m-0.5.2/gpm-libcurses.c w3m-0.5.2.fixed/gpm-libcurses.c
+--- w3m-0.5.2/gpm-libcurses.c 1970-01-01 05:00:00.000000000 +0500
++++ w3m-0.5.2.fixed/gpm-libcurses.c 2005-09-24 18:18:30.000000000 +0600
+@@ -0,0 +1,84 @@
++/*
++ * libcurses.c - client library - curses level (gpm-Linux)
++ *
++ * Copied from GPM by Alexander E. Patrakov
++ * Copyright 1994,1995 rubini@linux.it (Alessandro Rubini)
++ * Copyright 2002 nico@schottelius.org (Nico Schottelius)
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
++ ********/
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <unistd.h> /* select(); */
++#include <sys/time.h> /* timeval */
++#include <sys/types.h> /* socket() */
++
++#include "config.h"
++#if defined(USE_GPM) && !defined(HAVE_GPM_WGETCH)
++
++extern int getch();
++
++#include <gpm.h>
++#include <errno.h>
++
++#define SELECT_TIME 86400 /* one day */
++
++int Gpm_Wgetch(void * dummy)
++{
++fd_set selSet;
++int max, flag, result;
++int fd=STDIN_FILENO;
++static Gpm_Event ev;
++
++ if (!gpm_flag || gpm_fd==-1) return getch();
++ if (gpm_morekeys) return (*gpm_handler)(&ev,gpm_data);
++ gpm_hflag=0;
++
++ max = (gpm_fd>fd) ? gpm_fd : fd;
++
++/*...................................................................*/
++ if (gpm_fd>=0) /* linux */
++ while(1)
++ {
++ if (gpm_visiblepointer) GPM_DRAWPOINTER(&ev);
++ do
++ {
++ FD_ZERO(&selSet);
++ FD_SET(fd,&selSet);
++ FD_SET(gpm_fd,&selSet);
++ gpm_timeout.tv_sec=SELECT_TIME;
++ errno = 0;
++ flag=select(max+1,&selSet,(fd_set *)NULL,(fd_set *)NULL,&gpm_timeout);
++ }
++ while (!flag);
++
++ if (flag==-1)
++ continue;
++
++ if (FD_ISSET(fd,&selSet))
++ return getch();
++
++ if (Gpm_GetEvent(&ev) && gpm_handler
++ && (result=(*gpm_handler)(&ev,gpm_data)))
++ {
++ gpm_hflag=1;
++ return result;
++ }
++ }
++ return 0;
++}
++#endif
++
+diff -urN w3m-0.5.2/Makefile.in w3m-0.5.2.fixed/Makefile.in
+--- w3m-0.5.2/Makefile.in 2004-04-26 23:04:48.000000000 +0600
++++ w3m-0.5.2.fixed/Makefile.in 2005-09-24 16:48:54.000000000 +0600
+@@ -85,11 +85,11 @@
+ SRCS=main.c file.c buffer.c display.c etc.c search.c linein.c table.c local.c \
+ form.c map.c frame.c rc.c menu.c mailcap.c image.c \
+ symbol.c entity.c terms.c url.c ftp.c mimehead.c regex.c news.c \
+- func.c cookie.c history.c backend.c $(KEYBIND_SRC)
++ func.c cookie.c history.c backend.c gpm-libcurses.c $(KEYBIND_SRC)
+ OBJS=main.o file.o buffer.o display.o etc.o search.o linein.o table.o local.o\
+ form.o map.o frame.o rc.o menu.o mailcap.o image.o \
+ symbol.o entity.o terms.o url.o ftp.o mimehead.o regex.o news.o \
+- func.o cookie.o history.o backend.o $(KEYBIND_OBJ)
++ func.o cookie.o history.o backend.o gpm-libcurses.o $(KEYBIND_OBJ)
+ LSRCS=anchor.c parsetagx.c tagtable.c istream.c
+ LOBJS=anchor.o parsetagx.o tagtable.o istream.o
+ LLOBJS=version.o
+diff -urN w3m-0.5.2/config.h.in w3m-0.5.2.fixed/config.h.in
+--- w3m-0.5.2/config.h.in 2004-04-04 22:47:20.000000000 +0600
++++ w3m-0.5.2.fixed/config.h.in 2005-09-24 16:50:43.000000000 +0600
+@@ -231,3 +231,4 @@
+ #define INFLATE_NAME "inflate"
+
++#undef HAVE_GPM_WGETCH
+ #endif /* CONFIG_H_SEEN */
diff --git a/network/w3m/patches/w3m-0.5.2-multilib.patch b/network/w3m/patches/w3m-0.5.2-multilib.patch
new file mode 100644
index 0000000000..e0853f6c5b
--- /dev/null
+++ b/network/w3m/patches/w3m-0.5.2-multilib.patch
@@ -0,0 +1,12 @@
+diff -ruN w3m-0.5.1.orig/acinclude.m4 w3m-0.5.1/acinclude.m4
+--- w3m-0.5.1.orig/acinclude.m4 2006-03-06 18:24:38.000000000 +0900
++++ w3m-0.5.1/acinclude.m4 2006-03-06 18:27:55.000000000 +0900
+@@ -394,7 +394,7 @@
+ [lib=$1
+ AC_MSG_CHECKING(for -l$lib)
+ extlib="not found"
+- for dir in /lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib
++ for dir in /lib64 /lib /usr/lib64 /usr/lib /usr/local/lib64 /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib
+ do
+ if test -f $dir/lib$lib.a -o -f $dir/lib$lib.so ; then
+ LIBS="$LIBS -l$lib"
diff --git a/network/w3m/patches/w3m-0.5.2-nulcn.patch b/network/w3m/patches/w3m-0.5.2-nulcn.patch
new file mode 100644
index 0000000000..bc67ab8c68
--- /dev/null
+++ b/network/w3m/patches/w3m-0.5.2-nulcn.patch
@@ -0,0 +1,54 @@
+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;
+ }
diff --git a/network/w3m/patches/w3m-0.5.2-ssl_verify_server_on.patch b/network/w3m/patches/w3m-0.5.2-ssl_verify_server_on.patch
new file mode 100644
index 0000000000..64319517fb
--- /dev/null
+++ b/network/w3m/patches/w3m-0.5.2-ssl_verify_server_on.patch
@@ -0,0 +1,24 @@
+verify SSL certificates by default. SSL support really is pointless without doing that.
+Also disable use of SSLv2 by default as it's insecure, deprecated, dead since last century.
+Index: w3m-0.5.2/fm.h
+===================================================================
+--- 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);