Summary of changes in Lynx v2.8.7
This list only summarizes some changes, for a detailed
history of changes see the CHANGES file.
In preparing this release, we built/ran on
- Linux (ncurses, ncursesw, PDCurses, slang),
- FreeBSD 3.1, 4.1, 4.9, 6.0 (ncurses, ncursesw),
- NetBSD 1.5, 2.0 (curses)
- OpenBSD 2.8, 4.1 (curses/ncurses).
- OpenVMS (curses),
- OS/2 EMX (ncurses),
- win32 (Visual C++ 6.0, 7.0 and Borland C++, Cygwin,
- AIX 4.3, 5.1 (curses),
- HPUX 10.20, 11.00, 11.11, 11.23 (curses),
- QNX 6.1 (ncurses),
- IRIX 6.5 (curses),
- Solaris 2.5.1, 2.6, 7, 8, 9, 10 (curses)
- Tru64 4.0d, 5.1 (cc, curses),
New features (some are compile-time options):
- add session save/restore feature
- bind ^X to toggle view of page showing session
- add binding for ^U to previous-document (outside of
- documented command-line options and configuration data
for this feature.
- document -child_relaxed option in Lynx users's
- add -passive-ftp option.
- add -child_relaxed option.
- add "read_timeout" to lynx.cfg, and -read_timeout option to
- add -show_cfg option.
- add LYNX_HELPFILE environment variable to allow override of
location of the help-file
- add NO_PAUSE setting to lynx.cfg, .lynxrc and Options
- implement a LONG_LIST equivalent for ftp, configurable as
- add XWINDOWS / NON_XWINDOWS environment-variable field to
DOWNLOAD, etc., in lynx.cfg to specify whether a downloader
(printer, etc) is enabled when the X display variable is
- configure script improvements
- add --with-mime-libdir option to set MIME_LIBDIR in
- add --with-destdir configure option to set a default
value for the DESTDIR variable in makefiles, and modified
makefiles to ensure that setting DESTDIR in the top-level
makefile propagates to lower levels
- add --enable-local-docs option to link doc-directory
- add --enable-ascii-ctypes option to enable
- improve SSL support:
- improve X.509 certificate validation This is tested for
OpenSSL, ifdef'd to not break gnutls. Changes:
- peer certificate is cached, no need to call
- support foo.domain:port and [ip.add.re.ss] and
[ip.add.re.ss]:port and [i:p:v:6:ad:dr:es:s] and
- add support for checking X.509v3 SubjectAltName
extensions (of type DNS - tested - and IP - untested)
when the X.509 commonName check fails.
- when displaying a list of failed CNs, change format
from foo:bar:baz to
that we know where what comes from (in "Your recent
- if the peer certificate can *NOT* be verified,
output a message to the log as well
- fix a possible use of an uninitialised value
- output certificate issuer to the logs as well (so
that you can, before entering your online banking PIN,
see if the certificate has been issued not only _to_
your bank but also _from_ a place you trust, in case
/etc/ssl/certs/ contains a lot of Root CA certs)
- add support for the X.509 extension subjectAltName
- log SSL/TLS (HTTPS connection) X.509 certificate issuer
information into the "recent statusline messages"
(accessible via the backspace key)
- add TNS SNI support for the OpenSSL configuration
- modify CF_SSL configure macro to check for -ldl needed
for recent OpenSSL versions
- modify CF_SSL configure macro to build with MSYS for
- extend configure macros CF_SSL and CF_GNUTLS to check
for pkg-config, using that for the default if the
corresponding openssl or gnutls packages are
- add configure --with-nss-compat option, for building
with NSS library's OpenSSL-compatible interface
- add SSL_CERT_FILE to lynx.cfg
- rewrite strcasecomp_asterisk() to support wildcards as
in RFC 2818
- add --enable-gnutls-compat configure option and
associated files to configure with GNU TLS without its
gnutls-openssl library, whose newer versions are available
only under a restrictive license.
- fix src/tidy_tls.c X509_get_issuer_name to actually
take the issuer DN of the present certificate and not hope
that it is the same as taking the subject DN of the "next"
certificate which may or may not exist.
- improve HTML interpretation:
- improvements to character sets and display:
- improve drawing of menus for multibyte characters by
changing the way the number of fill-characters is computed
- fix some uses of gettext in options menu and info page
where a translated string might contain angle-brackets or
- modify popup for externals added in 2.8.4dev.20 to
number the entries if keypad mode is set to one of the
- improve multibyte editing of text-fields.
- improvements to color-style:
- improve interaction with user:
- remove check for -dump option from HTHandleAuthInfo(),
allowing Lynx to -dump or -source NNTP urls
- change the phase during which "-help" option is
processed, to allow it to reflect the configured values of
the options in the help-message
- check if there is piped-in data when starting without
"-" or "-stdin" options, warn about the ignored input data
in that case.
- add ncurses scroll-wheel support, which requires the
extended-mouse configure option of ncurses.
- modify initial active link in download-page to be the
first download action rather than the "help" link which is
provided in Novice mode.
- make the size of LYNXMESSAGES configurable in lynx.cfg
- improve interaction with other programs:
- improve cookie support:
- modify cookie-writing to not write if no cookies were
read from the file and none are available.
- adapt/extend parsdate.y from tin to improve parsing of
cookie expiration times.
- improvements to debug/traces:
- change initialization of trace file, handing this
during the first part of argument parsing along with -help
and -version, to show steps done for initialization of
- improvements to scripting/logging:
- other improvements:
New/improved sample files:
- add sample scripts for configuring MinGW version using
(it seems to run everywhere, but there are a few
Improvements to existing ports:
- add definition for _FILE_OFFSET_BITS in CF_LARGEFILE,
needed for Solaris 64-bit compiles.
- modify UCdomap.c to work with Solaris iconv and handle
- if "TRANSLIT" feature (an extension of glibc) does
not succeed, retry the call to iconv_open without
- add check for any MIME name beginning "iso8859",
mapping to "iso-8859"
- recognize "eucjp" MIME name as alias for
- recognize "pck" MIME name as alias for
- recognize "ansi-1251" MIME name as alias for
- modify parsdate.y to convert between EBCDIC/ASCII to
work on z/OS
- add a script for Inno Setup.
- adapt features from vile's install-script to set
registry variables, etc. -TD
- add IDE-files for building with Visual Studio 6, 2003
and 2005 Express. These are respectively the files in
BUILD-VS6, BUILD-VS2003 and BUILD-VS2005X
- modify configure script to build with MinGW and
- modify VMS build-scripts to accept "TCPIP" parameter,
for TCPIP Services
Improvements for maintainability and testing:
- modify definitions in LYStructs.h for union to cast to a
void* rather than a long, to help with 64-bit ports
- fix some mismatched BOOL vs BOOLEAN from compiler warnings
due to dev.13 change to LYStructs.h
- change a few options such as --enable-locale-charset option
- free leaks of LYLeaks.c, to make it simpler to check it
with a second tool such as valgrind.
- use off_t rather than long for representing file sizes,
e.g., when used to print progress messages
- use dtd_util to replace most of HTMLDTD.h and HTMLDTD.c
with source generated from the existing tables in those
- rename variable defined by CF_PATHSP to PATH_SEPARATOR, use
this consistently to ease use in later autoconf versions
As well as security-related changes:
- modify prompt in LYLoadCGI() from 2.8.6dev.15 to always
prompt user (from FEDORA-2008-9597), and modify compiled-in
configuration default for consistency with other lynx.cfg
settings to require that lynx.cfg be set to permit use of
- modify logic for reading PERSONAL_EXTENSION_MAP and
PERSONAL_MAILCAP to ensure that they are files that are
controlled only by the user. The default values for these allow
lynx to read configuration information from the user's current
directory at lynx's startup.
- ensure that PERSONAL_EXTENSION_MAP and PERSONAL_MAILCAP are
absolute pathnames, performing tilde expansion as needed.
Pathnames that are not given in absolute form will be sought
under the user's home directory as if they began with
- ensure that the configured values for GLOBAL_EXTENSION_MAP
and GLOBAL_MAILCAP are absolute pathnames.
- A lot of bug fixes
- A lot of documentation changes.
- A lot of dead code removed
Page maintained by Thomas Dickey (email@example.com).
Copyright© 2009, Thomas Dickey
Last Updated: 2013-05-19