pkgsrc/www/lynx
wiz 8f1edebbe5 Update to 2.8.7:
New features (some are compile-time options):

    * add session save/restore feature
	  o bind ^X to toggle view of page showing session information
	  o add binding for ^U to previous-document (outside of
	  line-editing).
	  o documented command-line options and configuration data
	  for this feature.
	  o 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
	  o add --with-mime-libdir option to set MIME_LIBDIR in
	  userdefs.h file
	  o 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
	  o add --enable-local-docs option to link doc-directory
	  from help-page
	  o add --enable-ascii-ctypes option to enable EXP_ASCII_CTYPES

Other enhancements:

    * improve SSL support:
	  o 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)
	  o add support for the X.509 extension subjectAltName
	  using GNUTLS.
	  o log SSL/TLS (HTTPS connection) X.509 certificate issuer
	  information into the "recent statusline messages"
	  (accessible via the backspace key)
	  o add TNS SNI support for the OpenSSL configuration
	  o modify CF_SSL configure macro to check for -ldl needed
	  for recent OpenSSL versions
	  o modify CF_SSL configure macro to build with MSYS for
	  MinGW configuration
	  o 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.
	  o add configure --with-nss-compat option, for building
	  with NSS library's OpenSSL-compatible interface
	  o add SSL_CERT_FILE to lynx.cfg
	  o rewrite strcasecomp_asterisk() to support wildcards as
	  in RFC 2818
	  o 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.
	  o 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:
	  o update Lynx's tables of HTML attributes to cover (except
	  for events) the keywords from HTML 4.01
	  o use RFC-822 encoding for filenames passed via file-upload
	  forms.
	  o provide navigation to script-buttons, to make them more
	  visible, showing their name
	  o add "Bad HTML messages" to Options menu, letting the
	  user disable the warning message, write the detailed
	  messages to the LYNXMESSAGES: status buffer.
	  o remove "Bad HTML" warning for buttons outside a form,
	  since those can be inline, according to the HTML 4 DTD
	  o correct check for default type of HTML BUTTON, which
	  is "submit". The code treated this as "button".
	  o implement "readonly" attribute for TEXTAREA and TEXT
	  fields
	  o accommodate (in)compatibility "feature" in HTML5 draft
	  which replaces ISO-8859-1 with Windows-1252, as indicated
	  here.
	  o add support for HTML5 rel=author in link.
	  o modify SGML_write() to check for UCS-2 BOMs, to provide
	  support for UCS-2 pages.
	  o modify SGML_write() to check for UTF-8 BOM, using that
	  as a hint to set the default document charset to UTF-8.
	  o parse xml processing-instruction to turn on UTF-8
	  decoding, as well as disable upper/lower case transforming
	  in source view.
	  o parse doctype for xhtml, to tell when empty tags such
	  as "<textarea />" can be discarded
	  o translate named entities, etc., for "content" field of
	  refresh-URL.
	  o add switch -xhtml-parsing and lynx.cfg XHTML_PARSING
	  setting to control whether the extensions for XHTML 1.0
	  are used.
	  o modify Lynx's DTD information to allow it to display
	  form-related tags that are inline, even without being in
	  a form as indicated in

		    http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd


	    for %inline.forms and %misc.inline.
    * improvements to character sets and display:
	  o improve drawing of menus for multibyte characters by
	  changing the way the number of fill-characters is computed
	  in LYpaddstr
	  o fix some uses of gettext in options menu and info page
	  where a translated string might contain angle-brackets
	  or ampersand
	  o 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
	  o ie multibyte editing of text-fields.
    * improvements to color-style:
	  o bug-fixes only
    * improve interaction with user:
	  o remove check for -dump option from HTHandleAuthInfo(),
	  allowing Lynx to -dump or -source NNTP urls
	  o change the phase during which "-help" option is processed,
	  to allow it to reflect the configured values of the options
	  in the help-message
	  o check if there is piped-in data when starting without
	  "-" or "-stdin" options, warn about the ignored input
	  data in that case.
	  o add ncurses scroll-wheel support, which requires the
	  extended-mouse configure option of ncurses.
	  o modify initial active link in download-page to be the
	  first download action rather than the "help" link whided
	  in Novice mode.
	  o make the size of LYNXMESSAGES configurable in lynx.cfg
	  with STATUS_BUFFER_SIZE
    * improve interaction with other programs:
	  o discard anchor's post_data field in HTLoadDocument()
	  if Lynx is about to reload a do. That would happen if
	  the result of the form includes a link back to the form.
	  Removing the data causes Lynx to prompt the user, e.g.,

		    Resubmit POST content to
		    http://localhost/cgi-bin/lynxtest.pl ? (y/n)


	    to offer the user the choice between revisiting form
	    or re-POST'ing the data that was on the form
	  o pass a newline after the start of PRE-section in
	  HTGopher.c to force the first newline between records to
	  be seen and cause the lines to split
	  o add POSITIONAL_EDITOR setting to configure editors
	  which accept a "+line" parameter
	  o modify external editing of TEXTAREA to not do
	  tab-conversion.
	  o modify behavior of "-nonumbers" option for -dump so it
	  can be combined with -listonly to obtain a list of the
	  URLs without reference numbers.
	  o implement "chunked" transfer-encoding to work with
	  servers that ignore the version number in HTTP get's
	  o add an Options menu checkbox to tell if Lynx should
	  send a user-agent string. Unless the useragent restriction
	  is set, the default for this checkbox is off, so that
	  Lynx will not send the string. The corresponding setting,
	  send_useragent, may be saved to ~/.lynxrc, but normally
	  is not.
	  o change default for configure --enable-ascii-ctypes to
	  true.
	  o modify exit code when doing a "-dump" to exit with
	  error if the server returned an error status for the
	  page.
    * improve cookie support:
	  o modify cookie-writing to not write if no cookies were
	  read from the file and none are available.
	  o adapt/extend parsdate.y from tin to improve parsing of
	  cookie expiration times.
    * improvements to debug/traces:
	  o 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:
          o bug-fixes only
    * other improvements:
	  o build/install "en" po file so that GNU gettext LANGUAGE
	  environment variable can find the corresponding English
	  message file.
	  o if iconv_open() using transliteration fails, retry
	  without the transliteration feature.
	  o improve change for UCSetBoxChars() from 2.8.6dev.16
	  for EXP_CHARTRANS_AUTOSWITCH which assumed that the
	  line-drawing character set was always different from the
	  display character set. If both are US_ASCII for example,
	  ASCII lines would be drawn, which is not good
	  o modify scanning of floats from lynx.cfg to allow Lynx
	  to read POSIX values in non-POSIX locales
	  o replace BROKEN_PROFTPD and BROKEN_WU_FTPD logic with
	  configurable list of strings in lynx.cfg, i.e.,
	  BROKEN_FTP_RETR and BROKEN_FTP_EPSV, and add "spftp/" to
	  the predefined values for the former.
	  o modify to handle a special case where the content-type
	  is given as one of the compressed types, to check if the
	  address (after stripping the file suffix for that
	  compression) has a suffix that lynx could present For
	  example:

            		http://foo/bar.html.gz


	    would display the uncompressed "bar.html" rather than
	    offering to download the file. This also allows one to
	    add SUFFIX commands to lynx.cfg to display the
	    corresponding plain files. For example:

            		SUFFIX:CHANGES.*:text/plain:8bit
            		SUFFIX:CHANGES:text/plain:8bit


            for

            		http://foo/CHANGES.tmp.gz
            		http://foo/CHANGES.gz


          o fix ipv6 literal command-line parsing.
          o setup locale before writing version-message.

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:
	  o add definition for _FILE_OFFSET_BITS in CF_LARGEFILE,
	  needed for Solaris 64-bit compiles.
	  o 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"
          o modify parsdate.y to convert between EBCDIC/ASCII to work on z/OS
    * Linux:
          o bug-fixes only

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
2009-08-09 08:20:27 +00:00
..
patches Update to 2.8.7: 2009-08-09 08:20:27 +00:00
DESCR
distinfo Update to 2.8.7: 2009-08-09 08:20:27 +00:00
Makefile Update to 2.8.7: 2009-08-09 08:20:27 +00:00
options.mk Install lynx.lss manually for slang option case. 2008-06-22 15:55:46 +00:00
PLIST Update to 2.8.7: 2009-08-09 08:20:27 +00:00