diff --git a/lynx-2.8.8-locale.patch b/lynx-2.8.8-locale.patch new file mode 100644 index 0000000..0c22595 --- /dev/null +++ b/lynx-2.8.8-locale.patch @@ -0,0 +1,506 @@ + + + +
+ +From d8a64ed1d63710ad764fbf3b1fb28d08204f9e72 Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Wed, 13 Feb 2013 15:28:36 +0100
+Subject: [PATCH] avoid build failure caused by mistakenly excluded <locale.h>
+
+---
+ src/LYMain.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/LYMain.c b/src/LYMain.c
+index 9528be2..aaddb7b 100644
+--- a/src/LYMain.c
++++ b/src/LYMain.c
+@@ -58,7 +58,7 @@
+ #include <io.h>
+ #endif
+
+-#if defined(LOCALE) && (!defined(HAVE_LIBINTL_H) || !defined(LC_ALL))
++#if defined(LOCALE)
+ #undef gettext /* Solaris locale.h prototypes gettext() */
+ #include <locale.h>
+ #ifndef HAVE_GETTEXT
+--
+1.7.1
+
+
+ From e6f2bec676f7abb4962821475fbc7cf918503e00 Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Wed, 13 Feb 2013 15:25:00 +0100
+Subject: [PATCH] prepare upstream sources for parallel make
+
+---
+ makefile.in | 48 +++++++++++++++++++++++-------------------------
+ src/makefile.in | 10 ++++------
+ 2 files changed, 27 insertions(+), 31 deletions(-)
+
+diff --git a/makefile.in b/makefile.in
+index ad78441..0fd8b1e 100644
+--- a/makefile.in
++++ b/makefile.in
+@@ -108,8 +108,6 @@ COMPRESS_EXT=@COMPRESS_EXT@
+ # Path of scripts directory
+ scripts_dir=$(srcdir)/scripts
+
+-MAKE_RECUR = $(MAKE) @cf_cv_makeflags@ DESTDIR="$(DESTDIR)" CC="$(CC)"
+-
+ @LYNXCFG_MAKE@CFG2HTML = alphatoc.html body.html cattoc.html
+
+ # !!!!!!!!!!! SUN resolv LIBRARY !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@@ -200,20 +198,20 @@ binary_PROG = $(actual_PROG)$x
+
+ all lynx$x: cfg_defs.h LYHelp.h
+ @MSG_DIR_MAKE@ $(SHELL) $(scripts_dir)/fixtext.sh $(srcdir)/LYMessages_en.h >LYMessages.c
+-@MSG_DIR_MAKE@ cd $(PO_DIR) && $(MAKE_RECUR)
+- cd $(WWW_DIR) && $(MAKE_RECUR) $(WWW_CFLAGS)
+- cd $(CHR_DIR) && $(MAKE_RECUR) all $(CHR_CFLAGS)
+- cd $(SRC_DIR) && $(MAKE_RECUR) all $(SRC_CFLAGS)
++@MSG_DIR_MAKE@ $(MAKE) -C $(PO_DIR)
++ $(MAKE) -C $(WWW_DIR) $(WWW_CFLAGS)
++ $(MAKE) -C $(CHR_DIR) all $(CHR_CFLAGS)
++ $(MAKE) -C $(SRC_DIR) all $(SRC_CFLAGS)
+
+ lint:
+- cd $(WWW_DIR) && $(MAKE_RECUR) LINT="$(LINT)" $(WWW_CFLAGS) $@
+- cd $(SRC_DIR) && $(MAKE_RECUR) LINT="$(LINT)" $(SRC_CFLAGS) $@
+- cd $(CHR_DIR) && $(MAKE_RECUR) LINT="$(LINT)" $@
++ $(MAKE) -C $(WWW_DIR) LINT="$(LINT)" $(WWW_CFLAGS) $@
++ $(MAKE) -C $(SRC_DIR) LINT="$(LINT)" $(SRC_CFLAGS) $@
++ $(MAKE) -C $(CHR_DIR) LINT="$(LINT)" $@
+
+ tags:
+- cd $(WWW_DIR) && $(MAKE_RECUR) $(WWW_CFLAGS) $@
+- cd $(SRC_DIR) && $(MAKE_RECUR) $(SRC_CFLAGS) $@
+- cd $(CHR_DIR) && $(MAKE_RECUR) $@
++ $(MAKE) -C $(WWW_DIR) $(WWW_CFLAGS) $@
++ $(MAKE) -C $(SRC_DIR) $(SRC_CFLAGS) $@
++ $(MAKE) -C $(CHR_DIR) $@
+
+ etags:
+ $(ETAGS) *.[ch] */*.[ch] */*/*.[ch] */*/*/*.[ch]
+@@ -231,27 +229,27 @@ help:
+ clean:
+ rm -f WWW/Library/*/*.[aoib]
+ rm -f WWW/Library/*/.created
+- cd $(WWW_DIR) && $(MAKE_RECUR) $@
+- cd $(SRC_DIR) && $(MAKE_RECUR) $@
++ $(MAKE) -C $(WWW_DIR) $@
++ $(MAKE) -C $(SRC_DIR) $@
+ @MSG_DIR_MAKE@ rm -f LYMessages.c
+-@MSG_DIR_MAKE@ cd $(PO_DIR) && $(MAKE_RECUR) $@
++@MSG_DIR_MAKE@ $(MAKE) -C $(PO_DIR) $@
+ rm -f *.b $(SRC_DIR)/lynx$x *.leaks cfg_defs.h LYHelp.h lint.*
+ @LYNXCFG_MAKE@ -rm -f $(CFG2HTML)
+ rm -f help_files.sed
+ rm -f core *.core
+
+ depend: cfg_defs.h LYHelp.h
+- cd $(WWW_DIR) && $(MAKE_RECUR) $@
+- cd $(SRC_DIR) && $(MAKE_RECUR) $@
++ $(MAKE) -C $(WWW_DIR) $@
++ $(MAKE) -C $(SRC_DIR) $@
+
+ distclean: clean
+ -rm -f WWW/Library/*/*~
+ -rm -f WWW/Library/*/*.bak
+ -rm -rf $(SRC_DIR)/obsolete
+- -cd $(WWW_DIR) && $(MAKE_RECUR) $@
+- -cd $(SRC_DIR) && $(MAKE_RECUR) $@
+- -cd $(CHR_DIR) && $(MAKE_RECUR) $@
+-@MSG_DIR_MAKE@ cd $(PO_DIR) && $(MAKE_RECUR) $@
++ -$(MAKE) -C $(WWW_DIR) $@
++ -$(MAKE) -C $(SRC_DIR) $@
++ -$(MAKE) -C $(CHR_DIR) $@
++@MSG_DIR_MAKE@ $(MAKE) -C $(PO_DIR) $@
+ @MSG_DIR_MAKE@ -rmdir $(PO_DIR)
+ -rm -f *~ *.bak *.sav tags TAGS
+ -rm -f $(WWW_DIR)/makefile $(SRC_DIR)/makefile $(CHR_DIR)/makefile
+@@ -297,7 +295,7 @@ install-full: install install-help install-doc
+ @echo Full installation complete.
+
+ install-bin: $(BINDIR) lynx$x
+-@MSG_DIR_MAKE@ cd $(PO_DIR) && $(MAKE_RECUR) install
++@MSG_DIR_MAKE@ $(MAKE) -C $(PO_DIR) install
+ @ECHO_CC@$(SHELL) -c "P=$(binary_PROG); \
+ if test -f $(BINDIR)/$$P ; then \
+ mv -f $(BINDIR)/$$P $(BINDIR)/$$P.old; fi"
+@@ -338,7 +336,7 @@ LYNXHELP_URL='$(LYNX_URL)/lynx_help/'
+
+ @LYNXCFG_MAKE@$(CFG2HTML) :
+ @LYNXCFG_MAKE@ @echo 'Making htmlized lynx.cfg'
+-@LYNXCFG_MAKE@ cd $(SRC_DIR) && $(MAKE_RECUR) LYReadCFG.i
++@LYNXCFG_MAKE@ $(MAKE) -C $(SRC_DIR) LYReadCFG.i
+ @LYNXCFG_MAKE@ @-rm -f $(CFG2HTML)
+ @LYNXCFG_MAKE@ sed -n -e '/Config_Type *Config_Table/,/{0, *0, *0}/ p' $(SRC_DIR)/LYReadCFG.i | \
+ @LYNXCFG_MAKE@ sed -e 's/ *{ *"\([^"]*\)".*/\1/' | \
+@@ -436,7 +434,7 @@ install-lss : $(SYSCONFDIR)
+ @$(SHELL) $(scripts_dir)/install-lss.sh "$(INSTALL_DATA)" $(srcdir)/samples/lynx.lss $(SYSCONFDIR)/lynx.lss
+
+ uninstall ::
+-@MSG_DIR_MAKE@ cd $(PO_DIR) && $(MAKE_RECUR) uninstall
++@MSG_DIR_MAKE@ $(MAKE) -C $(PO_DIR) uninstall
+ -rm -f $(BINDIR)/$(binary_PROG)
+ -rm -f $(MANDIR)/$(actual_PROG).1
+ -rm -f $(SYSCONFDIR)/lynx.cfg
+@@ -469,7 +467,7 @@ uninstall-doc ::
+
+ update-po:
+ rsync -Lrtvz translationproject.org::tp/latest/lynx/ $(PO_SRCDIR)
+- test -f $(PO_SRCDIR)/makefile && cd $(PO_SRCDIR) && $(MAKE_RECUR) $@
++ test -f $(PO_SRCDIR)/makefile && $(MAKE) -C $(PO_SRCDIR) $@
+
+ preinstall :
+ @ echo ''
+diff --git a/src/makefile.in b/src/makefile.in
+index 55611da..7cceaa8 100644
+--- a/src/makefile.in
++++ b/src/makefile.in
+@@ -37,8 +37,6 @@ BUILD_EXEEXT = @BUILD_EXEEXT@
+ BUILD_LDFLAGS = @BUILD_LDFLAGS@
+ BUILD_LIBS = @BUILD_LIBS@
+
+-MAKE_RECUR = $(MAKE) @cf_cv_makeflags@ DESTDIR="$(DESTDIR)" CC="$(CC)"
+-
+ YACC = @YACC@
+ WINDRES = @WINDRES@
+
+@@ -118,7 +116,7 @@ message:
+ @echo "Compiling Lynx sources"
+
+ do_chartrans_stuff:
+- -cd chrtrans && $(MAKE_RECUR) \
++ -$(MAKE) -C chrtrans \
+ SITE_DEFS="$(SITE_DEFS)" \
+ BUILD_CFLAGS="$(BUILD_CFLAGS)" \
+ BUILD_CPPFLAGS="$(BUILD_CPPFLAGS)" \
+@@ -131,7 +129,7 @@ lint:
+
+ clean:
+ rm -f lynx$x core *.core *.leaks *.i *$o *.bak tags TAGS test_*
+- cd chrtrans && $(MAKE_RECUR) clean
++ $(MAKE) -C chrtrans clean
+
+ tags:
+ $(CTAGS) *.[ch]
+@@ -210,7 +208,7 @@ TABLES= \
+ $(CHRTR)viscii_uni.h
+
+ $(TABLES):
+- -cd chrtrans && $(MAKE_RECUR) tables
++ -$(MAKE) -C chrtrans tables
+
+ UCdomap$o : UCdomap.c \
+ chrtrans/UCkd.h \
+@@ -219,7 +217,7 @@ UCdomap$o : UCdomap.c \
+ UCdomap.h $(CMN)UCMap.h $(TABLES) $(top_srcdir)/userdefs.h
+
+ chrtrans/makeuctb$(BUILD_EXEEXT):
+- cd chrtrans && $(MAKE_RECUR) makeuctb$(BUILD_EXEEXT)
++ $(MAKE) -C chrtrans makeuctb$(BUILD_EXEEXT)
+
+ UCAux$o : UCAux.c $(CMN)UCAux.h $(CMN)UCDefs.h
+ LYCookie$o : $(top_srcdir)/userdefs.h
+--
+1.8.3.1
+
+
+ From bccfb8ac43da56cb1f53c4b421e09dcac1fd1af0 Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Wed, 13 Feb 2013 15:17:08 +0100
+Subject: [PATCH] lynx-2.8.6-redhat.patch rebased for 2.8.9
+
+---
+ lynx.cfg | 18 ++++++++++++------
+ userdefs.h | 18 +++++++++---------
+ 2 files changed, 21 insertions(+), 15 deletions(-)
+
+diff --git a/lynx.cfg b/lynx.cfg
+index f01782f..ccc0846 100644
+--- a/lynx.cfg
++++ b/lynx.cfg
+@@ -1,7 +1,9 @@
+ # $LynxId: lynx.cfg,v 1.302 2018/07/08 15:22:44 tom Exp $
+ # lynx.cfg file.
+-# The default placement for this file is /usr/local/lib/lynx.cfg (Unix)
+-# or Lynx_Dir:lynx.cfg (VMS)
++# The default placement for this file is /etc/lynx.cfg
++#
++# Please don't edit this file directly (it is updated with every Red Hat
++# Linux update, overwriting your changes). Instead, edit /etc/lynx-site.cfg.
+ #
+ # $Format: "#PRCS LYNX_VERSION \"$ProjectVersion$\""$
+ #PRCS LYNX_VERSION "2.8.9rel.1"
+@@ -108,7 +110,7 @@
+ #
+ # Normally we expect you will connect to a remote site, e.g., the Lynx starting
+ # site:
+-STARTFILE:https://lynx.invisible-island.net/
++STARTFILE:https://start.fedoraproject.org/
+ #
+ # As an alternative, you may want to use a local URL. A good choice for this is
+ # the user's home directory:
+@@ -142,7 +144,7 @@ HELPFILE:https://lynx.invisible-island.net/lynx_help/lynx_help_main.html
+ # An index to your CWIS can be placed here or a document containing
+ # pointers to lots of interesting places on the web.
+ #
+-DEFAULT_INDEX_FILE:http://scout.wisc.edu/
++DEFAULT_INDEX_FILE:http://www.google.com/
+
+ .h1 Interaction
+
+@@ -454,7 +456,7 @@ DEFAULT_INDEX_FILE:http://scout.wisc.edu/
+ # Find RFC 1345 at
+ .url http://tools.ietf.org/html/rfc1345
+ #
+-#CHARACTER_SET:iso-8859-1
++CHARACTER_SET:utf-8
+
+ .h2 LOCALE_CHARSET
+ # LOCALE_CHARSET overrides CHARACTER_SET if true, using the current locale to
+@@ -467,7 +469,7 @@ DEFAULT_INDEX_FILE:http://scout.wisc.edu/
+ # values and their relationship to the locale value is not. GNU libiconv
+ # happens to give useful values, but other implementations are not guaranteed
+ # to do this.
+-#LOCALE_CHARSET:FALSE
++LOCALE_CHARSET:TRUE
+
+ .h2 HTML5_CHARSETS
+ # HTML5_CHARSETS is an alternative to ASSUME_CHARSET and ASSUME_LOCAL_CHARSET.
+@@ -1847,6 +1849,9 @@ DEFAULT_INDEX_FILE:http://scout.wisc.edu/
+ .ex
+ #DOWNLOADER:Save OS/390 binary file: iconv -f IBM-1047 -t ISO8859-1 %s >%s:FALSE
+
++# Added by Red Hat:
++DOWNLOADER:View with less:less %s:TRUE
++
+ .h1 Interaction
+
+ .h2 NO_DOT_FILES
+@@ -3451,6 +3456,7 @@ COLOR:6:brightred:black
+ #ENABLE_LYNXRC:VI_KEYS:ON
+ #ENABLE_LYNXRC:VISITED_LINKS:ON
+ .fi
++INCLUDE:/etc/lynx-site.cfg
+
+ .h1 External Programs
+ # Any of the compiled-in pathnames of external programs can be overridden
+diff --git a/userdefs.h b/userdefs.h
+index 40a954b..4afe835 100644
+--- a/userdefs.h
++++ b/userdefs.h
+@@ -105,7 +105,7 @@
+ * mailcap files (see the examples in the samples directory).
+ */
+ #ifndef LYNX_CFG_FILE
+-#define LYNX_CFG_FILE "Lynx_Dir:lynx.cfg"
++#define LYNX_CFG_FILE "/etc/lynx.cfg"
+ #endif /* LYNX_CFG_FILE */
+
+ #ifndef LYNX_CFG_PATH
+@@ -119,8 +119,8 @@
+ * Mappings in these global and personal files override any SUFFIX
+ * definitions in lynx.cfg and built-in defaults from src/HTInit.c.
+ */
+-#define GLOBAL_EXTENSION_MAP "Lynx_Dir:mime.types"
+-#define PERSONAL_EXTENSION_MAP "mime.types"
++#define GLOBAL_EXTENSION_MAP "/etc/mime.types"
++#define PERSONAL_EXTENSION_MAP ".mime.types"
+
+ /**************************
+ * The MAILCAP file allows you to map file MIME types to
+@@ -129,7 +129,7 @@
+ * Mappings in these global and personal files override any VIEWER
+ * definitions in lynx.cfg and built-in defaults from src/HTInit.c.
+ */
+-#define GLOBAL_MAILCAP "Lynx_Dir:mailcap"
++#define GLOBAL_MAILCAP "/etc/mailcap"
+ #define PERSONAL_MAILCAP ".mailcap"
+
+ /**************************
+@@ -300,8 +300,8 @@
+ #define LYNX_CFG_PATH "."
+ #define LYNX_CFG_FILE "./lynx.cfg"
+ #else
+-#define LYNX_CFG_PATH "/usr/local/lib"
+-#define LYNX_CFG_FILE "/usr/local/lib/lynx.cfg"
++#define LYNX_CFG_PATH "/etc"
++#define LYNX_CFG_FILE "/etc/lynx.cfg"
+ #endif /* DOSPATH */
+ #endif /* LYNX_CFG_FILE */
+ #endif /* HAVE_CONFIG_H */
+@@ -345,7 +345,7 @@
+ * use any default viewers for image types. Note that open is used as
+ * the default for NeXT, instead of the XLOADIMAGE_COMMAND definition.
+ */
+-#define XLOADIMAGE_COMMAND "xli %s &"
++#define XLOADIMAGE_COMMAND "display %s &"
+
+ /**************************
+ * For UNIX systems, SYSTEM_MAIL and SYSTEM_MAIL_FLAGS are set by the
+@@ -366,7 +366,7 @@
+ * the "TMPDIR" (unix), or "TEMP" or "TMP" (Windows,DOS,OS/2)
+ * variable.
+ */
+-#define TEMP_SPACE "/tmp/"
++#define TEMP_SPACE "~"
+
+ /********************************
+ * Comment this line out to disable code that implements command logging
+@@ -1175,7 +1175,7 @@
+ * OSU server distribution.
+ */
+ #ifndef HAVE_CONFIG_H
+-/* #define LYNXCGI_LINKS */
++#define LYNXCGI_LINKS
+ #endif
+
+ /*********************************
+--
+2.9.4
+
+
+ From c60c227ab9a36246730d7454e33d40d2c66c88b3 Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Wed, 13 Feb 2013 15:26:22 +0100
+Subject: [PATCH] fix CVE-2008-4690
+
+prompt user before executing command via a lynxcgi link even in advanced mode,
+as the actual URL may not be shown but hidden behind an HTTP redirect and set
+TRUSTED_LYNXCGI:none in lynx.cfg to disable all lynxcgi URLs by default
+---
+ CHANGES | 7 +++++++
+ lynx.cfg | 2 +-
+ src/LYCgi.c | 2 +-
+ 3 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/CHANGES b/CHANGES
+index 360be68..8eca013 100644
+--- a/CHANGES
++++ b/CHANGES
+@@ -1355,6 +1355,13 @@ Changes since Lynx 2.8 release
+ * update win32 makefiles/build scripts to add LYmktime, parsdate modules -TD
+ * update config.guess (2008-04-14), config.sub (2008-06-16)
+
++2008-10-26
++* modify patch for CVE-2005-2929 to prompt user before executing command via
++ a lynxcgi link even in advanced mode, as the actual URL may not be shown but
++ hidden behind an HTTP redirect
++* set TRUSTED_LYNXCGI:none in lynx.cfg to disable all lynxcgi URLs by default
++ [CVE-2008-4690]
++
+ 2008-09-21 (2.8.7dev.10)
+ * remove rw.po, since the translation project no longer supplies it -TD
+ * implement "readonly" attribute for TEXTAREA and TEXT fields -TD
+diff --git a/lynx.cfg b/lynx.cfg
+index ee2aad3..144050d 100644
+--- a/lynx.cfg
++++ b/lynx.cfg
+@@ -1087,7 +1087,7 @@ LOCALE_CHARSET:TRUE
+ #
+ # The default TRUSTED_LYNXCGI rule is "none".
+ #
+-#TRUSTED_LYNXCGI:none
++TRUSTED_LYNXCGI:none
+
+ .h2 LYNXCGI_ENVIRONMENT
+ # Unix:
+diff --git a/src/LYCgi.c b/src/LYCgi.c
+index 832bb89..0ae8a7e 100644
+--- a/src/LYCgi.c
++++ b/src/LYCgi.c
+@@ -167,7 +167,7 @@ static BOOL can_exec_cgi(const char *linktext, const char *linkargs)
+ if (!exec_ok(HTLoadedDocumentURL(), linktext, CGI_PATH)) {
+ /* exec_ok gives out msg. */
+ result = FALSE;
+- } else {
++ } else if (user_mode < ADVANCED_MODE) {
+ StrAllocCopy(command, linktext);
+ if (non_empty(linkargs)) {
+ HTSprintf(&command, " %s", linkargs);
+--
+1.7.1
+
+
+