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, MinGW32),
- 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 information
- add binding for ^U to previous-document (outside of line-editing).
- documented command-line options and configuration data for this feature.
- document -child_relaxed option in Lynx users's guide.
- add -passive-ftp option.
- add -child_relaxed option.
- add "read_timeout" to lynx.cfg, and -read_timeout option to command-line
- 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 menu
- implement a LONG_LIST equivalent for ftp, configurable as FTP_FORMAT
- 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 set
- configure script improvements
- add --with-mime-libdir option to set MIME_LIBDIR in userdefs.h file
- 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 from help-page
- add --enable-ascii-ctypes option to enable EXP_ASCII_CTYPES
Other enhancements:
- 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 SSL_get_peer_certificate()
twice
- 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 [i:p:v:6:ad:dr:es:s]:port
- 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
CN{foo}:CN{bar}:CN{baz}:SAN{DNS=foo}:SAN{IP=1.2.3.4} so that we know where
what comes from (in "Your recent statusline messages")
- if the peer certificate can *NOT* be verified, output a message to the log
as well
- fix a possible use of an uninitialised value ssl_all_cns
- 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 using GNUTLS.
- 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 MinGW configuration
- 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
installed.
- 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 in LYpaddstr
- fix some uses of gettext in options menu and info page where a translated
string might contain angle-brackets or ampersand
- modify popup for externals added in 2.8.4dev.20 to number the entries if
keypad mode is set to one of the numbered forms
- 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 with
STATUS_BUFFER_SIZE
- 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 presentors, etc
- improvements to scripting/logging:
- other improvements:
New/improved sample files:
- add sample scripts for configuring MinGW version using Cygwin.
New ports:
- none
(it seems to run everywhere, but there are a few
possibilities)
Improvements to existing ports:
- UNIX:
- 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 additional encodings:
- if "TRANSLIT" feature (an extension of glibc) does not succeed, retry
the call to iconv_open without "TRANSLIT"
- add check for any MIME name beginning "iso8859", mapping to "iso-8859"
- recognize "eucjp" MIME name as alias for "euc-jp"
- recognize "pck" MIME name as alias for "shift_jis"
- recognize "ansi-1251" MIME name as alias for "windows-1251"
- modify parsdate.y to convert between EBCDIC/ASCII to work on z/OS
- Linux:
- WIN32:
- 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 MSYS
- DJGPP:
- OS/2:
- VMS:
- modify VMS build-scripts to accept "TCPIP" parameter, for TCPIP Services
- Other
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 to
non-experimental
- 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 files
- 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 lynxcgi scripts.
- 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.
And finally:
- A lot of bug fixes
- A lot of documentation changes.
- A lot of dead code removed
http://lynx.isc.org/lynx2.8.7/features.html
Page maintained by Thomas Dickey (dickey@invisible-island.net).
Copyright© 2009, Thomas Dickey
Last Updated: 2009-07-05
Valid HTML!
Re-validate