�ɲɾ�����ӯ�����һ��ˣ��������С���˴��ͣ�������P���ҹ��ñ˽��ά�Բ��������˸߸ԣ�������ơ��ҹ��ñ�����ά�Բ���ˡ���˳^�ӣ������ӡ�
���ͯj�ӣ��ƺ���ӣ�
? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!README.metrics 0000644 00000020014 15252757227 0007104 0 ustar 00 -- $LynxId: README.metrics,v 1.17 2018/07/08 16:43:30 tom Exp $
This is a short summary of code metrics showing how lynx has grown from
release to release. It also shows how the original codebase has
been almost completely replaced by contributors after the release of
lynx 2.4.2 in 1996. The numbers shown are for lines of text, to keep
the presentation simple.
Release Current Original
-------------------------------------------------------------------------------
Text C-code Text C-code % Text % Code
-------------------------------------------------------------------------------
2.4.2 77210 63463 77210 63463 100 100
2.6 112970 92869 58859 49665 52 53
2.7.1 125723 103489 54121 45111 43 43
2.7.2 162228 123130 48979 40655 30 33
2.8.1 191738 133778 37286 33582 19 25
2.8.2 227160 147485 32227 29004 14 19
2.8.3 248646 166833 29035 26346 11 15
2.8.4 310436 168108 28364 25751 9 15
2.8.5 362834 167358 26900 24355 7 14
2.8.6 395894 170006 25866 23880 6.5 14.0
15573 13587 3.9 8.0
2.8.7 441453 180674 25064 23101 5.7 12.8
15436 13473 3.5 7.5
2.8.8 465971 185375 24513 22293 5.3 12.0
15094 12874 3.2 6.9
2.8.9 478344 186103 24314 22116 5.1 11.9
14931 12733 3.1 6.8
Beginning with 2.8.6, the percentage of the remaining original codebase is
shown on two lines (i.e., comparing against 2.4.2 indented to use the current
coding style, or using only the original source). Comparisons using the
original source give lower estimates of untouched code, though either must be
viewed taking into account insignificant similarities (such as blank lines).
Starting in 2.8.6dev.3, all C source code has been routinely indented using
the lnx-indent script from
https://invisible-island.net/cindent/
Current lynx releases contain a large amount of text other than C code.
That includes plain text, html, message libraries, custom and generated
scripts.
-------------------------------------------------------------------------------
Here is a count of contributions (from CHANGES and docs/CHANGES2.8) since the
start of the 2.8 series:
0.5 AJL
3 Al Gilman
1 Al Walker
1 Alexei Anatski
2 Alexey Dobriyan
2 Andreas Metzler
2 Andrew Belov
3.5 Andrey A Chernov
1 Arkadiusz Miskiewicz
1 Arnaud Giersch
2 Atsuhito Kohda
2 Axel Beckert
1 Bake Timmons
25.5 Bela Lubkin
1 Bill Nottingham
3.5 Bill Schiavo
2 Binh Do
1 Brett Lymn
46.3 Brian J Pardy
1 Carlton Anderson
1 Charles Karney
1 Chris Adams
1 Christian Hudon
1 Christian Jensen
3 Christian Weisgerber
1 Christoph J Gartmann
1 Chuck Houpt
1 Crouton
1 Dan Jacobson
1 Daniel Dickman
1 David Combs
1 David Henderson
0.5 David Woolley
1 Dick Wesseling
1 Diego Elio Petteno
129.7 Doug Kaufman
1 Duncan Simpson
2.5 Eduardo Chappa
1 Elliot Thomas
2 Emanuele Giaquinta
1 Eric Brun
70 External
1 Fabian Fingerle
280.5 Foteos Macrides
2 Frank Heckenbach
4.3 Frederic L W Meunier
1 Frederick P Herrmann
1 Georg Drenkhahn
1 George Lindholm
27 Gisle Vanem
1 Glenn Nielsen
1 Hans Wurst
28.5 Hataguchi Takeshi
1 Heikki Kantola
0.5 Helen Sommer
23 Henry Nelson
1 Hiram Lester Jr
8.5 Hiroyuki Senshu
3 Hynek Med
0.3 Igor B Poretsky
84.8 Ilya Zakharevich
6.5 Ismael Cordeiro
2 J Kevin Ternes
1 Jacob Poon
27.5 James E Spath
1 Jamie Strandboge
1 Jan Hlavacek
2.5 Jason F McBrayer
1 Jean-Yves Levesque
1 Jeffrey C Honig
1 Jens Schmalzing
1 Jens Seidel
1 Jerome Lauret
2 Joey Schulze
0.3 Johannes Hromadka
35 John Bley
6 John E Davis
1 John Hawkinson
1 John Nowlin
2 Jonathan Sergent
1 Josef Sontgen
2 Julian Coleman
2 Kamil Dudka
3 Karl Eichwalder
1 Karl-Andre Skevik
4 Kihara Hideto
29.3 Kim DeVaughn
706.3 Klaus Weide
1 Lalo Martins
1 Larry Hynes
1 Larry Virden
15.8 Larry W Virden
11 Laura Eaves
342.3 Leonid Pauzner
1 Liam Davis
1 Marc Huber
0.3 Marek Kubita
1 Martijn Dekker
2 Masashi Fujita
1 Masayasu Ishikawa
1 Masayuki Hatta
1 Matt Kraal
1 Michael Sobolev
6.5 Michael Warner
1 Michel Such
1 Mike Castle
2 Munechika Sumikawa
1 Nigel Horne
0.5 Nikos Chantziaras
1 OpenBSD CVS
1 Owen Leibman
1 Pat Walsh
13.5 Paul B Mahol
1 Paul D Smith
52.5 Paul Gilmartin
1 Peter Backes
1 Peter Canning
1 Phil Pennock
27.3 Philip Webb
14 Philippe De Muyter
1 Quentin Minster
5.5 Rado Smiljanic
2 Ralph Babel
1 Randall
1 Reiner Hermann
1 Risto Widenius
1 Rob Cameron
1 Ruda Moura
1 Ryan Nielsen
2 Scott Bigham
1 Sergej Kvachonok
6 Sergey Svishchev
1 Serhii Hlodin
2 Simon Kainz
15 Sinan Kaan Yerli
7.8 Stefan Caunter
1 Stepan Kasal
1 Tadayoshi Okuma
1 Takao Fujiwara
1 Taketo Kabe
1 Thomas Braun
2188.3 Thomas E Dickey
1.5 Thomas Klausner
1 Thomas Petazzoni
1 Thomas Viehmann
21 Thorsten Glaser
1 Tim Chase
4 Tim Larson
1 Timur Birsh
2 Tomas Vanhala
1.5 Ulf Harnhammar
6.5 Victor Schneider
2 Ville Herva
86 Vlad Harchev
37.5 Wayne Buttles
1 Wesley Morgan
1 Zdenek Prikryl
1.5 nsh@horae.dti.ne.jp
4563 Total
-------------------------------------------------------------------------------
Older attributions are problematic for several reasons:
+ some contributors were not credited,
+ some changes were not recorded,
+ the level of importance of changes in the older logs differs noticeably
from the newer logs.
There is neither a source repository nor a mailing-list archive to consult to
resolve these issues.
However, some information can be gleaned from the existing change-logs
to show the principal contributors for each release (i.e., not listing those
with less than 1%):
** credits from CHANGES docs/CHANGES2.8 (4492.6 changes)
1.0 Brian J Pardy
2.9 Doug Kaufman
6.2 Foteos Macrides
1.9 Ilya Zakharevich
15.7 Klaus Weide
7.6 Leonid Pauzner
1.2 Paul Gilmartin
48.7 Thomas E Dickey
1.9 Vlad Harchev
** credits from CHANGES docs/CHANGES* (5959.6 changes)
2.2 Doug Kaufman
23.0 Foteos Macrides
1.4 Ilya Zakharevich
12.1 Klaus Weide
5.7 Leonid Pauzner
36.7 Thomas E Dickey
1.4 Vlad Harchev
3.5 unknown
** credits from CHANGES (3572.6 changes)
1.3 Brian J Pardy
3.3 Doug Kaufman
2.4 Ilya Zakharevich
12.3 Klaus Weide
8.8 Leonid Pauzner
1.5 Paul Gilmartin
54.2 Thomas E Dickey
2.4 Vlad Harchev
** credits from docs/CHANGES2.8 (920 changes)
1.2 Doug Kaufman
30.5 Foteos Macrides
29.0 Klaus Weide
3.2 Leonid Pauzner
1.4 Philippe De Muyter
27.4 Thomas E Dickey
2.6 Wayne Buttles
** credits from docs/CHANGES2.7 (233 changes)
77.3 Foteos Macrides
3.4 Hiram Lester Jr
5.2 Klaus Weide
1.3 LWV
3.4 unknown
** credits from docs/CHANGES2.6 (240 changes)
83.8 Foteos Macrides
1.2 Klaus Weide
2.1 LWV
5.8 unknown
** credits from docs/CHANGES2.5 (554 changes)
1.3 DT
1.4 David Woolley
82.3 Foteos Macrides
4.7 unknown
** credits from docs/CHANGES2.4 (328 changes)
75.9 Foteos Macrides
3.0 GL
16.2 unknown
** credits from docs/CHANGES2.3 (112 changes)
1.8 David Trueman
1.8 Foteos Macrides
94.6 unknown
VMSWAIS.announce 0000644 00000003015 15252757227 0007442 0 ustar 00 03-Jun-1994
I have added DIRECT_WAIS support for VMS to Lynx. It uses highly
modified freeWAIS modules, collected into HTVMS_WaisUI.c, HTVMS_WaisUI.h,
HTVMS_WaisProt.c, and HTVMS_WaisProt.h, interfaced to HTWAIS.c and HTWSRC.c
of the WWWLib. The socket reads and writes use the code for VMS in the Lynx
version of the WWWLib, and thus are non-blocking (interruptable via the 'z'
command), and "already" ported to all the VMS TCPIP packages supported by
Lynx. All messaging associated with WAIS searches and document fetches go to
the Lynx statusline as Progress() or Alarm() reports.
I also prettied up the HTWAIS.c and HTWSRC.c screen displays for both
VMS and Unix. I've been trying to build in recursive FORM-based interfaces,
instead of the present iSINDEX-based interfaces, but haven't succeeded ;(.
The DIRECT_WAIS support is automatic for VMS (i.e., is implemented
via the BUILD.COM and LIBMAKE.COM procedures, without need to specify anything
but your TCPIP package, as in the previous, standard VMS builds). Simply
enter @BUILD or enter @BUILD and then the number of
your TCPIP package in response to the prompt, and you'll have DIRECT_WAIS
support along with every other wonderful thing in Lynx 8-).
Fote
=========================================================================
Foteos Macrides Worcester Foundation for Experimental Biology
MACRIDES@SCI.WFEB.EDU 222 Maple Avenue, Shrewsbury, MA 01545
=========================================================================
CHANGES2.4 0000644 00000136402 15252757227 0006007 0 ustar 00 --- Rename of Lynx2-3-FM and release as Lynx2-4 (08-June-1995) ---
==============================================================================
06-08-95
* All of the changes from lynx2-3-FM are now located at ftp2.cc.ukans.edu.
We will call this version lynx2-4 and all new changes will be added here.
- JP
06-05-95
* Added isc support based on post to lynx-dev from Ami Fischman
(a540ami@pic.ucla.edu). - FM
06-04-95
* Initialize t1->name before the StrAllocCopy() in LYMainLoop.c for
DIRED_SUPPORT tagging. - Rick Mallett (rmallett@ccs.carleton.ca)
* Don't bother creating a /tmp copy of local files for downloading
under the DIRED_SUPPORT, and don't include "Save to disk" in the
download menu for such files. - RM
* Deal with any newlines or tabs in statusline messages, along lines
in patch from Peter Marquardt. - FM
* Various fixes to ensure terminations of strings, along lines suggested
by PM. - FM
* Made HTAlert messages more readable in trace mode.
* Replaced info.cern.ch with www.w3.org in userdefs.h and lynx.cfg. - GL
* Allow definition of the global configuration file (lynx.cfg) path and
name via a "LYNX_CFG" VMS logical or Unix environment variable. Will
override the "LYNX_CFG_FILE" definition in userdefs.h. The -cfg command
line switch will override those. SYS$LOGIN (VMS) or '~' (Unix) can be
used in the path to treat the global configuration file as a personal
configuration file ($HOME will be substituted for '~'). Meets objective
in patch posted by Danny Meyer (mayer@ljsrv2.enet.dec.com) but does
not seek lynx.cfg in the user's HOME directory without an explicit
directive to do so. Issue a screen message and then exit if the
configuration file is not readeable (rather than continuing as if
one had been found and read). - FM
* Added protections from NAMEless INPUT or TEXTAREA tags. - FM
05-29-95
* Changed close(*s) typo in HTTCP.c to NETCLOSE(*s). Caused tight loops if
on error *s became stdin. - Peter_Marquardt (wwwutz@cha01.tfh-berlin.de)
05-20-95
* Mods of proxying/gatewaying code, replace obsolete info.cern.ch default
URL addresses with www.w3.org, and add option to use the new www.w3.org
wais search gateway in cover page for wais searches. - FM
05-10-95
* If a startfile specified on the command line maps to a MIME type
which invokes an alternate display device, allow -homepage, if also
specified, to be substituted for startfile on quiting from the display
device, rather than forcing an exit due to the original startfile having
been neither text/html nor text/plain. Based on a patch from GL, with
protections against possible infinite getfile() loops added. - FM
* Include -t switch when pico is the editor for reply_by_mail() in
LYMail.c. - GL
05-04-95
* Oops. Had zipped the wrong LYReadCFG.c in yesterday's mods. - FM
05-03-95
* Do not override any external proxy and no_proxy variables with those
in lynx.cfg. Bug fixes in code for setting proxy variables on Unix,
based on patches from Roman Czyborra (czyborra@cs.tu-berlin.de). - FM
* Fixes for tagging when Lynx jumps to another screen and then comes back,
and deal with possibility of screen outputs from compress/decompress
utilities. - GL
* Added support for Sequent's DYNIX/ptx operating system, and bug fixes
in HTTCP.c's BSDselect(). - Rodney Barnett (RBarnett@us.teltech.com)
* Increased limits in select() loops to 5000 tries. - FM
* Specify /nomember for compilations with DECC. It's not the default
on AXP and the code assumes byte alignment. - FM
04-19-95
* Added Alan Hirsh's script (LynxDir:VMSPrint.com) for dealing with busy
VMS print queues such that Lynx might otherwise delete the temporary
file before it has been queued for printing. - FM
* Added lots of type casting to the mathematical operations in GridText.c
to minimize possible sizing/alignment problems for DECC/AXP (and any
Unix flavors that use the Alpha chip). - FM
04-17-95
* Use test=test -z "$LYNX_VERSION" like test=test -n "$LYNX_VERSION"
in mailcap files simply as flags for non-LYNX versus LYNX environment,
without actually bothering to execute a test. - FM
* Issue "** Bad HTML!!! Use -trace to diagnose. **" statusline messages
when bad HTML is encountered, and suppress those statusline messages in
favor of the TRACE messages when -trace is used. - FM
* Fixed anchor deletion problem in yesterday's ISMAP mods. - FM
* Removed -ltermcap from AIX makes (AIX doesn't use it). - FM
04-16-95
* Send a 0,0 coordinate pair if a user clicks on an ISMAP link, so that
it's handled equivalently to clicks on an ISMAP submit button, and
(typically) will return the server's default. Note that the default
often is the parent document, and if so, the current document will
be returned via redirection (pointlessly 8-). However, this mod
allows the WebMaster to use a pure-text document as the default for
Lynx. - FM
* Protections against crashes for inappropriately positioned form tags. - FM
* Fixes in handling of configurable INEWS path. - FM
* Support for VT500 series terminals. - George Cook (cook@wvnvaxa.wvnet.edu)
04-12-95
* Makefile tweaks for bsdi and aix4. - FM
04-11-95
* Mods for building with BSD Interative (bsdi). - FM
04-08-95
* Added translation of HTML entities and decimal escaping for the
VALUEs of INPUT and OPTION tags. - FM
* For TYPE="image" INPUT tags, use "[IMAGE]-Submit" as a pseudo-ALT
string, and submit a 0,0 coordinate pair if it's clicked, which
typically will invoke the server's default (I guess something is
better than nothing. 8-). - FM
* Handle (possibly multiple) angle brackets in bookmark and showinfo
link names. - FM
* Fixed typo in for-ultrix code in LYMain.c. - FM
04-04-95
* Added ability to set proxy environment variables via lynx.cfg. - FM
04-01-95
* Added handling of the HTML 3.0 attributes for ISINDEX tags:
ISINDEX HREF="reference" PROMPT="string"
The ACTION attribute didn't make it into HTML 2.0. For now, we'll keep
supporting it in Lynx by treating it as a synonym for HREF. - FM
03-31-95
* Mods for AIX v4.1.1 and addition of make aix4. - FM
* Added prototype and extern declarations for BSDselect(). - FM
* Fixed bugs in form_getstr() that could clobber the stack. - GL
* Fixes for symlink handling. - GL
* Made LYShowInfo.c aware of the setuid, setgid and sticky file modes,
and nicer mode display if the file doesn't have the read bit set. - GL
03-30-95
* Fixed glitch in BASE tag handling. - FM
03-29-95
* Initialize pointers in add_trusted() of LYGetFile.c before the
StrAllocCopy() calls. - FM
03-26-95
* Miscellaneous TRACE and related messaging tweaks. - FM
03-24-95
* Handle defaulted localhost in file BASE tags, and related tweaks of
defaulted localhost handling in file URLs. - FM
* Use RM_PATH for both file and directory deletions with the DIRED_SUPPORT
remove function. - GL
--- STARTING 2.3-FM ---
==============================================================================
03-23-95
* Designate this code set as lynx2-3-FM to avoid any confusion with the
official releases at UKans. - FM
* Tweaks of code for defaulted localhost in file URLs. Don't require
any host field marker in such URLs - FM
03-21-95
* Added handling of defaulted localhost in file URLs. - FM
* More protections against bad HTML. - FM
* SYSLOGing enhancements. - GL
* Suspend curses during my_spawn()'s, and fixes of code for the child
and error return detection. - GL
03-20-95
* More protections against potentially infinite loops. - FM
03-16-95
* Enhancements of 'c'omment and mailto handling. - FM
* Mods to build.com for enabling submission to BATCH. - FM
* Ultrix terminal-handling fix. - Roman Czyborra (czyborra@cs.tu-berlin.de)
03-15-95
* Fixed bug in for-Unix directory listing code to screen out inaccessible
parent directories. Was also being applied to ftp listings. - FM
* Made bolding of H1 through H7 headers a lynx.cfg option, with the
non-bolding as the compilation default. - FM
03-13-95
* Fixed bug in setting link[].lname elements to empty strings for form
INPUT_ANCHORs. Was causing showinfo() to report the links from the
previous document (yet another memory leak bites the dust 8-). - FM
* Numerous fixups of bold and underline handling. - FM
03-09-95
* Increased the while() loop limit for select() tries in HTTCP.c to 500. - FM
* Memory allocation/free fixes in HTAccess.c. - FM
* Makefile and documentation tweaks. - FM
03-07-95
* Implemented HT_BOLD when specified for headers in DefaultStyle.c. H1 is
now uppercase, bold, and centered. H2 - H7 are lower or mixed case, bold,
and progressively indented. - FM
* Miscellaneous enhancements of menu displays. - FM
* Allow tabs and '$' in lynxexec commands. - FM
* More TOUPPER/TOLOWER fixes. - FM
03-06-95
* Added ability to set the INEWS path in lynx.cfg. - FM
03-05-95
* Separated the newspost URL into newspost versus newsreply, and modified
LYNews.c to behave more rationally for new versus followup posting. - FM
* Added "mode reader" command for news list and article requests. - FM
* Enabled saving of list_dir_style settings in the user's RC file. - FM
* Don't restrict rearming SIGINT in LYClean.c for IGNORE_CTRL_C to just
SVR4. - FM
* Added numerous protections against core_dumps/ACCVIOs in HTML.c for bad
HTML. Should also help reduce likelihood of infinite while() loops and
a runaway CPU if binary files are mistyped and rendering is attempted. - FM
* Added (unsigned char) type casts in addch() calls for proper handling of
high value ISOLATIN1 characters. - FM
* Limited the while() loop for select()'s in HTTCP.c to 50 tries, to help
reduce likelyhood of a runaway CPU on undetected terminal disconnects. - FM
* Fixed typo in build.com. - FM
* Added Craig's lynx_help and about_lynx files for the lynx2-3-7 distribution,
updated for lynx2-3-9 BETA. - FM
--- STARTING 2.3.9 BETA ---
==============================================================================
02-20-95
* Updated doc files and passed on to UKans for archiving on the
ftp2.cc.ukans.edu server as 2.3.8 BETA. - FM
02-17-95
* Further updates of building procedures for VMS. - FM
* Further updates of lynx.man, lynx.hlp and documentation. Indicate
that the inside_foo and outside_foo restrictions are not selective
on systems which lack utmp. - FM
* Changed yesterday's DGUX define fo DGUX_OLD, because only older
Data General systems need it. - FM
02-16-95
* Added Jeff's updates of lynx.man and lynx.hlp, further updated for
v2.3.8 - FM
* Fixed typos in LYMail.c and HTTPC.c. - FM
* Cleaned up #ifdef'ing for -DIGNORE_CTRL_C. - FM
* Added -DDGUX for using inet_addr(host).s_addr instead of inet_addr(host)
in HTParseInet() of HTTCP.c (Data General may need it). - FM
* Don't report "-help" as an invalid option. - FM
02-15-95
* Handle HTML entities and decimal escaping in ALT strings. - FM
* Build fixups for TCPWARE. - FM
02-14-95
* Added transmission of Accept-Language headers. A default preferred
language is defined in userdefs.h. It can be overridden via lynx.cfg.
Users can change that via the 'o'ptions menu and save their preference
in their RC file. - FM
* Tweak of FIXED record handling on VMS. - FM
* Defined Unix ZIP_PATH and UNZIP_PATH in userdefs.h. - FM
02-12-95
* Added -localhost switch for restricting access to files and servers
on the local host. - FM
* Added -nobrowse switch for disabling directory browsing. - FM
* Added -selective switch for requiring a .www_browsable file in
each directory for browsing access to it. The enabling files
are not included in the directory listings. - FM
* Fixed up displaying of README files in directory listings on
VMS. - FM
* Replaced all tolower() and toupper() calls with the TOUPPER() and
TOLOWER() macros in HTUtils.h (should help deal with some of the
strange behavior reported for some flavors of Unix; see header of
HTUtils.h). - FM
Worked in mods from David Trueman (david@cs.dal.ca) - FM:
* Don't issue the ../ link in Unix local directory listings if the parent
directory is not readable (was already dealt with on VMS - FM).
* Include an Organization: header in Unix news postings, if possible
(was already dealt with on VMS - FM).
* Don't allow the editing of Unix mail headers because that is error
prone (no change on VMS; editable pseudo-headers are included for
informational purposes, but the real headers are those of the
account running Lynx - FM).
* Don't hardcode the Unix mv command; use MV_PATH define in userdefs.h.
* Moved the Unix COPY_COMAND define to userdefs.h as COPY_PATH.
* Completed the Unix ZIP support.
02-10-95
* Added code for converting the headers of downloaded binaries on VMS
to indicate FIXED 512 record format. See the documentation in
userdefs.h, lynx.cfg and FIXED512.COM for more information. - FM
02-08-95
* Fixed glitch in HTInit.c which mis-casted the default MIME type for
files with a .sh extension, causing the EXEC_SCRIPT function to be
disfunctional. - FM
* I think I finally have Lynx showing "(p# of N)" properly in the title
lines (we'll see if perfection has really been achieved 8-). - FM
* Extended directory browsing on VMS to the -homepage specification,
if included on the command line, e.g., lynx -homepage=sys$login
will start up Lynx with the default startfile, but the 'm'ain menu
command will yield listings of the home directory. - FM
* Added -fileversions switch on VMS for including all versions of files
in directory browser listings (otherwise, only the highest version is
listed, with no version numbers displayed). - FM
* Modified LYEdit.c to use fopen(filename,"a") instead of access(filename,2)
to verify write access for editing files (checking "append" access appears
to be a more reliable way to do it across platforms/flavors). - FM
02-07-95
* Implemented directory browsing for VMS. - FM
* Fixed printer command handling to actually prompt for and use a second
filename argument if two "%s" strings are in the command map. - FM
* Added anti-Unix-shell-spoofing code for all of the filename argument
handling. - FM
* Fixed glitch in getenv(DISPLAY) calls on VMS.
02-04-95
* Fixed a glitch in BASE support. Should now work properly when both
standard and Lynx-specific hrefs are in the document. - FM
02-03-95
* Added support for posting to newsgroups from Lynx on VMS via the
ANU-NEWS software. - FM
* Numerous href parsing enhancements. - FM
* Enhancements and bug fixes of news displays. - FM
* Enabled display of Linknames with angle brackets (as for news URLs)
in the showinfo page. - FM
* Ensured that a file URL which is really an ftp URL will yield an
"FTP is Disabled" statusline message when it's disabled. - FM
02-01-95
* Defined out the LYK_VERSION code and made Control-V a dead key again,
since including the Lynx name and version strings in the showinfo ('=')
and 'o'ptions displays is adequate, and people on different platforms
or flavors associate Control-V with other functions. - FM
01-31-95
* Beefed up the BASE support. - FM
* Made all WWWLib cover pages and menus HTTP/1.0 compliant (to ensure
resetting of any BASE tags) and gave them more pizzaz. - FM
* Trim terminal slashes in ftp paths if not the Welcome directory, so
we'll get "Up to" links. Terminal slashes in file paths still force
that directory to be treated as the Welcome directory. For example,
ftp://host/blah/foo/ will have an "Up to blah" link listed, but
file://host/blah/foo/ will treat /blah/foo/ as "Welcome" (both ftp
and file "Up to" links are blocked by -DNO_PARENT_DIR_REFERENCE). - FM
* The VMS SOCKETSHR_TCP support can't yet handle telnet, tn3270 or
rlogin URL's (Andy Harper is working on it; be patient 8-). Modified
HTTelnet.c to compile properly and behave rationally when such URL's
aren't supported. - FM
* Corrected doc files based on Larry Virden's (lvirden@cas.org) careful
(or is it carefull) proof-reading. Thanks Larry! - FM
* More type casts for ANSI C compliance. - FM
01-30-95
* Added numerous type casts for ANSI C compliance. - FM
01-29-95
* Prototyped HTHostName() for yesterday's mods in HTAccess.c. - FM
* Updated lynx.cfg. - FM
01-28-95
* Added lynx name and version to the showinfo page and options menu. - FM
* Tweaked Danny's news proxying mods for selective no_proxy directives
with a port field (119) for news, and added equivalent code for wais
(port 210). - FM
* Updated the INSTALLATION file (I hope people read it 8-). - FM
* Hadn't included last night's typo fix in the archived fileset. - FM
01-27-95
* Added Danny Mayer's (mayer@ljo.dec.com) mods for proper handling of
no_proxy directives for news (NNTPSERVER) hosts. - FM
* Worked in Ari Luotonen's (luotonen@dxcern.cern.ch) mods for sending
a "Pragma: no-cache" header for use by a proxy server in conjunction
with the RELOAD command. - FM
* Fixed to handle file URL's appropriately in conjunction with proxying
of ftp URL's. For file URL's on the local host, direct access is
attempted, with no ftp attempt if that fails, whether or not proxying
is in effect, and whether or not no_proxy directives have been set.
Both ftp URL's, and file URL's on a remote host, are sought via ftp
without a direct access attempt. File URL's for remote hosts are
converted to ftp URL's before submission to a proxy server, so no
special procedure need be implemented to induce the proxy server to
act on them (You shouldn't continue using file URL's when you intend
ftp, but Lynx will handle such URL's properly when encountered in
old documents that use file when ftp is intended.) - FM
* Fixed typo in yesterday's "psychotherapy". - FM
01-26-95
* Escaping of ISINDEX queries needed more tweaks to work properly with
high value IsoLatin1 characters. - FM
* Applied psychotherapy to the schizophrenic behavior that was exhibited
when download, upload, print, history or showinfo commands were used
during displays of each other's menus or temporary files. - FM
* Enabled downloading of links from the history page. - FM
01-25-95
* Added LYK_VERSION command (^V) for showing version of Lynx. - FM
* Include file fixes for TCPWARE. - FM
* Fixed bug in showinfo() which caused core dumps when invoked while
positioned on any form field which has a "linkname" but a NULL
"filename". - FM
* Fixed glitch in 'p'rint menu. - FM
01-24-95
* Enabled SOCKSification for any Unix flavor via the SITE-LYDEFS,
SITE-DEFS and SOCKSLIB definitions in the top-level Makefile. Added
info in INSTALLATION on how to do it for VMS. Included notes that you
are better off building Lynx normally, and instead using a SOCKSified
proxy server to get through a firewall. - FM
* Added instructions in INSTALLATION for setting up proxy service. - FM
* Fixed multiple submit button handling to distiguish which button was
activated when they have the same name, and include only that button's
name/value pair in the submission. - FM
* Figured out how to apply all security and restrictions checks for
redirecting URLs returned by ISINDEX searches, and accordingly lifted
the bypasses for the previously insecure access types. - FM
* Added option to use Jerry Whelan's (guru@bradley.edu) BSDselect() for
SVR4 systems with the "type any key" problem. - FM
01-23-95
* Fixed up escaping of queries in HTSearch(). - FM
* Updated the sample jumps files. - FM
* Worked in socksification mods from Reese Ferry (reesef@VNET.IBM.COM) - FM
* Enabled use of LOCALE for international characters with any Unix flavor
(not just sun) via a define in the top level Makefile. - FM
01-22-95
* Updated the lynx.cfg configuration file. - FM
* Implemented BASE handling. - FM
01-21-95
* Fixed -cfg switch handling so that the specified, alternate configuration
file properly is read instead of the default system file specified in
userdefs.h. - FM
* Made 'p'rint, 'd'ownload and 'u'pload menu lists single spaced. - FM
* Fixed HTFileFormat() in HTFile.c so that it properly processes the
suffix-to-MIME-type mappings when version numbers are in local file
URLs on VMS. We therefore no longer trim off the version number if
if was included, and Lynx will now access and process that version
rather than only the highest version. - FM
01-18-95
* Makefile fixes for convex and linux. - FM
01-17-95
* More Makefile fixes. - FM
01-14-95
* Fixes for FreeBSD. - FM
01-12-95
* Made the "ls -l" emulation in local directory listings a compilation
option (see the top level Makefile). - FM
* Made inclusion of "Up to" parent links in local directory listings a
compilation option (see top level Makefile). - FM
* Message fix for checkmail on Unix. - FM
* Fixes for SCO with gcc. - FM
01-11-95
* Restored original hash table function in HTAnchor.c without (hopefully 8-)
reviving anchor deletion problems. - FM
* Fixed typo in HTAccess.c. - FM
* Added code in HTFile.c from Timothy Newsham (newsham@aloha.net) for
generating long style Unix listings (ls -l). - FM
01-10-95
* Escape dashes in lynx.man. - FM
* Added NetBSD support from Bryan T. Vold (btv@wiley.HealthPartners.COM). - FM
* Made anchor searches in hash tables case-sensitive (so paths which
differ only in their case can be distinguished, as people using the
DIRED support kept requesting) without (hopefully 8-) reviving anchor
deletion problems. - FM
01-09-95
* More Makefile and code fixes for building properly with various systems
and compilers. - FM
01-06-95
* Numerous fixes for handling signals (e.g., SIGWINCH) received during
keystroke fetches, without (hopefully 8-) reviving the problem of
runaway CPU's on undetected terminal disconnects. - FM
* More Makefile and code fixes for building properly with various systems
and compilers. - FM
01-05-95
* Changed define for syslog() logging to SYSLOG_REQUESTED_URLS and picked up
logging of ISINDEX search requests that don't go through getfile(). - FM
* More fixes for redirection returned via ISINDEX searches. - FM
* Fixed missing newline character at end of last .lynxrc entry. - FM
* More Makefile tweaks. - FM
* More additions in LYCurses.h for compilers which fail to check whether TRUE
and FALSE are already defined before defining them in curses.h. - FM
01-03-95
* Fix for redirection returned via ISINDEX searches. - FM
12-29-94
* Yet more top level Makefile tweaks. - FM
* Fix bcopy problem for UCX. - Martin Zinser (zinser@vscn.gsi.de)
* Fix ioctl() problem for UCX. - MZ
12-27-94
* More top level Makefile tweaks. - FM
12-26-94
* Added Lou Montulli's procedure for PURIFY to the top level Makefile. - FM
12-23-94
* Added Lou Montulli's memory leak fixes. - FM
* Fixed HTLoadedDocumentTitle() call in LYGetFile.c. - FM
--- RELEASE of 2.3.8 BETA ---
12-22-94
* The WFEB code as of 12-15-94 has been archived at UKans as lynx2-3-7,
so we'll make this lynx2-3-8 to avoid confusion. - FM
* Added bookmark_exec restriction for disallowing use of lynxexec URL's
in the user's bookmark file or converted Mosaic hotlist. - FM
* Enable any lynxexec URL in JUMPFILE if EXEC_LINKS has been defined.
This allows you to set both LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE
to TRUE and a single TRUSTED_EXEC rule that will always fail (e.g.,
TRUSTED_EXEC:none), so that *ONLY* the lynxexec URL's in the jumps
file will be acted upon. - FM
* Disallow lynxexec URL's in G)oto if no_shell is set or if
LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE is TRUE. - FM
12-21-94
* Include LYFLAGS in the BSDI_Makefile. - FM
* Numerous mods based on patches from David Trueman - FM:
* Changed SUN4 ifdef for implementing the "reverse clear screen hack" to
REVERSE_CLEAR_SCREEN_PROBLEM since not all sun4 systems experience this
problem.
* Changed a few messages to use key_for_func() instead of a hard-coded
key mapping.
* Allow control-C as well as control-G to abort or cancel on Unix (as
already on VMS). On VMS, control-C and control-Y evoke a "Do you really
want to quit?" prompt, and a 'n'o reply gets handled as if control-G
has been entered in the first place. On Unix, control-C is treated
simply as a synonym for control-G, and control-Y is not an interrupt
signal. This seems the best way to handle those control signals, based
on what VMSers versus Unixites would expect them to do.
* Added code to disallow the writing of files beginning with a dot if
NO_DOT_FILES is set TRUE in userdefs.h and/or lynx.cfg.
* Added possibility of logging URL access via syslog() on Unix (ifdef'd
with LOGGING).
* Improved and made more flexible the security for lynxexec URL's. The
default behaviour is the same as now, but source locations and the path
(Unix) or name (VMS) of programs to be executed can be restricted via
TRUSTED_EXEC rules in the lynx.cfg file.
* Convert ~ in lynxexec paths to $HOME on Unix.
* Several changes in DIRED support. Tidied and consolidated code. Changed
the way tags are freed (fixing a bug where they did not always get cleared
properly). Changed all programs to *_PATH defines. Changed the display
of tags so they work with numbered links.
* Added another restriction to disallow telnet port specifications in
G)oto URL's.
* A bit of special case code in jump handling. If key mapping is G, allow it
to be typed as "go target".
* Change strncmp in remap() to strcmp() (bug fix).
* Report offending bad option in main().
* In mainloop(), make \r same as \t and \n.
* Combine LYK_REMOVE code with LYK_DEL_BOOKMARK so that they can share the
same key map.
* If show_cursor is true, position cursor 1 position before the link, which
makes it less likely that the link is obscured in defective terminal
programs
12-15-94
* More fixes in LYno_attr_char_case_strstr() and LYno_attr_char_strstr() - FM
* People didn't like having to erase the default WHEREIS ('/') search string
when it wasn't what they wanted in a new document (though most didn't know
that it can be done easily via ^U), and Lynx doesn't have real editing via
LYgetstr() (just deletion from the end of the string), so I got rid of the
the editing offer. The previous search string is still buffered across
document fetches, and can be used across documents via NEXT ('n'). You
also can use WHEREIS without a search string entry to turn off highlighting
within the current document, and then NEXT to restore it. If control-G is
used instead of a blank string to cancel a WHEREIS command, it does not
turn off the highlighting. So everything everyone asked for is now
possible (once you figure out how to do it 8-). - FM
12-14-94
* Oops! Fixes in tcp.h for MULTINET with DECC/VAX had left SOCKET_ERRNO
undefined for all the other VMS TCPIP packages. That's what I get for
working on this stuff too late at night. - FM
* Additional ANSI compliance fixes in HTTCP.c for builds with DECC/VAX and
non-MULTINET VMS TCPIP packages. - FM
12-13-94
* Modified searches for strings within the currently displayed document
('/', as opposed to 's' for ISINDEX searches) so that the highlighting of
the search string is not retained when the current document is changed,
and added recall buffering of the search string so that it's offered as
the default for editing or reuse on subsequent '/' commands. Also, we
now force redraws on invokations of such searches so that hits will be
highlighted even if they occur on the current page. Links with hits such
that they have embedded highlighting of the search strings will not have
the embedded highlighting restored when the cursor is moved onto and then
off of them (helps to distinguished whether it's intended or the due to
the search), but will be restored whenever the page is redrawn. All
embedded highlighting also is restored when the 'n'ext command is used to
repeat the search in the current document, even if the returned hits do not
cause a page change. Note that these searches first search only the links,
and position you on the first link with a hit occurring after the current
link. If there were no hits in the links, then the text is searched and
the first hit occurring after the current link is positioned at the top of
the page. They never did, and still do not, search both the link and text
portions of the document simultaneously. Also note that ISINDEX searches
never have and still do not yield highlighting of the query string(s) in
the returned document.
* Fixed LYno_attr_char_case_strstr() and LYno_attr_char_strstr() in
HTStrings.c so that they properly ignore any attribute characters in
the comparison string and return a pointer to the correct location
of a match with the target string. - FM
12-12-94
* Modified FTP gateway to display 230- as well as 250- information/help
messages, and on non-Unix as well as Unix systems. - FM
--- RELEASE of 2.3.7 BETA ---
12-11-94
* Further tweaked explanatory comments in the configuration and samples
files, and updated the instruction files. - FM
12-09-94
* Modifed PassesTest() in HTInit.c to avoid the overhead of system() calls
by using getenv() when test -n "$DISPLAY" and test -z "$DISPLAY"
commands are encountered in the mailcap file. Otherwise, needlessly
expensive system() calls potentially could be made for virtually every
viewer mapping in that file!. For Lynx, those two strings in the mailcap
file now are equivalent to the :XWINDOWS and :NON_XWINDOWS flags,
respectively, for VIEWER: assignments in lynx.cfg. - FM
* Also modified PassesTest() so that it simply treats test -n "LYNX_VERSION"
as success. Why spawn a system() command to see if Lynx is running, when
it obviously is!. However, that string can be included in the mailcap
file for assignments that should be restricted to Lynx if other software
also uses the file. - FM
* The above two mods make it unnecessary to actually use a "test" script for
differentially setting viewers in XWINDOWS versus NON_XWINDOWS environments,
so VMSers also can use the mailcap files for differential assigments of
viewers, without those DCL error messages about "test" which have been
mystifying so many people. However, yesterday's mods do make it possible
for VMSers to use a "test" script for checking other environment or system
features, and thereby setting viewer switches differentially, analogously
to the command line switches for Lynx itself. - FM
* Modified comments in samples/mailcap to indicate these enhancements. - FM
* Modified comments in userdefs.h to describe correctly what the Lynx code
does as of v2.3: Any SUFFIX or VIEWER mappings in lynx.cfg will be
overridden in src/HTInit.c if they also appear there. Then, any mappings
in mime.type or mailcap will override those from lynx.cfg and src/HTInit.c.
The XLOADIMAGE definition is used in src/HTIinit.c, and you can use
mailcap, but not lynx.cfg, to override it. - FM
* Modified comments in lynx.cfg and samples/lynx.cfg to indicate what Lynx
really does, and the use of mailcap files to do what lynx.cfg had claimed
it could do but doesn't. - FM
* Fully implemented multiple submit button support for both POST and GET
forms. - FM
* Added LYK_RESUBMIT keymap (with default binding to 'x' and 'X') for forcing
submissions of forms to servers (i.e., never use cache). LYK_ACTIVATE
(with default binding to right-arrow and RETURN) still fetches from cache
if available. Statusline help describes these commands when positioned
on a submit button. - FM
12-08-94
* Fixed HText_submitForm() in GridText.c to handle submitting INPUT types
(e.g., type="image") which have name/value pairs. - FM
* Modified DCLspawn to recognize -1 on failure and 0 or 1 on success as
return or exit values of scripts, and report -1 or 0 as it's own return
value. If a "test" script is used on VMS in conjunction with .mailcap
for setting viewers, it should return -1 if the test fails and 0 or 1 if
it passes (the "test" script can be DCL or an exectutable, and should be
defined as a foreign command). If you don't have a "test" script, don't
include that instruction in .mailcap. - FM
* The tmpaddress pointer in do_www_search() of GridText.c needed to be
initalized to NULL. - FM
12-07-94
* Made sufficiently ANSI compliant to build with DECC on VMS without using
the /stand=vaxc qualifier, and further modified so that Lynx will build
and run (extremely well 8-) with DECC/VAX. Whooh, that took some doing!
These mods are also desireable for builds on Unix. - FM
12-02-94
* Fixed the query recall buffer in do_www_search() of GridText.c to restore
the +'s to spaces and unescape properly. - FM
* Include file and define fix ups, for SOCKETSHR/NETLIB support and convex
builds, in tcp.h, LYShowInfo.c and top level Makefile. - FM
11-27-94
* Fixed bugs associated with failure to check the post_data element in
addition to the address element when making push/pop decisions for the
history stack, and when checking whether a requested document has been
loaded successfully. The address element is insufficient for documents
returned by POST'ed forms. - FM
* Check -trace switch earlier in LYMain.c so that trace messages associated
with setting up the Lynx configuration will actually be displayed. - GL
11-23-94
* More fix ups for the SOCKETSHR/NETLIB support. Close to "all set" but needs
more field testing with the full range of TCPIP packages for VMS. - FM
* Added HP_TERMINAL define for the DIM workaround to the REVERSE problem with
HP terminals. If not defined, SNAKE builds will not make that substitution
(would be better to do this in a way that checks the terminal at run time,
but we'll hold off on that for now). - FM
--- RELEASE of 2.3.6 BETA ---
11-21-94
* Replaced ucx$inetdef.h with socketshr_library:ioctl.h for the
SOCKETSHR_TCP builds. Note that the ioctl.h is not presently included
in the binary distribution of SOCKETSHR/NETLIB. You have to get it from
the sources distribution. - FM
11-18-94
* Added Andy Harper's (A.Harper@bay.cc.kcl.ac.uk) "first round" support for
SOCKETSHR/NETLIB (see SOCKETSHR.ANNOUNCE). Note that it is presently
including ucx$inetdef.h which is not provided with SOCKETSHR or NETLIB
source sets, and may not be available to non-UCX sites. We're checking
into how to deal with that. - FM
* Made recall buffering of shortcuts for the 'J'ump command a configuration
file option (in userdefs.h and/or lynx.cfg). - FM
* Added clearerr() before the GetChar() in LYStrings.c. - FM
* Made the optional novice help lines conform to the "standard default"
key bindings. Edit them appropriately in userdefs.h if you plan to use
other bindings with that feature.
* Added George Lindholm's (lindholm@ucs.ubc.ca) Makefile patch for making it
just a tad easier to set up local compile options. - FM
* Eliminated serial free() in LYSanctify() of LYGetFile.c. - FM
* Restricted all "hack to fix reverse clear screen problem" code to
SUN4 (had missed one 8-). - FM
11-15-94
* Eliminated separate list and atexit deletions of redirecting anchors. - FM
* Added Rick Dyson's (Dyson@IowaSP.Physics.UIowa.EDU) updates of the
descrip.mms files. - FM
11-12-94
* Worked in Malcolm MacArthur's (mcscs2mm@zippy.dct.ac.uk) mods for reading
a printer's page length from the configuration file and calculating the
correct number of pages for the statusline query on whether to continue
if the document is longer than 4 printer pages. Further modified that
code to use the current LYlines for the computation when the built in
"print to screen" option is selected. See the comments concerning
"PRINTER:" definitions in lynx.cfg for more information. - FM
* Fixed HTInetStatus() in HTTCP.c to use SOCKET_ERRNO instead of errno,
based on the platform/transport-specific definitions in tcp.h. Thanks
to Danny Mayer (mayer@ljo.dec.com) for tracking down this glitch. - FM
11-10-94
* Added David Trueman's latest clever enhancement: The command line option
-homepage=URL separates the notion of a home page (or main screen) from
the start file. So, lynx -homepage=URL1 URL2 will start up with URL2
but the MAIN_MENU key will take the user to URL1 rather than URL2. This
is useful for public accounts that start up with an information page or
form, that then leads the user to a URL for the actual home page. The
MAIN_MENU key can thereafter be used whenever the user wishes to return
to the actual home page. - FM
* Enlarged string buffer in LYEdit.c to handle large paths. - FM
* Made 'K'eymap title and descriptions easier to edit for alternate languages
(e.g., Dutch or Greek) as required by Dick Wesseling (but, alas, the editing
still has to be done in LYKeymap.c, because it's too much to move into
userdefs.h; someday Lynx will have real internationalization code 8-) - FM
* Added titles to tops of jumps files so that the nesting level will be reset
on reloads. - FM
11-09-94
* More prototyping and include file fixes in LYJump.c and LYMainLoop.c - FM
11-08-94
* Prototyping fix in LYJump.c. - FM
* Miscellaneous fixes in src/descrip.mms. - FM
* Hadn't included patch for latest LYUtils.c in lynx2-3-5.patches. - FM
11-07-94
* At popular request (already 8-), changed the "Jump to:" query to work
exactly like the "goto:" query. The previous entry is recalled, a '?'
must be entered explicitly to fetch the shortcut list (with an instruction
about that added to the prompt), and a blank entry or Control-G returns
the user to the current document. - FM
--- RELEASE of 2.3.5 BETA ---
11-05-94
* Numerous wonderful enhancements based on patches from David Trueman, and
entensions of those mods. Briefly:
* Implemented 'K'eymap command for showing all of the key bindings currently
in effect, with a description of their functions. This is faster and
more helpful than the online help's description of the default key
bindings. Must be uppercase 'K' if VI keys are ON, otherwise the command
is case-insensitive. Try it, you'll love it! - FM
* Implemented 'J'ump command for using "shortcut" names to access URL's in a
local "jumps.html" file that has a sorted DL list which maps each target
(shortcut) DT to it's full URL DD (see the sample jumps files added to
the distribution). The URL's could be local or remote resources, or
lynxexec or launch file URL's for system utilities (e.g., the shortcut
"news" could invoke the news reader, "mail" the mail utility, "swing" the
VMS File/Directory Management Utility, etc.). This feature is enabled by
defining JUMPFILE in userdefs.h or lynx.cfg, and can be disabled via at
run time via -restrictions=jump as a commandline switch. Must be uppercase
'J' if VI keys are ON, otherwise the command is case-insensitive. Try it,
you'll love this too! - FM
* Added a CHECKMAIL symbol which if set TRUE in userdefs.h or lynx.cfg will
report the existance of unread mail at Lynx startup, and arrivals of new
mail, via statusline messages. VMSers can block unsoliticed system NEWMAIL
screen broadcasts ($ SET BROADCAST/NOMAIL) when using this feature. It
can be disabled at run time via the -restrictions=mail switch, which also
disables standard mail functions in Lynx, but still allows 'J'umps via a
"mail" shortcut to a lynxexec URL for a script which could perform security
functions before permitting or rejecting access to the mail utility. The
hackers will really love this! - FM
* Added ability to toggle the novice help line to show all of the principle
commands. - FM
* Miscellanous bugs and memory leaks found and fixed in conjuction with
adding and enhancing the above features. - FM
* The code may need some tweaking to build and run properly on some flavors
of Unix (appears to be all set for VMS). - FM
11-01-94
* Fixed bug if editor is dereferenced. - David Trueman (david@cs.dal.ca)
* Enable alternate boxing of popup windows via defines for BOXVERT and
BOXHORI in userdefs.h - Dick Wesseling (ftu@fi.ruu.nl)
* Check for LYCursesON before making any Curses calls in cleanup() - DW
10-31-94
* Looks like the last of the problems deleting anchors has been solved
by Dick Wasseling, so the bypass is lifted again. - FM
* If CANT_EDIT_UNWRITABLE_FILES is defined on Unix, write access is
required to edit files (write and delete access are always required
on VMS). - Alex Whittaker (alex@biu.icnet.uk)
* Moved "Press RETURN ..." text to userdefs.h. - AW
10-28-94
* Uncache documents or bookmark file before reloads (via Control-R or
'r'emove command) in LYMainLoop.c. - FM
* Uncache showinfo display or print, download, option, etc, menus before
reloading those in GridText.c. - Dick Wesseling (ftu@fi.ruu.nl)
* Above two fixes still don't completely solve the anchor deletion problem,
so we're still bypassing.
* Enable iso entity translations inside TITLEs - DW
10-26-94
* Problems when deleting anchors have been reported, apparently for
documents which have been (re)loaded with LYforce_no_cache. So,
we'll retore the bypass until that problem is tracked down. - FM
10-25-94
* Added coded for disabling mail for -anonymous via CAN_ANONYMOUS_MAIL in
userdefs.h, and via -restrictions=mail (default is enabled). - FM
10-21-94
* Added Danny Mayer's (mayer@ljo.dec.com) samples/lynx.com - FM
10-05-94
* Modified tcp.h to deal with conflicting typedefing in the MultiNet
types.h and time.h versus those for DECC. - FM
* Define FANCY_CURSES for linux-ncurses. - FM
09-30-94
* -restrictions help list in LYMain.c should indicate "option_save" (not
"options_save") for disabling the saving of options in .lynxrc. - FM
09-29-94
Mods based on patches from George Lindholm (lindholm@ucs.ubc.ca) - FM:
* Fixed problem when IGNORE_CTRL_C is defined, that was created by the
fix for runaway processes on Unix when undetected terminal disconnects
occurred.
* Added options to disable rlogin and/or ftp access.
09-28-94
* Use "hack to fix reverse clear screen problem" in GridText.c if SUN4 is
defined (still need clarification on the exact nature of the problem
to decide if this is the best way to handle it; it bothers me to have
this kind of hack in the code 8-) - FM
Mods based on patches from George Lindholm (lindholm@ucs.ubc.ca) - FM:
* Move the "quit" text to userdefs.h from LYMainLoop.c for easier
customization.
* Typo fix for buttons submit value in GridText.c
* Renable SIGINT signal for SVR4 machines if control-c is to be ignored
when editing.
* Solaris fixes for LYCurses.h.
* Recognize pico as a special editor.
* Fix -restrictions help text.
* Fix -telnet and -news options so that they actually do something.
* Fix upload code so that you can have more than one uploader option,
and fix for freeing a static variable.
* Various prototype fixes.
* -editor command line option signals that the editor can't be changed.
* Added a SYSTEM_EDITOR option to lynx.cfg for a locked editor.
--- RELEASE of 2.3.4 BETA ---
09-27-94
* Alas! I think I've tracked down and fixed all the bugs that were causing
ACCVIOs/CoreDumps if anchors were deleted/freed when freeing the cached
documents. So now we do delete/free them. This plugs a major memory
leak in Lynx (which we knew about, but heretofore had to live with). - FM
* Added Danny Mayer's (mayer@ljo.dec.com) fix so that MIME types are handled
case-insensitively. - FM
* Restored text/html (WWW_HTML) as the default MIME type when an HTTP/1.0
server fails to send it in the headers. This happens because it's the
default in Mosaic and developers using that don't realize their server or
script code is failing to send it (other MIME types will be caught as an
error, and the code will be fixed by the developers). Garrett's change to
application/octet-stream (WWW_UNKNOWN) was technically correct. You can
change it back to that where indicated in HTMIME.c if you prefer that Lynx
be technically correct but functionally wrong when dealing with this
situation. - FM
--- RELEASE of 2.3.3 BETA ---
09-22-94
* Finished up redirection handling. Will now handle serial redirections
across multiple sites (with an arbitrary limit of 10, to prevent the
possibilily of an infinite loop of circular redirections), works properly
with redirections via the VALUE fields of OPTION tags, and no longer alters
any anchor addresses, avoiding all the problems that caused in the hash
table. - FM
* Worked in Rick Mallett's (rmallett@ccs.carleton.ca) fix for runaway
processes on Unix when undetected terminal disconnects occur. - FM
* Added Eric Jon Rostetter's (ERIC@uoft02.utoledo.edu) code for proper
keyboard handling with DEC eightbit terminals. - FM
* Added David Greer's (david_greer@robelle.com) mods for curses on
HP terminals. - FM
--- RELEASE of 2.3.2 BETA ---
09-17-94
* More fix ups of forms structure handling, freeing and redirecting. - FM
* Fixed problem with free's of startfile, thanks to Dick Wesseling
ftu@fi.ruu.nl - FM
09-14-94
* More memory leak and redirection fix ups (still not perfect). - FM
* Various mods to speed up memory management with VAXC on VAXen (still
slow compared to DECC on AXPen). - FM
09-13-94
* If an ISINDEX document is one returned by a previous search, the 's'
command puts up the query which returned it, for editting as a new query
(use Control-U to erase, Control-G to abort) Otherwise, no string is
offered in the prompt for a database query. If the previous query is
submitted without modification, a message to use Control-R to resubmit
the same query is display (so that the search will not be repeated
inadvertantly). - FM
09-12-94
* Fixed failure to load the popped menu properly when a gopher search was
selected and a NULL string, Control-G, or arrow key is entered to cancel
the prompt for a query. - FM
* Hit lists/documents returned by ISINDEX searches are now always displayed
at their tops. They no longer inherit, inappropriately, the page and link
numbers of the previous list/document. - FM
09-11-94
* Fixed redirection handling so that the hash tables are updated and the
history stack works properly, including with forms that have VALUE
fields in OPTION tags that return Location: URL's for searches (e.g.,
the CUSI forms at Nexor). Whew, that took some doing! - FM
09-05-94
* Fixed up remaining problems with OPTION VALUE="foo" handling and the
associated popup window positioning and scrolling. - FM
* Fixed bugs and several inadequacies in the history structure and code
(still needs some redesigning to deal more effectively with all aspects
of documents returned by forms and/or redirection). - FM
* Now deals properly with anchors in a single document returned by
a form. - FM
* Command line file specs on VMS can now be any valid explicit, wildcarded,
partial, or relative VMS specification, and will be converted to a valid
file://localhost/ URL, so that partial or relative URL's within the file
also will be interpretted properly. - FM
* Now trims trailing white space and won't get tripped up by '=' characters
when reading configuration files. - FM
* Miscellaneous bug fixes and enhancements. - FM
* Tracked down and eliminated more memory leaks. - FM
--- RELEASE of 2.3.1 BETA ---
7-08-94
* Correction handling of OPTION VALUE="" implemented.
* Miscellaneous bugs corrected.
6-17-94
* Option to log memory leaks at exit by defining LY_FIND_LEAKS at compilation.
6-17-94
* Check amount of allocated memory, rather than just number of documents
cached, before deciding to remove the oldest document (implemented for
VMS with VAXC, not yet for Unix or VMS with DECC).
6-16-94
* VMS bookmark file version numbers are reset on additions of bookmarks.
6-16-94
* Gopher URL's with /hGET%20/ are converted to http URL's, as in the UMN
Unix/VMS gopher+ client.
6-16-94
* Added DIRECT_WAIS support for VMS
6-16-94
* Added build support for VMS TCPWare TCP/IP
5-28-94
* Increased nesting of HTML elements from 40 to 400. Hopefully this will limit
won't be encountered often.
5-28-94
* Modified for handling of Telnet URLs with spaces/other characters in the
username.
5-26-94
* Began terminating memory leaks with extreme predjudice.
5-24-94
* WAIS searches will now work when they are of type "www/present" as opposed
to only viewing the source.
5-23-94
* Added VMS CMU TCP/IP support, thanks to Andy Harper.
--- RELEASE of 2.3 (19-May-1994, see CHANGES2-3) ---
IBMPC-charsets.announce 0000644 00000007143 15252757227 0010763 0 ustar 00
Summary
=======
This document is primarily for people who will be using Lynx
on a remote UNIX or VMS system via an MS-DOS based terminal program.
General Information
===================
Lynx comes with built-in translation tables to map the 8-bit character codes or
character entities coming in from an HTML document to their equivalent codes,
where possible, for various character sets.
IMPORTANT: you should choose display character set in Lynx Options Menu
according to your font installed locally. Probably it would be cpXXX. Please
contact lynx-dev mailing list if you want any new codepage not listed there.
Note that all points of the connection between the display at your end and Lynx
at the remote end must be 8-bit clean. If the high bit is being stripped at
any point in between, the only character set you can use (effectively) in Lynx
will be "7 bit approximations". More on that later.
MS-DOS character set weirdness
==============================
MS-DOS uses a bass-ackwards character set in which half the normal characters
have been replaced by pseudo-graphic line and box-drawing characters, and in
which almost all of the international characters are mapped to nonstandard
numbers. It also contains Greek letters.
Further confusing matters, there is more than one MS-DOS character set. The
character sets are referred to as "codepages," each of which has a unique
number. IBM PCs and compatibles come with one hardware-based default codepage
and a keyboard to match. In the US market the hardware codepage is 437. PCs
destined for other regions of the world often have a different default codepage
which contains characters for other languages and keyboards. Under MS-DOS, one
can load different codepages into memory and use one of them instead of the
hardware default.
If you are using Lynx through an MS-DOS based terminal program or telnet
client, you should use an appropriate DOS codepage in Lynx and you need not any
translation within terminal program (this is different from old-style behavior
and works better because of superior Lynx translation support).
Check your display by accessing Martin Ramsch's ISO-8859-1 table
(iso8859-1.html in the Lynx distribution's test subdirectory).
Ramsch's table describes each entity and shows examples of each. It should be
immediately obvious that you are either seeing what you are supposed to, or
you're not. If you see box and line-drawing characters and mismatched letters
and so on, you are likely displaying 7 bit data, not 8. Ensure that all points
of your connection are 8-bit clean:
On any remote UNIX systems you must pass through, do
'stty cs8 -istrip' or 'stty pass8'. 'stty -a' should list
your settings.
On any remote VMS systems, do 'set terminal /eightbit'.
Make sure your terminal program or telnet client is not filtering
8-bit data. You may found the choice between "VT-100 strict"
and "VT-100 relaxed" emulation mode - use relaxed.
Note: Procomm for DOS has a confusing "Use 7 bit or 8 bit
ANSI" setting -- this has to do with ANSI sequences. If set to
8 bit, some 8-bit character sequences, including those passed
by Lynx as well as those which are for your terminal type
(vt100, etc.) will be processed by Procomm as ANSI screen
control codes and will most likely result in a garbled display.
Set it to 7 bit.
If going through a dialup terminal server, you may have to set the
terminal server itself to pass 8 bit data. How to do this
varies with the make of the server, and in some cases only a
system admin in charge of the box will have the authorization
to do that.
SLIP or PPP connections should already be 8-bit clean.
README.release 0000644 00000000504 15252757227 0007060 0 ustar 00 -- $LynxId: README.release,v 1.1 2009/09/06 13:57:02 tom Exp $
The version number with dots appears in, e.g.,
README
docs/README.metrics
lynx.hlp
lynx.man
lynx_help/Lynx_users_guide.html
The version number with dashes appears in several places, e.g.,
lynx.cfg
lynx_help/lynx_help_main.html
makefile.in
userdefs.h
CHANGES2.8 0000644 00000616370 15252757227 0006022 0 ustar 00 =======================================================================
--- Release of Lynx v2.8 (March 10, 1998) ---
=======================================================================
1998-03-10
* omit platform-specifics about release (recommended by HN). - TD
* drop samples/lynx.cfg since it is redundant (recommended by HN). - TD
* modify makefile.in so that "make install-cfg" does not edit lynx.cfg
to point at local helpfiles, while "make install-help" will now do
that (reported by LP). - TD
1998-03-07
* move ifdef's for EXP_8BIT_TOUPPER inside UPPER8 function to allow
check for DOS/WINDOWS display charsets. - LP
1998-03-06
* clarify relationship between the configure script and userdefs.h with
respect to the LYNX_CFG_FILE definition. - TD
* newer CF_FIND_LIBRARY autoconf macro, to allow ncurses library in /lib
only, needed for SUSE Linux. - TD
* add casts to UPPER8 function's comparison for equality of parameters, and
to TOUPPER macro to guard against sign-extension due to prototype. - AAC
* correct spelling of -lcur_colr library in aclocal.m4, change order of
tests to put -lHcurses second on HP-UX (patch by Jonathan Sergent).
* restore simple zmodem downloader script, displaced by recent undocumented
change (there are some concerns about security or permissions with the
alternate script). - DK
* DOSPATH localfile patch: corrected display of file://localhost/c:/,
which was displayed as file://localhost/c%3A/ (tweak LYConvertToUrl() in
LYUtils.c). Now we may start "lynx c:" or 'go' c: and not see these
strange letters. On the other hand, if % and # symbols found in local
path it will be escaped as before (note that #fragment is not supposed here
to be used from command line...) - LP
* workaround error in vendor's terminfo description of 'dtterm' by ensuring
we limit color pair-number accordingly. - TD
1998-03-04
* strip -g compiler option if not otherwise specified, for debugging (note
that autoconf 2.12 does not try to use -O option due to concerns about
compiler optimization). - TD
* correct value of $host_os used in CF_CURSES_LIBS for special-case of
HP's -lHcurses (Jonathan Sergent ).
* correct def7_uni.tbl for Greek letters, note about UPPER8 assumption
added to chrtrans/README.format. - LP
* few comments corrected. - LP
1998-02-28
* create new PRCS revision (2.8pre) for pre-release testing of Lynx 2.8 -TD
* remove RELEASE_STATEMENT, merging it into README as per HN's
recommendation - TD
* comments/minor changes to HTDOS.c, HTDOS.h, LYUtils.c - LP
* document recent fix for RAW_DOS_KEY_HACK in lynx.cfg - DK
* rename CHANGES.new to docs/CHANGES2.8 - TD
* undo last minor change to UPPER8 - LP
1998-02-27
* add RELEASE_STATEMENT file. - TD
* modify slang configuration to add fake 'scrollok()' - JED
* modify LYmktime() so that 2-digit years must be greater/equal to 70 to be in
1900's (patch by Bela Lubkin). Also adjust parse_windows_nt_dir_entry() and
parse_cms_dir_entry() as noted by Bela - TD
* comment-out entries in cp1252_uni.tbl which correspond to nonprinting
control-characters - LP
* add logic in SGML.c to correspond with 2.7.2 logic for codes used by
Microsoft FrontPage. - LP
* remove unneeded code for nbsp, ensp, emsp, thinsp and shy from handle_entity()
in SGML.c - LP
* ifdef UPPER8 function with EXP_8BIT_TOUPPER,
add configure option --enable-8bit-toupper to allow testing. - TD
* case-insensitive search and 8bit letters: It was realized that
information about upper/lower mapping got from TOUPPER which depends on
locale in its 8bit and usually fails on non-UNIX systems. We introduce
UPPER8 and strcasecomp8 to implement 8-bit aware case-independent search
using one simple assumption: 8bit upper/lower case letters have their
"7bit approximation" images in def7_uni.tbl matched case-insensitively
(7bit). The cost of this assumption is that several differently accented
letters may be interpreted as equal but this is negligible if the search
string is more than one character long. (LYStrings.c, also HTString.c
and LYMainLoop.c). - LP, TD
* add SunOS 4.x-specific ifdef to quiet redefinition warnings for sys/ioctl.h
vs sys/termios.h - TD
* convert usage/options messages into arrays to simplify maintenance. - TD
* add "-useragent" command-line option to set "User-Agent" (request by Merlin
Mathesius ). - LP
* tweak HTML in LYDownload.c, LYPrint.c to restore some double-spacing effects
altered in 'collapsible spaces' change 1998-01-25 (reported by James Elkinton
). - LP
* use strncasecomp/strcasecomp consistently throughout to avoid library
dependency on strncasecmp/strcasecmp. - TD
* correct lengths in several strncasecmp calls for command-line options
(though -w is still an abbreviation for -width). - TD
* test-build with BSD curses on OS/2 EMX (does not display properly), and
with ncurses -TD
* add configure check CF_FUNC_LSTAT -TD
* modify CF_CHECK_ERRNO so that configure script on OS/2 EMX finds
sys_errlist[] -TD
* reset styles[] and styleSheet list in DefaultStyle.c, HTML.c so that when
a user reloads a page with ^R, we undo changes to those data structures
(reported by Larry Virden). - TD
* remove extra copy of HTML.h from Implementation directory. - TD
* add CF_GCC_ATTRIBUTES to configure script, to use in flushing out unused
parameter warnings (and later, to support prototypes for logging). - TD
* rename 'extra_entities' to 'unicode_entities' (recommended by LP) - TD
* add configure option --use-default-colors, to allow background color to use
default value (request by SUNAGAWA Keiki ) -TD
* change default for --disable-internal-links so it is normally-off - TD
1998-02-19
* add configure test CF_FIONBIO, some ifdef's (e.g., S_IFLNK) to support
build on OS/2 EMX. - TD
* add configure option --disable-extended-dtd, for testing - TD
* split-out entities.h from HTMLDTD.c - TD
* remove obsolete mapping in "private" e000 area of mnem_suni.tbl,
mnem2_suni.tbl, rfc_suni.tbl - LP
* remove unused function HTMLGetLatinOneValue() - LP
* remove logic that would attempt lookup of Unicode entities by index into the
unicode_entities.put_entity method (e.g., of HTML_dtd), in HTML.c
(HTML_put_entity) and HTMLGen.c (HTMLGen_put_entity) - LP
* tweaks to HTPlain.c, LYCharUtils.c and SGML.c, remove extra checks for
Unicode mdash, ndash, trade, as well as "iso-8859-2", "koi8-r", since they
are done in the chartrans tables - LP
* add an alias 'H' for F1 when using RAWDOSKEYHACK (LYStrings.c) - DK
* restore -DRAWDOSKEYHACK to src/makefile.dos, reported by DK - TD
* correct a typo in CF_CURSES_LIBS configure macro, which caused the configure
script to not add termcap library to the list - TD
* correct --disable-internal-links, by adding DONT_TRACK_INTERNAL_LINKS to
config.hin - TD
1998-02-13
* use size_t in SGML_dtd. - TD
* remove extra trademark symbol and quotes from chrtrans/*.tbl, since
they are in the default def7_uni.tbl - LP
* New item to lynx.cfg added: PREPEND_CHARSET_TO_SOURCE (similar to BASE), we
need it to resolve charset for downloaded/printed HTML sources which became
local. This is really useful because downloaded and printed texts may
happened to have different charsets so assume_local_charset fails. For
downloaded source meta charset added from HTTP charset header (if and only if
present). For printed source meta charset added from display_charset (real
charset after chrtrans). If the original source has its own meta charset
and we add the second on top - Lynx currently use those on top and ignore
others (old) value (that is correct, although non standard like BASE on top).
The compilation default is FALSE (compatibility). - LP
* modify ncurses mouse behavior to match slang (use button 3 rather than
button 2 for "previous document" (reported by Michael Ritzert) - TD
* use case-independent comparison for tail-only comparison in override_proxy
(patch by pg@sweng.stortek.com) - TD
* remove unneeded definitions of ALT_CHAR_SET, NCURSES_VERSION in
src/makefile.dos - DK
* correct syntax for the RAW_DOS_KEY_HACK in lynx.cfg, add a little information
on how to compile this. Also patched makefile.dos to make compilation of the
raw dos key hack the default when compiling in DOS. - DK
* change back to boolean since the logic was unused: UCCanTranslateFromTo(),
UCCanTranslateUniTo(), and UCCanUniTranslateFrom(). - TD
* Mods of SGML.c and LYCharUtils.c to improve handling of entities,
obsolete stuff removed (not all yet). - LP
* -localhost mode: disable interpreting BASE HREF= if local_host_only
to resolve local html files with BASE (Lynx add base to downloaded
sources and this may affect links if looking them with -localhost).
(tweak in html.c). - LP
* Modify HTMLGetEntityUCValue in LYCharSets.c:
we begin to move from old style entities[] to unicode-based. - LP
* added a few comments. - LP
1998-02-07
* Fixed a bug in HTTP.c which could cause trashing of authorization info
for an origin HTTP(s) server if the request is being proxied. - FM
* Tweak in HTTP.c so that the reloading variable is not reset until
after any resubmissions due to authorization challenges. - FM
* Tweaks of userdefs.h, lynx.cfg, LYMessages_en.h, LYMain.c, LYMainLoop.c,
LYClean.c, LYReadCFG.c, and LYGlobalDefs.h so that the QUIT_DEFAULT_YES
compilation symbol can be overridden in lynx.cfg, in keeping with
the principle that only strict security-related compilation symbols
cannot be overridden at run time. - FM
1998-02-05
* adjust formatting, comments & some messages in WWW files to simplify
comparison with 2.7.2 version. (I have preserved some chunks of difference,
ifdef'd NOTUSED_FOTEMODS or NOTDEFINED for ease of comparison -- these may be
removed at a later time, when we are done absorbing changes from 2.7.2) - TD
* Update SGML entity to Unicode table in HTMLDTD.c from ftp.unicode.org -
lots of new entities, iso-latin-1 now included there.
See also new files in test/ directory: sgml.html and unicode.html.
Tweak a few typos in test/*.html according to sgml.html.
Add a few new entries in def7_uni.tbl according to sgml.html - LP
* Cleanup iso01-iso09, cp866 tables against ones found at ftp.unicode.org -LP
* Strip the fat from LYCharSets.c - unnecessary obsoleted tables removed
and redirected to SevenBitApproximation table (ones which have unicode tables
override it anyway, those for CJK had exactly the same tables as
SevenBit..). - LP
* Remove obsolete "Other ISO Latin" charset, which works _exactly_ the same
as "7 bit approximation" (See the note on 06-14-96 where it comes from) -LP
* Sort the list of charsets in Options according to 2.7.2 for 1997-10-15,
see the comments in UCinit at the bottom of UCDomap.c - LP
* add ifdef to HTFile.c to workaround conflicting S_IFIFO vs S_IFSOCK
(e.g., on Apollo, from a report by Dave Eaton ) - TD
* updated INSTALLATION (patch by HN) - TD
* modify DOS handling of CTL-C and CTL-BREAK handling for DOS to allow
exiting via SIGINT when pressing CTL-C or CTL-BREAK regardless of the
BREAK setting in DOS. This leaves the BREAK setting unchanged unless
CTL-C or CTL-BREAK is actually pressed (in which case it leaves BREAK
ON) - DK
* add note about Lynx vs frames to User's Guide (from Al Gilman) - TD
1998-01-27
* correct lynx.man to reference section "1" (one), not "l", since it is
not installed in the latter (reported by Jason Castonguay
) - TD
* fix for VMS declarations of mainloop() and from_hex() (reported by FM) - TD
* add to include-paths in libmake.com, build.com (reported by FM, citing
Brian Tillman) - TD
* revert HTML.c to use LYHandleSELECT() - TD
* align cases for function keys in LYStrings.c with 2.7.2 - TD
* remove EXP_CHARTRANS ifdef's - TD
* remove symbol USE_SIZECHANGEHACK -TD
* adjust formatting, comments & some messages in most remaining ./src files to
simplify comparison with 2.7.2 version. - TD
1998-01-25
* Changed the utf-8 Display Character Set string to "UNICODE UTF-8"
(i.e., added the hyphen between UTF and 8), and fixed typos in
the comments about iso-8859-5. -LP, FM
* Modified HTML.c to add collapsible spaces before and after IMG ALT
strings or pseudo-ALTs whether or not the IMG element is within
Anchor content. The occasional absence of such spaces due to poor
HTML was problematic for blind users. Note that markup which uses
an image for a fancy letter with the ASCII letter as an ALT will
have that letter separated from the rest of the word. Also note
that these spaces will not be collapsed in PRE blocks, but IMG is
invalid in PRE blocks. The spaces could be omitted when IMG is
used invalidly in PRE blocks, but that would revive the problem
for blind users that they might not be present at all, so it seems
better to suffer extra spaces in such cases. - FM
1998-01-24
* Tweak in HTAccess.c to reset the title element in anchors on forced
reloads. - FM
1998-01-22
* Tweaks in HTML.c to prevent collapsing of blank lines within TEXTAREA
default values. Note that we still strip any leading or trailing
blank lines (reported by Edward S. Marshall ). - FM
* Tweaks of LYCurses.c, LYMain.c, LYOptions.c, LYReadCFG.c, LYUtils.c
and LYAuto.c to ensure properly setting, with internal buffering, and
avoid memory leaks for the display and homedir values (reported by
pg@sweng.stortek.com). - FM
* include userdefs.h in LYCurses.h to address redefinition warnings for
curses-related configuration. - TD
* adjust formatting, comments & some messages in recently-modified files to
simplify comparison with 2.7.2 version. - TD
* remove obsolete logic from UCCanTranslateFromTo, (recommended by LP). - TD
* make character set names (e.g., cp437, cp850, next) consistent in lynx.cfg,
userdefs.h (reported by LP). - TD
* change configure script to check for termcap library before curses, in case
it is dependent. - TD
* More corrections in the Russian Cyrillic area of def7_uni.tbl. - LP
1998-01-17
* correct logic for no_color_video by ensuring that if not defined, it
doesn't disable underline with color. - TD
* remove NSL_CLONE - didn't build. - TD
1998-01-16
* eliminate gcc "shadowed variable", "nested declaration", "no previous
prototype" warnings. - TD
* add --disable-internal-links configure option. - TD
* remove W3C gateway (patch by DK, based on email from Gerald Oskoboiny
). - TD
* documentation updates (patch by JS). - TD
* add CONTENT_TYPE to environment of lynxcgi POST documents (reported by
Ty Sarna & FM). - TD
* add NSL_CLONE ifdef that enables use of the Linux clone() call instead of
fork() for the gethostbyname() calls in HTTCP.c. (patch by Ryan Nielsen
). - TD
from the lynx code. I think the following patch does this.
1998-01-15
* Tweak of the NSL_FORK code in HTTCP.c to prevent zombie processes from
being created when gethostbyname() is interrupted. - RN
* Corrected the Russian Cyrillic area of the def7_uni.tbl Unicode to
7-bit approximations conversion table. - LP
* Mods of UCAux.c, LYCharUtils.c, SGML.c and HTPlain.c to use 7-bit
approximations instead of 8th bit stripping when the document charset
is koi8-r and the Display Character Set does not have the corresponding
characters. - FM
* Tweaks in HTML.c to ignore a newline character immediately following
a PRE start tag more consistently. When PRE blocks are used to create
blank lines, you should get only as many as are actually included in
the PRE block, unless you include less than the number specified for
"before" the block to which you return, in which case you'll get the
latter number of blank lines. - FM
1998-01-13
* Fixed a typo in the HTParse() code of HTParse.c for checking whether
a colon in the host field indeed delimits a port number. - FM
* Changed the internal MIME names for all Microsoft Windows codepages
from cp#### to windows-####, since the latter is used more commonly
as the charset value in META elements and/or Content-Type headers,
and most of them have been registered that way with IANA. Note,
however, that Microsoft uses cp instead of windows- prefixes in the
charset names for the Unicode conversion tables submitted to the
Unicode Consortium. Also note that we still treat cp, cp-, and ibm
prefixes as synonyms for the windows- prefix. - FM
1998-01-06
* work around for 'keypad()' function w/o corresponding key defines
(reported by Francisco A. Tomei Torres for NeXTstep 4.0). - TD
* quote message in install rule, just in case (from HN). - TD
* correct expression to supply default value of .cfg file's pathname
(reported by LE & Ambrose Li ). - TD
* correct dependency of .cfg files upon $(libdir) in makefile.in - TD
1998-01-04
* correct temporary filename for -traversal -crawl (patch by Doug Kaufman). - TD
* correct redefinition of SYSTEM_MAIL_FLAGS. (reported by Doug Kaufman). - TD
* uncache current document when character set may have changed (patch
by Andrey A. Chernov) - TD
* modify Linux setfont code to restore the original font on exit - TD
* correct missing backslash (again) in makefile.in
(reported by Mark Mentovai - again) - TD
1998-01-02
* workaround for sed expression when rerunning configure with config.cache
for slang libraries (reported by Hynek Med). - TD
* fix indicated by Laura Eaves (LE) for LYUCFullyTranslateString_1() - TD
* modify SPAWNING_MSG for DOSPATH configuration, avoid unnecessary use
of clear-screen in shell (patch by Doug Kaufman). - TD
* remove install-help from list for install rule, adding message to
indicate how to install it. - TD
* install lynx.lss only if color-style is configured. - TD
* correct filemode for DJGPP when processing config-file, patch by
Doug Kaufman). - TD
* add LYNX_LSS_FILE to config.hin, reported by Ambrose Li
. - TD
* new copy of INSTALLATION file from HN. - TD
* add COPY* to install rule. - TD
* simplify includes in UCdomap.c by using include-path in makefiles. - TD
* build configure script with patched autoconf to workaround limited
environment space on CLIX 3.1 - TD
* rename mnemonic_suni.tbl to mnem2_suni.tbl to accommodate 'make' on
older system with 14-character name-limit. - TD
* sorted some lists (e.g., character sets) which were unreadable. - TD
* incorporate most of FM's changes from 971124 to 971230 (see below). - TD
(Note: don't try to use fflush(stdin) -- it's an FAQ -- nonstandard,
dumps core on some platforms).
1997-12-30
* Added Unicode translation support for "DosBaltRim (cp775)" and
"WinBaltRim (cp1257)". - FM
1997-12-29
* Fixed bug in the order of re-initializations for the 1997-12-22
get_connection() mods. - FM
* Fixed typos in some LYCharUtils.c comment. - FM
* Fixed typo in LYrcFile.c comments concerning the NO_FROM_HEADER
symbol. - DK
1997-12-24
* resolve conflict between autoconf $INSTALL and lynx's INSTALL_PATH
(reported by Scott McGee). - TD
* modify CF_CHECK_FUNCDECL to work with non-gcc compilers. - TD
* add to prototype test for getgrgid getgrnam, needed on SVr3. - TD
* add install-lss to makefile.in. - TD
* modify order of includes in LYKeymap.c so that USE_EXTERNALS is defined
if it comes from userdefs.h (inferred from a report by Larry Virden). - TD
* correct spelling of USE_EXTERNALS which prevented --enable-externs from
working. - TD
* move assignment to stderr from VMSexit to cleanup function (reported
by Brian Tillman & FM). - TD
* modify UCChangeTerminalCodepage() to not use stderr, disentangling it
from stderr/logfile hack. - TD
* rename docs/CHANGES2-* files to docs/CHANGES2.* (reported by
Doug Kaufman). - TD
* add start_color() call to DOSPATH version of start_curses() to
fix problem reported by Doug Kaufman - TD
* correct typo in ColorCode() function (reported by Doug Kaufman) - TD
* modify comments in makefile.in (patch by HN) - TD
* minor fixes for CF_CHECK_ERRNO, CF_SIZECHANGE, CF_SLANG_CPPFLAGS
macros. - TD
* add configure option --enable-nsl-fork to turn on code defined by
NSL_FORK. - TD
* add configure option --enable-links to turn on code defined by
UNDERLINE_LINKS. - TD
* add configure option --enable-font-switch, to turn on code defined by
EXP_CHARTRANS_AUTOSWITCH. - TD
* modify configure CF_CURSES_LIBS test to look also for ncurses,
since some systems do not have a "curses" library (reported by
Michael Ritzert). - TD
1997-12-22
* Reworked -width=NUMBER command line switch for specifying the screen
width for formatting of dumps (default is 80; forced wraps occur at one
column less than the screen width, i.e., at 79 by default). - FM
* Tweak of get_connection() in HTFTP.c to re-initialize the elements of
the connection structure when using a previously allocated connection
object. -DW, FM
* Mods of LYexit.c, LYClean.c, LYMain.c and LYMainLoop.c to fflush() all
standard file descriptors in conjunction with all fopen() and fclose()
operations on the TRACE log and redirections of stderr via equality
statements (see 1997-12-16, 1997-12-13 and 1997-07-18 mods). - FM
1997-12-18
* forgotten last } UN-inserted (John Line) - WB
* few commented messages corrected according to RFC2068 (HTTP1.1)
(Leonid Pauzner) - WB
1997-12-17
* Changed all %i tokens to %d or %ld in functions that always get decimal
values in their arguments. - FM
1997-12-17 (all patches by Leonid Pauzner)
* open text mode while writing lynx.rc and bookmarks files
LYrcFile.c and LYBookmark.c (forgotten last } inserted). - WB
* add a comment about binary mode in LYMain.c and pile them
in one ifdef - WB
* few misprinted characters (in comments) corrected in
\chrtrans\cp850_uni.tbl - WB
1997-12-16
* Further mods in LYClean.c (see 1997-12-13 mods) do block the
*stderr = LYOrigStderr; statement in cleanup() for VMS with VAXC. - FM
* Added an ELGOTO keystroke command, mapped by default to upper case 'E'
(lower case 'e' still invokes the editor for the current document, if
it is a local file), for passing the URL (or ACTION) of the current
link to the line editor for editing as a goto URL. Works like the
ECGOTO ('G') keystroke command for editing the URL of the current
document as a goto URL, i.e., if the URL is not modified, is set to
a zero-length string, or ^G is entered, the command is cancelled. - FM
* Mods of LYMainLoop.c to disallow ECGOTO or ELGOTO commands for File
Management (DIRED_SUPPORT) menu URLs. - FM
1997-12-15
* Added reporting of the Discard value (YES or NO), in the Cookie Jar Page
(note that until we have code for storing cookies beyond the current
session, Lynx behaves as if Discard were set, whether or not it was set
by the server, but we still report the server's instructions, as we do
for the Maximum Gobble Date). - FM
1997-12-14
* added a lynx.cfg switch to turn on/off extended dos translations for keys.
-WB
* added minor DOS tweaks by Doug Kaufman and myself. - WB
* fixed windows binary mode piping. - WB
1997-12-13
* Tweaks in LYList.c to make the link numbers correspond with those in
the current document when LINKS_AND_FORM_FIELDS_ARE_NUMBERED in on,
and to show the current document's URL in the display. - FM
* Mods in HTTP.c to show the body of a 305 return status instead of ever
acting on it. A number of security/privacy problems with this status
are being discussed in the HTTP-WG, and it's likely to be dropped or
deprecated in the next revision of the HTTP/1.1 specs. - FM
* Restored the v2.7.1 HTmmdecode() that's specific for iso-2022-jp in
HTMIME.c. We still only call it when HTCJK == JAPANESE, and the
generalized version reportedly has problems. - FM
* Removed the *stderr = LYOrigStderr; statement from VMSexit() in LYCurses.c
and added it to the if() claused section which closes the TRACE log file,
if opened, in cleanup() of LYClean.c. This is just a stab in the dark
for dealing with reported problems on exit with VAXC on VAXen. We may
need to use freopen() for redirecting TRACE messages to a file for VAXC
or VAXen (there's no apparent problem with the current code with DECC
on VMS/AXP). - FM
* Added more function key cases to the keypad() mode switch() in LYgetch()
of LYStrings.c. We don't need them with this code set, but they may as
well be there for completeness. - FM
* check for and use ncurses default-color extension, use to make the
color-style configuration usable on xterm with white background. - TD
* add cases in LYgetch() for remaining VT220-compatible codes, reported
by Michael Ritzert and FM. - TD
* add configure test to see if slang can be linked without curses or
termcap libraries, request by John Davis. - TD
* set umask in mkdirs.sh script to work around users who have set root's
umask to 077. - TD
* split up install rule to install-bin, install-cfg, install-man and
install-help. - TD
* suppress suffixes in top-level makefile so 'make' won't try to create
a file named "install" from install.sh - TD
* make $(CPPFLAGS) inherit consistently from top-level makefile. - TD
(reported by Mark Mentovai)
* add configure option --enable-externs, to turn on USE_EXTERNS. - TD
* use explicit comparison for enum values, fix compile problem with VAX C
for UCAux functions (reported by Brian Tillman). - TD
1997-12-03
* Remove CHANGES.configure, since it is redundant. - TD
* Make -g3 option check for OSF/1 3.2 consistent with -Olimit check. - TD
* Use 'result' rather than 'time' in mktime.c to avoid shadowing. - TD
* Use wborder only if configure finds it, not ifdef FANCY_CURSES. - PHDM
* List of systems having strerror replaced by configure test. - PHDM
* Beautifying of mktime.c (`now' was misleading). - PHDM
1997-12-02
* Mods in LYCookie.c to prompt whether to accept (or reject) cookies with
an invalid domain value which yields a hostname prefix with a dot (as
specified in section 4.3.2 of the IETF cookie drafts and RFC), rather
than rejecting it silently. Note that it is rejected in non-interactive
(-dump or -source) mode, because the user can't be prompted. - FM
1997-11-27
* Added a PREPEND_BASE_TO_SOURCE configuration symbol in lynx.cfg which
can be set FALSE to suppress prepending of a Request URL comment and
BASE element to text/html sources retrieved for 'd'ownloading or passed
to 'p'rint functions. Note that this prepending is not done for -source
dumps unless the -base switch also was included on the command line, and
the latter switch overrides the setting of the PREPEND_BASE_TO_SOURCE
configuration variable. - FM
1997-11-25
* Mods in LYMail.c and LYPrint.c to handle to=address(es), cc=address(es),
subject=string, keywords=word_list, and body=message fields in the
?searchpart of mailto URLs as specified in the 1997-11-16 draft:
ftp://ftp.isi.edu/internet-drafts/draft-hoffman-mailto-url-03.txt
The cc=address(es) values are now handled as a Cc: header, and a self
copy, if confirmed on prompt, is added to the Cc: header. Note that
the draft now allows mailto:?to=address(es)[&foo=blah] as a format,
i.e., without an address before the ?searchpart. The Netscape
?searchpart tack-on broke all pre-existing implementations of mailto,
and this breaks Lynx's support through v2.7.1. Though it's now
supported in this code set, don't use it. Complaints and formal
requests to provide this functionality via a new scheme (e.g.,
mail: or smtp:) without breaking existing implementation of mailto:,
including from TimBL (HimSelf :), thus far have fallen on deaf ears.
You can send email to those deaf ears via:
mailto:masinter@parc.xerox.com%20(Larry%20Masinter)
Don't allow the IETF backward compatibility principle to go down
the drain. - FM
* Mods to support use of the PMDF SEND command on VMS in conjunction with
a temporary header file, so that all headers specified in the ?searchpart
of mailto URLs can be included in the mailing, and made that the compilation
default in userdefs.h to go with the default MAIL_ADRS mask for PMDF (If
the "generic" VMS MAIL utility is used, not all of the headers can be
specified on the command line, as it requires). Look at the code in
LYMail.c and LYPrint.c that is used when isPMDF is TRUE as a model of how
to do this with other header-file-capable VMS mailers (but I don't have
any besides PMDF, and can't do it for you :). - FM
* Tweak of the 1997-11-17 URL parsing mods so that relative symbolic
elements immediately preceding a ?searchpart are handled identically
to when a ?searchpart is not present. - FM
* Added support for setting both SYSTEM_MAIL and SYSTEM_MAIL_FLAGS in
both userdefs.h and lynx.cfg. - FM
1997-11-23
* integrate PHDM's patch. - TD
* Check for existence of sys/wait.h. - PHDM
* Do not include sys/stat.h twice. - PHDM
* New autoconf-macros to check if a function is declared after including a
specific set of files. - PHDM
* Declare strstr if it is not declared by string.h. - PHDM
* Declare getgrgid and getgrnam if not declared by grp.h. - PHDM
* Provide strstr and mktime implementations, and use them if needed. - PHDM
* Always include sys/types.h in HTUtils.h. - PHDM
* define NO_GROUPS if we do not have getgroups. - PHDM
* define NEED_REMOVE also if test yields unknown. - PHDM
* define mode_t if not done by system include files. - PHDM (phdm@macqel.be)
* change CF_UNION_WAIT to use compile+link rather than compile, to ensure
that we pick up the wait-macros rather than an implied function, which
should fix configure problems on NeXT for Francisco A. Tomei Torres
. - TD
* spelling nit from Larry Virden. - TD
* add osf3.0 to special case compiler options using -g3 in place of
-O -g, from Harsh Kumar . - TD
* remove redundant "-c" option from $(installbin) in makefile.in, reported
by Michael Warner , for OSF/1 4.0. - TD
* if configure --srcdir is not used, comment-out rmdir's in "make distclean"
rule. - TD
* modify recent erase/clear change so that it applies only to FANCY_CURSES,
since BSD curses does not otherwise clear the screen when restoring after
popup. - TD
* modify change for boxes so this builds with BSD curses, which has no
wborder() function. - TD
* reverse ifdef for NO_SIZECHANGEHACK to USE_SIZECHANGEHACK, which is
normally off, since this code did not work with BSD 4.4 curses, SVr4
curses, or ncurses 4.1 with xterm. (Will make a configure test if anyone
can identify a configuration that works). - TD
1997-11-21
* Changed LYE_LINKN to LYE_LKCMD (still mapped by default to Ctrl-V; may
need to be entered twice for some systems) for invoking a prompt to
enter any Lynx keystroke command when in form text fields. - FM
1997-11-20
* Added an LYK_CLEAR_AUTH command, mapped to underscore ('_') by default,
which clears all authorization info for the current session. This is
recommended for the situation when one leaves one's terminal but doesn't
want to end the browser session, nor want others to be able to retrieve
protected documents with previously entered username and password info.
Note that we don't yet have a way to block access to any protected
documents which are still in cache. - FM
1997-11-19
* Tweak of HTTP.c to ensure closing of the connection when interrupted
('z'apped) on the first socket read. - FM
1997-11-18
* Mods to use the explicit label "Bad HTML:" in trace messages corresponding
to BAD_HTML_USE_TRACE messages. - FM, KW
* Tweak of the restored TABLE-in-PRE block handling to deal with the
case when it's encased in a CENTER or DIV with ALIGN="center". - FM
* Changed docs/README.defines to refer to INSTALLATION file - HN
1997-11-17
* Changed the default ASCII BOXVERT and BOXHORI definitions from '*' to
to '|' and '-', and new function LYbox() for non-VMS (n)curses. - FM
* Use explicitly specified characters for drawing the corners of popup
boxes with non-VMS (n)curses if we have also specified characters for
vertical and horizontal lines. - KW
* Mods in HTTP.c to trim any "LYNXIMGMAP:" leader from Referer header
values and strip the #fragment when making http(s) requests via links
in the pseudo-documents constructed for MAP elements. - FM, KW
* Mods of SGML parsing to better handle SELECT blocks with invalid markup,
in effect for both TagSoup and SortaSGML parsing (for the latter just
in case it doesn't already prevent invalid markup from being passed on).
Only OPTION elements are accepted in SELECT blocks.
Otherwise, if the element is a form-related start tag, the
SELECT block is closed and the new form-related element is started.
All other elements are ignored. A FORM end or start tag ends any open
SELECT block and the current FORM (before starting another FORM if
it is a start tag). Note that we now support SELECT blocks outside
of FORM blocks, which some providers are using for "informational"
popups, but no Lynx user would do anything that awful, right? - FM
* Tweak in LYMainLoop.c to override an LYresubmit_posts flag if we are
reloading a popped document due to a NOT_FOUND or NULLFILE return
value from getfile(). - FM
(But if the document that would be loaded after such a failure has POST
data and is not in memory, still jump to the PREV_DOC code, see enttry
for 1997-11-03. - KW)
* Worked in a variant of AJL's suggestion of setting LINES and COLUMNS
artificially high before the initscr() call with Unix curses, then
using a dummy call to size_change() for setting LYlines and LYcols
to the actual screen dimensions, so that increases in the screen size
during the Lynx session, and not just decreases, can be handled.
Note that one still needs to do a RELOAD (^R) overtly to create a
new HText structure based on the current screen size. - FM
(The new code can be disabled by defining NO_SIZECHANGEHACK, in case
some curses version or terminal cannot deal with it. - KW)
* Tweaks of the chartrans code. - FM, KW
* Change in HTNews.c to ignore very long bogus newsgroup names when listing
available groups. - KW
* Tweaks in code for highlighting search text in anchors, to better deal with
terminals in UTF-8 mode. - KW
* Mods to ignore anything past a '?' character when simplifying URL paths,
as is now more clearly specified in the Fielding URL draft. Note that
we still assume a ';' is not in fact a parameter delimiter, or won't
have a value with characters that could be misinterpreted as relative
path specs. - FM
* Increased the redirection limit to the original Lynx's value of 10,
because the HTTP/1.1 draft no longer will restrict it to 5, but instead
will leave it to the discretion of the browser (and I like 10, as a
reminder of the "good old days" :). - FM
1997-11-15
* Mods of parsing in HTML.c to restore support for the TABLE-in-PRE-block
HTML kludge described in http://ppewww.ph.gla.ac.uk/~flavell/tablejob.html,
which stopped working in conjunction with the 1997-05-21 mods (see below)
for treating TABLEs as DIVisions to support ALIGNment attributes in TABLE
markup. The PRE-in-TABLE-block HTML kludge was not affected by those mods
but works only with the TagSoup parsing mode. - FM, KW
1997-11-12
* Made handling of the 'x' in hexadecimal character references (H;)
case insensitive, as for the "alphabetic digits" (a-f, A-F). - FM
* Added a LINKN command key in the line editor, mapped to Ctrl-V, for
invoking the F_LINK_NUM prompt when in form text fields. Ctrl-V is
still a dead key under other circumstances in the line editor. - FM
* remove options --with-lss-file and --with-cfg-file, since the corresponding
files will always be installed under $(libdir), reported by Henry Eric
Nelson (HN). - TD
* modify configure script and makefile templates to permit builds with the
--srcdir option, noted by Philippe De Muyter. - TD
1997-11-08
* Added Unicode support for "DosArabic (cp864)", "WinArabic (cp1256)",
"DosGreek (cp737)", "DosGreek2 (cp869)", "WinGreek (cp1253)",
"DosHebrew (cp862)", and "WinHebrew (cp1255)". Note that we still
have no code for taking DIR attributes, or directionality in general,
into account. - FM
* Mods to handle "cp-#" charset names as synonyms for "cp#", and some
cp# names as synonyms for "windows-#". -FM, KW
1997-11-07
* Change of LY_SLrefresh() in LYCurses.c as suggested by JED - FM
* add logic to make install-directories as needed. - TD
* remove --disable-char-trans option (ifdef's still remain). - TD
* correct type used in first compile-test for union wait. - TD
* correct order of deletions in "make distclean" rule. - TD
* new versions of macros used to check for ncurses version. - TD
* don't suppress -I/usr/local/include when checking -I/usr/local/include/*,
to accommodate older versions of gcc. - TD
1997-11-06
* Use erase() instead of clear() in some places, to avoid unnecessary full
screen repainting even for UNIX (and similar) curses. Renamed LY_SLclear
to LY_SLerase, but it is used for erase() and clear() now, so there should
be no change in behavior for slang introduced by this. - KW
* Added new format for lines in chartrans .tbl files: U+NNNN "a string" where
the string can have C backslash-escaped characters. This allows to write
replacement strings with 8-bit characters that won't be garbled when the
.tbl files are transferred in some non-binary way. Note there is no ':'
between the Unicode value and the beginning quote character. - KW
* Changes to HTMLDTD.c (for SortaSGML parsing) and HTML.c (second line of
defense) for dealing with invalid SELECT tags. Also tolerate SELECT
outside of forms. - KW
* Change in HTLocalName for DOSPATH so that it doesn't depend on whether
HTDOS_name returns a pointer to static memory or not. - KW
* Started new file docs/README.defines. Renamed CHANGES to CHANGES2-7,
removed duplicate 2-7-1 entries. Minor changes to INSTALLATION, other
files. CHANGES.chartrans is gone. - KW
* Tweaked color style stuff again. Statusline may behave better. - KW
* Don't use memmove for HEAD in HTNews.c. - KW
* For UNIX, use normal umask permissions, instead of the extra-cautious temp
file permissions, for files saved to disk by the default actions for PRINT
and DOWNLOAD. - KW
* Changes (untested) in the code dealing with reading of compressed files in
HTFile.c, in parallel to the code for other systems. - KW
* Mods to avoid va_start redefinition warnings when building with slang. - FM
1997-11-05
* Change in LYForms.c to avoid full screen repaint after popup is retracted
for slang. - KW, FM
1997-11-03
* Internal links code revised. Some details follow, but first a summary
of the basic premises. Links in a document given as href="#fragment" or
href="" (empty, but href attribute is present) mean something different
from href="url#fragment" or href="url" (where url is a non-empty absolute
or relative URL not including a fragment), they are internal links pointing
to an element or a location within the same copy of the document (or to the
document itself, for href=""). In contrast, a URL-Reference with a non-
empty URL refers to a (generally...) external resource. If the "url"
happens to coincide with (or, if it is relative, resolve to) the URL from
which the current document was retrieved, the current document is a
representation of the resource, but not the same thing. In most such cases
we can treat href="#fragment" and href="url#fragment" the same way, i.e.
activating such a link is interpreted as a request to reposition within
the current document; we are using the current document as a cache copy
of the resource (like we would other documents in the memory cache). But
if we have marked our copy as no-cache, it seems more consistent to treat
activation of a href="url#fragment" link as a request for retrieving a
new copy and _then_ locating #fragment in it, as we do for "any-other-url
#fragment" if we have cached a document which represents "any-other-url"
and which is marked no-cache. Following a href="" link should just result
in repositioning to the start of the document, not in a new retrieval for
no-cache documents.
If the current document is the result of a POST submission, there is in
general no way to refer to its underlying resource with a URL, since there
is no URL notation for "url+post_data". Internal links can be used within
the context of this document, but there is no way to hyperlink to it or
parts of it from "outside". A link to a href="url" or href="url#fragment"
target should always imply a GET retrieval, whether it occurs within a
document from a POST submission or not, for consistency.
This understanding also applies to other than uses of URL-
References in documents, for example the link implied between a USEMAP
attribute and a MAP element; but not to all uses, for example a FORM's
ACTION requires an external resource and not an internal reference, so
ACTION="" is resolved to an absolute URL (using a base URL if one is
given).
The semantics for URL-less URL-References are given in Internet Draft
,
including that "Traversal of such a reference should not result in an
additional retrieval action." No comparable prescriptions are made for
references which have a URL, in particular it is not stated that they
should be treated as equivalent when the URL coincides with or resolves
to the current document's retrieval URL.
The changes to the Lynx code attempt to implement what is outlined above,
by keeping track of how a link destination was originally specified. href=
"#fragment" and href="" links are still "resolved" into a "url#fragment"
and "url" form, for use internally, and if an explicit NOCACHE action is
requested, and for generating lists of links etc., and in general for use
outside of the context of the current document.
To the best of my knowledge they do not lead to unwanted (or misdirected)
resubmission of POST content without prompting the user for confirmation
(although the prompt texts probably need improvement). - KW
* The notion of the context of the "current document" is extended, so that
auxiliary LYNXIMGMAP documents generated by Lynx are within the scope of
the underlying document, i.e., the document containing the MAP and AREA
elements. Although they are treated as separate documents for display
and internal handling, following links between the underlying document
and its LYNXIMGMAP documents will result in display from cached data
(if available) even for no-cache documents, if a fragment-only (or empty)
URL-Reference was used in the HTML. This includes the link generated for
pointing from the IMG to the LYNXIMGMAP if the USEMAP attribute value was
was fragment-only; the LYNXIMGMAP is normally regenerated from the list
of MAP and AREA elements kept internally when a link to it is activated.
(Note that a LYNXIMGMAP screen is still not reloaded from external sources
even when RELOAD or NOCACHE keys are used, if data for the MAP is found
in the internal list; but that reloading the underlying document will
refresh the internal lists.) - KW
* List Page screens are also in the context of the underlying document, so
that internal links in the underlying document can be listed and activated
from the List Page. When following an internal link from a List Page, it
is not pushed on the history stack (similar to the History List Page), to
reduce the chance of confusion when walking back through history. - KW
* LYNXIMGMAP and List Page auxiliary documents can now be associated with
POST data. This does not mean that the data is posted to a "LYNXIMGMAP:"
or "file:" URL, which is impossible; but that the underlying document is
associated with the POST data. This way these aux documents can still
have links regarded as "internal" pointing to the document of which they
are logically a part, keeping track of what POST data are applicable if
several form submissions have occurred. Normally the underlying document
should be in the document cache when such a link is activated, so that
resubmission of the POST can be overridden. If it is not found,
resubmission may happen after user confirmation. Although the POST data
content is not shown on such aux pages, it can be inspected with the INFO
('=') command. Note that the association of LYNXIMGMAPs and List Pages
with POST data automatically excludes them from various operations which
may otherwise be possible, such as bookmarking or inclusion in the
'V'isited Links Page. Note also that such aux pages are treated internally
as different documents from their POST-free counterparts with the same
address, which might be generated for example after typing the address
at a 'g'oto prompt while viewing a different text. It may be possible to
generate confusing situations, but regenerating the displayed data (by
invoking 'L'IST again, or by following a LYNXIMGMAP: link) will always
show the currently applicable information.
For image maps, the change implements link-following capabilities which
come naturally to graphical UAs, which can handle IMG USEMAP and the
corresponding MAP elements from the same data stream as objects within
the same document instance. - KW
* To implement the above, MAP and AREA information from a POST response is
not kept in the global list shared by all other documents, but in a separate
list specific to the underlying (containing) document and the POST data.
The specific lists are managed with the underlying document's anchor
structure so that they can automatically expire after the anchor is removed
from memory and will not stay around and accumulate until session end. - KW
* POST data is kept in mainloop when following an internal link, but is now
always dropped for links that were given with a URL. This removes the
limitation by which a link in a POST response to the URL of the POST
submission script would be inappropriately converted to a resubmission of
the POST data. (example: search form from ) - KW
* Changes to the PREV_DOC handling in mainloop. When encountering documents
that may need to be reloaded while walking back in history, because they
have POST data associated and are not marked "safe" and are either not found
in the memory cache or -resubmit_posts has been set, the user is prompted
for confirmation as before; if the reply is 'n' the document will be skipped
but if the user cancels with ^G the walkback operation is cancelled and the
currently viewed document remains loaded. Some of the aux documents which
can new be associated with POST data may be automatically skipped if their
document structures are not any more in memory. - KW
* When following a link marked internal from a List Page and confirmation is
required, ^G may also have the different effect of cancelling the operation
while responding 'n' may attempt to follow the link as a GET request (i.e.
with POST data dropped). - KW
* In some situations, automatic popping from the history stack in mainloop
after getfile fails to load a new document could lead to resubmission of
a previous POST request without prompting. This is now avoided by jumping
to the code handling PREV_DOC. - KW
* Use new LYinternal_flag variable for propagating info to HTAccess, rather
than overloading LYoverride_no_cache. - KW
* Tweaks for bad form tag soup with crashes on unclosed SELECT. Changes in
HTML.c and GridText.c to prevent memory leaks resulting from insanely
placed or unclosed form field tags, hopefully not introducing other
problems... - KW
1997-11-02
* Changes in HTParse's scan to leave additional '#' characters alone after
the first has been found when scanning (from left) for fragments, and
to apply the "don't treat '#' as start of a fragment for some kinds of
URLs" hack only when the '#' will become part of what has been scanned
as a path. NNTP articles with more than '#' in the message-id are now
accessible with the "news:" or "nntp:" schemes. We should actually always
escape when generating URLs and unescape when parsing them instead. - KW
* Changed HTUnEscape to leave '%' alone if not followed by two valid hex
digits. - KW
* Allow the HEAD key and -head and -mime_header flags for "lynxcgi:" URLs
and for "news:" and "nntp:" URLs that specify a single news article. - KW
* Change to writing of POST data in LYCgi.c, to close file descriptor after
done writing and before reading as suggested by mhw@bcs.org.uk (Mark
H. Wilkinson), and to check status from the write() call and retry if
needed. Note that the code is not appropriate for handling large
amounts of POST data, since it still first does all the writing and
then all the reading. - KW
1997-11-01
* Added support for presentation of text/plain files in SOURCE ('\') mode,
homologously to text/html files, rather than treating the command as a
synonym for 'd'ownload when viewing a text/plain file. Note that if the
text/plain file has no long lines, the display of it will not change,
but otherwise, the long lines will not be wrapped in SOURCE mode, and
thus can be 'p'rinted without line wrapping. One still should use
'd'ownload for a faithful copy of the file, i.e., without charset
conversions and expansions of TABs. - FM
1997-10-30
* Get numbering of links on List Page right, by faking hidden links for
form fields which get counted but are not selectable. - KW
* Allow LYNXHIST: links in List Page since the History Page may get
'L'isted... - KW
* Mods of HTML.c parsing to close any open Anchor or emphasis elements
at the starts of TABLE elements, as the Big Two's TABLE handlers appear
to do now. - FM
* Tweaks of charset handling via META elements and CHARSET attributes. - FM
1997-10-29
* Tweak of SortaSGML DTD for insane HTML with FORM start before HEAD. - KW
* Prevent memory leaks from HTChunks for option and textarea with very
bad markup, added TRACE and BAD_HTML_USE_TRACE warnings for those. - KW
* Don't call tigetnum("ncv") for _WINDOWS - BD
* Added Unicode tables for the "DEC Multinational", "Macintosh (8 bit)",
and "NeXT character set" display character sets. - FM
1997-10-28
* Disable setting of the `reloading' flag in HTLoadDocument which would
generate no-cache headers for request where this is not appropriate. - KW
* Memory leak for first OPTION in SELECT removed. - KW
* Changed HTDOS_name to not return pointer to static area. - Binh Do
* Changes to INSTALLATION file. - HN
* Fix in HTMIME.c to recognize Content-location. - KW
1997-10-27
* Don't disable FORMs that have INPUTs with TYPE="file" or TYPE="range"
since those fields may be optional and the rest of the FORM may be
valid to submit. - FM
* Updated links to www.w3.org in help files. - KW
* Some changes for DOS compilation. - DK
* Changes to INSTALLATION file. - HN
* Tweaks of internal links stuff. - KW
* Allow HEAD on URLs starting with LYNXIMGMAP:http by stripping the
prefix. - KW
* Reverted LYCheckForCSI() to previous incarnation. - KW
1997-10-26
* If compiled with -DDONT_TRACK_INTERNAL_LINKS, behavior with respect to
internal links as in FM's code. - KW
* Some chartrans tweaks. - KW
1997-10-25
* Changes to INSTALLATION file. - HN
* Make temp file names conform to 8+3 naming convention for DOS, and
give LYNX_TEMP_SPACE priority over TEMP and TMP for DOS. - DK
* Create temp file names with '-' char as separator between pid and
sequential number for non-8+3 systems, to prevent (unlikely)
collision. - KW
1997-10-24
* Change in HTML.c to use the base (rather than current document, if the
base differs) in all cases for form ACTIONs (i.e., if the ACTION is
empty, or has a lone fragment, or an ACTION attribute is not included)
as specified in the -07 to -09 Fielding URL drafts. - FM
1997-10-23
* Fixed a few typos and glued together a few URLs to make it easier for
folk to cut and paste them, in the new INSTALLATION file. - LV
1997-10-22
* Many locations of files changed, about_lynx/ directory and references to
aboutfilepath removed, userdefs.h reorganized, changed README, new
INSTALLATION file, doc changes, some doc files removed. - HN
(Removed paragraph in README which doesn't apply yet, some files still
not done - KW)
* Patch to WWW/Library/djgpp/makefile - WS
* Added entity names from HTML 4.0 draft to extra entities in HTMLDTD.c - KW
* Understand lists in ACCEPT-CHARSET attributes. Added a list of forms
to GridText structure (currently underused). - KW
* Don't try to use box drawing chars in UTF-8 display mode. - KW
* Changed chartrans mechanism (UCdomap.c, makeuctb.c) so that the "default"
translation table is now used as a fallback for other translation tables.
This also applies to display character sets which do not have a chartrans
table file but are listed in LYCharSets.c. Changed syntax of table files
(see src/chrtrans/README.format), added a keyword to disable using the
fallback. Currently def7_uni (corresponding to "7 bit approximations"
and the MIME charset "us-ascii") is used as default table, as before;
but previously the default table didn't have any real meaning.
Conceptually every translation table (unless it disables fallback) is
extended as if it included all the replacements from the default table.
Note that mappings for some characters in the default table file still
differ from the old mappings given in LYCharSets.c, and what is displayed
e.g., for umlaut characters may not be consistent, this still has to be
sorted out. It may just have become more visible now. - KW
* Tweaks to some replacement strings in def7_uni.tbl; contributions of
more useful strings would be welcome... - KW
* Removed mappings for invalid chars from some chartrans files, removed
Ethiopic chars from iso01_uni.tbl. - KW
* Some other corrections and tweaks for chartrans mechanisms. - KW
1997-10-21
* Fixed handling of Control-D (delete character under the cursor) in the
line editor when the cursor is at the end of the line instead of on a
character in the string being edited. - FM
* revised tests for wait/waitpid/union-wait. - TD
* correct/update handling of default prefix in CF_WITH_PATH macro, used for
parsing --with-cfg-file and --with-lss-file options. - TD
* add uninstall target to top-level makefile. - TD
* remove redundant install options from $(INSTALL_DATA). - TD
* add configure --with-lss-file option - TD
* minor cleanup of gcc warnings, ifdefs. - TD
1997-10-20
* Mods in the CSO/PH gateway to set the anchor's safe flag to TRUE so the
user need not be bothered with confirmation prompts on resubmissions of
the search form. - FM
* Tweaked the break point setting code in GridText.c for CJK di-bytes
so that one is set after a recognized "ESC(" ISO 2022 escape sequence
has been found. - FM
1997-10-16
* Tweaks to recognition of Japanese (better recognize x-euc-*), and to
the mechanism in GridText.c keeping track of which encoding is used for
Japanese. The state for this is now reset on explicit '\n' and '\r'
received by the HText object in addition to space chars. - KW
* Tweaks in HTTP.c to avoid access to uninitialized memory and pacify
paranoid dbx. - KW
* Try to more consistently remember the charset in effect for a document
when going to SOURCE view, using new LYUC{Push,Pop}Assumed functions.
Note that this is only in effect immediately when switching to SOURCE
view; any later reloading while within SOURCE view (including those
caused by RELOAD, RAW_TOGGLE and other keys, or by Options Screen changes)
may still revert to the usual assumption about charset, which means a
charset specified in a META tag may be forgotten at that point; this may
be considered a feature... - KW
* Refer to TagSoup and SortaSGML parsing (coined by FM), rather than "old"
and "new" DTD. - KW
* Made some of the changes concerning and removal and location changes of
files proposed by HN. - KW
* Restored LYCheckForCSI example function to its previous form, with a check
added and comments added. - KW
1997-10-15
* Changed the order of display character set entries for the options menu
popup. "ISO Latin 1" and its "DosLatin1 (cp850)" and "WinLatin1 (cp1252)"
equivalents come first, then the system-based charsets (note that I
changed "IBM PC character set" to "DosLatinUS (cp437)"), then the CJK
and Vietnamese charsets, then "Other ISO Latin" (probably don't need
that one any more), then the known ISO 8859-# charsets with their
homologs (e.g, Dos and Win Cyrillic and KOI8-R) in groups, then
"UNICODE UTF 8" and the Unicode mnemonic charsets. - FM
* Various fixes for color style code, should prevent memory corruption. - KW
* Some LYCharUtils.c cleanup. - KW
* Added some of the changes from fotemods to SGML.c, especially handling of
as allowing a line break, and conversion to UNICODE UTF-8. - KW
* Mods in code handling mailcap lines, to avoid access to invalid memory. - KW
1997-10-12
* Added LYLeakSACopy and LYLeakSACat to LYLeaks.c. Running Lynx compiled
with LY_FIND_LEAKS defined will now give the source locations where
StrAllocCopy and StrAllocCat are used, if those create leaks. Added
missing include of LYLeaks.h in LYCookie.c. - KW
* More heavy tweaks in LYCharUtils.c. Associated changes in HTChunk.c
(new functions), small change for -raw (in connection with attribute
values) in SGML_character. LYCharUtils.c is still a work in
progress... - KW
* Tweaks to allow some chars as data input (0x97, 0x9b, 0xa0) if the
current display character set seems to have those values as printable
characters (by testing LYlowest_eightbit[]). - KW
1997-10-11
* Mods in HTFTP.c to recognize NetPresenz server (variation of AppleShare
claiming to be Peter Lewis server?, try current ftp://www.unicode.org/),
and to show server's identification from initial greeting on info
screen for FTP URLs. Other cosmetic changes in HTFTP.c. - KW
* Fixed various memory leaks. - KW
* Some more minor cleanup tweaks for color style code. - KW
* Avoid unnecessary pauses if TRACE is on and a Trace Log file is in use. - KW
1997-10-10
* Renamed lynx_help/keystroke_commands/ directory to lynx_help/keystrokes/
for the benefit of DOS, and changed references accordingly. - KW
* Changed parsing of command line options for -lss file, it should now
be used and override the default from userdefs.h or environment variables
as advertised. - KW
* More tweaks and cleanup in HText_SubmitForm. - KW
* Code to recover from memory exhaustion, sometimes. The requests for
dynamic memory which heuristically most often fail for lack of memory
when rendering large documents are the calloc() calls in split_line.
They are replaced by LY_check_calloc() which has the same calling
conventions as calloc() but additionally checks if "enough" memory is
available for the requested amount plus some margin and tries some
remedial action if this is not the case. The additional safety margins
are required to make it likely that other allocation requests in other
places of the program won't fail before the next check. The actions
which may be taken in order to avoid exiting if low memory is detected:
(1) Try to unload cached documents (other than the one currently being
loaded), until we seem to have enough memory. (2) If that fails (or
there are no other documents cached in memory), try to fake a 'Z' key
interruption; this will have the same effect as if the user had pressed
'Z' so it will only detected if some other part of the program tests
HTCheckForInterrupt() and acts on it. (3) If this seems not to be
sufficient to stop loading, halt appending of normal text data to the
document structure (A warning *** MEMORY EXHAUSTED *** is appended
instead). - KW
* A tweak of color style memory allocation. - KW
1997-10-09
* Some more tweaks from FM for VMS build - KW
* For DJGPP compilation, src/chrtrans/makefile.dos - WS (Bill Schiavo
)
* Some cleanup in Hext_SubmitForm (needs more). Start using ACCEPT-CHARSET
(doesn't recognize list yet, only recognized if on the INPUT field that
causes submission). - KW
* Added two test files for iso-8859-2 charset. - KW
* Tweaks in LYMainLoop.c for various keys that page up, to better preserve
keep the current link selected if possible and to correct a glitch with
UP_LINK. - KW
* Reorder text/html and text/plain to the beginning of HTPresentations list,
so they will be found more quickly and will appear at the beginning of
Accept request header fields. - KW
1997-10-08
* add logic to implement mouse button 2 "previous document" for
ncurses configuration. - TD
* add dependencies on 'lynx' to top-level 'all' and 'install' rules
in makefile.in - TD
* add osf4.0 to special case compiler options using -g3 in place of
-O -g, for Heikki Kantola . - TD
* correct some of the uninitialized-variable warnings. - TD
* Removed the compilation of the old libwww-FM HTAlert.c module for VMS,
as previously removed for Unix. - FM
* Added comments and tweaks of build.com, build-slang.com and libmake.com,
(and a complementary tweak of tcp.h) to make more clear how compiler
definitions and compiler and linker options can be added. - FM
1997-10-07
* Changed PROBLEMS file for ^Z and for "forgetting emphasis of link text"
problem (which shouldn't occur any more). - KW
1997-10-05
* Changed SGML.c parsing of unrecognized and invalid start tags. If the
'<' character in HTML is followed by a 7-bit letter character, we now
do tag parsing even if the element name is not recognized, instead of
going to 'S_junk_tag' mode, so that a '>' embedded in an attribute value
(which may also be part of a CJK character's encoding) will not
prematurely end the tag. (But "soft double-quotes parsing" mode is
recognized.) Treat a '<' followed by most other 7-bit chars as data,
i.e., recover it and the following char. - KW
1997-10-04
* Corrected check for empty string at beginning of LYUnEscapeEntities. - KW
* Squeezed option for "Assume charset if unknown:" into Options screen.
It is selected with a control char (^A), is only available in Advanced User
mode, and the value is currently not saved into .lynxrc with '>', i.e.
for a persistent change lynx.cfg has to be modified (or use an alias or,
for DOS, a batch file to call lynx with -assume_charset=...). The
interaction with the Raw M(O)de setting may be confusing (or confused :) ),
and it is possible to set nonsensical values that have no effect. - KW
* Changed order and criteria of transformation attempts in HTPlain.c to
be more like SGML.c. For plain text KOI8-R would use 8-bit stripping
to early. HTPlain_write still is too different from SGML_character... - KW
* Reinstate the slash after special interpretation of /~ at beginning of
file URL path for DOSPATH - DK
* Changed SGML_character to not try to convert attribute values to UTF-8
if HTCJK is in effect (arrggh!) - KW
* Changed effect of -raw / '@' for CJK display character sets: it now toggles
the effective charset assumption between that specified with ASSUME_CHARSET
or -assume_charset (or iso-8859-1 if none given) and the charset that
corresponds to the selected display character set, as for non-CJK. An
exception is made if both charsets are CJK charsets, so that the toggle
will still have the function of toggling CJK mode on and off. Explicitly
specifying a CJK charset as assumed is currently not very useful, since we
cannot translate from that to other character sets. - KW
* Oh, by the way: compilation without defining EXP_CHARTRANS won't work any
more. Regard #ifdef EXP_CHARTRANS as some strange kind of comment for
now, until it goes away. - KW
* Write comment at top of .lynxrc file to make clear that it is different
from lynx.cfg, suggested by LV. - KW
1997-09-30
* Changed order of display character sets on options screen a bit, and
corrected charset listings in lynx.cfg and userdefs.h files - KW
* Added comment on lynx.lss in userdefs.h, moved it. - KW
1997-09-27
* Made TRACE messages which correspond to BAD_HTML_USE_TRACE warnings stand
out more by decorating them with ***** characters, so that users who
follow the BAD_HTML_USE_TRACE advice can more easily find the relevant
messages. - KW
* Reworked LYUnEscapeEntities() while loop into a (hopefully) more
understandable and consistent state-based switch, and integrated
LYUnEscapeToLatinOne functionality. - KW
* Non-ASCII characters in URLs and similar strings encountered in the HTML.c
processing (previously handled by LYUnEscapeToLatinOne) are now generally
URL-encoded, instead of doing this just for 8-bit characters which are
the result of entity expansion. There is no clear standard definition what
non-ASCII characters in URLs in HTML attributes (HREF etc.) actually mean,
especially if the transmission character encoding is something else than
iso-8859-1. Leaving them as the raw byte values as received runs against
the HTML i18n view that the transmission encoding is distinct from the
document character set and has to be (conceptually at least) decoded before
SGML parsing. It also won't work in general for entities that expand to
to Unicode characters which cannot be expressed at all in the currently
effective (or assumed) charset, and would lead to problems with displaying
URLs on the statusline or representing them in auxiliary screens or bookmark
files. So now we try to first transform to the document charset "as usual"
(undo the transmission encoding), then translate the Unicode value into a
sequence of (one or more) byte values which are then URL-encoded. Since
character values > 255 cannot be expressed in a byte, always use UTF-8
for them. It may not be what the author intended, but should be at least
consistent between internal (fragment) HREFs and NAME (or ID) attributes
in the same document or set of documents. Since this is dealing with
bytes currently disallowed in URLs, it falls under error recovery. But
the handling should be roughly in line with current Internet Drafts
(draft-masinter-url-i18n-00.txt, draft-duerst-query-i18n-00.txt,
draft-ietf-ftpext-intl-ftp-02.txt).
For character values < 256 (but > 127) this isn't currently consistently
done, we may still be URL-escaping the byte value without UTF-8 encoding -KW
1997-09-25
* Integrated the attribute and form field translation stuff from separate
code line. This is still a rough attempt. Needs testing and refinement,
for various character set situations, expect glitches and bugs. - KW
1997-09-24
* Removed the compilations of the old libwww-FM HTInit.c and HTFWriter.c
modules for VMS, as previously removed for Unix. - FM
* Added other changes from FM's feedback for VMS. - KW
* Fixed a bug in the SGML unescaping of OPTION values. - FM
* Fixed a bug in the SGML unescaping of TEXTAREA text. - KW
1997-09-23
* Fixed file 'E'dit command from dired directory listing, which I had
broken in 2.7.1ac-0.69. - KW
* Added -width=NUMBER option to specify line width for non-interactive
formatting (-dump output). Also used by -preparsed source mode. - KW
* Changed suffix mapping mechanism to deal with "real" content-encoding
parameters (gzip, compress) in addition to 7bit, 8bit, and binary. Added
a new field for brief descriptive text, so that the MIME type doesn't have
to be abused for this purpose, but left most settings in HTInit.c unchanged
for now. - KW
* Changes in HTFWriter.c and HTFile.c so that we don't forget the file type
and encoding information we already have for a compressed file when passing
control to HTLoadFile (possibly after uncompression). - KW
* Introduced FNAMES_8_3 symbol (for DOS 8+3 file system), and HTML_SUFFIX
which should be defined as ".htm" for DOS and ".html" otherwise. Various
tweaks to deal with systems with 8+3 restricted filenames, in general and
in connection with uncompression. - KW
* Applied diffs from FM for VMS, compared with recent fotemods. - KW
1997-09-21
* Use 0.01 rather than 0.001 as the q value for inserted iso-8859-1 and
us-ascii charset parameters in Accept-Charset headers. - FM
* Added internal buffering of I.value elements in HTML_start_element()
of HTML.c. - FM
1997-09-20
* Show HTTP header for all 2xx status codes (including 204-206) if requested
with HEAD or -head. - KW
1997-09-19
* Modified the Unix "strange character" filter in exec_ok() of LYGetFile.c
to allow '+', '&' and '=' characters. - FM
* minor ifdef/declaration fixes required to build on IRIX 6.2,
SunOS (K&R) and VAX C. - TD
1997-09-18
* Try again after interrupted waitpid() in LYLoadCGI(), as in LYExecv() - KW
* Tweak in LYKeymap.c to bypass the isalpha() test for non-ASCII values,
including values > 255 mapped to arrow keys, etc., when generating the
'k'eymap display. - KW
* Changes to prevent many (but not all) compiler warnings about `const'.
Not that this is different from TD's recent changes. Also some other minor
tweaks relating to (gcc) compiler warnings. - KW
1997-09-17
* Mods in GridText.c to use HTEscapeSP() for space-to-plus conversions of
name fields, and not just value fields, in submitted form content. Note
that some CGI scripts may still be doing plus-to-space restorations only
for value fields, and only hex unescaping for name fields, while others
may not be hex unescaping the name fields, so we may as well follow the
specs fully (and cross our fingers :). - KW, FM
* merge symbols 'has_color' and 'lynx_has_color' to simplify ifdef's,
and correct a problem building color-style configuration. - TD
* add configure symbol for ifdef'ing presence of waitpid, which
was stopping build on HP-UX. - TD
* correct the symbol that is defined by CF_SIZECHANGE test, noted
by failure to build SCO version after making an include for
ifdef'd according to configure test. - TD
* corrected check for broken (pre-1.9.9g) ncurses versions so that
they can build with color support. - TD
* cache state of CF_NETLIBS so that rerunning configure will yield
the same results for network libraries. - TD
* Add configure test for HP-UX -lHcurses library. - TD
* Minor adjustments to names of configure-script variables, to make
them the same as other programs (e.g., tin-unoff). - TD
1997-09-16
* Added code to JKT's and KW's mods in LYPrint.c to also handle VMS, i.e.,
set the document's title as a logical on VMS (can be accessed via
f$trnlnm("LYNX_PRINT_TITLE") in scripts). - FM
* Smaller cleanups here and there - FM, KW
1997-09-15
* Recover from bad sequence "<=" in SGML.c by outputting those characters
literally. - KW
* Try again after interrupted waitpid() in LYExecv(). - JED
* Some tweaks in new DTD, some doc typo corrections. - KW
1997-09-13
* Changes in LYConvertToURL() for better handling of the case when the
pathname of the current directory (when Lynx is invoked) contains
unusual, URL-reserved characters (especially '#') and we test for
a relative but URL-encoded path. (no change for VMS) - KW
1997-09-13
* Changes in LYStrings.c to enable keypad() processing for non-NCURSES
if HAVE_KEYPAD is defined. - KW
1997-09-12
* Correct mismatch/omission of HAVE_TYPE_UNIONWAIT symbol from
change for wait vs waitpid. - TD
1997-09-11
* Tweaks in HTMLGen.c for display of special characters and line breaking
with -preparsed. - KW
* Got rid of use of underlining together with reverse for non-current
links for (n)curses if color is not used. - KW
* Small HTMLDTD.c changes for new parsing. - KW
* Change in SGML.c to always recognize SOFT HYPHEN when given as . - KW
1997-09-10
* Modify CF_WITH_PATH to allow substitution of --libdir and other
configure options pathnames, e.g., for --with-cfg-file. - TD
* Include lynx_cfg.h in userdefs.h to resolve redefinition reported by
AAC. - TD
* Remove Ultrix/sony_news -specific ifdef's for curses headers,
replace with configure-tests. - TD
* Remove AIX/NeXT/sony_news -specific ifdef's for wait vs waitpid,
replace with configure-tests. - TD
* Add/use CF_HELP_MESSAGE macro to visually break down the very long
help message into sections. - TD
* Move the development options to the beginning of the configure script,
to facilitate adjustment of compiler options (especially for Ultrix)
to reduce the number of spurious warnings from miscombining -g/-O
options. - TD
* Correct misplaced assignment to cf_cv_ncurses_header in configure.in,
which caused misconfigure against vendor curses, reported by Hynek Med
(Ultrix) and Roger Hill (HP-UX 10.x). - TD
1997-09-09
* Added arguments to the multinet_htons() and multinet_ntohs() declarations
in tcp.h. - FM
* Tweak of the this_MIMEcharset[] and this_LYNXcharset[] checks in
makeuctb.c. - FM
* Replaced the index() and bcopy() with strchr() and memcpy() in the
putenv() for NeXT in LYUtils.c. - FM
1997-09-08
* Added a -preparsed flag, to be used with -source or with SOURCE view.
When invoked with this flag, show HTML text as it is output from the SGML
parsing stage, regenerated via HTMLGen.c functions, rather than the usual
more raw rendering (in SOURCE view) or the original byte stream (as with
the -source flag, possibly with BASE information prepended). Lynx will
attempt to wrap the text to screen width (or 80 cols for the -source flag),
but will not always succeed. Unrecognized tags and attributes as well as
comments are dropped, attributes reordered, missing end tags supplied,
abd other changes made, showing how Lynx internally treats the document's
structure. This is probably most useful for debugging (of either Lynx's
parsing or of HTML documents, although a real validator should be used for
the latter!). It can also be instructive to switch the DTD parsing mode
(with the ^V key) while viewing preparsed source.
Note that this doesn't work so well now with character translations and
entity expansion don't work well now, showing some of the same problems
which appear for rendered documents and dropping some characters. Making
those problems of parsing more directly visible was one of the motivations
for this flag. Also note that META tags which may contain charset info
are never interpreted when using -source (with or without the -preparsed
flag), but when interactively switching to SOURCE view, Lynx MAY remember
that charset info from the previous non-SOURCE full parsing (again this
applies with or without -preparsed); the INFO screen should always show
the assumption currently in effect. - KW
* Updated some HTMLGenerator functions to use line wrapping logic found in
newer libwww versions, and further mods in HTMLGen.c. - KW
* Tweaks to use of chartrans stages, should now better preserve charset
info from META tags even in compressed HTML files. - KW
* Fixed a problem with LYCheckForCSI which could lead to crashes. - KW
1997-09-06
* Modifications to allow the Lynx lynxcgi feature to process
PATH_INFO in addition to QUERY_STRINGS in URLs. DOCUMENT_ROOT
may be set by the user in lynx.cfg and is then passed as well.
If DOCUMENT_ROOT is set, then PATH_TRANSLATED is calculated and
passed as well. - JKT (J Kevin Ternes )
* Changes to LYPrint.c to put the variable LYNX_PRINT_TITLE
into the system()'ed environment for use by post-Lynx, pre-lp
formatting scripts. LYNX_PRINT_TITLE is simply generated by
calling HText_GetTitle(). - JKT
* Corrections to JKT's mods (to avoid memory leaks etc.). Avoid
unnecessary stat() calls. Other fixes in LYCgi.c. Make
setting of HTTP_ACCEPT_CHARSET actually work. Now URL-unescape
the path in lynxcgi URLs before doing anything with it.
Better logic for when to check for restrictions, the previous checking
for !reloading could be easily circumvented. Also check whether
the full path including a possible PATH_INFO passes the restrictions
test by exec_ok(), to catch "../" segments. Don't try to handle
a non-executable lynxcgi URL as a file URL if there was a PATH_INFO
part, it gets too confusing. Strip '#' fragments from the lynxcgi
path, but leave the interpretation of '#' characters after a '?' as
before so that they are still regarded as part of the query or search
string. If PATHINFO is present, unescaped '#' characters in it will
still be rejected by exec_ok(). - KW
* added a bit of text about running ./configure to INSTALLATION
file - David Combs (), KW
* Added a translation table for Vietnamese (VISCII), and associated code
changes. See the file viscii_uni.tbl. - KW
1997-09-05
* Mods in LYGetFile.c to retain a fragment on redirection if the redirection
URL does not include a fragment. - FM
1997-09-04
* Correct ifdef'ing for getbkgd function calls. - TD
* Correct ifdef'ing for remaining inline chmod calls. - TD
* Consolidate various logic for opening secure files into utility
functions, correcting portability problems as well. - TD
* Add configure option --with-cfg-file to override default location of
Lynx configuration file (requested by Laura Eaves). - TD
* Strip -g option from CFLAGS for the non-debug version of Ultrix
configuration (requested by Hynek Med). - TD
* Add configure test for HP "color" curses (noting that this cannot
possibly comply with XPG4 due to naming conventions, we'll expect
other problems with it). - TD
* Add checks to configure test for COLOR_CURSES to work around bug
report for HP-UX. - TD
* Don't cache configure options except where essential (e.g., the
setting of 'screen'). - TD
* Change some configure options to disable/enable for consistency. - TD
1997-09-03
* Tweaks in HTML_put_string() and LYUnEscapeEntities() to deal with line-
breaks within attributes more consistently, and more independently of
which convention is used (CRLF, CR, or LF). - KW
* Tweaks to prevent a few compiler warnings. - KW
* Tweaks of the iso06_uni.tbl and iso08_uni.tbl files now compiled in.
Note that a replacement character or string to replace invalid or
unrecognized characters can be defined by mapping the Unicode value
U+FFFD, which is done here (for testing, and because these two charsets
have a lot of undefined code points). Also some mods in default 7-bit
table for some Hebrew characters and points. - KW
1997-09-02
* Mods to include "ISO 8859-6 Arabic" and "ISO 8859-8 Hebrew" in the display
character set options (Note, though, that Lynx presently has no code to
deal overtly with non-Latin directionalities.). - DK, FM
1997-08-31
* Mod of HTMIME.c to ignore any Content-Encoding header with a value of
"identity" (case insensitive). Shouldn't happen, but better safe than
sorry. - FM
1997-08-28
* Correct a quoting error in CF_RECHECK_FUNC macro. - TD
1997-08-27
* Further refine/correct configure macros for finding network and curses
libraries, adding CF_RECHECK_FUNC to simplify CF_NETLIBS. - TD
* Rename #define for NCURSESHEADER to HAVE_NCURSES_H, for consistency. - TD
* Add-back test for -lm to support slang shared libraries. - TD
* Modify test for disentangling ncurses library from mytinfo on FreeBSD
to workaround linker limitation. - AAC
1997-08-22
* Fixed typo in LYReadCFG.c when checking for a NOVICE mode default. - JN
(Note that this and other lynx.cfg defaults which have 'o'ptions settings
are overridden when the 'o'ptions are saved to the RC file. - FM)
1997-08-21
* Tweak to LYHistory.c to better remember last position on page. - KW
* Eliminated two more MIME types (application/html and text/x-sgml) from
the Accept header generated by default by setting the q-value to 2.0,
since there are more standard alternatives for these names. - KW
* Lower maximum length for generated Accept header lines from 1000 to 252,
to accommodate an incompetent Windows HTTP server. - KW
* Changed order of some functions in LYCharUtils.c (no other change there
yet). - KW
1997-08-20
* Modify top-level install rule to depend on 'all'. - TD
* Suppress check for ANSI compiler when we are using gcc. - TD
* Use -g3 option in place of -O -g for Ultrix compiler --debug configuration
(request by Hynek Med). - TD
* Drop "-lm" library from slang configuration, since it does not seem to
be used. - TD
* Add configure --includedir and --oldincludedir values to header search
path for ncurses and slang. - TD
* Modify configure checks for ncurses and slang libraries to generate
-L options as required, using new macros CF_FIND_LIBRARY and
CF_LIBRARY_PATH. - TD
* Add substitution for CPP in src/makefile.in so that .c.i rule works. - TD
* Add configure test for lint program. - TD
* Add "make depend" target to generated makefiles. This is intended only
for use in editing/developing, since many of the header dependencies in
chrtrans are generated during the build process and cannot be determined
by makedepend in advance. - TD
* Add configure option --with-zlib. - TD
1997-08-19
* Tweak of highlight() in LYUtils.c to ensure that split link names with a
soft hyphen are handled identically for slang, VMS curses and Unix curses
when such links are made current. - FM
1997-08-17
* Use 0.01 rather than 0.001 as the q value for the global wildcard in
Accept headers. - FM
* Put up correct makefile for dos port (oops) - WB
1997-08-16
* Mini tweaks for the win-dos ports. One fix for the pull down boxes
and the rest mostly maintenance. - WB
* Fixed a bug in LYNews.c which caused overwriting of the first three
characters in the Subject for a followup. - FM
1997-08-15
* Hack in highlight() to preserve a '-' character at the end of line
within anchor text, which can result from splitting at the position
of a or or SOFT HYPHEN character. - KW
* Tweaks in print_wwwfile_to_fd print_crawl_to_fd to output a soft hyphen
character if it is present at the end of a line. For -dump, a raw
ISO 8859 SOFT HYPHEN character may be written if the Display Character
Set (default from lynx.cfg or saved value in .lynxrc) is an ISO 8859
character set, but this may be overridden with the -raw toggle.
Otherwise represent soft hyphen with '-' as usual. - KW
* Modified the news gateway to try XGTITLE for wildcarded lists of
available newsgroups (e.g., news:bionet.* for the bionet hierarchy,
or news:* for all of its served newsgroups). If that fails, Lynx
retries with the old behavior of using LIST NEWSGROUPS and parsing
the reply itself for the desired groups. Note that LIST NEWSGROUPS
can take a wildcarded argument for some nntp servers, but not all,
so we don't risk it. - FM
* Fixed a bug in HTHandleAuthInfo() of yesterday's HTNews.c which could
yield an infinite while() loop. - FM
* Various tweaks in HTNews.c to HTHandleAuthInfo() and elsewhere, to
keep connections open more often in some common cases of non-fatal
errors, and also avoid trying to use the network socket after some
recognized case of closing by the server. Only based on some testing
with INN's nnrpd, not on any written specs. - KW
1997-08-14
* Added nntp authorization (AUTHINFO) handling to the news gateway. - FM
* Added a "Loading cfg file '%s'." trace message in LYMain.c to indicate
the absolute path of the configuration (lynx.cfg) file which was used
at startup (if Lynx is invoked with the -trace command line switch). - FM
* Added code in HTFWriter.c to avoid calling HTLoadFile() on the temporary
file which results from decompression of a temporary file created by
HTCompressed(), if this would just result in making a copy of the file
and then invoking an external viewer. Instead the viewer command is
now invoked directly from the HTFWriter_free of the HTCompressed()
stream after decompression. - KW
* Added code in HTFWriter.c, HTFile.c, and HTFormat.c to support reading
of gzipped local files directly, using functions from the zlib library.
Note that gzipped files from remote servers are still first copied to
a temporary file before lynx can process them further, and an external
GZIP_PATH command is still needed at least for passing such files to an
external viewer, as well as for various DIRED_SUPPORT File menu functions.
To activate this code, the symbol USE_ZLIB has to be defined, it is
currently not set by the auto-config script. The zlib library may be
already installed on your system (probably called libz.a or libz.so.1
or similar, the required header files are zlib.h and zconf.h), otherwise
it is available through , it
appears to support all platforms for which lynx is available (including
VMS, DOS, MS Win32). Note that this library would probably also be
needed if in the future support for the HTTP/1.1 "deflate" content-coding
is added. - KW
* Don't send MIME types in Accept headers whose q values are outside of the
allowed range 0.0 <= q <= 1.0 - KW
* Tweaks in HTInit.c to use the official names for image/png and image/tiff,
but still support the image/x-* forms. - KW
1997-08-13
* Tweaks of LYConvertToURL() in LYUtils.c and HTParseInet() in HTTCP.c
to deal more coherently with 'z'ap attempts during gethostbyname()
calls. - FM
* Tweaks of split_line() and HText_endAppend() in GridText.c to handle
trimming of spaces from the tails of link names more effectively. - FM
* Expanded the OL nesting depth and type counters to track up to 12 list
depths before punting to the lowest negative number. Note that the
indentations still are limited to 6 nested depths, so use the TYPE
attribute to distinguish OLs with deeper nestings. - FM
1997-08-12
* Mods of LYMainLoop.c to maintain treatment of a local startfile as
text/html source when it does not have a suffix mapped to that MIME
type and the -force_html switch was used. - FM
* Added .phtml to the default suffix mappings for text/html. - FM
* Mods of LYCurses.c to avoid using /dev/tty arbitrarily for stdin on
Unix when compiling with slang versions greater than 0.99-35, based
on JED's suggestion to lynx-dev. - FM
* Tweaks of HTCheckFnameForCompression() in GridText.c to avoid warnings
from some compilers. - FM
1997-08-09
* Changed the code of 1997-08-06 which modifies suggested filenames for a
'D'ownload to be more cautious: don't remove a '.gz', '.Z' etc. suffix
if there is no header indication that we have a compressed file. Not
all servers and gateways (including the internal FTP gateway) detect
and label compressed content reliably. - KW
1997-08-08
* Mods of HTTP.c so that download requests are converted to presentation
requests for interactive users, and traversal requests are converted to
cancels, when servers return non-success statuses with bodies which
should be displayed to interactive users. - FM
* Added the "DosCyrillic (cp866)" display character set to the chartrans
support, and tweaked the other Cyrillic charset tables. - AAC, KW
* Tweaked MULTI_SUFFIX support in HTFile.c, so that it now somewhat
works. Dunno whether it's useful for anybody. - KW
1997-08-07
* Tweaks of yesterdays mods in GridText.c. - FM
* Correct storage class of variables in UCMap.h, from -warn-common linker
option. - TD
* Refine configure tests for acs_map, ttytype to accommodate broken linker
on FreeBSD 2.1.5 - TD
* Modify README.configure to indicate the associated definitions for
each configure option, as suggested by Klaus Weide. - TD
* Correct duplicate declaration of Current_Attr, which Linux linker ignores
(reported by Hynek Med). - TD
* Add -G7 option to Ultrix compiler options (request by Hynek Med
). - TD
* Add include for to utmp configure test (reported by Andrey
A. Chernov). - TD
* Add check for FreeBSD library mytinfo (reported by Andrey A. Chernov
). - TD
* Modify ./makefile.in so that 'all', the default target, will build the
Lynx executable. The old 'all' target is retained as "make help". - TD
* Modify src/makefile.in to allow development compiles within the src
directory. - TD
* Mask spaces in the bkgd (background attribute) calls for color curses to
make the color-style code work better with SVr4 curses. - TD
* Change workaround for 8-bit acs characters by adding to the initialization
a loop forcing the entries of acs_map[] to 8-bits. - TD
* Many minor tweaks for the DJGPP version by DK - WB
* A rename of about_lynx_dev.html to lynx_dev.html for 8.3 systems - WB
1997-08-06
* Modified HTMIME.c and LYCharUtils.c so that setting of suggested filenames
via a filename=value pair in Content-Disposition headers and META elements
is not restricted to the file disposition type. - FM
* Mods in GridText.c, LYGetFile.c and HTAnchor.c so that suggested filenames
will have appropriate suffixes when 'd'ownloading, based on whether or not
the file is gzipped or Unix compressed. - FM
1997-08-05
* Mods of the lead relative symbolic element stripping for http/https
URLs in cases for which they would persist when resolved to an
absolute URL. The latest URL draft is ambiguous about whether this
should be considered an error, and leaves the handling of it up to the
UA. So we now get rid of all lead relative symbolic elements from the
resolved http/https URLs, but no others, and still issue a Bad Partial
Reference statusline message. - FM
* Tweaks of title handling in LYMainLoop.c and LYShowInfo.c so that the
known title, or link name associated with ACTIVATE-ion, form submission,
or a HEAD request, will be used in the INFO ('=') display. - FM, KW
1997-08-04
* Fixed header parsing in HTMIME.c so that "Safe:" is recognized. - KW
* Changed confirmation prompts for HEAD (']') commands acting on a POST
document, to reflect the fact that the POST request body will not
actually be submitted in a HEAD request. - KW
* Reset LYCancelDownload to FALSE at top of getfile(), to prevent delayed
effect which can otherwise occur. - KW
* Block URLs with port numbers outside the range of valid numbers in
getfile(). - KW
1997-08-03
* Changed the NSL_FORK code in HTTCP.c so that the gethostbyname() call
is retried without forking if the child process exits without returning
enough data. Also added trace output, to show whether something
unusual has happened to the child process. - KW
* The IETF has indicated intent to adopt KW's "status 307" proposal for
dealing with the status 302 problems, so HTTP.c and HTAlert.c implement
that now. The 302 status is "General (temporary) Redirection" which
can be handled as 303 at the UA's discretion, so we do that in all cases,
rather than prompting the user whether to do that when the 302 is for
a POST submission. The 307 (and 305) for POST submissions invokes a
prompt whether to P)roceed or C)ancel, without the Use G)ET option.
The 301 is treated as permanent, normally, but for POST submissions
still is treated as temporary and invokes a prompt which includes the
Use G)ET option, because scripts written to empirical behavior may
still be expecting that (it's virtually never encountered in redirections
of POSTs, though, because the document containing the form typically
is redirected, so the user only sees the form if a local copy has been
made, and it would be best to C)ancel and get a new local copy of the
document from the correct http/https URL, to serve as a BASE for the
form's ACTION). - FM
* Changed the typedef for HTCoord in HTStyle.h from float to int, for
significant speedup of rendering on machines without floating-point
hardware based on DW's, KW's, BL's analyses. Note that this should
be taken into account when/if external style sheet support is added
for page formatting (e.g., for optimum handling by speech synthesizers
and braille interfaces), beyond the current emphasis on colorizing. - FM
1997-08-02
* The cookie pre-draft has been adopted as an IETF ID, see
ftp://ds.internic.net/internet-drafts/draft-ietf-http-state-man-mec-03.txt
so the code for combining Set-Cookie and Set-Cookie2 headers has been
eliminated in LYCookie.c (see mods for 1997-07-31). - FM
1997-08-01
* Fixed typos in LYCookie.c. - FM
1997-07-31
* Mods of the cookie handling based on the latest pre-draft. Add a
Cookie2: $Version="1" header in any requests that use historical
cookies in the Cookie: request header, so that modern servers will
use Set-Cookie2 headers with modern cookies in their subsequent
replies. Limit the scheme for commentURLs to http or https, not
just to network servers (e.g., gopher is now barred too). Include
a $Port attribute in modern Cookie request headers if it was set
via a server's reply header. The pre-draft indicates intention
to drop the requirement to combine Set-Cookie2 and Set-Cookie
headers if both types were received. We're still combining them,
but based on bona fide one-to-one correspondence checks (which were
not specified in the earlier draft), so that's OK, and we'll get
rid of that needless overhead if the current pre-draft holds up
and becomes an official IETF draft. - FM
* Added a -nocc command line switch for disabling the Cc: prompt
for self copies of mailings. Note that this does not disable
any CCs that have been incorporated within a mailto URL or form
ACTION. - FM
* Added a NO_FORCED_CORE_DUMP compilation (userdefs.h) and configuration
(lynx.cfg) symbol, normally set FALSE, which if changed to TRUE will
block forced core dumps on Unix via abort() calls on fatal errors or
assert() calls on potentially fatal error checks. Also added a -core
command line switch for toggling the default. - FM
* Updated the documentation and 'h'elp concerning the new symbol and
switches. - FM
1997-07-30
* Added workaround for curses with broken handling of 8-bit acs characters
(which may be used for drawing of popup boxes) to LYCurses.h. This fixes
box characters and attributes/colors for solaris curses used with linux
console as terminal. Currently it is not automatically enabled or
configured, but can be enabled by -DBROKEN_CURSES_8BIT_ACS. - KW
* Mod in HTFWriter.c to change the statusline appropriately when an
uncompression has completed. - FM
* Fixed code in LYOptions.c for the case when NEVER_ALLOW_REMOTE_EXEC was
not defined and ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS was defined. - KW
1997-07-28
* Avoid traversing the full list of anchors each time when HText_endAnchor()
is called with a non-zero anchor number, if that number corresponds to
the last anchor added to the HText structure. It is is the most common case
that HText_endAnchor() refers to the last anchor, and the only case that
could be handled correctly before FM's changes of 1997-05-13. Avoiding
the loop over the list of anchor can improve loading time significantly,
especially for large files with thousands of anchors. - KW
* Add progress display and 'z'appability for loading of local files.
They are activated only after a few hundred k bytes have been read.
Added define for HT_PARTIAL_CONTENT to HTUtils.h, used in above.
(The WWW Library 5.x uses HTTP-ish status codes like this throughout.
I find it much less confusing than -29998 and so on, and there's no
conflict in this case. - KW
* Minor LYUtils.c tweaks. - KW
1997-07-27
* Changed code for checks in LYGetFile.c for URL schemes which should
be rejected when received as redirections, added checks for more
schemes. - FM
* Rename top-level Makefile to Makefile.old (it's obsolete) - TD
* Reduce top-level targets to one, 'lynx' - TD
* Move comments describing DirEd to README.configure from makefile.in,
leaving only the definitions that haven't been integrated yet. - TD
* Add configure options to enable/disable DirEd and its associated modes. - TD
* Add configure option to enable/disable char-trans support. - TD
* Correct sense of autoconf'd symbol for size-change. - TD
* Accommodate systems with obsolete ncurses.h in configure tests. - TD
1997-07-26
* Changed the variable hline in LYUtils.c to hLine, so as not to conflict
with a curses function or macro. - FM
* Fixed an esoteric glitch in highlight() of LYUtils.c which could cause
the last character of a current link to receive WHEREIS search target
emphasis if it happened to be the first character of the target (though
perfection is unattainable, we should strive to achieve it :). - FM
* Changed the default value for STRIP_DOTDOT_URLS (lynx.cfg) to TRUE. - KW
* Made some of the additional checks introduced yesterday in LYMainLoop.c
for invalid links to internal dired URLs more strict, as they probably
were intended. - KW
* Added checks for some internal URL types, which should be rejected
if received in a server redirection, to LYGetFile.c. Maybe more types
should be added to the list. - KW
1997-07-25
* Map charsets of the form "ibmNNN<...>" to "cpNNN<...>" in UCdomap.c
if not already recognized. Also recognize "windows-1252". - KW
* Compared the handling of 4-way "show color (&)" in the 'o'ptions menu
against FM's implementation, and made some changes (mostly in formatting,
variable and constant names and usage, ordering of statements) to aid
further comparison. The logic is still messy and needs further cleanup
and simplification, but seems to do what it should. Note that this
also handles color-curses, in a (hopefully) reasonable way. Command
line flags -nocolor and (if using slang) -color override a preference
found in the RC file. See updated "Lynx Users Guide" file and the
comments written to the RC file.
Documentation changes adapted from FM's changes. - KW
* Mods of the DIRED_SUPPORT to check the actual URLs of temporary files
rather than just their titles when filtering for spoofing attempts via
external files with internal URLs. Also recast the PRIVATE my_spawn()
to a PUBLIC LYExecv(), so that it can be used by any module (though
presently it's still used only by LYLocal.c functions). - FM
* Tweaks of LYCharUtils.c to handle Set-Cookie HTTP-EQUIVs in META elements
without risking crashes in LYCookie.c or HTParse.c. - FM
1997-07-24
* Made "show color" option a 4-way choice, if compiled with color support
and if saving of options to a .lynxrc file is allowed. - KW
* Made changing file permissions with DIRED_SUPPORT work again; one of
the recently added checks in LYMainLoop.c was too restrictive.
Added protection to permit_location in LYLocal.c, similar to the changes
of 1997-06-24 to LYDownload.c. - KW
* Generate CANCELLED message when editing of a string value on the Options
Screen has been cancelled (typically with ^G), instead of an
inappropriate VALUE_ACCEPTED statusline. - KW
1997-07-23
* Tweaks of the strtok() calls for textarea values in HTML.c, so that they
will never be repeated after NULL has been returned, and thus won't cause
linux-alpha to crash. - FM
* Make -nocolor command line flag work if compiled with slang. Note that
-nocolor is strong, it overrides all other reasons that might otherwise
turn color on. - KW
* Tweaks in LYCurses.c to ensure that slang library and Lynx flags for
whether color support is on stay in register. - FM
* Change the default in userdefs.h for SHOW_COLOR to FALSE for USE_SLANG.
Because of the different logic used for LYShowColor in the curses code
vs. slang code, setting SHOW_COLOR to TRUE makes it difficult to invoke
a binary compiled with slang so that color is not used on startup
(except by using -nocolor).
Note that reading show_color from .lynxrc is still commented out. - KW
* There is now a "trailing comment" handler in LYReadCFG.c. It treats '#'
as a comment token only if it is somewhere after the last colon for the
lynx.cfg entry and is preceded by a space or tab. - FM
* Added TT to the Utterly Tag and Attribute Soup group of HTML elements. - FM
(applies only to "old" DTD in this code set, as usual - KW)
1997-07-22
* Modify curses popups in LYForms.c and LYOptions.c to use background color
from main window - TD
* Ifdef'd out the logic that saves "show color" to .lynxrc, since it is
deemed to be confusing to users - TD
* Merged FM's changes to the "show color (&)" toggle to save to .lynxrc,
support slang, update online documentation - TD
* Add error message to show actual context in error-checking for color
parsing suggested by Filip M Gieszczykiewicz - TD
* Check for/suppress duplicate -lsocket in network library configure - TD
* Remove HP-UX snake2/snake3 targets from makefile.in - TD
* Add configure script case for 'sequent', drop ptx, ptx2 targets from
makefile.in - TD
* Add logic to configure script handling of slang to suppress spurious
-Ipredefined when header location is given in $CFLAGS - TD
1997-07-21
* Check for lynx_uses_color and LYShowColor in lynx_start_status_color()
and lynx_stop_status_color() of LYCurses.c so that the statusline
will appear reverse (or otherwise highlighted if the terminal doesn't
support reverse), if color support is compiled in but not currently
used. - KW
* Added comments on color usage to lynx.cfg. - KW
1997-07-20
* Added command-line option "-nocolor" to disable color on terminals that
would otherwise support it. Added options toggle for colors, tested
with ncurses. - TD
* Remove option value from configure option "--with-color-styles". - TD
* Correct background of popups in LYOptions.c - TD
* Add configure check for compiler options to enable prototypes - TD
* Remove IRIX "-cckr" compiler flags. - TD
* Correct whitespace as per LPS: LYCurses.c, LYOptions.c - TD
* Tweaks of LYMainLoop.c in the code controlling how the document is reloaded
due to any changes in the 'o'ption menu which require a new rendering of
the document (but still without forcing a proxy cache refresh when that is
inappropriate; see the 1997-05-26 mods). - FM
1997-07-18
* Mods in LYexit.c and LYCurses.c to ensure restoration of stderr (if it
was changed for output to the trace log) on all exits. - BL, FM
* Include an unsigned char typecast in the HASH_FUNCTION definition for
HTAtom.c - CK
* Modified change to is_url() of 1997-07-13 to check for the slash after
stripping any lead space characters. - FM
1997-07-16
* Added the Windows Cyrillic display character set. - AAC
(Andrey A. Chernov )
1997-07-15
* Added support for a commentURL attribute in cookies. This attribute is
under discussion in the HTTP-WG and not presently in the draft (see the
1997-07-09 mods for the draft's URL), but would be extremely advantageous
for multi-lingual and non-English-speaking sites because the comment
attribute can have only ASCII characters in its value, whereas a request
for the comment via a URL in turn allows use of charset and language
negotiation for what the server returns. The value of the commentURL is
resolved and retained only if it's scheme points to a server (i.e., file
and special lynx URLs are rejected), and if it is retained, is included
as a link in the Cookie Jar Page. If commentURL is not ultimately
included in the revised State Management RFC, sites which wish to use
it could do a User-Agent check for Lynx (and any other browsers which
implement it). - FM
* Fixed a typo in HTCompressed() of HTFWriter.c so that the last dot in a
tentative temporary filename is sought via strrchr(), as is done for
HTSaveAndExecute() and HTSaveToFile(). - KW
1997-07-14
* Yet more tweaks of the cookie support. We include $PATH and/or $DOMAIN
attribute/value pairs in Cookie request headers only when their values
were set explicitly via a server's Set-Cookie and/or Set-Cookie2 reply
headers (and the cookies are $VERSION="1" or greater). - FM
* Added support for IFRAME homologous (but not identical) to that for FRAME.
It is handled as a block with a blank line before and after style, and
with margins and default alignment inherited from the containing block,
division, or span. The IFRAME rendition always begins with an emphasized
"IFRAME: " label followed by the NAME attribute's value, if present, or
the URL for the SRC attribute, serving as a link for the SRC, followed
on a new line by any rendered IFRAME content. - FM
* Added handling of LEGEND elements. The content is rendered in place,
as for CAPTION elements, since we don't have multiple pass inlining
capabilities. Hopefully, if the LEGEND is intended to be ALIGN-ed at
the "top" or "bottom" of the associated insert, the author will place
the LEGEND element above or below it, respectively. Note that LABEL
elements similarly are rendered in place, and will be displayed
interpretably only if the INPUT to which the LABEL's "for" attribute
refers, immediately follows the LABEL element. - FM
* Added recognition of BUTTON elements, and handling of them (sorta :)
when they are TYPE="submit" or TYPE="reset" in forms. The default
"submit" or "reset" string, or the value of a VALUE attribute, if
present, is embedded in parentheses and used for the link, and the
content is simply rendered and displayed in place. Until we see what
kind of markup the real world puts in such elements, it's too risky
to try to use that rendition as the link. Also, the W3C's HTML 4.0
draft presently is very fuzzy about whether, and if so, when, an IMG
element in the BUTTON content should be treated as an image map, so
the present code doesn't try to cast any submitted BUTTON name/value
pairs into the format for INPUTs with TYPE="image". When the BUTTON
is a script control rather than submit or reset button, a "[BUTTON]"
pseudo-ALT is inserted to warn users of its presence, but the form
is not disabled. The W3C's HTML 4.0 draft makes scripting intrinsic,
with no SGML-based fallbacks if it is not available or is disabled by
security-conscious sites. Dave Raggett of the W3C replied to criticisms
of this in www-html@w3c.org by saying that he wished it have been
otherwise, but "market forces" prevailed (Sigh...) - FM
1997-07-13
* Changed is_url() to return immediately if the string to check starts with
a slash character. This prevents some false positives if the string
contains ':' characters. - KW
* Added support for "MACOS AppleShare IP FTP Server" to HTFTP.c.
Only based on and tested with (the current incarnation of)
. - KW
1997-07-12
* Correct some build issues with the merge (ifdefs for the curses modules)
as well as minor fix for makefile distclean rule. - TD
* More refinements of the cookie support in relation to recent discussions
in the HTTP-WG, and for more fully effective protection against denial
of service attacks. If the same attribute appears more than once for
the same cookie, ensure that the first instance will be used. Limit
the total number of cookies across Set-Cookie and Set-Cookie2 headers
to 50 per server reply, and each cookie to a maximum of 4096 bytes. - FM
1997-07-11
* Added support for hexadecimal character references (H;) as proposed
in the W3C HTML 4.0 draft. - FM
1997-07-10
* Synchronized the development code against the fotemods patches up to
1997-07-06 (relevant changes listed below, as usual). Note that FM
has now included the chartrans code, but has eliminated conditional
compilation of it; however, in this code set setting "-DEXP_CHARTRANS"
at compile time is still necessary (but compilation without it has not
been tested). - KW
* Fixed character counting logic in display_line() for lines where
soft hyphens ( or or a soft-hyphen character) are used
for their intended purpose. - KW
NOTE: The W3C HTML 4.0 draft explicitly specifies handling of ,
(and now also ) in the manner long implemented by Lynx
(i.e., as a truly soft hyphen), and not in the brain-dead manner
implemented by Netscape and MSIE. - FM
* Various tweaks of the cookie support to handle likely (based on past
experience in the real world :) abuses of Set-Cookie and Set-Cookie2
headers from servers. Most importantly, apply sanity checks to the
values of port attributes so that any unquoted port list will not be
misinterpreted as the start of a new cookie within the port list.
Also added code to fold (CR LF TAB) Cookie request headers if they
contain a long sequence of cookies which would exceed 1024 bytes on
one line, since some servers suffer buffer overruns and crash in such
cases. - FM
* Modified HTNews.c to use HTmmdecode() and HTrjis() for the Subject and
Author strings in listings of news articles when using a Japanese display
character set. - HN
1997-07-09
* Massive updating and revamping of the cookie support in accordance with
http://www.ics.uci.edu/pub/ietf/http/draft-ietf-http-state-man-mec-02.txt
which is scheduled to replace RFC 2109 on July 15, 1997. Noteworthy
changes are that (1) the blanket port restriction is now lifted, and
sharing of cookies among servers with matching domains but different
ports is blocked only if a port attribute was included in the
Set-Cookie2 header (or Set-Cookie header, though it's not expected
there), with a value which defaults to the request's port, but can
be a comma separated list of ports, and (2) the blanket restriction
on sharing of SSL-encrypted (https) cookies with http servers is
lifted, and normally depends on the Set-Cookie or Set-Cookie2 header
having included a secure attribute. However, a configuration option
(see lynx.cfg) to FORCE_SSL_COOKIES_SECURE is now available, and the
compilation or configuration default can be toggled via a -force_secure
command line switch. - FM
* Make NOCACHE ('x' key) work as expected from history list for internal
links. - KW
* Removed bogus checking for a config file in home directory which had
been introduced into the development code. - KW
1997-07-08
* Synchronized the development code against the fotemods patches up to
1997-06-24 - TD, KW
1997-07-06
* Implemented popup windows for the 'o'ptions menu, homologous to those
for SELECT blocks in forms. They are implemented when select_popups
is on, and include WHEREIS search and 123[g,p] features (very useful
for navigating the choice list of 28 display character sets :). Use
the F_LINK_NUM command ('0') to invoke the prompt for a choice list
number when in NUMBERS_AS_ARROWS mode. The popups are not invoked for
the simple, binary choice options. Also modified the options menu so
that the cursor is positioned to the left of choices when show_curser
is on (but it is still positioned initially at the endings of strings
when the line editor is invoked for options that have user-entered
values). - FM
1997-07-04 (KaBoom! :)
* Mods of HTMIME.c and HTFile.c to ignore Content-Type parameters other
than charset when charset is not present, as we do when it is present
and we know we can handle it. - FM
* Fixed bug in LYNews.c which could cause Lynx to crash when posting or
sending followups to news groups and the Organization header was
obtained from the /etc/organization file. - FM
* Fixed bug in LYEdit.c which could cause Lynx to crash when an editor
to which a line number is passed as an argument is used and there are
no links on the current page of the document to be edited. - FM
* Added information about the new $USER feature to the comments about
TEMP_SPACE in userdefs.h. - FM
1997-07-03
* Tweaks of change_sug_filename() in LYUtils.c to make protections against
buffer overruns explicit within the function. - FM
* Tweaks of the #ifdef'ing in HTTCP.c. - FM
1997-07-02
* Mods in LYDownload.c and LYPrint.c to treat a suggested output file
entry of "/dev/null" on Unix, and "nl:" or "/nl/" paths on VMS (case
insensitive), as a cancel (^G). - FM
* Mods in LYGetFile.c to include URLs with content from a form submission
with method GET in the group for which Referer headers are never sent,
because the content might include private (e.g., password or credit
card) information which should not be visible in Referer logs. - FM
* Added -G 7 to the LYFLAGS and MCFLAGS for the ultrix and ultrix-slang
Makefile targets when using the native ultrix compiler. - HM
* Added -DNSL_FORK to the LYFLAGS for all of the solaris2 and Linux
targets in Makefile. - FM
* The above two changes don't affect the makefile used by auto-config - KW
1997-06-30
* Removed a redundant declaration in UCdomap.c which was causing some
compilers to balk. - FM
* Fixed typos in SGML.c which could cause echoing of numeric character
references for some of the display character sets. - FM
1997-06-29
* Updated lynx.hlp, lynx.man and the online 'h'elp concerning the chartrans
support. - FM
1997-06-26
* Tweak of the "tag and attribute soup" parsing mods in HTML.c so that the
PLAIN attribute works for UL blocks again. - FM
* More tweaks of LYMainLoop.c to issue informative statusline messages
about attempts to ACTIVATE, DOWNLOAD, or submit URLs or ACTIONs which
are disallowed in the current context and destined to fail, rather than
acting on them and generating actual failures. - FM
* Mods of LYmktime() in LYUtils.c to support dd-mm-yyyy format for expires
headers and cookie attributes. - FM
* Oops, hadn't included checks for whether there are links on the page
in this morning's LYMainLoop.c mods to ensure appropriate statusline
messages for attempts to bookmark special URLs that can't be bookmarked,
which could yield a crash it there aren't any. The checks are in there
now. - FM
* Added ability to bookmark links from the Lynx List Page, as from the
Visited Links Page, but not for those pages, themselves, since they
are temporary files. Note that Lynx List Page links will not have
the documents' titles, as do those in the Visited Links Page, unless
you've visited them before invoking the Lynx List Page. - FM
* Added explicit protections against buffer overruns in the LYDownload.c
handling of suggested filenames. - FM
* Changes in LYCurses.c, GridText.c, HTML.c, and LYUtils.c, and smaller
changes to some other files, to fix problems with RP's style code.
Color leaking should now be at least much reduced, and some possible
crashes avoided. - KW
1997-06-24
* Mods in LYDownload.c to check whether the File= field in a LYNXDOWNLOAD
URL has the value that was inserted into the URL via the most recent
download options menu. This prevents spoofing with arbitrary LYNXDOWNLOAD
URLs entered via the 'g'oto or ECGOTO commands, or ACTIVATE-ed in a file
other than the most recent download options menu which was created by
Lynx internally. - FM
* Mods in LYMainLoop.c to ignore LYNXCOOKIE, LYNXDIRED, LYNXDOWNLOAD, and
LYNXPRINT URLs if entered via a 'g'oto or ECGOTO command, and to issue
a statusline message explaining that the special URL is not allowed as a
goto. This is just for informational purposes, and the above anti-spoof
mod is not dependent on it. - FM
1997-06-23
* remove "Styles" identifier from Lynx version string in userdefs.h
since it causes "patch-o-matic" to choke. - JES
1997-06-20
* Now that we add or subtract attributes for Unix FANCY_CURSES, as for VMS
curses and slang, the 1997-05-30 mods based on LE's patch for keeping track
of whether links occur in an underlining context, and if so, restoring it
when a current link is made non-current, should be extended to FANCY_CURSES
as well. So they are extended, now, in highlight() of LYUtils.c. - FM
* Added code in LYNewsPost() of LYNews.c for converting any EUC or SJIS to
JIS (ISO-2022-JP) in posts or followups to Usenet news groups if the
display character set is "Japanese (EUC)" or "Japanese (SJIS)". The mods
need testing by Japanese users, because the TO_JIS() function I added
long ago in SGML.c has not actually been used before. - FM
* Modified the hack in LYPrint.c for mailing HTML source so that it never
appends a charset parameter to the "text/html" value of the Content-Type
header if compiled without chartrans enabled. - FM, KW
1997-06-18
* Added a check for nonsense LINES and COLS values in setup() of LYCurses.c,
homologous to the check in size_change() of LYUtils.c, and set LYlines and
LYcols to the 80x24 default if they're nonsense. The slang library and
most curses implementations do the equivalent themselves, but we may as
well make sure it's done. - FM
* Tweaks of the anti-spoof mods in HTFWriter.c for additional protection
against extra %s entries in viewer command mappings. - FM
1997-06-17
* Came up with a low overhead way to restore the emphasis for WHEREIS
search targets when links are made current or non-current and the
target string starts before and/or extends past the end of the link
name (hightext or hightext2) string (see 1997-06-14 mods), so the
restoration works in that case as well, now. - FM
1997-06-14
* Fixed a longstanding bug in highlight() of LYUtils.c which caused seeking
of a column position less than 0 and strange behavior when a link is made
current, if show_cursor is on and the link begins at column 0 (as can
happen in PRE blocks). We now position the cursor on the first character
of such links, so the current link will remain clear for those with speech
or braille interfaces. - FM
* Added functions in LYCurses.c, along the lines of those in the development
code, so that the [w]start_foo() and [w]stop_foo() functions no longer
just replace character attributes for Unix FANCY_CURSES, but now add or
subtract them as for VMS curses and slang. - FM
* More mods in GridText.c and LYUtils.c so that the handling of WHEREIS
search target emphasis when links are made current and non-current is the
full equivalent for Unix FANCY_CURSES of that for VMS curses and slang.
Note that the restoration of search target emphasis does not succeed if
the hit started before or extends beyond the link name (hightext or
hightext2 string). What it would take to succeed in that case as well
doesn't seem worth the overhead, but I'm still thinking about it. Also
note that we still do not emphasize search target hits, but only do link
or page re-positioning, for Unix curses when only standout() and standin()
are supported. In that case, standout() is being used for all links,
including the current (with the latter indicated via cursor position by
turning show_cursor on), so we don't want to create a totally confusing
situation by using standout() for search target hits as well. The code
is still designed to degrade gracefully when the terminal does not have
the capabilities of the curses or slang with which Lynx was built. - FM
1997-06-13
* Tweak of yesterday's LYGetFile.c mods. Lost a lynx_edit_mode = FALSE
statement that is still needed when DIRED_SUPPORT is defined. - FM
* Mods in LYForms.c so that the cursor is positioned at the left of the
current option in select popup windows when show_cursor is on, as when
the cursor is used to indicate the current link in the main document.
This is important when Lynx is used with a speech or braille interface,
or a terminal which does not respond to the highlighting/color for the
current option. When show_cursor is off, the cursor is still positioned
to the right of the current option for curses, and is fully "hidden" in
the lower right corner for slang, so that the highlighting or color of
the current option can be used without the distraction of a blinking
cursor in the left-to-right reading field. - FM
* Added ability to change the show_cursor setting via the 'o'ptions menu
and to save that as the default in the RC file (otherwise, the default
is still that set in userdefs.h or lynx.cfg). The -show_cursor command
line switch toggles the default, however obtained, homologously to the
-popup toggle. Updated the online 'h'elp accordingly (option_help.html
and Lynx_users_guide.html). - FM
1997-06-12
* Tweaks of the 1997-06-04 mods for restoring emphasis of WHEREIS search
targets in link names when they are changed to the current link or again
made non-current. When the link is made current, the first and last
characters of the link name never are emphasized, so they'll retain the
attributes/color for the current link, and the user can see (if sighted)
that the link was made current. With this change, the restoration of
emphasis also is interpretable with Unix FANCY_CURSES, so the block for
that is lifted. Note that I figured out why the bold+reverse+underline
combination doesn't work for that. The vanilla and this Lynx code are
not adding or subtracting attributes for their start_foo() and stop_foo()
functions (as is done for slang and VMS curses), but are replacing them,
so you always end up with the last attribute in a series of start_foo()
calls (underlining for the search target emphasis). I don't know if
ability to sum attributes applies to all Unix curses flavors for which
FANCY_CURSES is defined in the Makefile, so I left the Unix, non-slang
start_foo() and stop_foo() functions the way they are, for now. - FM
* Mods in LYGetFile.c so that any '~' in file URLs is handled as when in
startfile, home page, or 'g'oto commands. Only the first '~' is converted
to Home_Dir(), and only for the first symbolic element in the URL, and if
it is followed by a username, that username is stripped (so that the
"~username" becomes a reference to the home of the account running Lynx,
as if only '~' had been used, and can't be used as a reference for an
arbitrary home). Note that we don't do this stripping for ftp URLs,
because the ftp server should decide, itself, whether to grant access to
arbitrary homes, based on the username and password that were used to
log in. Note, also, that if the account running Lynx is allowed access
to the root of the file system for its home, then access to any arbitrary
home in that file system can be gained from there. Access to the root
never is allowed for file URLs in the for-VMS code, but depends on the
root's protection in the for-Unix code. Also, any arbitrary path in file
URLs will be attempted if it is specified as an absolute path. The
stripping of the username from "~username" in most cases on Unix only
protects against probing for homes in other file systems, without the
user knowing the corresponding absolute path. - FM
1997-06-11
* Mods in HTAABrow.c, HTTP.c and HTAlert.c so that auth_proxy is no
longer a module wide global, and the structures which handle/create
authentication/authorization headers maintain separate setup trees
for proxy authentication/authorization versus for protected limbs of
http/https data trees (realms) on the same server. This ensures that
each proxy's template, which is the global '*' for all paths (that are
in fact full URLs) in its proxying requests, are kept distinct from
the templates for true paths of the protected limbs on the same saver,
even if the user fails to include that proxy in the no_proxy list, or
the server's WebMaster fails to do the equivalent configuration for
the server, and the realm names overlap. Also modified the prompt
strings for the username and password to be encrypted for protected
document requests versus for proxy access so that they indicate
explicitly whether the user's entries will be used for one or the
other. - FM
* Added a -pauth=id:pw switch for proxy servers, homologous to the
-auth=id:pw switch for protected documents, along the lines of AJL's
patch. Note that the -pauth value is used only for authorization
headers to the first protected proxy server encountered, and the -auth
value is used only for the authorization headers in document requests
for the first protected limb encountered. Now that we have an explicit
switch for proxy authentication, it should be used explicitly for that,
instead of still allowing use of the -auth=id:pw switch for either
(IMHO). Also, there's no serious need to make inclusion of the code
for handling these switches a compilation option, because they are only
available to users with shell access. Updated the help files concerning
these switches, and included advice to make sure any script files which
use these switches have restricted access. - FM
1997-06-09
* More refinements of the code in GridText.c, HTML.c and LYCharUtils.c
for handling visible versus hidden links, blank lines, stripping of
the numbered brackets for links, and the interactions of these things
with soft hyphens. - FM
1997-06-06
* Fixed typos in LYrcFile.c which caused failure to start two comments
on new lines when writing to the RC file. - FM
* Fixed a typo in the lead dot pair stripping code in LYLegitimizeHREF()
of LYCharUtils.c. - FM
* Tweak of code in GridText.c for handling soft hyphens so that we don't
display a hyphen if it's the first character in the line, or is preceded
by a space, even if it is followed by a newline. - FM
* Mods of the hidden link handling and numbered bracket stripping code in
GridText.c so that it succeeds no matter how many blank lines are in
the anchor content. - FM
1997-06-04
* Mods in LYLegitimizeHREF() of LYCharUtils.c for dealing more effectively
with fragments which have illegal characters, as is becoming common due
to authoring tools such as Microsoft's Frontpage and Netscape's HTML
editor. The actual URL-reference is still handled so as to yield a
fully legitimate absolute URL, without any unescaped spaces, but the
fragment is checked only for problem characters such as tab or newline,
and otherwise is unmodified. (Try the vanilla versus modified code with
the http://www.cnib.org/library/ww_flw96.htm atrocity, brought to you
discourtesy of Frontpage. :) - FM
* Worked into the fotemods code use of bold+reverse+underline highlighting
of WHEREIS search hits for VMS curses, and slang on both VMS and Unix (with
or without the color mode on), and added code in highlight() of LYUtils.c
for restoring that highlighting when links are made current or non-current
if the string for the hit was contained within the string for the link (won't
be restored if the hit's string starts before or extends past the link's
string). Couldn't get any of this to work with curses and the solaris2
target, so for Unix curses the hit string still is just underlined and
not restored when links are made current or non-current. - FM
* Fixed typo in the 1997-06-01 LYOptions.c mods. - FM
1997-06-03
* Mods in LYList.c to skip setting up a list block for visible links if
the document has only hidden links, and in HTML.c to include a notice
about this with a suggestion to use the 'l'ist command. Try it with
the http://www.sony.com/ atrocity. - FM
* Tweak in LYMainLoop.c to fix a longstanding bug which would cause the
curdoc.line and curdoc.link numbers to be mishandled, and thus cause
the wrong page and current link to be restored on return to the document
via PREV_DOC or the History Page, if the document was fetched originally
with a fragment and a link on its first page had been activated. - FM
* Tweaks in GridText.c so that returns from image map menus to parent
documents are not treated as if a different document is being sought,
and thus any no-cache directives associated with the parent will be
ignored unless another fetch is initiated within the parent or via
another, externally existing document. - FM
* Added SEEK_FRAG_MAP_IN_CUR and SEEK_FRAG_AREA_IN_CUR configuration
(lynx.cfg) options for how to resolve USEMAP attribute values in
IMG or OBJECT tags and HREF attribute values in AREA tags when they
consist solely of a fragment (USEMAP="#frag" or HREF="#frag"). The
compilation default is TRUE, i.e., they are resolved with respect
to the current document's URL, even if the base is different, as is
being done for the HREF attribute values of Anchors and LINKs. The
compilation default seems to be working out, even though most of the
currently deployed browsers still use the base. - FM
1997-06-02
* Mods in LYMain.c so as not to require that a lone "-" argument for
invoking input of command line arguments from stdin be the only
argument on the actual command line. That requirement preluded use
of this feature when the command for invoking Lynx was aliased so
as to include arguments, because the lone "-" then could not be the
only argument. Also tweaked the code so that any stdin-derived
arguments which need to be processed early in main() are so processed.
The vanilla code had severely flawed logic in this respect. The
security considerations associated with switch handling have gotten
hairy beyond reasonable bounds, but I think I've thought it all through
(we'll see :), and have plugged some holes in the vanilla code for
this feature. Redirection of stdout and/or stderr to a file now also
works reliably in conjunction with this feature. - FM
* Added an explanation in the PROBLEMS file of the bad getsockname() and
getpeername() functions within SOCKETSHR 0.9D which affect the ftp
gateway, and the URLs for Andy Harper's (A.HARPER@kcl.ac.uk) fixes of
the SOCKETSHR 0.9D sources. - FM
* Cast LYLocal.c into the Lynx programming style. - FM
1997-06-01
* Added support for numbered form fields, and options in SELECT popups,
based on LE's patch. The LINKS_AND_FORM_FIELDS_ARE_NUMBERED keypad
mode can be defined in userdefs.h and via the 'o'ptions menu. When
in SELECT popups, the F_LINK_NUM ('0') command can be used in any mode
to invoke a "Select option (or page) number:" prompt, which can take
'g' or 'p' suffixes, homologously to the
"Follow link (or goto link or page) number:"
prompt in the main document with popups retracted. Note that when in
the main document, the F_LINK_NUM command has an implied 'g' suffix
for form links (i.e., will position you on the form link, not, for
example, ACTIVATE a submit button), but *not* in popup windows (i.e.,
without a 'g' suffix, the option corresponding to the number will be
selected, and the popup will be retracted, as if you had pressed
ACTIVATE when positioned on that option). The 123p feature is quite
useful in popups with a very large number of options, and supplements
the HOME, END and WHEREIS functions for seeking positions in the list
(again, regardless of keypad mode, if F_LINK_NUM is used to invoke
the prompt). A "page" is defined as the number of lines within the
vertical dimension of the popup box. - FM
* Mods in LYEdit.c to seek the current page and line when the editor
is sedt on VMS. - FM
* Updated the online 'h'elp concerning the "Follow link (or page) number:"
and "Select option (or page) number:" features (Lynx_users_guide.html,
follow_help.html, keystroke_help.html and other_help.html). - FM
* changes to help files to reflect the different prompt string. - KW
1997-05-30
* Worked in LE's patch for keeping track of whether links occur in an
underlining context, and if so, restore it when slang color is on and
a current link is made non-current, thereby actually dealing with the
longstanding bug discussed in the 1997-05-27 mods (This is just a hobby,
and I always reserve the right to change my mind! :). - FM
* Mods of LYForms.c and LYStrings.c to deal with form field values too
long to fit in the line editor's buffer (such as long TEXTAREA values
which have no newlines in them). As much of the tail as fits in the
buffer is offered for editing, with statusline messages explaining the
situation. If the tail is modified, it is combined with the unmodified
head when the form field is made non-current. The result can be edited
further by making the form field current again. If the form has a
Reset button, it can be used to restore the original value. The
vanilla code would crash on buffer overflow (Ugh! A potential
security hole.). - FM
1997-05-29
* Restored underlining in conjunction with reversing for the current link
with slang when colors are being used, but not otherwise. - FM
* The 1997-05-26 mods to bypass screen redraws on retractions of SELECT
popups when the selected OPTION was not changed worked properly only
for VMS curses. Tweaked the for-slang code so that it now works like
VMS curses (though not as efficiently). However, with Unix curses,
the delwin() - refresh() sequence does not restore what was there
before the popup was invoked, and none of the tweaks I tried got that
to work, so the poor Unix folks using Unix curses are now stuck again
with screen redraws for every popup retraction. - FM
1997-05-27
* Eliminated in the fotemods code underlining in conjunction with reversing
for the current link with slang, to avoid the longstanding bug of
underlining being lost (and distracting color changes occurring) when that
link ceases to be current and it was embedded in an underlined region of
text. The attributes of the current link can be better handled in the
development code based on configurable style sheets, so there's no
point letting this bug ride, nor trying to deal with it through
temporary internal mods, in the fotemods code set. - FM
1997-05-26
* Mods of display_title() in GridText.c to eliminate the "format"
mask as in KW's 1997-05-14 development code mods, and to make the
memory management more efficient. - FM
* Mods of change_form_link() in LYForms.c to bypass the screen redraw
on retraction of a SELECT popup if the SELECT block is DISABLE-ed
or the selected OPTION was not changed. Note that the complete
elimination of the screen redraw in the 1997-05-20 development code
mods, i.e., even when the selected OPTION was changed, results in
the change not being made evident to the user in the retracted popup
unless the screen is redrawn fortuitously (e.g., due to subsequent
paging). - FM
* Modified the caching-related changes of 1997-05-15 to LYMainLoop.c,
handling automatic reloading after a change of the User-Agent string
like after comparable other option changes.
We force a reload if "preferred document lan(G)uage"
or "preferred document c(H)arset" are changed via the 'o'ptions menu,
and to set the "reloading" flag for forcing a proxy cache refresh if
those or "user (A)gent" are changed and the current document has an
http, https or lynxcgi scheme, but not force a proxy cache refresh if
we're reloading due to an INLINE_TOGGLE, IMAGE_TOGGLE, or RAW_TOGGLE
command. - KW, FM
1997-05-25
* Mods in LYMain.c to convert $USER if present in the TEMP_SPACE
definition or LYNX_TEMP_SPACE environment variable to the string
returned by getenv("USER"). - FM
* Fixed two typos for me->inFONT settings in HTML.c - TD
* Added chmod(file, 0600) calls for most files created by Lynx. - FM
1997-05-24
* integrate patch JED's mods which support mouse for slang as well as add
new functions to encapsulate differences between slang/curses. - TD
1997-05-21
* Mods in HTML.c and LYCharUtils.c so that TABLE blocks are treated
as divisions in the DIV nest, with a default alignment of HT_LEFT
if the TABLE start tag lacks an ALIGN attribute, and otherwise,
that attribute's value. Nested TABLEs extend the DIV nest. This
avoids the problem in the vanilla code of TABLE content inheriting
the alignment of a containing CENTER or DIV which is intended for
alignment of the TABLE as a whole. Also added support for ALIGN
attributes in TR elements. If the TR has no ALIGN attribute, it
inherits that of the current division, which should be that of the
current TABLE. This, of course, still does not yield true TABLEs
for truly tabular content, but makes TABLEs used for formatting
more readable. - FM
1997-05-20
* correct 2 occurrences of "me->inFONT == TRUE;" in HTML.c - TD
* add configure --with-color-style option to merge RP's alpha changes for
color styles (this works only with ncurses, since it does not initialize
the window background, leaving it null, thereby exploiting a bug in
ncurses which sets null backgrounds to a space). Also some whitespace
(and renamed CS to make this build w/o ncurses) - TD
* test-built with ncurses 1.8.7, 1.9.4, 1.9.9e and 4.0, as well as bsd 4.4
curses and slang - TD
* Tweak of HTFWriter.c so that it does the anti-spoof tests normally
done by tempname() (see the 1997-05-19 mods) in all cases for which
it changes the temporary file suffix from any of those checked by
tempname() itself. At this point, every way I've thought of for
trying to spoof Lynx via links for temporary files is blocked, but
people should beat on today's code to see if there's any spoofing
strategy I haven't yet blocked. - FM
* Modified the Lynx Trace Log handling so that it doesn't use actual
redirection of stderr via freopen() calls, and restores the original
value of stderr during any escape to shell. This avoids the problem
on Unix that sh and ksh send their prompt strings to stderr, and that
bash sends both its prompt and command line echo to stderr, so they
end up in the log instead of being visible. I had tested the initial
design on VMS and with csh on Unix, and thus didn't notice this
foolishness for the other Unix shells. Anyway, it's OK for all of
them now. - FM
* Tweaked SIGTSTP interrupt handler in the USE_SLANG for-unix code, so
that it gets set to SIG_DFL when stop_curses() is called, to prevent
strange interferences experienced when ^Z is used while a helper
process is in the foreground. - KW
* Change in LYForms.c to prevent forced screen refresh after selection
from a popup box. - KW
1997-05-19
* Recognize Linux console F1 key in LYgetch() (applies if "-DNO_KEYPAD"
is in effect, as for all binaries built with slang). - KW
* Protect LYgetch() against returning raw values of keypad() symbols
which are invalid when used later as an index into keymap[],
override[], etc. - KW
* in the USE_SLANG for-unix start_curses(), honor the no_suspend flag
if set. This implements -restrictions=suspend handling for slang
(although it was intended for curses implementations which have
problems with ^Z within Lynx; see the PROBLEMS file).
Note that the no_suspend flag cannot be suspected to have
the desired effect if lynx is executed from a shell script, unless
the shell process forked for the script also ignores the SIGTSTP
signal generated (usually) by the ^Z key. Also if the user is
allowed to execute any helper process (VIEWER, PRINTER, etc.) which
does allow suspending while no_suspend is in effect for the Lynx
parent process (by overriding the SIG_IGN setting done by Lynx or by
other means), then suspending may still be possible, in addition to
strange effects either immediately or when the process or process group
is continued (wrong tty and screen state, zombie processes, total
hang of the session without any way to interrupt - you get the idea...).
Trying to use the suspend restriction in order to prevent users from
getting a shell prompt doesn't make much sense anyway when they are
allowed access to execute commands which may be interrupted or allow
escaping to a shell... - KW
* Tweak of HTFile.c so that we no longer lose an LYforce_HTML_mode
directive if the file is gzipped or compressed and the uncompressed
suffix is not mapped to text/html. - FM
* Modified tempname() in LYUtils.c so that it checks whether files
with the current PID and target count already exist, and if so,
increments the count until a name for a non-existing file has been
created. - FM
1997-05-18
* Mods in LYMainLoop.c and LYClean.c so that Control-G is treated as
a synonym for 'n'o in quit confirmation prompts. - FM
* Mods in LYPrint.c to strip any gzip or compress suffix from the
suggested filename, on the assumption that we're deal with a text/html
or text/plain file that had a corresponding Content-Encoding and no
Content-Disposition: file; filename=name.suffix header indicating
the appropriate filename after uncompression. This assumption does
apply for our current ftp gateway, and for most present-day http
servers. This mod in turn ensures that text/html files which are
not being printed as source will have their uncompressed suffixes
converted to .txt, indicated that they are rendered. - FM
1997-05-17
* Fixed long-standing bug in display_page() of GridText.c. When it
was updating the links structures, it wasn't re-initializing the
form element if the links structure is not for a form field. - FM
* Mods in HTML.c to deal more effectively with H# headers used instead
of LH in lists. We now, in effect, treat them fully as if they were
LH, so that their left indentations are in register with the current
list nesting depth, and we apply better error recovery in cases where
the author is mis-using H# for a FONT change rather than as an actual
header. - FM
1997-05-16
* Changed the line where a WHEREIS search target should preferably be
displayed to the 4th line (not counting the title line). This can
be changed by redefining SEARCH_GOAL_LINE in userdefs.h.
SEARCH_GOAL_LINE can also be a simple expression in terms of the
variable display_lines, e.g., `#define SEARCH_GOAL_LINE (display_lines/3)',
this should then automatically adapt to screen size changes (provided the
display system can deal with that...)
Note that this this goal line will normally not be used if the next
target, according to the algorithm Lynx uses, is already on the displayed
screen. Also, when the displayed page changes to show a search result,
there is no guarantee that it will end up on the line set by
SEARCH_GOAL_LINE. It should rather be regarded as a maximum.
For example the presence of anchors on the line with the target or on
the preceding lines will change the positioning. - KW
* The SEARCH_GOAL_LINE line will also be used for "going to" a link with
'g' suffix at the "Follow link ..." prompt, although the algorithm is
quite different. As for a search target, this only applies when Lynx
has to position to a different page of the document, and then is only
a maximum. - KW
* Enabled the no-cache setting for the pseudo document Lynx creates for
a client-side image map in LYMap.c, for now. - KW
* Minor typo fix for the proxy authentication mods. - FM
* Tweak of PRE block handling in HTML.c to ensure an implied paragraph
after the block if it is in a list and not followed by an LI. - FM
* Tweaks of SGML.c and LYCharUtils.c to allow any non-digit to terminate
a numeric character reference once at least one digit has been found in
the reference. - FM
* Change in LYUnEscapeToLatinOne() to use isdigit() instead of isalnum()
for recognizing numeric character references like LYUnEscapeEntities()
does. - KW
1997-05-15
* Worked in JED's mods for taking a suspend into account during select()
calls. - FM
* Mods in LYMainLoop.c to not force a cache refresh on a proxy any more
when INLINE_TOGGLE, IMAGE_TOGGLE, RAW_TOGGLE are used. On the other
hand, do force a proxy cache refresh after one of the variables relevant
for content negotiation `language' or `pref_charset' has been changed
from the Options screen, if the current document is from a http, https, or
lynxcgi resource. - KW
* Set HTTP_ACCEPT_CHARSET environment variable for the child process in
LYCgi.c if pref_charset is not NULL. - KW
* (chartrans) Write a META tag with the current display character sets to
the files generated for Bookmarks, List, Info, History, and Visited Links
pages, so title strings contained in those files will (hopefully) not
get erroneously translated again. Use new function LYaddMETAcharsetToFD()
in LUCharUtils for this purpose. - KW
* (chartrans) makeuctb now sets RawUni to UCT_ENC_8BIT if not otherwise set
and if there are char values above 127. - KW
* (chartrans) Change in HTuncache_current_document() to prevent caching of
UCStages info which should be discarded. Still allow caching for this
in the node_anchor for source display, so that a META tag in the parsed
HTML can influence the display after using the SOURCE '\' key. - KW
1997-05-14
* Don't use title in showlist() if it is empty, to prevent "hidden links"
on the List Page itself caused by documents with . - KW
* Changed display_title() in GridText.c to not rely on sprintf() to get
the number of blanks right. - KW
* (chartrans) Added new lynx.cfg symbols ASSUME_CHARSET,
ASSUME_LOCAL_CHARSET, and ASSUME_UNREC_CHARSET. They are only
recognized if compiled with -DEXP_CHARTRANS. They correspond to the
command line options -assume_charset, -assume_local_charset, and
-assume_unrec_charset.
The default for ASSUME_CHARSET is iso-8859-1 (corresponding to display
character set "ISO Latin 1"). If no ASSUME_LOCAL_CHARSET is set,
the explicit or default value for ASSUME_CHARSET will also be used for
local files. ASSUME_UNREC_CHARSET has no default. See added text
in lynx.cfg. - KW
* (chartrans) Changes in LYCharSets.c to HTMLSetCharacterHandling() and
HTMLSetUseDefaultRawMode() to support (hopefully) more consistent
and user-friendly handling of raw mode and its default.
Note that the following description does not apply if the display
character set is one of the CJK settings. In that case, -raw and
the corresponding Options setting is used as a CJK toggle as before.
Note that the -raw flag is a toggle. It changes the "raw mode"
setting from the default. The current setting of "raw mode" can be
seen on the Options screen, and is also shown in a statusline message
when the RAW_TOGGLE key (normally '@') is used.
The default depends on the display character set (as previously)
but now also on the ASSUME_CHARSET setting (as determined by a setting
in lynx.cfg, possibly overridden by -assume_charset on the command
line, or the default iso-8859-1). When the display character set
corresponds to the ASSUME_CHARSET, the default for "raw mode" is ON,
otherwise it is OFF.
The effect of "raw mode" on the interpretation of documents which have
no explicit charset label (from HTTP headers, a META tag, or otherwise)
is as follows. There is an internal "assume charset" which may differ
from the user-specified ASSUME_CHARSET value. When "raw mode" is set
ON, the internal variable is set to correspond to the display character
set. When "raw mode" is set OFF, the internal variable changes to
the user-specified ASSUME_CHARSET or, if that also corresponds to the
display character set (so that otherwise there would be no change),
reverts back to the iso-8859-1 Web default.
Raw mode doesn't imply total rawness. HTML character entities may
be expanded and translated with either setting, 8-bit characters which
are inappropriate for the display character set will not be sent to
the terminal. For a "more raw" setting, try the "Transparent" pseudo
display character set. - KW
1997-05-13
* Changed the compilation default in userdefs.h for USE_TRACE_LOG
to FALSE, for now. - KW
* Code for "fixing" of relative http and https URLs which start with a
../ segment from FM added, but it has to be enabled with the new
lynx.cfg symbol STRIP_DOTDOT_URLS (default currently set to FALSE).
See FM's description under 1997-04-23. - KW
* Changed the test for dot segment fixing in LYLegitimizeHREF() so
that now (if enabled) it also applies when the http or https base URL
in effect does have a non-empty path but without any slashes in it
(beyond the initial one between host and path). The test was too narrow
before and did not recognize this case, so that an unmodified URL with
../ in it would still be sent to the server and without generating a
statusline message. - KW
* Tweak of case LYK_REFRESH: in LYMainLoop.c so that the REFRESH command
still invokes an obligatory, complete refresh of the screen for slang
on Unix with the new LY_SLclear() function (see 1997-05-09 mods),
by using scrollok() if USE_SLANG is defined. - FM
* Changed the local variable name, lines, in follow_link_number() of
LYGetFile.c to nlines, to deal with the AIX 4.2 bug of treating lines
as a macro. Also changed the variable name, pages, to npages for
logical complementarity (they both refer to the total number). - FM
* Mods in HTML.c, LYCharUtils.c and GridText.c to deal with links for
positioning, specified via NAME or ID attributes, when they are embedded
in Anchors which have an HREF, so that they now don't force premature
closing of those Anchors. Also tweaked the code for creating links for
the sources of images or other for-GUI embedded objects when clickable
images ('*') is toggled on, so they use those mods as well, when
possible. Note, however, that the clickable images feature is creating
Anchors with HREFs which aren't actually there, and still can create
technically invalid markup, on occasion, when the non-doctored markup
actually is valid. The latter mods still need some improvements in the
formatting, but are OK to use for now, and my brain hurts from trying
to think through all the possible markup we might encounter. - FM
* Tweaks of the Lynx Trace Log handling to deal with reloads when the
HText structure for the log has been dumped. Made the first letter
of the filename uppercase (Lynx.trace), complementary to Lynx.leaks.
Eliminated the log from the Visited Links Page so it can't be sought
there as a forward link. Use the History Page if you want to 'd'ownload
the log, or use the 'p'rint option while viewing the log. Note that
suffix maps do tail matching, and thus the so-called suffixes need not
begin with a dot. If you want to use an external viewer for the log,
you can put:
SUFFIX:Lynx.trace:application/x-LynxTrace
VIEWER:application/x-LynxTrace:most +s %s
in your lynx.cfg, or their equivalents in your mime.types and mailcap
files. - FM
* Tweaks in LYMainLoop.c to set newdoc.title for various special pages
generated by Lynx (History Page, Info Page, etc.) and when following
a link. - FM
* Small change to the heuristics for New_DTD in start_element()
in SGML.c (try a bit more to close containing element if it's the
same tag) - KW
1997-05-12
* Added support for proxy authentication. - AJL, FM
* Updated follow_help.html to indicate that 0 is the universal
F_LINK_NUM mapping for invoking the "Follow link (or ...) number:"
prompt. - FM
1997-05-11
* Tweaks in LYMainLoop.c to ensure that the LYforce_HTML_mode flag is
reset reliably, so it doesn't carry over to requests for text/plain
documents, as it was doing under some circumstances in the vanilla
code, e.g., when a bookmark file was used as the startfile via a
file://localhost/path URL rather than via the -book switch. - FM
* Very minor change in Lynx_users_guide.html, added two words - KW
1997-05-10
* Fixed a typo in statusline() of LYUtils.c. The check for whether
the string is zero length before bothering to convert CJK multi-bytes
was checking a holding buffer instead of the string. - FM
* Fixed a bug in LYHandleMETA() of LYCharUtils.c. The check for a
URL following the SECONDS value in REFRESH directives was not
taking into account that an EOL might follow the digits for the
SECONDS value. - FM
* Changed the behavior of boolean_choice() in LYOptions.c so that the
cursor is positioned immediately at the option display line instead
of staying at the statusline instructions until an initial entry is
made, and modified the statusline instructions accordingly. - LE, FM
* Added a check for a NULL pointer in the LYCookie.c code for blocking
sharing of SSL encrypted cookies with http servers, based on a patch
from RT, and added a comment on why code for a block based on the
scheme is there, despite its being redundant with the current blanket
restriction based of the ports. - FM
* Mapped 0 to F_LINK_NUM (as suggested by KW), so that 0 invokes the
"Follow link (or goto link or page) number:" prompt under all
circumstances (but with the 0 not treated as the first digit of
the number entry). That's a better way
to do it, because then the F_LINK_NUM command and explanation always
appears in the "Current Key Map" display, and only the mappings of
numbers to functions drop out when going from NUMBERS_AS_ARROWS to
LINKS_ARE_NUMBERS mode (as they should, 'cuz the numbers no longer
are mapped to functions; though maybe they should stay mapped to
functions now that we have an explicit command key for invoking the
prompt; something to think about...). - FM
* Updated the PROBLEMS file to indicate that you should try changing
-lresolve to -lbind if you have upgraded to the bind-8.1 or later
library on a Sun system and keep getting the message "Alert!: Unable
to connect to remote host". - FM
1997-05-09
* Typo fix in follow_help.html. - FM
* Added an LY_SLclear() function in LYCurses.c as a more efficient
substitute for slang of the curses clear(), based on a patch from
JED. - FM
* Added a USE_TRACE_LOG compilation (userdefs.h) symbol and -tlog command
line toggle of the compilation default (normally TRUE), for directing
syserr messages to a lynx.trace file in the user's home directory when
TRACE mode has been turned on (either via the -trace command line switch,
or the TOGGLE_TRACE (Control-T) command. Also added a TRACE_LOG command
(normally ';') for viewing the "Lynx Trace Log" (lynx.trace) at any time,
if one has been initiated during the current session. The trace log
feature is disabled automatically in anonymous or validation accounts,
and should not be used in any account which could have different users
simultaneously. The mods work well to the extent I've exercised them
thus far on VMS and for the solaris2 target, but possibly need more
refinements, depending on the behavior for other Unix flavors of
freopen(), which is used for redirecting stderr to the log. Updated
lynx.man, lynx.hlp, and the online 'h'elp to describe these new
features. - FM
1997-05-08
* Made the handling of hidden links dependent on a new command line
option. With -hiddenlinks=listonly hidden links are only shown on
'l'ist screens and listings generated by -dump or from the 'p'rint
menu, but appear separately at the end of those lists.
With -hiddenlinks=ignore they don't appear even in listings.
With -hiddenlinks=merge hidden links are treated as before,
i.e., they show up as bracketed numbers if LINKS_ARE_NUMBERED is on,
and are numbered together with other links in the sequence of their
occurrence in the document. The default is -hiddenlinks=listonly.
Changed the new follow_help.html file accordingly.
This may help obviate an apparent need to call something a bug which
others regard as a feature... - KW
* Function HText_AreDifferent() updated as in FM's code, but still
unused. - KW
1997-05-07
* Added another argument in follow_link_number() of LYGetFile.c for
returning the number entered at the "Follow link (or page) number:"
prompt to the mainloop(), and modified the statusline error messages
that may be issued from the mainloop() in conjunction the with 'g' or
'p' suffixes so that they report that number when appropriate. - FM
* Changed the prompt to "Follow link (or goto link or page) number:" - KW
* Tweaked case HTML_DD: in HTML.c so that it checks whether a wrap
has just occurred naturally before imposing a newline for DD start
tags. Without that check, seemingly random, extra newlines could
occur in the DL/DT/DD blocks. - FM
* Created a follow_help.html for the keystroke_commands subdirectory
of the online 'h'elp, describing the "Follow link (or page) number:"
features, and added links to it in Lynx_users_guide.html and
keystroke_help.html. - FM
* Changed the help description according to what is implemented here - KW
1997-05-06
* Further tweaked KW's mainloop() tweak (see yesterday's entry), so that
newdoc.link is reinitialized properly when we're going to, but not
ACTIVATE-ing, a link in the current page due to a 'g' suffix for a
"Follow link (or page) number:" entry. Otherwise, if the number with
a 'g' suffix was used to make the last link on the current page the
current link, and then a NEXT_LINK command was used, one could end
up on a link beyond the first one in the next page. Also added a
statusline message if the 'g' suffix is used with a number which
corresponds to a link that already is current. - FM
* Tweaked yesterday's LYList.c mods so that an OL with the CONTINUE
attribute is used when a "Hidden links:" list is appended to a
"Visible links:" list and NUMBERS_AS_ARROWS mode is on. This allows
you to see the number to enter at "Follow link (or page) number:"
prompts, as when LINKS_ARE_NUMBERED mode is on. - FM
* Mods in HTML.c for LI and LH handling so that a pointless wrap will not
occur at the spacer following the bullet in UL blocks or the Arabic
number, Roman numeral, or upper- or lowercase letter in OL blocks if
the subsequent text has no spaces, itself, up to the right margin.
In such cases, that text now stays on the initial LI or LH line, and
wraps at the right margin to the left indentation for a second or
greater line in the LI or LH. - FM
* Changes to avoid memory leaks in LYCookie.c - KW
* Escape '<' and '>' characters (using the LYEntify functions) in URL
strings written to the temporary files for LIST and INFO screens, to
avoid invalid HTML and corrupted display as a result of URLs which
contain these characters (although they shouldn't) and have not been
escaped earlier. - KW
* Changed the label for the currently selected link from "Filename:"
to "URL:", and fixed an alignment glitch for the 9th item on the
History and Visited Links pages. - KW
* Changed an "8-bit" occurring in HtInit.c to "8bit", tweaked LYKeymap.c
comments. - KW
1997-05-05
* Added HText_AddHiddenLink(), HText_HiddenLinkCount(), and
HText_HiddenLinkAt() functions in GridText.c for keeping track of the
addresses (URL, plus fragment if present) for links that were converted
to hidden by HText_endAnchor() due to their having no visible link name,
and modified showlist() and printlist() in LYList.c so that if any hidden
links were create during the rendition, the "References in this document:"
menu for the 'l'ist command or appendix on dumps segregates and clearly
labels the visible versus hidden links. - FM
* Plugged a memory leak in LYEntify() of LYCharUtils.c. - FM
* Modified experimental DTD info to not close anchors when an invalid
P, H1-H6, or ADDRESS start tag is encountered, and to change error
recovery for P and MAP. - KW
* Modified experimental DTD info and HTML.c to not close PRE when
an invalid FORM start tag is encountered, and to use the appropriate
handling for preformatted text if PRE is in effect but is not the top
element on HTML.c's stack. The HTStyle structure's freeFormat (which
wasn't used anywhere before) is now used as one test whether we are
within preformatted text, also corrected the style setting of freeFormat
for PRE in DefaultStyle.c. - KW
* Changed internal gateways (in HTNews.c, HTFile.c, HTWAIS.c, HTWSRC.c)
to end LI, DT, and DD elements if they are not declared SGML_EMPTY,
so that HTML.c's stack won't get overloaded in this case. - KW
* Tweaks in mainloop() handling of DO_GOTOLINK_STUFF and DO_GOTOPAGE_STUFF.
Going to a link with the 'g' suffix and then immediately ACTIVATing that
link could previously show the wrong page of the new document, since
newdoc.line was not being reset. - KW
1997-05-03
* (chartrans) Now always check for LYlowest_eightbit[current_char_set]
near the top of HText_appendCharacter(), to prevent writing C1 control
chars to the terminal if they are not valid as displayable characters
according to the selected "display character set" Option.
All this should be handled earlier in processing, and this check may
disappear again for testing, but somebody asked for it... - KW
* (chartrans) Small changes to README files. - KW
* In the section of HTUtils.h for non-autoconf builds, don't set
HAVE_KEYPAD or HAVE_TTYTYPE if USE_SLANG is defined. - KW
* Modified HText_LinksInLines() to not count hidden form fields. - KW
* Added support for setting an anchor's no_cache element based on a
comparison between Expires and Date headers if both were received
and we didn't set it based on a Cache-Control directive. Also
added equivalent support for a comparison between an Expires value
from a META tag and a Date header. We still compare Expires header
or META values versus the system time if no Date header was received,
and still do not accept Date values from META tags because they are
unlikely to be reliable. - FM
1997-05-02
* Fixed a bug in LYAddImageMap() of LYMap.c which could cause multiple
insertions of the same MAP into the LynxMaps structure, and crashes
on some systems due to the consequent multiple FREE()'s at exit. - FM
1997-05-01
* More mods in HTML.c, LYCharUtils.c and GridText.c for rational handling
of potentially wrapped form fields in PRE blocks. We now artificially
wrap the line if the form field would start within 6 columns from the
right margin. This makes sure that editing windows and the highlighted
segments of submit or reset buttons will not ever be ridiculously short,
and is homologous to our use of a collapsible space before input fields
and buttons when not in PRE blocks to promote a wrap there instead of
within the fields or buttons. - FM
* Expanded the WHEREIS query support so that it also locates the values
of form fields within the current document and repositions or pages
accordingly, as for normal (Anchor) links and for text strings. Note
that if the hit was for an OPTION value in a retracted SELECT popup,
you are positioned on the retracted window, and must pop it up and
search again to be positioned on the OPTION value with the hit, unless
it already is the selected OPTION. The mods are hairy enough without
trying to do the latter automatically, at least for now. - FM
1997-04-30
* Quote the URL for external command (not for VMS or DOS or Windows)
to avoid dangerous chars and shell spoofing. - KW
* Escape characters properly when constructing URLs from filenames
in LYConvertToURL. If a string given for startfile, home page, or
a goto command which does not already have the form of an absolute
URL starting with an URL scheme and which does not start with '~'
(but may start with '/') specifies an existing file or directory in
valid Unix-like format for the native filesystem, i.e., without using
escaping, it gets URL-escaped, otherwise it is assumed to already
be URL-escaped. - KW
1997-04-29
* Updated RP Styles 0.2 code, don't allow comma as separator between
fg and bg colors after all, fix the LYNX_VERSION string generation
in userdefs.h to have `-Styles' appended *within* the quoted string. - KW
* Added support for a 'p' suffix, like the 'g' suffix for making a link
number the current link rather than ACTIVATE-ing it,
but for displaying the page indicated by the number preceding the
'p' suffix entered at the "follow link (or goto link or page) number:"
prompt. [...] If the number
entered at the prompt is '1' or less followed by the 'p' suffix, or only
'p' is entered, you get the same behavior as for the HOME command. If
the number is equal to or greater than the number of pages, you get the
last page displayed as you would if you had used successive PAGE_DOWN
commands from the HOME position to reach it. This differs from the END
command, which fills the screen with lines from the end of the document
if you are not already displaying the end of the document. Note that if
you enter a number without a suffix (to ACTIVATE the link with that number)
or with the 'g' suffix (to make the link with that number the current link)
it must correspond to a valid link number or an error statusline message
will be issued, in contrast to the 'p' suffix for which an out of range
number is treated as a request to display the first or last actual page in
the current document. - FM
* Fixed some typos in lynx.man. - LV
* More modifications of the anchor counting code for HTGetLinkInfo() in
GridText.c so that it properly skips hidden form fields and anchors
without selectable text. - KW
* More modifications in GridText.c and HTML.c so that it deals rationally
with submit or reset button values, and the underscore placeholders for
other form fields, when in versus not in PRE blocks. The entire submit
or reset button values are now always displayed, whether or not a portion
of it was wrapped, but we still can only highlight the portion before the
wrap to indicate a link for submission of the form or for resetting the
form field values. - FM
* Undid some mysterious changes in SIGHUP setting (SIG_IGN vs. SIG_DFL)
which had sneaked in in connection with adding the NOSIGHUP
conditional. - KW
* Tweaks to New DTD's extra info for CENTER and H1..H6 - KW
* New function HText_AreDifferent() from FM added to GridText.c, but
not used yet. - KW
* Tweaks to WB's additions for external command: use strncasecomp, add
LYExtern.o to src/makefile.in, changed test for empty command. - KW
* Changed LYKeymap.h and LYKeymap.c so they agree about the symbols
assigned to the new keys (SWITCH_DTD, EXTERN). - KW
* correct minor syntax err that caused SCO 3.x to fail make-include
autoconf test. also, eliminate whitespace before '#' that causes
compile-fail on K&R compilers. - TD
1997-04-28
* Updated lynx_url_support.html so as to make clear that the offer to
include the currently displayed document with right-angle-bracket
prefixing for mailto, newsreply, and snewsreply URLs is made only if
the user has defined an external editor via the Options Menu, and that
the user is expected to edit this inclusion so that it retains only
those passages relevant to the email or followup message which the
user will add. - FM
* Tweak of INPUT handling in HTML.c so that we use nbsp instead of any
spaces when loading a submit or reset button's actual value instead
of a series of underscores into the HText structure, so that we
still promote a wrap, if needed, at the space we ensured would be
present before each INPUT. - FM
* Made first_option a structure member rather than a static variable
in HTML.c - KW
1997-04-27
* Tweak of Control-C and Control-G handling for popup_options() in
LYForms.c. They were being sought improperly as command keys rather
than as raw keyboard entries. Note that only Control-G should be
used as "cancel" within popup windows on Unix, because Control-C
is not being trapped to a handler as on VMS. - LE, FM
* Tweak of the anchor counting code for HTGetLinkInfo() in GridText.c
so that it takes form fields into account when making a link current
based on a "Follow link number" entry with the 'g' suffix.
Also added comments to that code. - KW
1997-04-25
* Added information in the "Lynx bookmarks" section of the Users Guide
about appropriate versus unsupported modifications when editing the
bookmark files. - FM
* RP Styles 0.2 fixed a bit and brought up to current experimental code
level (no autoconfig or simple-curses, only older version of Wayne's
mods, maybe something else is missing, too). No documentation, no
detailed checking, no real cleanup. Makefile slightly adapted,
but still needs changing for new systems - see comments there. - KW
1997-04-24
* Tweaks for enhanced mouse support in Win32 and hooks for 386 which
doesn't have mouse support yet. - WB
* External command added. See LYExtern.* in src and lynx.cfg.
You need to define USE_EXTERNALS to compile this in. - WB
1997-04-23
* Modified LYCharUtils.c, HTML.c and LYMessages_en.h so that if a
partial reference (HREF or SRC value) would be resolved to an http
or https URL which has only two dots as the first symbolic element in
the path (e.g., http://host/../foo.html), such that the server would
reject the request, that element is excluded from the resultant URL,
but a statusline message is issued (once per document) about a bad
partial reference, as immediate feedback which might lead to the
document provider correcting the bad partial reference(s). We still
retain that first symbolic element, in compliance with the IETF RFCs
and IDs for resolving URLs, with other URL schemes (e.g., ftp). - FM
* Added a skip_stack int to the HTML.h struct _HTStructured, to use
for flagging that the next call to HTML_start_element or
HTML_end_element is an internal shortcut and should skip pushing
or popping the HTML.c paragraph style stack even for elements
that are not declared SGML_EMPTY. Added a SET_SKIP_STACK macro
to HTML.c to set the flag, use it. - KW
* Changes to HTML.c to better deal with a number of elements which may
or may not have been declared SGML_EMPTY in HTMLDTD.c:
if the last stacked element is HTML_OPTION, treat text as for
HTML_SELECT in HTML_put_character and HTML_put_character and
HTML_put_string. Added handling code for
to HTML_end_element
(similar but not identical to that for P in HTML_start_element).
Added check whether a SELECT is still open to FORM handling in
HTML_end_element. Added check whether a FORM is open to SELECT
handling in HTML_end_element. Added cases for end tags of
TABLE-related elements (TR, THEAD, TFOOT, TBODY, COLGROUP, TH, TD)
and of DT, DD, LH, LI, FONT, OVERLAY to the switch in
HTML_end_element, currently just break from the switch. - KW
* Some tweaks and corrections to the additional element info and
to the content types used with New_DTD, in HTMLDTD.c. Made
OPTION non-empty. - KW
* Now changed the tags_old[] in HTMLDTD.c, which is used with the
switchable "old" SGML parsing, to follow the changes for A, B,
BLINK, CITE, EM, FONT, I, STRONG, and U mentioned in the entry
of 1997-04-15. These, together with FORM and P, are all declared
as SGML_EMPTY now when the "old" SGML parsing is in effect, but
not with new parsing. - KW
* Changes to LYMail.c and LYPrint.c to send Content-Transfer-Encoding
headers and/or a charset parameter when mailing, based on idea from
Hynek Med. Don't use charset if we only have 7-bit characters
anyway. If compiled with EXP_CHARTRANS, use MIME name corresponding
to display character set if it looks valid (not "x-"), otherwise
only an explicitly given document charset. In the chartrans case,
don't send charset parameter for CJK since it may be wrong... - KW
* Added TRACE output to UCAuto.c - HM
1997-04-22
* refined check for slang libraries/headers by checking if $CFLAGS has been
set so that slang.h is in the search path - TD
* add check to allow use of broken ncurses 1.9.9e's color - TD
* add check for NGROUPS, TRUE, FALSE macro definitions - TD
* remove top-level makefile.in targets that can be combined with the generic
target (more work required on the remaining ones) - TD
* Plugged memory leak in deleteLinks() of HTAnchor.c. - KW
* When dumping or outputting a rendered document via the 'p'rint menu,
Lynx would use the underscore placeholders for submit/image/reset
buttons as for other INPUT fields. We now load the values of
submit/image/reset buttons instead of placeholders into the HText
structure, so the values will be seen when dumping or outputting
via the 'p'rint menu. See the comments under case HTML_INPUT: in
HTML.c for the still less than optimal things that happen if a
wrap occurs within the INPUT value or placeholder strings, as might
happen in PRE blocks, or for strings wider than the screen. - LE, FM
* SGML_abort() did not free memory used by the SGML.c parser stack.
Now it does, but still doesn't call HTML_end_element() for the
stacked elements (it's an abort after all...) - KW
1997-04-21
* Tweaks of the 1997-04-11 and 1997-04-09 mods in HText_endAnchor() of
GridText.c so as to take possible wrapping of Anchor content into
account when deciding whether or not to implement the Anchor as an
ACTIVATE-able link. - FM
* New SGML.c parser, and new HTMLDTD.c with additional element info.
Extra content information for each tag is now included in the
HTTag structure, and given in an extended tags_new[] table in
HTMLDTD.c. Modified start_element() and end_element() in SGML.c
to perform some heuristic wind-downs of the parsing stack, based
on the extra element info. - KW
* Revert treatment of some tags which were treated as SGML_EMPTY
before to their "natural" content model. No changes made to
HTML.c to accommodate this change, so results may differ where
HTML.c relies on previous hacks or has now handling code for
end tags of elements which were previously SGML_EMPTY. - KW
* Made SGML parsing switchable between old and new HTMLDTD info
and SGML.c code, controlled by a New_DTD global variable and
LYK_SWITCH_DTD toggle key. Use (temporarily?) ^V for the toggle key.
This is not yet changeable via command line, lynx.cfg, etc., and the
default is New_DTD==YES (so that it gets tested :-) ). - KW
* Made some of the error messages before exit in LYMainLoop.c and
LYMain.c go to stderr instead of stdout, but only for UNIX and,
in the case of the LYMainLoop.c messages, only if
dump_output_immediately was in effect. - KW
1997-04-20
* Tweaks in LYCharUtils.c to bind META CONTENT to a header value only
via an HTTP-EQUIV attribute (i.e., not via a NAME attribute). - FM
* Mod in HTAccess.c to ignore the anchor's no_cache element if we're
seeking a position in the currently loaded document. - FM
* Commented out the above change in HTAccess.c. There's a more complete
mechanism for it already in this code... - KW
* Fixed a typo in the bookmark file lead text. - DK (Doug Kaufman
)
1997-04-19
* Changed the inappropriate StrAllocCat() to StrAllocCopy() for
loading the XLOADIMAGE_COMMAND in LYReadCFG.c. - PC
1997-04-18
* Based on recent discussions in www-html@w3.org, added HY and SHY
to the DTD (treated as synonyms; one or the other is most likely
to be used in future HTML specs, so for now, we support both), as
markup equivalent to the named entity and numeric character
reference (soft hyphen). Note that Lynx implements soft
hyphens as specified in IETF RFC 2070 (link "HTML i18n" in the
Users Guide). Use of a tag instead of entity is preferable for
a soft hyphen because browsers which do not support soft hyphen
will ignore it as an "unknown tag" instead of inappropriately
inserting a hyphen or displaying the raw entity. Also added WBR,
which is handled like soft hyphen (indicating a permissible wrap
point), but does not insert a hyphen at the wrap. - FM
1997-04-17
* Mods in HTML.c, HTML.h, and LYMessages_en.h to issue an HTML stack
overrun message only once per document, and as a statusline message
if not in TRACE mode, and to check in HTML_end_element() for
correspondence between the SGML and HTML stacks if an overrun should
occur. - FM
* Corrections in HTML.c for the bounds checks associated with DIV and
CENTER nesting levels, and for an HTML stack underrun. - KW
* Plugged a memory leak under case HTML_IMG: of HTML_start_element() in
HTML.c, and removed an inappropriate if(){} in HText_endAnchor() of
GridText.c. - FM, KW
* Modified the lead text created for bookmark files in LYBookmark.c so
that it indicates that an editor can be used to delete or reorder
the links, but that the format within lines should not be changed,
nor other HTML markup added. Note that the new lead text will be
used only when new bookmark files are created via the 'a'dd bookmark
link command. A new bookmark file is not created if the one being
sought already exists, so existing ones will still have the old
lead text. - FM
1997-04-16
* Extensive changes to try to keep track of whether a document (or
a location within it) was reached by an internal (fragment-only)
URL reference or not. The basic idea is to be serious about I-D
(currently) draft-fielding-url-syntax-04.txt.
URL references starting with '#' are always to the current
document (from which the reference is made). This leads to a
lot of hackery in HTML.c, LYMainLoop.c, LYHistory.c, etc. etc...
to distinguish a doc that was reached by an "internal" reference
from others. But it seems necessary to keep track of how the
reference to a fragment was specified, whether with a non-empty
"real" URL (possibly relative) preceding the '#' or without it,
all the way way from the HTML parsing to the mainloop. Only then
can the mainloop decide to not start a new retrieval for an internal
reference without skipping a new retrieval if a full URL reference
with fragment is made to a location in the same document (which
may be non-cachable or the result of a POST)...
This code prevents unnecessary/inappropriate POST form resubmissions
on following an internal link in a POST response, as they are
present for example in WebTechs validation results. - KW
* A "Goto numbered link" feature. The user interface could be improved...
Start typing the link number, then add 'g' before hitting enter - KW
* Some improvements to WHEREIS search. Will not always position
found string on first line (details depend on whether anchors are
present, usually will position in top third of screen), and avoid
some unnecessary screen updates. - KW
1997-04-15
* Miscellaneous additional tweaks in HTML.c for more robust error recovery
from bad HTML involving emphasis or style elements (B, BLINK, CITE, EM,
FONT, I, STRONG, and U), or HREF-less NAME-ed Anchors without matching
end tags. - FM
* Modified the declarations in HTMLDTD.c and code in SGML.C, HTML.c, and
GridText.c to handle A, B, BLINK, CITE, EM, FONT, I, STRONG, and U
container elements homologously to the modified handling of FORM (see
1997-04-05 mods) so that if they are invalidly interdigitated or have
spurious end tags in the markup, substitutions of the "expected" end
tags by the SGML.c stack-based parser will not be made, and without
messing up the HTML.c stack-based parser. Appears to work reliably
for all of the elements, and to be reasonably crash safe (hopefully
as safe as the vanilla v2.7.1), but there are no guarantees. - FM
* Only *some* (most?) of the changes described in the above two
entries are used, as far as they change HTML.c. Not yet using the
changes to HTMLDTD.c and SGML.c. - KW
* refined logic of SVr4 curses color support to test the no_color_video
attribute - TD
* ifdef'd NCURSES_MOUSE_VERSION logic to allow build with ncurses 1.9.4 - TD
* ifdef'd wgetbkgd misspelling to allow build with ncurses prior to 1.9.9g - TD
* document USE_MOUSE configuration-option - TD
* modify configure script and makefile.in templates to make BSDI_Makefile
obsolete - TD
* rename config.h to lynx_cfg.h to minimize conflict when configuring against
ncurses or slang in nonstandard locations - TD
* new autoconf macro CF_HEADER_PATH is used to make header-search for slang
the same as ncurses - TD
* modify CF_CURSES_LIBS, CF_NCURSES_LIBS and CF_SLANG_LIBS to accommodate
predefinition of $LIBS variable - TD
* corrected autoconf'd compiler flags for Ultrix - TD
* add config.guess & config.sub to allow specialized host-type checks - TD
* guard against redefinition of NO_FILIO_H - TD
* use new autoconf macro CF_SYSTEM_MAIL_FLAGS -JES
1997-04-14
* Tweaked LYAddImageMap() in LYMap.c so that it removes all pre-existing
AREA element entries when updating MAP element content, and set the
no_cache anchor element in LYLoadIMGmap() so that the updated MAPs
always will be used when rendering. - FM
* Not using the no_cache change from last entry, until further
investigation. - KW
* Removed two spurious lines under case LYK_PRINT: in LYMainLoop.c
(from an old cut and paste from case LYK_HISTORY: done too late
at night 8-). - FM
1997-04-13
* Modified the handling of BASE for resolving HREFs in relation to MAP
and AREA elements, and USEMAPs in IMG and OBJECT elements. The
formally released code was treating such links equivalently to the
handling of fragments for positioning the display to ID-ed elements
or NAME-ed Anchors, and assuming they're in the same document if the
associated HREF value begins with a '#', rather than resolving versus
the BASE, and was always resolving versus the BASE for MAP ID or NAME
attributes, and for the AREA HREFs in MAP content. We now always
resolve the MAP ID or NAME attributes versus the current stream's
address (since the MAP must be in it or we wouldn't be handling it)
[...] According to the
original draft and the current HTML 3.2 Proposed Standard,
MAPs need not be in the same document as the IMG or OBJECT elements
which specify links to the MAPs. Because MAPs are "deferred objects",
they logically should be placed above any IMG or OBJECT elements which
reference them in the same document (as is done for SCRIPTs), but this
isn't stated in the specs, nor always done in practice. [...]
([A]uthors who place the MAPs further down in the same document should be
informed about "deferred objects" and encouraged to move them up 8-). - FM
* Use logical extension of the rules for HREF references also for
USEMAP references to MAPs: relative URL references are resolved with
respect to a BASE element if one is present in the document where they
occur, unless they are URL references without a URL, i.e., only a
fragment starting with '#'. In the latter case they are taken as
internal references referring to a MAP in the same document where
the USEMAP occurs, whether the MAP occurs before the USEMAP (as it
should, according to previous entry) or after the USEMAP.
HREF's in AREA elements follow the same rules. - KW
* Fixed bug in HTML_free() for the case when LYMapsOnly is set. We
didn't create an HText structure for the stream (just scanned it for
MAPs and processed them into LYMap.c's LynxMaps structure), nor do
we want to create a blank one (as was being done) since we didn't
render the stream, nor would we have a me->target set. So we just
free any me elements that might still be allocated (though they
should have been freed already), and return rather than continuing
through the rest of the HTML_free() code. - FM
1997-04-11
* Fixed bugs in Gridtext.c and HTML.c which could cause mishandling
of anchors in LINKS_ARE_NUMBERS mode if a line wrap occurred in
the numbered bracket or the anchor content following the bracket,
and failures to suppress the numbered bracket if the anchor content
was empty due to ALT="" in an IMG tag, or if Lynx was configured or
toggled to suppress the link for the server-side image map if both
ISMAP and USEMAP attibutes were present in the IMG tag. - FM
* Only using the number-removing code under additional conditions:
ISMAPs which appear together with USEMAPs and which are suppressed
with LYNoISMAPifUSEMAP in LINKS_ARE_NUMBERS mode. - KW
* Extended the disk_save restriction to the print menu as well as
the download menu, and accordingly updated lynx.hlp, lynx.man, and
Lynx_users_guide.html. - HN, FM
1997-04-09
* Many changes to further the Win32 and 386 ports. An emulation of
the HTVMS_ calls was used to try and cover all the DOS'izms.
A specialized ifdef for pdcurses color mapping added. Some keypad
tweaks. More generalized process spawning. .lynxrc is lynx.rc for 386 - WB
* Tweak to ensure that a newline isn't inserted by virtue of a
FORM start tag if it's in the first line of a list element and
no text precedes it other than a UL's bullet or OL's number
on that line. - FM
* Added pauses for the "Bad HTML" statusline messages under cases
HTML_HTML and HTML_BODY in HTML_end_element(), and eliminated
their checks for an unclosed FORM because we no longer expect
that to cause a serious problem. - LE, FM
* Added a NO_ISMAP_IF_USEMAP configuration symbol and -ismap
command line toggle for suppressing inclusion of a link for the
server-side-image-map if an IMG or OBJECT element has both ISMAP
and USEMAP attributes such that a client-side-image-map link is
created. Updated lynx.man, lynx.hlp and Lynx_users_guide.html
accordingly. - FM
* Fixed a glitch in HText_endAnchor() of Gridtext.c which could
cause dangling Anchors in LINKS_ARE_NUMBERED mode if the Anchor's
content was handled in a manner which caused it to become zero
length. - FM
* Moved handling for NEWS_POSTING in LYReadCFG.c to the right place,
so that it can actually have an effect. - LV
* Typo fixes for the comment concerning NO_ANONYMOUS_EMAIL in
userdefs.h - HN, FM
1997-04-08
* New translation table koi8r_uni for KOI8-R charset. Lynx can now
translate between iso-8859-5 and KOI8-R, at least for the Cyrillic
characters present in both. - KW
* New translation table def7_uni with default 7-bit mappings
(replacement representation). Based on RFC1345 and mnemonic,ds
from ftp://dkuug.dk/i18n/ and previous Lynx replacements
in LYCharSets.c and IPA FAQ convention and stuff for Ethiopic and
KOI8-R. It maps many of the accented Latin characters present in
Unicode to their unaccented counterparts. This table is now
used for the "7 bit approximations" display "character set". - KW
* Entities for Latin2 characters added to HTMLDTD.c These also
include many entity names for ASCII characters, and characters
which are in both iso-8859-1 and iso-8859-2. - Hynek Med
* Changes to the non-chartrans translation tables in LYCharSets.c
for Đ, Ð, and ð. Treat Đ more like
an entity for the (Latin-2) Unicode character U+0110, since
that seems to be SGML standard usage. - KW
* Added mappings for some "smart quote" characters to several
translation tables. - KW
* Make makeuctb slightly more flexible (accept unicode range for
mapping to single code point). - KW
1997-04-07
* Took out special-case handling in the curses-color code for underlining
when lynx is running under Linux using the linux console with color.
The code was introduced on 1997-03-12 and would ignore "smul" capability
info from terminfo or termcap under those circumstances, always using
bold instead of underline. - KW
* Slightly modified the FORM handling patch of 1997-04-05, as follows:
Use a generic test for a non-SGML_EMPTY element for bypassing the
stack pop in HTML_end_element() of HTML.c instead of an explicit
test for HTML_FORM. - KW
1997-04-06
* Patch for IMG elements which have both ISMAP and USEMAP in effect.
In HTML_start_element() don't generate the "[ISMAP]-" string for
output in this case, unless clickable_images is set TRUE. - KW
1997-04-05
* Patch for Lynx v2.7.1 to handle invalidly interdigitated container
elements or spurious container end tags without substitutions of
"expected" FORM end tags by the SGML.c stack-based parser, and
without messing up the HTML.c stack-based parser. Reliably succeeds
in not closing FORMs before all of the FORM elements, including
submit buttons, have been processed. Should be reasonably crash
safe (hopefully as safe as the vanilla v2.7.1), but there are no
guarantees. - FM
1997-04-04
============================================================================
--- Release of Lynx2-7 + BUGFIXES as Lynx v2.7.1 (April 4, 1997) by FM ---
============================================================================
* Note that 2.7.1 was not a release from this code set, but all 2.7 -> 2.7.1
bugfixes and other changes are also included in this code set, in either
identical or equivalent form. Therefore the entries below this point
comprise the 2.7 -> 2.7.1 changes, and additionally other changes made to
the development code set during that time. - KW
1997-04-02
* add Andrew Kuchling's patch to support mouse-clicks with ncurses. - TD
* refine tests that address porting problems to SCO (detecting struct winsize,
workaround for misdefinition of 'remove') - TD
* refine CF_COLOR_CURSES test to avoid ncurses 1.9.9e bugs. - TD
* refine CF_PATH_PROG to allow for machines that haven't the given programs,
by using only the program name and added configure option
--disable-full-paths to enforce this behavior. - TD
* fixes for some gcc compiler warnings (missing prototypes, unused variables,
uninitialized variables, shadowed variables). - TD
* Fixed typos in LYHistory.c, LYMail.c and LYMain.c which caused
failures of flag setting in the distributed code. - TD
* correct cast in HTFWriter.c that may break if atoi() is not prototyped. - TD
* add top-level makefile target 'maintainer-clean', use this to remove
Lynx.prj - TD
1997-03-31
* Added a missing check for whether the fragment token is NULL in
LYConvertToURL() of LYUtils.c. Without the check, the for-Unix code
could crash if a local file spec was entered as a startfile or goto
with escaped characters. - KW
* Mod in HTML.c to retain "[INLINE]" as the default ALT string if an
IMG element has an ISMAP attribute but is not in Anchor content such
that it could not in fact function as a server-side image map. - FM
1997-03-27
* In mainloop(), after the call to HText_pageDisplay() following a change
of the document view, ensure that curdoc.link does not remain set to -1
if there are any links on the screen. This would otherwise happen if
a document is pushed to the history stack while there are no links, and
later popped (and refreshed) after one or more links have been created.
This change prevents segmentation faults which occurred after creation
of a new file in a previously empty directory via the DIRED menu. The
access to invalid memory only occurred if the screen showing the empty
directory did not have a parent dir reference link (which is always the
case if NO_PARENT_DIR_REFERENCE was specified at compilation time). - KW
* In LYLocal.c, modified the code handling DIRED_MENU to do more careful
checking of the selected file. In addition to "TAG", "FILE", and "DIR",
DIRED_MENU definitions in lynx.cfg now also recognize LINK as a type.
DIRED_MENU definitions with a type field of "LINK" are only used if the
current selection is a symbolic link ("FILE" and "DIR" definitions are
not used in that case). The default menu definitions have been updated
to reflect this change, and to avoid the showing of menu items whose
action would always fail - KW
* Some cleanup to eliminate compiler warnings, remove some unused
variables - KW
* Fixed a typo and added comments for the code in LYMainLoop.c which
decides whether to load the URLs for homepage and/or startfile into
the goto buffer at startup. The typo in the distributed code caused
the startfile URL always to be added to the goto buffer, even if
it had POST content such that it could be resent inappropriately
as a GET request via the goto buffer. - FM
* Added a bsdi-slang target to the Makefile. - Laura Eaves
1997-03-26
* Changed highlighting of strings found by a WHEREIS ('/') search.
Now uses Christmas tree attribute combination ("all bits are on"),
which with color support translates to COLOR:7. - KW
* Modified the HTStream structure and associated code in src/HTFWriter.c
so that we save and use the relevant content of the associated
HTPresentation structure as two HTFormat elements rather than via a
pointer to the HTPresentation structure itself, because the latter
structure might not be valid under some circumstances when
HTFWriter_free() is called. The distributed code might indirectly
result in segmentation faults during downloading on Linux and some
other flavors of Unix (though they don't occur for most flavors, or
on VMS). - KW
1997-03-23
* Further reduction of top-level makefile.in by moving definitions out of
WWW/Implementation/*/Makefile, so only one is needed for autoconfigured
build (i.e., WWW/Implementation/unix/Makefile). This highlights the
remaining differences between the top-level targets - TD
* Make configure script generate Unix makefiles in subdirectories, a step
toward being able to run make from any directory, for development - TD
* Add autoconf tests for paths of programs, including sendmail vs mmdf - TD
* Add configure script options for development (--disable-echo, --enable-debug,
--enable-find-leaks, --enable-warnings) - TD
* Allow user to override search path for ncurses header by setting $CFLAGS or
$CPPFLAGS - TD
* Correct array limit in LYCurses.c for SVr4 color support - TD
* Use addstr rather than printw in popup-forms to address concern about 8-bit
characters - TD
1997-03-21
* Changes in auto config handling of ncurses header location, function
used for reading terminal input, some other system dependent tweaks
(including SCO broken remove, time.h) - TD
* Fix for popup handling with late ncurses versions (uses wprintw
instead of waddstr in LYForms.c) - TD
* Mods in LYPrint.c to use ".txt" as the output file extension for
all rendered text/html files regardless of their original extension.
The distributed code was doing this only for ones with an extension
of ".html". The original extension still is retained if the file
is being output as source. - FM
* Added protection against passing a NULL pointer for path_url to
render_item() from dired_options() in LYLocal.c. - GN
1997-03-20
* Tweaked the protection against URLs directed to port 19 or port 25 so
that it can't be circumvented via lead zeros in the port numbers. - FM
* Changed the compilation default so as not to send From MIME headers to
http or https servers. The default can still be changed via lynx.cfg.
Replaced the -nofrom disabling switch to a -from switch for toggling
the compilation or configuration default. Sending the From header
has become widely regarded as an invasion of privacy risk, particularly
in conjunction with cookie support. - FM
* Corrected a typo in the lynx.cfg comments concerning TRUSTED_LYNXCGI
rules. - KW
1997-03-17
* Mods of LYNews.c and LYMail.c to prepend a "-- " separator before
appending the LYNX_SIG_FILE signature file to news and email
messages. - FM
* Made the installation mode 755 in the top-level Makefile. The
distributed code used 555, and some install commands were unable
to do the strip. - LV
1997-03-14
* Corrected typos and expanded the comments concerning lynxcgi symbols
in userdefs.h and lynx.cfg. - FM
* Modified SGML.c to handle the numeric character reference ™ as
the named entity ™ also in the non-chartrans case. The
trademark character (given by ™ or ™) will be shown as
"(TM)" as the ASCII substitution unless the current display character
has a code point for the trademark character or unless overridden by a
chartrans translation table. The code of 1997-02-25 prevented showing
the trademark sign as "(R)" but did not work in all non-chartrans
cases. - KW
* Include time.h via tcp.h for SVR4 systems. The tcp.h header does include
sys/time.h for Unix systems, but this apparently doesn't get struct tm
and extern char * ctime() declared for SVR4. - FM
1997-03-13
* Added protection in LYGetFile.c against connections to the port 25
ESMTP service. - FM
1997-03-12
* (chartrans) Make compilation in src/chrtrans less verbose, no more
generating automatic *.h_old backup copies. - KW
* Refinement to the SVr4 (ncurses) color support, allowing it
to more closely model the slang support. - TD
1997-03-11
* Tweak for command line parsing of files with no URL in LYUtils.c.
Also added ability to pass partial domain names in the DJGPP version. - WB
* Added the closing function for Win32 TCP in LYExit.c (did anyone see a
difference?!). - WB
* Altered LYCurses.c so that the DJGPP version could spawn other programs
without certain death. - WB
* Ignoring the whole ~/lynx.cfg problem (expanding '~') entirely for the
Win32 version for now. - WB
* Some other tweaks for Win32 and DJGPP - WB
* Added protection in LYGetFile.c against denial of service attacks via
the port 19 CHARGEN service. The distributed code left Lynx or proxies
vulnerable to such attacks via direct or redirection URLs. - FM
1997-03-10
* Fixed error in the handling of numeric character references with values
greater than 255 in SGML.c. The distributed code was breaking after
substitutions instead of falling through to reset the string chunk and
recycle the terminator if not a semi-colon. - FM
1997-03-09
* Integrated (simple) color, auto-configure patches with 2.7 following
chrtrans patch - TD (T.Dickey), JES (J.Spath)
1997-03-08
* Fixed error in the switch positioning of checks for XLOADIMAGE_COMMAND
and wais_proxy in LYReadCFG.c. The distributed code had them reversed
under case 'W' versus case 'X'. - PDS
* Expanded the copyright and licensing statements in the -version
output. - FM
1997-03-04
* Corrected the offset computation in textsearch() of LYSearch.c so that
WHEREIS searches repeated on a page with no links seek the target
starting at the line immediately following the last displayed. The
distributed code was setting a greater offset. - JES
1997-03-02
* Don't entify post content for the showinfo display, now that we are
making it an XMP block in that display to handle all of the supported
enctypes. - FM
* Patches to fix mail and FTP for Win32 (LYMail.c, HTFile.c). - WB
* Makefiles to compile chartrans code for Win32. - WB
* (chartrans) Minor cleanups (makeuctb.c, chrtrans/Makefile, HTPlain.c)
to enable successful compilation on Win32. - KW
1997-02-28
* Changed all references to "image/*" to just "image" in the userdefs.h
and lynx.cfg comments about XLOADIMAGE_COMMAND. The "/*" within the
userdefs.h comments was generating warnings from some compilers. - FM
* Added a snake-slang target to the Makefile, and added -DUNIX to the
LYFLAGS for the snake3 and snake3-slang targets (HP-UX apparently does
not define "unix" itself with the -Ae switch, and thus needs to have
that definition forced via -DUNIX). - HL
* Merged with patches and makefiles from Wayne Buttles
(buttles@wsb.champlain.edu) to enable compilation in two new environments:
Win32 (95/NT) with Borland C++ 4.52 compiler, and 386 DOS with DJGPP
compiler. To add ports for Win32 (95/NT) and 386 DOS computers with a
packet driver, four new defines were created: _WINDOWS (Defined for Win32
specific code - Mostly TCP related), DJGPP (Defined for 386 specific code -
Mostly TCP related), DOSPATH (Defined for any DOS'ish computer), and
NOSIGHUP (Defined for computers not supporting sighup signal calls).
Separate utility programs needed for compiling and running Lynx on those
platforms are available from Wayne at
. - WB, KW
* Fixed Telnet for Win32 - WB
* (chartrans) Small correction in SGML.c (set_chartrans_handling) - KW
1997-02-26
* Close both descriptors of the pipe() for the NSL_FORK enabled code
in HTTCP.c. The distributed code was closing only one of them on
completed gethostbyname() calls, and neither on 'z'aps. - FM
* Changed the HREF for the "Lynx FAQ" link in the online 'h'elp to
its new URL (http://www.slcc.edu/lynx/faq.html). - FM
1997-02-25
* More reverse engineering to cope with Netscape's bogus cookie header
parsing. The parser must not require an '=' between the expires
attribute name and value, because Set-Cookie headers are being
transmitted without it (e.g., by http://law.agps.gov.au). So Lynx
now treats that as another special case. - FM
* Cope with invalid use of expires attributes in Version 1 cookies.
An -06 State Management draft recommends that for "backward
compatibility", and has been severely criticized in the HTTP-WG,
but it would be foolish not to assume Netscape will do that. See the
expanded comments in LYSetCookie() of LYCookie.c for more information.
Note that "expires" thus cannot be used as a Version 1 cookie name, but
a provider would be foolish to use that, anyway. Note also that the
possibility of using different header names for Version 1 versus
Version 0 (a.k.a., "Netscape") cookies is being discussed in the
HTTP-WG, which might have been better to do in the first place, but
the -05 draft has been approved as RFC 2109:
http://info.internet.isi.edu/in-notes/rfc/files/rfc2109.txt
so it would be a while before that were done, if ever. - FM
* chartrans code for translation of character sets, handling of Unicode,
and i18n updated for Lynx 2.7. Support for CHARSET attribute on A
tags. New directory src/chrtrans with table files. Compilation flags
-DEXP_CHARTRANS, -DEXP_CHARTRANS_AUTOSWITCH (for Linux),
-DSLANG_MBCS_HACK (for raw unicode console).
New command line options when compiled with -DEXP_CHARTRANS, i.e.,
"-assume_charset", "-assume_local_charset", "-assume_unrec_charset".
See README.chartrans and README files in src/chrtrans for more info.
INFO screen shows of effective charset even if not given explicitly.
Translation routines in LYCharUtils.c not chartrans-ified at this point - KW
* No showing of ™ or ™ as (R) any more, use (TM) instead. - KW
* Prefer HTTP-EQUIV over NAME in META tags. - KW
1997-02-22
* Fixed a memory management glitch which could cause a crash if the
MIME type of a reply to a FORM submission with METHOD=POST caused a
download offer to be invoked. - FM
* Don't simplify ftp URLs by trimming trailing slashes if the URL is
being proxied. The Netscape proxy server for some unknown reason
can return redirection for ftp URLs with the slash appended, and
trimming it can result in a redirection loop. Based on a posted
patch from KW. - FM
* Fixed two typos in the checks for HTPassHighCtrlRaw in LYExpandString()
of LYCharUtils.c. - KW
* Fixed typo in the equality check on line 1553 in HTGopher.c. - FM
1997-02-19
* Reset the host string after an '@', if present, when trimming default
":port" fields in the new code aimed at compliance with the Masinter
and Fielding URL drafts, expected to replace RFCs 1738 and 1808. The
distributed code neglected to do that, and was ending up on a ":password"
field, if present, instead of on the ":port" field, causing the username
to be treated as the host name. - FM
* Expand the default port trimming so as to include all of the registered
URL schemes which support a port field in the v2.7 release. - FM
* Correctly uncache the current directory listing when invoking an 'u'pload,
so that it will be updated to include the uploaded file if placed in the
current directory. The released code attempted to do this in a manner
which prevented a pop, so that the directory listing couldn't be restored
on return from the uploader menu. - FM
* Recognize a bookmark file used as the startfile, whether it resides in the
home directory or in a subdirectory off home. The released code failed if
the file was in home, and not in a subdirectory, unless the -book switch
was used instead of a startfile entry or WWW_HOME variable. - FM
README.options 0000644 00000006544 15252757227 0007145 0 ustar 00 README.options
Using the lynx browser [O]ptions configuration tool.
General Usage on a unix system:
Press "O" at any time in your lynx session to access this utility page.
This is one of several custom "system" URLs that cause lynx to self-configure.
Please note:
Ensure and confirm that your [O]ptions session is flushed to disk, by selecting:
Save options to disk: [_] before selecting "Accept Changes".
This freshens your .lynxrc file, which is your default "personal" configuration
for the lynx browser. Otherwise you will only affect settings for your
individual session; they aren't remembered next time you use lynx, (since you
actually did not tell lynx to remember them).
This disk write to .lynxrc is not default behaviour for [O]ptions
configurations. The lynx browser tends to tread lightly at first. Note that
you must first have permission on your system to create, write to and read
from a .lynxrc file in your home directory.
Using some of the menu items:
User mode controls the amount of "on screen" help at the bottom of the screen.
You get the familiar view of the link target you are on when you use ADVANCED
user mode, and this also gives you the most top to bottom screen area.
ADVANCED user mode also allows for sub bookmark functionality (see below).
The (for now) command line only option --nomargins provides the largest
readable left to right screen coverage.
Editor is for jumping to vi or whatever you prefer during local file edits
and for textarea editing with ^Xe if you are filling out a form while browsing.
Please see README.cookies for a brief cookie handling discussion.
Multi-bookmarks allows several files to be your bookmarks; it will introduce
a browse list of them if they are defined as below.
Once the Multi-bookmarks setup on Options is done and has been written out to
your .lynxrc (remember to Accept Changes and to Save Changes to disk),
in .lynxrc you will see a list of 25 possible "other" bookmark files
(26 letters minus "A") - you need to then associate some of them with
(meaningful) filenames to get the Multi-bookmark menu.
Note that the files must be relative to your home directory.
The best way to create and manage them is by using the MultiBookmarkMenu (MBM)
configuration tool selectable from the [O]ptions menu.
The MBM allows you to describe the sub bookmark, and name a file relative
to your home directory that will contain the html for the saved links.
You populate one of the lettered sub bookmarks, describe it, and provide a
filename. ">" saves the edits, and ^G cancels edits.
The sub bookmarks will be accessible by pressing the associated key from a
menu when invoking the bookmark choice (lynx -book, or 'V' in a session), or
when saving new bookmarks. You can directly access your sub bookmarks by letter
key alone by defining sub_bookmarks=ADVANCED in .lynxrc or lynx.cfg, if you
have ADVANCED general user mode selected as well.
The Multi-bookmark submenu can still be seen in ADVANCED by pressing "=", and
is always seen in STANDARD mode.
They are seen in your .lynxrc like so:
multi_bookmarkB=cars,Cars
multi_bookmarkC=news,News
multi_bookmarkD=sports,Sports
Filename precedes description in .lynxrc, whereas in the MBM configuration
utility, the description is the left column, and the filename is in the right
column displayed.
Stef Caunter
http://caunter.ca/contact.html
http://caunter.ca/README.options
FM.announce 0000644 00000007110 15252757227 0006613 0 ustar 00 LYNX FILE MANAGEMENT SUPPORT
New facilities have been added since Lynx 2-3 to provide support
for managing files on the local filesystem. These facilities allow
the user to delete, rename, and re-locate files and/or directories and
to create and/or upload new files and directories. This will mainly
be of interest to systems administrators who are interested in running
lynx as a restricted shell in order to provide controlled access to a
range of services (as in a freenet). It may also be of use at sites
where some of the users are experiencing difficulty with the raw Unix
interface.
Support for the new facilities is enabled at compile time by defining
the variable `DIRED_SUPPORT' in the `MCFLAGS' list in the Lynx
Makefile, and in the WWW makefile `CommonMakefile'. Runtime support
for disabling the facilities is provided by way of the restriction
`dired_support' which can be set on the command line for a particular
session.
The Makefile also provides additional compile time flags for
controlling the extent and application of the file management
facilities; specifically, `OK_TAR' which enables support for creating
and expanding tar archives, `OK_GZIP' which enables use of gzip to
compress and decompress files, and `OK_OVERRIDE' which allows access
to the file management facilities directly from the keyboard in
addition to access by way of a file management menu.
There are two possible modes of operation; the first in which a single
file management menu is invoked via the `f', or `F' key; the second,
in which the more often used facilities are made available directly
from the keyboard in addition to access via the menu. The second
method provides a much better user interface but requires re-mapping
some of the keys from their standard lynx interpretation, temporarily
when file management mode is in effect. For example, if OK_OVERRIDE is
defined at compile-time, then the line at the bottom of the screen, in
novice mode, will be
C)reate D)ownload E)dit F)ull menu M)odify R)emove T)ag U)pload
rather than the standard second noviceline,
H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list
when the user is browsing part of the file system. If OK_OVERRIDE is not
defined then all access to file management functionality must be by way
of the menu. The only exception is that the facility to tag files for
subsequent removal and/or re-location is always available directly from
the keyboard using `t', and `T'.
This is a first release of the file management enhancements and suggestions
for improvements are welcome. Among the enhancements which are currently
being considered are facilities for changing file access attributes, and
a facility for listing and extracting part of an archive.
In order to use the file management facilities you may either point
the program at a directory on the command line or point the program at
an html file which contains a link of the following form:
Manage Personal Directory ?
where the anchor `file://localhost/~/' implies a reference to
/home/username. Because the `~/' in a file URL is converted to
`/home/username' regardless of origin, these facilities also work when
the anchor shown above is served from an http server as well. In
either case the reference is to files on the local system and not
files in the domain of the server.
By default the file listing is in standard Unix mixed format, but you
may use the Options menu to select WWW `directories first' format, or
`files first' format if you prefer.
Rick Mallett, Carleton University, Ottawa Canada. (rmallett@ccs.carleton.ca)
README.defines 0000644 00000014114 15252757227 0007057 0 ustar 00 -- $LynxId: README.defines,v 1.19 2018/03/11 22:48:09 tom Exp $
This file lists preprocessor macros (symbols) which are tested in the
code (typically with ifdef).
Does not include
- symbols defined and documented in userdefs.h
- symbols expected to be set by compiler to indicate system type or
compiler features
- many symbols set and used only in connection with the ./configure
mechanism - the full and current list can be found in config.hin
(as a template) or, after running ./configure, in lynx_cfg.h.
- most symbols and macros defined in the source code
***Not complete.***
A. Symbols primarily to enable compilation on specific systems
==============================================================
See also under B for things needed by some systems.
# if you have an SVR4 system with the "type any key" problem, try defining
#
# -DSVR4_BSDSELECT
---
Ports have been added for Win32 (95/NT) and 386 DOS computers with a
packet driver. I created four new defines to accomplish this.
_WINDOWS Defined for Win32 specific code (Mostly TCP related)
DJGPP Defined for 386 specific code (Mostly TCP related)
DOSPATH Defined for any DOS'ish computer
NOSIGHUP Defined for computers not supporting sighup signal calls.
-- Wayne Buttles lynx-port@fdisk.com
Added for 8+3 filesystems (DOS):
FNAMES_8_3 also defined in userdefs.h if __DJGPP__
* incorporate changes for win32 by Hiroyuki Senshu
(SH) from
ftp://crab.it.osha.sut.ac.jp/pub/Win32/develope/senshu/Lynx/
Most changes are ifdef'd
#define _WIN_CC= .... for Windows C Compiler
#define CJK_EX .... CJK EXtension
#define SH_EX .... Senshu Hiroyuki EXtension
#define WIN_EX .... Windows EXtension
B. Symbols to enable or disable specific features, mostly
=========================================================
Note that some of these may be only usable on some system types,
most were originally for UNIX.
Network related, specific protocols
-----------------------------------
# -DSOCKS For making a SOCKSified lynx.
see comments in makefile.in
Related to DirEd code - probably only usable for UNIX or similar
----------------------------------------------------------------
# -DDIRED_SUPPORT (see INSTALLATION, Section II-1c)
# -DOK_GZIP (see INSTALLATION, Section II-1c)
# -DOK_OVERRIDE (see INSTALLATION, Section II-1c)
# -DOK_PERMIT (see INSTALLATION, Section II-1c)
# -DOK_TAR (see INSTALLATION, Section II-1c)
# -DOK_UUDECODE (see INSTALLATION, Section II-1c)
# -DOK_ZIP (see INSTALLATION, Section II-1c)
# -DOK_INSTALL to enable dired menu "Install" function
# -DARCHIVE_ONLY (see INSTALLATION, Section II-1c)
# -DNO_CHANGE_EXECUTE_PERMS (see INSTALLATION, Section II-1c)
# -DCANT_EDIT_UNWRITABLE_FILES (see LYEdit.c - always in effect for VMS)
Related to formatting of local directory listings
-------------------------------------------------
# -DLONG_LIST (see INSTALLATION, Section II-1c)
# -DNO_PARENT_DIR_REFERENCE (see INSTALLATION, Section II-1c)
Related to screen display
-------------------------
Using curses or ncurses library:
# -DNCURSES (see INSTALLATION, Section II-1c)
# -DFANCY_CURSES whether curses lib supports more than very basic stuff
for UNIX handled by ./configure, for VMS defined in code
# -DNO_KEYPAD (old) or HAVE_KEYPAD (new) whether curses lib uses keypad().
for UNIX handled by ./configure, may be set in HTUtils.h
# -DCOLOR_CURSES whether curses lib supports color (in the right way).
for UNIX handled by ./configure
# -DUSE_COLOR_STYLE (see INSTALLATION, Section II-1c) needs SVr4 curses
# -DUNDERLINE_LINKS Define if you want links underlined instead of bold.
# -DNO_SIZECHANGE (old) or HAVE_SIZECHANGE (new) whether using code to detect
new size after size changes of the terminal (window).
for UNIX handled by ./configure, may be set in HTUtils.h
# -DUSE_SCROLLBAR supports scrollbar when built with ncurses
# -DWIDEC_CURSES whether curses lib supports wide/multibyte characters.
Using slang library:
# -DUSE_SLANG (see INSTALLATION, Section II-1c)
Other general
-------------
# -DIGNORE_CTRL_C Define if Control-C shouldn't exit lynx.
# -DINACTIVE_INPUT_STYLE_VH Different style for showing inactive text fields
# -DNO_DUMP_WITH_BACKSPACES Disables -with_backspaces code
# -DNO_RULES Disables code for CERN-style rules files
# -DUSE_VASPRINT Use vasprintf() function
Untested
--------
# -DNO_EXTENDED_HTMLDTD Disable some "SortaSGML" code, see SGML.c
# -DWIND_DOWN_STACK Aggressive handling of end tags for "TagSoup", SGML.c
C. Secondary symbols
====================
Some macros that are not primary, i.e. they are normally automatically
set or unset in the code based on other macros (including those from
./configure), but it may be sometimes useful to set them differently.
They may directly affect several source files. Filenames show where
they are set. Normally installers shouldn't have to care about these
symbols.
COOKIE_FILE LYMain.c default cookie file in HOME dir
SHOW_WHEREIS_TARGETS LYCurses.h whereis search highlighting
USE_KEYMAPS LYCurses.h use of .lynx-keymaps files
D. Symbols defined locally to modify some behavior
==================================================
Defined in the source files to which they apply. Only filenames are listed,
the files would have to be read and edited anyway to change the definition.
Normally installers shouldn't have to care about any of these symbols.
ADVANCED_INFO LYShowInfo.c
ALLOW_PROXY_HEAD LYUtils.c
CHECK_FREE_MEM GridText.c
CLEAN_URLS HTParse.c
DEBUG_HOSTENT HTTCP.c
DEBUG_HOSTENT_CHILD HTTCP.c
DEFAULT_INVCHECK_BV LYCookie.c
DUPLICATE_ANCHOR_NAME_WORKAROUND HTAnchor.c
EXTENDED_OPTION_LOGIC LYMain.c
EXTENDED_STARTFILE_RECALL LYMain.c
OPTNAME_ALLOW_DASHES LYMain.c
OVERLAP HTNews.c
RESTRICT_NM_ALLOW_DASHES LYUtils.c
SOCKET_DEBUG_TRACE HTTCP.c
TRADITIONAL_SUFFIXES HTInit.c
USE_XHDR HTNews.c
max_cookies_buffer LYCookie.c
max_cookies_domain LYCookie.c
max_cookies_global LYCookie.c
reverse_mailcap HTInit.c
CHANGES2.3 0000644 00000043260 15252757227 0006005 0 ustar 00 --- RELEASE of 2.3 (19-May-1994) ---
5-19-94
* Better memory allocation routines used for some VMS systems.
5-19-94
* Non-interactive (-source) access to documents requiring access authorization
not allowed to avoid crashes.
3-30-94
* Lynx exports the environment variable LYNX_VERSION on UNIX systems
with the current version number as the value.
3-29-94
* added "action=" handling to ISINDEX tags. (Is that in the spec?)
3-27-94
* fixed Telnet security problem
3-19-94
* added .mailcap and mailcap support as well as mime.types support
for the configuration of viewers and extension mappings.
The test command is now implemented so that viewers can be conditionally
setup.
3-17-94
* Revamped the FTP code to recognize different server types and to parse
full directory listings (LIST output). File types, sizes and dates
are displayed when possible.
3-16-94
* added transparent support for mosaic bookmark files. Just point
Lynx at your existing default mosaic bookmark file and Lynx will
handle the rest. Viewing, addition, and removal are supported.
3-15-94
* added second line of reverse video to show multiline links better.
3-10-94
* added configurable MIME types and viewers to lynx.cfg. MIME types
and VIEWERS can be configured by following the instructions within
the newest lynx.cfg file.
3-?-94
* added second %s argument to PRINTER and DOWNLOADER definitions.
If a second %s is present in the command definition it will be
filled in by a suggested filename which is derived from the URL
of the document. See lynx.cfg for more details.
3-?-94
* got code from CERN to fix HTBTree FTP bug. Large ftp lists should
not crash anymore.
3-9-94
* added no_proxy environment variable. set it to a comma delimited list
of domains or hosts that should not be proxyed. (Thanks CERN :)
USAGE: (UNIX)
setenv no_proxy "domain1.dom, domain2.dom, domain3, etc"
3-?-94
* Fixed Referer: field handleing so that it doesn't crash on really
long URL's
3-?-94
* True popup menus are now supported for non-multiple SELECT lists.
2-28-94
* fixed the delete-a-bookmark command and bound it to 'r' for remove.
(thanks to David Trueman for the fix)
---------- RELEASE of 2.2 ------------------
2-9-94
* added 'd' for download current link. Can be used to force a download
of any file.
* 'r' removed as a comment key. Use 'c' or reconfigure your keys to
add 'r' back in. (I would like to use 'r' in the future to mean
remove current bookmark link)
* Found the bug in the HTTP redirection code that was causing it
not to work. So HTTP redirection appears to work now!
* Added Referer: header to HTTP requests to list the URL of
the document listing the requsted URL. Here's an extract from CERN:
This optional header field allows the client to specify,
for the server's benefit, the address ( URI ) of the document
(or element within the document) from which the URI in the
request was obtained.
This allows a server to generate lists of back-links to documents,
for interest, logging, etc. It allows bad links to be traced
for maintenance.
2-8-94
* changed novice line to be displayed on bottom two lines with the
status line moved up two lines.
1-27-94
* Made configurable keymappings a reality. Keys can be remapped in
the lynx.cfg file. (diffs from David Trueman)
* Got code from Foteos to make 'a' work for VMS connection interrupts.
1-24-94
* Moving closer towards configurable keymappings. New keyhandleing
code will make it very easy to implement. (diffs from David Trueman)
1-14-94
* Lynx FTP now supports PASV code. (fixes to CERN (Dave Raggert?) PASV code
from John Ellson) It is not enabled by default. Line 43 in
WWW/Library/Implementation/HTFTP must be commented out for
PASV code to be used. This was done because not all FTP sites
can support PASV FTP.
1-13-94
* slight change in forms user interface. For the better, I hope you will
agree. Text input fields are now active as soon as the cursor pointer
is over them. Therefore you may begin typing into the text field
as soon as you come to it. Tab, and up and down arrow keys will
move off of the text input field. The only problem with this is as
follows. If you are in the habit of using the number keys (keypad)
the or h,j,k,l vi keys, as soon as you move over the text link
you will begin seeing numbers or hjk or l show up in the text field.
In other words, your movement commands are now broken :( You must
use true arrow keys or the tab key to move off of the text field.
I've tried this out and it seems to work alright. I don't think
that users unfamiliar with this will have too hard a time figureing
it out. Once you see numbers or letter appearing it becomes fairly
obvious whats going on. I'll put a message at the bottom of the
screen saying "use tab or arrow keys to move off of link."
* added mods by David Trueman to implement -restrictions commandline
option. -restrictions allows a list of services to be disabled
selectively. -restrictions takes the form of
"lynx -restrictions=[default],[all],[inside_telnet],[outside_telnet],[shell],\
[editor],[bookmark],[option_save],[print],[file_url],[download],[exec]"
all restricts all options.
default same as commandline option -anonymous. Disables
default services for anonymous users. Currently set to,
all restricted except for: inside_telnet, outside_telnet, and
goto. Defaults settable within userdefs.h
inside_telnet disallow telnets for people coming from inside your
domain.
outside_telnet disallow telnets for people coming from outside your
domain.
shell disallow shell escapes
editor disallow editing
bookmark disallow changing the location of the bookmark file.
options_save disallow saving options in .lynxrc
print disallow most print options
goto disable the 'g' (goto) command.
file_url disallow using G)oto to go to file: URL's
download disallow saving binary files to disk in the download menu.
exec disable execution scripts
exec_frozen disallow the user from changing the execution link
setting in the O)ptions menu.
1-12-93
* added new more informative messages for form links.
1-11-93
* fixed -dump and -source options so that they work for
binary files now.
* Interruptable I/0 now completely works for UNIX systems.
VMS is next. Just hit an 'a' for abort anytime during a
transfer to abort. If there is a partial file to show, it
will be shown.
* Added command line option -show_curser. If enabled the curser
will not be hidden in the right hand corner but will instead
be positioned at the start of the currently selected link.
show curser is the default for systems without FANCY_CURSES
capibilities, and the default configuration can be changed in
userdefs.h
1-9-93
* Added NNTP posting capibilities. Currently uses external inews
program which will be included in the utils directory.
Would someone like to patch in some freeware inews code, or
send me some?
1-7-93
* fixed bug in password handling which cuased it to be displayed
accidentally :( (Danny Mayer)
1-6-94
* bold and emphasis now use curses underlining to represent
ephasized text. The use of _underline_ chars before and after
the text is now removed.
1-5-94
* Added configurable download menu so that binary files may
be downloaded using any protocal. Download menu is displayed
after selecting a non-displayable file.
* Added exec links. 4 types currently defined:
files ending in: .csh, .ksh, .sh, (for UNIX) and .com (for VMS);
Use exec link controls to turn on and off exec links.
* Gopher menues are now within PRE so that spaces are not
collapsed in menu entries.
* added configurable character sets. Can be set in lynx.cfg
by the user in the options screen or in the users .lynxrc file
current sets are: ISO Latin I, IBM PC Character set, & 7 bit
approximations. New sets can be added to src/LYCharSets.c
----------RELEASE of Lynx 2.1 and 2.1.1----------------------
-grey area-
* Ability to FTP to VMS systems. (Foteos Macrides)
* Fixed lots of display and interupt problems (Foteos Macrides)
* The Lynx Bookmark file is now interpreted as an HTML document.
Old Lynx bookmark files must be converted using the lynx2html
program or deleted.
* HTML+ forms as implemented by XMosaic now work.
fill in the empty spaces and press the submit button to
submit the form.
* The TEXTAREA tag isn't done yet. It will currently only
give a one line text area. The next version of Lynx will
include a true textarea implementation once I figure out a
reasonable interface.
* Incorporated WWWlib 2.14 and fixed up the descrip.mms files.
Foteos Macrides made VMS port changes and wrote a really nice
build.com script to make compilation on VMS systems really easy.
Foteos also ported Lynx to OpenVMS for alpha axp systems.
* 's' now means search a searchable indexed document through the
server, and can no longer be used to search for strings within
the displayed document.
* '/' now only searches through the current displayed document for
strings and can not be used for searchable index documents.
* Capital 'Q' now quits without asking for confirmation.
* 'm' for Main Menu now askes for confirmation and does NOT clear
the history stack.
* Blockquote style changed slightly.
* fixed bug with A and other tags messing up formatting
withing PRE segments.
* Verbose Gopher option removed, verbose gopher functionality
is now set permenantly on.
* Default editor is now configurable in the lynx.cfg file.
* Default bookmark file is now configurable in the lynx.cfg file.
12-15-93
* ownership is no longer inherited.
* link rev="owner" href="mailto:ADDRESS" now accepted as well as
link rev="made" href="mailto:ADDRESS" to define the URL of the
owner or person responsible for the info.
* 's' now only searches ISINDEX server documents.
* '/' always means search within the document.
-grey area-
* still doing massive rewrite. Debugging!!
11-30-93
* anonymous users cannot change the bookmark page! (thanks to Jyrki Kuoppal for
pointing out a security hole)
-grey area-
* massive rewrite. Removed all Lynx internal format code and
restructured all the source files.
11-8-93
* added (non-breaking space), and
---------- RELEASE of 2.0.12 -----------------
11-1-93
* Change HTInit.c so that unsupported types are not sent out
in accept parameters. For non X screen only text/html and
application/octet-stream are sent.
10-26-93
* descriptive title added to files mailed from lynx
10-25-93
* disabled FTP connection caching to help fix multiple FTP problems
10-23-93
* added preliminary level 1 forms support.
10-20-93
* fixed a bunch of gopher holes
* gopher lists are turned into URL's now instead of lynx
internal format document links
* local documents ending in .html can now be referenced with
just a filename and/or path from the command line.
10-19-93
* Added preloaded searches to gopher URL's. They previously
didn't work. This is readily apparent as preloaded CSO
searches, which alot of people wanted.
* removed old hytelnet compatibility code which looked in
multiple directories to find the correct file. If you still
need this capibility talk to me.
10-12-93
* The users specified editor is now spawned for mail messages.
If no editor is defined or if the user is anonymous, the built-in
lynx mail sender is used.
10-11-93
* changed all static data structures to be dynamic
This was a pretty major change of code which may add several
bugs.
* rewrote parse_links routine to make it more efficient and to
work with dynamic structures.
10-6-93
* added progress messages to HTTP transfers.
10-5-93
* added -cache=# command line option to specify the number
of WWW documents cached in memory.
9-28-93
* added VMS port fixes from Foteos Macrides. Lynx now
compiles and works on VMS!
* fixed ftp bug in WWWlib that didn't de-escape URL's before
sending request to FTP server.
9-21-93
* fixed coredump bug for some files with no links.
9-3-93
* Moved many configuration options including printer setup to
lynx.cfg file. The default placement of the lynx.cfg file
will be /usr/local/lib & sys$public
9-1-93
* Removed STARTDIR variable from userdefs.h STARTDIR is now inferred
from the STARTFILE.
8-30-93
* Fixed bug with only one link selectable out of many on the last line
of the display.
* Ported to SVR4 courtesy of Nickolay Saukh (from Russia, Wow this is
really getting around!)
* Uneditable documents don't get refetched. (Nickolay Saukh)
* National language support through LOCALE
(instead of ISOLATIN1), protected by #ifdef LOCALE (Nickolay Saukh)
------Release of Lynx 2.0.11--------------------------------
8-27-93
* Caused major international incident when a large bug was discovered after
release. :)
* Fixed internal document hypertext refernces with URL's. '#selector'
strings now work again.
8-24-93
* When files come through on pre HTTP/1.0 servers they are now
recognized by their file extensions
8-23-93
* Lynx can now speak to old NCSA pre HTTP/1.0 servers
* fixed ALT bug that had to do with style changes not
happening before the alt was printed.
8-21-93
* updated the man file lynx.1.
8-19-93
* updated help and converted it to HTML. Made a new help location and
server. The new default help file is
http://kufacts.cc.ukans.edu/lynx_help/lynx_help_main.html
8-15-93
* changed '\' to toggle between source and no source. When you press
'\' while viewing a rendered HTML document you will get the HTML source
when you press '\' while viewing HTML source you will get the
rendered HTML.
* Added ALT attribute to IMG tag. When ALT is available the contents
are displayed. When ALT is missing [IMAGE] is displayed. When
ALT="" nothing is displayed.
8-14-93
* Added document reload command. CTRL-R when pressed will reload
the document into memory and redisplay it, clearing the screen.
This is very useful when editing documents, outside of Lynx while
using Lynx for rendering.
* Added source view mode. '\' when pressed will reload the document
and display the HTML source. (doesn't work for gopher directoryies right
now, but gopher isn't HTML anyways)
* fixed bug in LibWWW that caused it not to be able to convert to
www/source.
* fixed bug in LibWWW that caused most binary file transfers to fail
* added binary file transfer ability. When binary files are selected
the user is prompted for a file name to save to. The default directory
is the one the user started in.
* Lynx now reloads local HTML files and re-renders them after editing.
??-??-??
* At some point I added the ability to edit HTML files on the local
machine.
8-12-93
* Added Nested Lists, up to six levels, with different bullets
for each level.
* Due to the fact that nearly everyone seems to use P to mean
two returns within the same style, and Mosaic has been kind
enough to support this meaning, :( :( :( I have changed
the P tag to reflect this interpretation. P can be used
anywhere and will mean insert two returns. (i.e., two BR tags)
8-11-93
* Made the default Mime type for unknown file types on ftp servers
to be text/plain. Previously the WWWLibrary had the default
as application/octet-stream which meant that most files could not
be viewed.
* Changed the ADDRESS style to be more like XMosaic
Left flush, newline top and bottom
* The Statusline now displays the URL when retrieving files.
* added BR (linebreak) tag!
The BR tag inserts a line break and maintains the current style!
The BR tag may be used anywhere.
* added HR (horizontal rule tag!)
The HR tag puts a horizontal line seperating two bodies of text.
The HR tag may be used anywhere.
8-8-93
* All spaces, tabs and returns are now collapsed down do one
space.
* fixed bug whiched caused certain links beginning at the
begining of a line to be bad.
* added '*' (stars) to unordered lists and numbers to ordered
lists.
* changed dir lists to be more like menu lists.
* all emphasis, physical and symantic, now have _underlines_
around them to show emphasis.
RELEASE OF VER 2.0.10 -----------------------------------------------
7-8-93
Added [IMAGE] in all places where IMG tags appear.
added WWW_HOME environment variable support.
fixed searching in WWW.
removed tildas from mail messages for security reasons.
added emacs-like key defs.
changed gopher dir routines and Verbose format of directories
6-30-93
Forgot to put all kinds of bug fixes and stuff in here during the
past month. I have been working on upgrading to the 2.X WWWlibrary
Today I changed 'g' to mean goto a url, and 'v' to be view the
bookmark page.
5-30-93
Fixed problem with ftp: URL not being recognized and not working.
5-28-93
Tried to remove the use of tabs and replace them with appropriate
spaces. This was done to support brain dead curses packages that
don't handle tabs. (like linux)
5-20-93
Fixed socket problem which was causing a problem with telnet's
connecting
5-18-93
Fixed SUN curses problem, now works with the /usr/5lib routines
4-9-93
Added an option to turn on link numbering
4-7-93
Fixed read_rc() bug which caused .lynxrc files to be read incorrectly
Fixed file cacheing bug which only allowed searching to be performed
once. (it cached the answer and displayed that each time a new
search was requested)
4-2-93
Fixed VMS I/O bug and TCP routines.
4-1-93
Ported 2.0 to VMS
3-17-93
Fixed a bug: Multiply defined procedure async_abort in
the files get_file and get_bin_file
3-16-93
Optomized Gopher TCP routines, increased speed by a factor of 10!
3-9-93
Added WWW support by integrating the WWWlib1.4
2-10-93
Added home page support and append features.
12-22-92
Added support for Image types using xloadimage for X-terminals.
12-1-92
Added gopher binary file types
slang.key 0000644 00000000130 15252757227 0006372 0 ustar 00 S-Lang Keymaps for DOS
F0 0x200
F(X) (SL_KEY_F0 + X) /* If X>1 */
CHANGES2.7 0000644 00000137024 15252757227 0006013 0 ustar 00 =======================================================================
--- Release of Lynx2-6FM as Lynx v2.7 (February 15, 1997) ---
=======================================================================
1997-02-15
* Release of Lynx2-6FM as Lynx v2.7. - FM
* Included -Ae when compiling the Implementation modules for the snake3
target. - FM
1997-02-14
* Mods to issue an alert about a BASE tag not having an absolute URL only
once per document. - FM
* Added code for appending LYNX_SIG_FILE to email messages as well as to
news posts or followups, and updated the Users Guide accordingly. - FM
* Updated build-slang.com. - FM
1997-02-12
* Fixed some problems in the code for using a hookless Lynx image with
snew_proxy, snewspost_proxy, and snewsreply_proxy set to
"nntp://host:port/" so that it uses Tom Zerucha's (tz@execpc.com)
daemon which handles the SSL communications on behalf of the Lynx
image. Also polished up all of the news gateway code, and added
comments for the benefit of new developers. - FM
* Added an ECGOTO command mapped by default to 'G', complementary to the
GOTO command (default 'g'), to edit the current document's URL and then
go to it. Using case-sensitive letters with different command definitions
ensures that both will appear with their brief explanations in the 'k'eymap
listing. For ECGOTO, Control-G, failure to modify the URL, or complete
deletion of it, all act as a cancel. If the current document has POST
content associated with it, a warning will be issued before offering the
URL to edit. The POST content is retained if the modification merely
involves a change in fragment for the URL. Otherwise, the modified URL
(if it has an http scheme) will be submitted with method GET and no POST
content. If the ECGOTO command is not cancelled, or not simply a fragment
change, the modified URL will be added to the 'g'oto buffer, and can be
re-accessed, to edit further, via the GOTO command. See the updated online
'h'elp for more information. - FM
1997-02-10
* Amplified the comments concerning deletion of prototypes for MultiNet
socket library functions as they get added to MultiNet's own headers
in newer versions of it's socket library. - FM
* Added a missing fclose() in post_article() of HTNews.c, and added code
to delete the temporary file there, so it's gone as soon as we're done
with it. - FM
02-09-97
* Enhanced the Set-Cookie header parser to handle values that contain
spaces but were not enclosed in double-quotes, and to use such
quoting or not when sending Cookie headers, depending on whether
this was done in the Set-Cookie header. Also added anti-crash
checks should the parser's efforts to handle both historical (a.k.a.
original Netscape) cookies and Version 1 cookies go awry (does deal
successfully now with all the cookies which had been reported as
problematic). - FM
* Mods of the screen handling in LYNews.c for cleaning up any screen
trash created by the external editor. - FM
* Tracked down an uninitialized pointer in LYNews.c that probably was
behind reports of crashes when posting to newsgroups. - FM
* Plugged a memory leak in LYMainLoop.c. - TJC
* Added posting ability to the news gateway, in lieu of the previous,
variably reliable, use of a spawned news client for posting. The
news, nntp, and snews URLs now all return links for posting new
messages or followups (replies) to the server from which a newsgroup
listing or news article was retrieved, unless the server indicates
that it does not accept posts from the site at which Lynx is running.
See the updated INSTALLATION, userdefs.h, and lynx.cfg files, the
"USENET News posting" section of the Users Guide, and "Supported URLs"
page of the online 'h'elp for more information.
* Fixed typo for e-dieresis in the KOI8-R charset. - AJF
* Replaced an inappropriate _user_message() call in HTConfirmCookie()
of HTAlert.c with a _statusline() call. The original code could
cause crashes with some cookie values. - FM
02-06-97
* Added support for both hex escaped and unescaped white characters
in lynxexec and lynxprog URLs. Normally, Lynx strips out any white
characters that are not hex escaped in attribute values that are
to be resolved as URLs, on the assumption that they were derived
from wrapping in the markup. Any serial white characters in
lynxexec and lynxprog URLs are condensed to one space (' '), and
any lead or trailing white characters are trimmed. Note that we
still require hex escaping of spaces in mailto URLs, e.g,
HREF="mailto:lynx-dev@sig.net%20(I%20found%20a%20bug.)". - FM
* Removed the 'e' switch from tar commands in LYLocal.c for greater
portability across all supported Unix flavors. - FM
* Expanded the information in the PROBLEMS file on how to deal with
DECC and MultiNet header incompatibilites for different combinations
of the VMS compiler and socket library versions. - FM
* Added TRACE message of the edit command created for the system()
call in LYEdit.c. - LWV
* Fixed a typo in the userdefs.h comments. - NHE
02-04-97
* Mod in LYMainLoop.c to bypass mailing "not found" messages when
MAIL_SYSTEM_ERROR_LOGGING was set TRUE (which it should NOT be,
indescriminately) if the document's owner is the lynx-dev list. - FM
* Added crash protection checks for the actual presence of anchors
in all HText structure anchor scans in GridText.c, based on a crash
report and suggested fix for one of them from Jonathan Sergent
(sergent@hillres55-129.cc.purdue.edu). - FM
* Eliminated the typecast for ttytype (apparently varies across flavors,
and each flavor should know it's own typing; we'll see) in LYCurses.c,
and moved VMS system definitions with non-ANSI conformant tokens to a
separate header for VMS (LYVMSdef.h). - BL
* Made the description of HISTORY in the 'k'eymap page more clear that
it invokes a list of the "suspended" documents currently held in the
history stack. - DC
* Typo fixes in the help files and lynx.cfg. - LWV
02-03-97
* Today's distribution is a pre-release of v2.7. The projected official
release date is 02-15-97. All header, help and documentation files,
and the top directory name, have been updated for v2.7. - FM
* Made xli, which is freeware, the default XLOADIMAGE_COMMAND for Unix
in userdefs.h (still xv on VMS, since its port is freeware), and
expanded the "self-documentation" to indicate where to get this
freeware. Added XLOADIMAGE_COMMAND as a configuration symbol in
lynx.cfg, so that the compilation default can be overridden on
systems which have and prefer xv (all users can override the default
mappings for image helper apps via their mailcap files) - FM
* Added a -base command line switch which can be used with -source or
-mime_header to prepend the request URL as a comment, and a BASE tag
(which may or may not be the same as the request URL, depending on
HTTP/1.1 headers) for text/html documents, equivalent to the prepend
kludge for 'd'ownloads (see 09-20-96 mods). - FM
* Added a check for an "ORGANIZATION" environment variable for inclusion
as a news post header on Unix (all system logicals intended for news
post headers automatically are included on VMS), and a sleep() before
restoring curses mode after the post, to allow reading of any error
messages from the news software. - FM
* Fixed bug which yielded a "[LINK]" instead of "[INLINE]" pseduo-ALT
for ALT-less IMG tags used as the content for NAME-ed Anchors without
an HREF. - FM
* Portability tweaks for the mini inews utility. - FM
* Fixed an old and irrelevant typo in HTWriter.c. - JS
01-29-97
* Added more REL tokens that are acceptible for banner links. - FM
* Ifdef'ed the standard foo_PATH definitions for FreeBSD at the bottom of
userdefs.h, based on a patch from AAC, and assuming they also apply for
NetBSD, BSDI, and Linux (we'll see 8-). - FM
* Added make freebsd-slang target. - AAC
01-28-97
* Mods of LYSetCookie() to ensure setting of 443 as the default port for
https URLs, and force the secure flag on for https URLs whether or not
the Set-Cookie header had a secure parameter (too many Version 0
cookies don't, when they should). - FM
* Removed -ltermcap from make for all ncurses targets. - FM
* Tweaks of make for FreeBSD. - AAC
* Use SLtt_get_screen_size() instead of the apparently less portable
code for slang in size_change() of LYUtils.c. - JED
01-27-97
* Made ALT a synonym for VALUE in INPUTs with TYPE="image" to cooperate
with well-intentioned (though misinformed) providers who use ALT instead
of VALUE for the benefit of text clients or GUIs with image handling
turned off. - FM
* Modified the code for submission of form content with TYPE="image" NAME-ed
INPUTs that have a VALUE (or ALT) to "fake" a 0,0 coordinate pair, as when
a VALUE (or ALT) is absent, instead of sending a single name=value pair.
Requests that using a name=value pair in such cases to indicate that the
submission was from a text client or GUI with image handling turned off
be included in the HTML specifications keep falling on deaf ears, so we
may as well "fake" something closer to what the CGI scripts are expecting,
and hope that the script interprets 0,0 as an indicator that the user did
not see the image and make a conscious choice within it.
* Added code to offer a link for the SRC of the image in INPUTs with
TYPE="image", distinct from the submit button, when clickable images
is on. - FM
* Updated the "HTML Forms" section of the Users Guide. - FM
* Fixed a typo in the parsing of Cache-Control MIME headers and META
directives. - FM
01-25-97
* Updated lynx_help_main.html, about_lynx.html and about_lynx-dev.html. - FM
* Mods to indicate a toolbar by a '#' preceding its first link when the
toolbar is being displayed, and to indicate the availability of a toolbar
by a '#' in the top, left-hand corner of the screen when the toolbar is
not being displayed. Added explanation of this in the online 'h'elp. - FM
* Indicate the 'allow' setting (always, never, or via prompt) for each
domain in the Cookie Jar Page. - AK
* Don't delete cookie-less domains silently during garbage collections if
they have their 'allow' set to always or never. - AK & FM
* Added ability to change the 'allow' settings for domains via the Cookie
Jar Page. - FM
* Added basic protection against "denial of service attacks" by limiting
a domain to 50 cookies, the total number of stored cookies to 500, and
the maximum processed size of a cookie to 4096 bytes. - FM
* SGML escape any ampersands or angle brackets in the cookie names, values,
parameters, and comments when creating the HTML stream for the Cookie
Jar Page, and only include entries for comments if they were present in
the servers' Set-Cookie headers. - FM
* Updated the online 'h'elp for cookies. - FM
* Removed -DNO_KEYPAD from all ncurses targets in the Makefile. - FM
01-23-97
* Added a "Lynx State Management (Me want cookie!)" section to the Lynx
Users Guide, and a cross-linked cookie_help.html file for the Cookie
Jar Page. - FM
* Added prompting for whether to show the body of a 401 status reply or
simply return to the current document when an activated link requires
authentication via a username and password, and the user has none for
that realm, or forgot them. - FM
01-22-97
* Added handling of expires attribute values in Version 0 (a.k.a. Netscape)
Set-Cookie MIME headers or META tags, and added "Maximum Gobble Date"
entries in the Cookie Jar Page which indicate the maximum intended age
for each cookie based on the Version 0 expires or Version 1 max-age
attribute values. - FM
* Added an LYmktime() function in LYUtils.c which accepts strings in the
format "Day, dd-Mon-yy hh:mm:ss GMT" or "Day, dd Mon yyyy hh:mm:ss GMT",
parses and converts them to time_t format (seconds since 00:00:00 Jan 1
1970), and returns the time_t value, or zero if the date is in the
past. It is used for handling Expires headers or attribute values. - FM
* Added parsing of Cache-Control and Expires MIME headers and META tags
sufficient to determine whether the no_cache element should be set in
the document's structures. - FM
* Eliminated the "; $Path=foo; $Domain=blah" attr=value pairs when sending
Version 0 (a.k.a. Netscape) cookies in request headers, because too may
CGI scripts in the real world have brain-dead parsers and fail when they
are included. - FM
* Added handling of Set-Cookie directives in META tags. - AK
01-20-97
* Added confirmation prompts for deletions from the Cookie Jar, expanded
the garbage collecting for expired cookies, debugged and implemented the
code for security checks based on lead and embedded dots in domain values
and host prefixes as described in Section 4.3.2 of the -05 State Management
draft, added requirement for https URLs (direct, or via proxy) to include
cookies which have the secure flag set in request headers, and extensively
annotated the cookie support code for ease of further development. - FM
* Added ability to set SHOW_CURSOR in lynx.cfg, to override the compilation
setting in userdefs.h, and made the -show_cursor command line switch a
toggle for the compilation or configuration default. - FM
01-18-97
* Bug fixes and memory leak plugs for the cookie support. Added ability
to delete individual cookies or entire domains via the Cookie Jar Page
(Ctrl-K). The domains and cookies are displayed as DL/DT/DD blocks,
with links for each domain and cookies name. The deletions are done
by activating those links, which can be numbered, so it should be OK
for blind users. - FM
* Tweaks of the news/nntp/snews gateway. - FM
* Tweaks of paragraphing if ADDRESS, BANNER, BLOCKQUOTE, BQ, FN, MARQUEE
or NOTE blocks are nested (note that nesting does not yield progressive
indentations of these blocks). - FM
01-16-97
* Added "first pass" cookie support based on patches from Andrew Kuchling
(amk@magnet.com). Still needs work (see comments at top of LYCookie.c).
A SET_COOKIE symbol in userdefs.h and lynx.cfg determines whether cookie
support will be on or off by default, and the default can be toggled
via a -cookies command line switch. When on, Set-Cookie headers invoke
confirmations with possible replies of 'Y'es or 'N'o for that cookie,
'A'lways, to accept all cookies from that domain, or ne'V'er to never
accept cookies from that domain. The Cookie Jar can be examined via
the COOKIE_JAR keystroke command, mapped by default to Ctrl-K. The
Cookie Jar, and any 'A'lways or ne'V'er settings, do not presently
outlast the Lynx session. - FM
01-14-97
* Added use of DEFAULT_INDEX_FILE or the URL from an -index=URL command
line switch as the the HREF for a banner LINK with REL="Index" and no
HREF of its own (see the 01-01-97 mods and the HTML Banners section of
the Lynx Users Guide). - FM
01-13-97
* Tweaks of the news gateway. - FM
* Added "Negotiate: trans" header for GET and HEAD requests. Shouldn't
be necessary to get 300 instead of 406 replies when nothing matches
the Accept and Accept-foo request headers, but some HTTP/1.1 servers
apparently want it when the UA declares itself as HTTP/1.0, as Lynx
still does. - FM
01-12-97
* More updates of the online 'h'elp files. - FM
* Simplified the code for checking whether a startfile is a bookmark file
entered as a URL instead of invoked via the -book switch. The previous
code was tripping up some versions of the osf and linux compilers. - FM
01-10-97
* Replaced the realloc() in split_line() of GridText.c with a calloc(),
memcpy(), FREE() sequence for all systems, not just AIX and ultrix,
based on analysis of memory wastage by Hans Reiser
(dl9rdz@cip.e-technik.uni-erlangen.de). - FM
* Tweaks of the body= handling in mailto URLs. - FM
* Tweaks of the ftp gateway. - FM
* Restored inheritence when resolving versus a base with the same scheme,
because the RFC1808 and Fielding Draft behavior of not doing so yields
too many failures in the real world (sigh...). - FM
01-09-97
* Ugh! The distribution zip still had the Nov 4, 1996 HTTCP.c instead of
the one I modified on Christmas. No wonder people were still reporting
the wrong messaging with -DNSL_FORK. The right HTTCP.c is in there
now. - FM
* Mods to resolve the HREFs for LINKs with REV="made" or REV="owner"
versus the base (a many, many year old bug finally caught 8-). - FM
* Added HTAlert messages about BASE HREF vaules, Location header values,
and Refresh URL values that were not received as absolute URLs. We
still resolve them versus the RequestURI, since that's invariably
what is intended, and thus the optimum "error recovery" strategy. - FM
* Added handling of cc= and body= fields in ?searchpart strings of mailto
URLs. They are described in draft-hoffman-mailto-url-00.txt recently
posted to the URI-WG list. This draft ignores the objections which have
been filed about changing the semantics of mailto and breaking clients
which are fully conformant with the mailto specs in RFC1738, instead of
using a new scheme name (e.g., smtp:) for URLs with mail headers, and it
extends the ill-advised use of '&' as puctuation in URLs instead of
honoring the previous IETF effort to seek it's replacement by ';' as the
URL name=value separator and, in effect, treating them as parameters
without need to worry about confusions with entities when the URLs are
attribute values in text/html. However, the chairman of the URI-WG is
a co-author of this draft, so, sigh... As far as this Lynx code is
concerned, the mods are more "error recovery" to cope with the sad things
which have afflicted the Web during the past 2-3 years, and use of a
?searchpart in mailto URLs is still DISadvised. Lynx uses only subject=,
cc=, and body= fields from a ?searchpart, using it's own "safe" rules for
other mail headers, and ignoring ones other than those three in the
?searchpart as "unsafe". The cc= values in a ?searchpart are added to
the primary address as a comma-separated list for the mail agent, and
Lynx's own Cc: is that entered, optionally, by the user. Any body= field
is passed to the external editor, if one has been defined, for review and
possible modification. Otherwise, it is scrolled for review. The mailing
can be cancelled at any time (via Ctrl-G), and via a statusline prompt
after everything has been reviewed, if the user judges the body and/or
addresses to be unsafe or inappropriate. - FM
* Moved information and prompt strings in LYMail.c to installer-modifiable
symbols in LYMessages_en.h. - FM
01-07-97
* Eliminated forced exits for keyboard input buffer overruns on VMS.
There's no perfect way to deal with it, but Lynx should recover
gracefully most of the time now, and do nothing bad if ungraceful. - FM
* Added handling of Content-Base and Content-Location MIME headers when
'd'ownloading, 'p'rinting, or mailing HTML source. For this, as
for rendered HTML streams (see 01-06-97 mods) the base is determined
according to HTTP/1.1 rules: If a Content-Base header was received,
that's the base. Otherwise, if a Content-Location header was received
and it's an absolute URL, that's the base. Otherwise, the URL used
to retrieve the document is the base. When actually rendering, any
BASE tag in the document overrides the base derived from headers.
When 'd'ownloading, or outputting HTML source for a 'p'rint option,
an X-URL comment with the URL used to retrieve the document and a
BASE tag with the header or URL-derived base are inserted at the top
of the document. These should be moved down into the actual HEAD
section to make the HTML fully legal, but will work as is if the
output is used in conjunction with automatic invocation of Lynx or
Netscape as a text/html helper application. When mailing with an
SMTP-conformant mailer, the actual URL used to retrieve the document
is indicated via an X-URL header, and for HTML source, a Content-Base
and a Content-Location header are included, set to what was actually
received by Lynx via MIME headers, or to the retrieval URL. - FM
01-06-97
* More updates of the online 'h'elp. The Visited Links Page ('V'),
multi-bookmark file support, REL/REV and META enhancements, and new
switches are now all fully documented in the 'h'elp. - FM
* Added handling of Content-Base and Content-Location MIME headers for
rendered HTML streams (still using the document's URL in the 'd'ownload
and 'p'rint (and mailing) BASE prepending kludge). - FM
* Added code to avoid getting tripped up by double-quoted header values
in HTMIME.c. We still need more sophisticated parsing of possibly
compound HTTP/1.1 headers, but we don't yet use any of those. - FM
* Tweak of the efficiency mods for command line parsing in LYMain.c. - FM
* Simplified some code in LYMainLoop.c that was tripping up the AIX32
compiler. - FM
01-04-97
* More updates of the online 'h'elp. - FM
* Added DIRED_MENU support for .tgz files as for .tar.gz files. - FM
01-03-97
* Made the command line parsing in LYMain.c more efficient. - FM
* Added -nopause switch for setting InfoSecs, MessageSecs, and AlertSecs
to zero. Can be used to eliminate forced statusline pauses during
traversals. - FM
* Mods to allow absolute zero quality values for Accept headers, so that
in mailcap files users can do things like map image/* to a helper app
but exclude particular image subtypes which the app can't handle by
assigning q=0 for that subtype. HTTP/1.1 still specifies 4 significant
figures for quality values, so if the value is non-zero, Lynx still
forces a minimum of q=0.001. - FM
* Typo fixes in lynx.cfg. - LWV
01-02-97
* Updates of the online 'h'elp files. - FM
* Made the parsing of lynx.cfg in LYReadCFG.c more efficient. - FM
01-01-97 -- Happy New Year!
* More partial/relative HREF resolving enhancements. Everything is now
handled as recommended in Larry Masinter's -03 revision of Roy Fielding's
-02 URL ID, except file and ftp URLs (which Lynx handles as described
in the online 'h'elp ). Note, though, that Lynx handles known schemes
on a scheme-by-scheme basis, and for schemes that involve substitutions
of "/" for a NULL/zero-length path, Lynx inserts the "/" at the resolving
stage, so those slashes are present where the Fielding test suite doesn't
indicate them, but the actual requests sent to servers (or bad URL message
if it's a scheme that requires a host field and doesn't have a default)
will be the same. Note, also, that Lynx sends only the path
("absolute path") in it's direct http requests and indicates the host of
the URL in the Host: header, i.e., sends the absolute URL only to proxies.
Note, as well, that Lynx treats a zero-length attribute value for an HREF,
SRC, etc. as a reference to the currently displayed document, but still
uses the base (which might not be the current document's address) as the
default for FORMs without an ACTION specified, or ISINDEX tags without
an HREF or ACTION specified. - FM
* Expanded REL/REV handling. All of the REL values in the (expired) Maloney
and Quin draft-ietf-relrev-00.txt ID which make sense for banner links in
Lynx have been added. For REL="Help" without an HREF in the LINK, Lynx
uses its helpfile URL. For REL="Home" without an HREF in the LINK, it
uses the configuration startfile or WWW_HOME URL (i.e., not a startfile
specified on the command line), or the command line homepage, if it was
specified. - FM
* Added handling of fragments in conjunction with URL expansion guessing for
startfile, homepage and 'g'oto strings. Note that any '#' that is not a
fragment delimiter should be hex escaped (%23), and ideally all reserved
or unsafe characters will be hex escaped in the user-entered string, though
you can get away with not using the hex codes for most others, depending on
their positions in the string. Also note that on VMS if you include the
version for local files it must precede the fragment (e.g., foo.html;3#frag)
as for parameters. - FM
12-26-96
* Mods of HREF resolving to be more consistent with the latest IETF draft
(http://www.ics.uci.edu/pub/ietf/uri/draft-fielding-url-syntax-02.txt).
Most importantly, lone fragments (HREF="#fragment") are resolved versus
the current document's URL, and no longer versus the BASE, if present.
There are a few things in the draft which are at odds with what virtually
all currently deployed browsers do, and so I stuck with the "deployed"
behavior. Try the tests in http://www.ics.uci.edu/~fielding/url/ to
see where Lynx still differs from the draft. - FM
* Tweaks of 'z'ap handling. - FM
12-24-96
* Tweaks of DIRED_SUPPORT and make for osf. - FM
12-23-96
* Added code to check if the startfile has BOOKMARK_TITLE as its title,
and if so, and it's in the bookmark file list, add the bookmark element
and reload to have it treated as if it were invoked with -book. - FM
12-21-96
* Added code for the DIRED_MENU command ('f' and 'F' by default) to invoke
CSwing on VMS if CSWING_PATH is defined, as explained in userdefs.h and
lynx.cfg . - FM
12-20-96
* More improvements in the fatal error and memory exhaustion handling, and
plugging of memory leaks. - FM
* Changed "newline" to "Newline" in LYMainLoop.c to deal with another
reported, ill-advised, macro in the AIX 4.2 curses.h. - FM
* More tweaks of lynx.cfg. - FM
12-19-96
* Improvements in the messaging and cleanups for aborts on fatal errors
and exits on memory exhaustion. - FM
* Worked v2.1 of lpansi.c into the distribution. - FM
* Modified lynx.cfg to reflect the compilation defaults consistently, and
changed the compilation default for SUBSTITUTE_UNDERSCORES to FALSE. - FM
* Changed the "lines" element to "Lines" in the HText structure and the
"tab" structure name to "Tab" to cope with some unwise employee reportedly
using all lower case "lines" and "tab" strings as macros in the AIX 4.2
curses.h. - FM
12-17-96
* Restored use of the -l format in the parent links of local Unix directory
listings if LONG_LIST is defined, without the v2.6 bug of creating strange,
trailing relative or escaped strings. As far as I can tell from exercizing
them, the DIRED_SUPPORT and LONG_LIST handling are now fully debugged
(famous last words... 8-). - FM
12-16-96
* Don't reiterate parent links in local directory listings. They are
offered only in the top, up to parent link if NO_PARENT_DIR_REFERENCE
is not defined. - FM
* Moved more HTML.c functions to LYCharUtils.c. - FM
* Tweak of META handling, which was causing crashes (due to freeing an
anchor structure prematurely in the 12-13-96 mods for moving HTML.c
code to LYCharUtils.c). - FM
* Block Unix relative path strings in lynxexec and lynxprog URLs. - DT
12-14-96
* Added a COLLAPSE_BR_TAGS compilation and configuration symbol for
determinining whether Lynx collapses serial BR tags. Note that the
valid way to create extra blank lines in HTML is with PRE blocks that
contain only newlines. - FM
* Fixed a longstanding glitch in the alignment handling which could
cause a Paragraph's ALIGN value to cross embebbed blocks, rather than
restoring the appropriate alignment for the outer division or block
on close of the embedded block. - FM
* Modified HR handling so that it inserts the same before and after
spacing regardless of whether P end and/or start tags are present
before and/or after the HR. - FM
* Don't insert the bookmark file description and filepath if multiple
bookmark file support has been turned off, and this is the default
bookmark file (but they will still be inserted if it's not the default,
e.g., if it's another bookmark file viewed before the support was
turned off, and retrieved as a previous document). - FM
12-13-96
* Added parsing of Content-Disposition in META tags and setting the
suggested file name if file; filename=name.suffix is in the value
of the Content attribute and we don't already have that via a server
header. - FM
* Incorporated almost all globals related to stream parsing and page
display in HTML.c and GridText.c into the HTML object structure and
HText structure to make the parsing and display functions more nearly
re-entrant, and moved several functions from HTML.c to LYCharUtils.c
to reduce the size of HTML.c. - FM
* Added -cckr to the libwww Makefile compiler options for SGI. - Carl
Buxbaum (crb@world.std.com)
* Fixed typo in LYMainLoop.c that affected the 'd'ownload command when
DIRED_SUPPORT is enabled. - FM
12-10-96
* Implemented Safe header handling and prompting about resubmissions of
forms with method POST along the lines described in the 24-Nov-96 IETF
ID: http://gewis.win.tue.nl/~koen/draft-holtman-http-safe-01.txt
Lynx prompts for confirmation whenever it detects that a resubmission
would occur, unless the previous reply included "Safe: yes". Prompts
always will occur if the -resubmit_post toggle is on (since resubmission
always would occur; not advised). If not toggled on, resubmissions
would occur when no_cache is set or the previous reply has been dumped
from the cache. When using the PREV_DOC command or History Page, if
confirmation is not obtained, Lynx will skip to the yet earlier document,
or cancel, as appropriate. - FM
* Added parsing of the Safe header in HTMIME.c, and added a safe element
to the anchor and document structures. Will be FALSE unless a Safe
header is received that specifies "YES" or "TRUE" (case-insensitive,
only "YES" is in the specs), and applies only to replies from form
submissions with the POST method. - FM
* Cleanup of code in HTAccess.c. May correct problem of crashes for
ISINDEX searches on some systems, though I couldn't reproduce that
problem here. - FM
12-09-96
* Added an HTSetPresentation() for image/x-xbitmap in HTInit.c when DISPLAY
is set. - FM
* Added an LYOutOfMemory boolean that is set by the outofmem() macro, and
code in the Unix FatalProblem() and VMS exit handler for reporting the
memory exhaustion instead of the misleading "bug" message when they are
invoked due to memory exhaustion. May not be reported reliably for
linux, because for some reason I don't understand, the SIGBUS trapping
is ifdef'ed out for linux in LYMain.c. - FM
* Fixed typo in the new LYAddVisitedLink() in LYHistory.c of yesterday's
mods. - KW
12-08-96
* Added a VLINKS command, mapped by default to upper case 'V', and code
for creating a list of all links 'V'isited during the current Lynx session
in order of recency (most recent highest in the list). Lower case 'v' is
still mapped to VIEW_BOOKMARKS. The VLINKS listing is complementary to
the History Page listing, and formatted similarly. It excludes POST
replies, and bookmark, menu and list files (use the History Page or
direct keystroke commands for those). It includes any links that were
downloaded, or passed to a helper app (except mailto and newsreply or
newsfollowup links, since those require activation in the original
document for proper inclusion of it in the email message or news
post). You can print the Visited Links Page, or 'd'ownload it via
the History Page. - FM
* Added reporting of the Charset parameter, if present in a server reply
header, META tag, or by virtue of a suffix map, to the showinfo ('=')
display. - FM
12-07-96
* Added 'p'rint menu support for the History Page. - FM
* Added a content_length element to the anchor structure and use that,
if a Content-Length header has been received, to indicate the total
bytes in the statusline when receiving the stream. - FM
* Include HTTP_ACCEPT_LANGUAGE in the lynxcgi environment. - David Trueman
(david@cs.dal.ca).
12-06-96
* Many more cleanups and commenting of the code for the benefit of new
developers. - FM
* Tweaks of URL parsing and path simplifications. Added simplification
of the file://localhost paths from startup and 'g'oto guesses. - FM
* More anti-crash protections for bad HTML in SELECT blocks. - FM
* Usability enhancement for DIRED's 'F' menu: list number and names of
(some of) the tagged items, and provide a way to untag all items. - KW
* Force screen refresh after a DIRED system command has failed. - KW
* Modified HTFile.c to handle relative and "Up to parent" links more
effectively. - KW
* Added KEYGEN to the DTD (but no code to do anything with it yet). - FM
12-05-96
* Fixed typo in the for-Unix section of LYAddPathToHome() that was added
yesterday in LYUtils.c. - James Troup (J.J.Troup@comp.brad.ac.uk)
12-04-96
* Numerous cleanups and commenting of the LYfoo.c and LYfoo.h modules,
for the benefit of new Lynx developers. - FM
* More security-related enhancements and polishing up of the multiple
bookmark file support. - FM
* Increased the sizes of MAXHIST and MAXLINKS, added statusline messages
should they ever be exceeded (not likely now 8-), and code for freeing
all excess pointers on each page draw instead of letting them grow and
freeing them on exit (should help for memory-limited systems 8-). - FM
* Tweaks of DIRED_SUPPORT. - KW
12-02-96
* Show nntp server status messages in group listings when not 221 (normal
reply to HEAD request), so the user will know that the articles are
not available from the server, rather than a bug in Lynx. - FM
* Tweaks of BASE resolving. - FM
* Added "trick" to send hostname guesses to stdout when the startfile or
homepage are not URLs, as we send to the statusline for 'g'oto guesses
(but don't use stdout if we are not interactive and the desired output
is going to stdout). If the DNS lookup stalls, one thus can Control-C
out, instead of wondering why Lynx is taking so long to start up. - FM
* Cleaned up the read_rc() and save_rc() functions in LYrcFile.c. - FM
* Eliminated all printw() calls to avoid problems with non-ASCII and/or
multibyte/CJK characters. - FM
* Numerous additional bug fixes and enhancements of the multiple bookmark
file support. - FM
* Got rid of the ADVANCED_MULTI_BOOKMARKS symbol now that the choice can
be made in the 'o'ptions menu and saved in the .lynxrc file. - FM
11-30-96
* Added the ability to set the advanced mode for multiple bookmarks from
the options menu and save the defaults in the .lynxrc file - HL
* Various typo corrections including one which kept LYMainLoop.c from
compiling under Unix when DIRED_SUPPORT was defined. - HL
11-29-96
* Numerous additional refinements and enhancements of the multiple bookmark
support. Added support for REFRESH and PREV_DOC in the options and bookmark
menus, and NEXT_PAGE, PREV_PAGE, and ACTIVATE in the bookmark menus or
prompts. Expanded the anchor and document structures to keep track of
different bookmark files in conjunction with VIEW_BOOKMARK, ADD_BOOKMARK,
and DEL_BOOKMARK commands, to restore the proper bookmark files on reloads
(overt, or because the cache was dumped for subsequent documents accessed
via bookmark links), and in conjunction with security-related restrictions.
Multiple bookmark support can be regulated via MULTI_BOOKMARK_SUPPORT,
BLOCK_MULTI_BOOKMARKS and ADVANCED_MULTI_BOOKMARKS symbols in userdefs.h
(or as SITE_DEFS in the Makefile) and lynx.cfg. The multiple bookmark
support can be blocked via a -restrictions=multibook command line switch,
which is also set for -anonymous and -validate. Prompting or display of
the bookmark file selection menu occurs only if bookmark files in addition
to the startup default have been defined (via the B)ookmark command in the
'o'ptions menu, if mu(L)ti bookmarks has been turned on; the setting and
definitions can be saved in the .lynxrc file). Plugged memory leaks in
the previous implementation of multiple bookmark support. Added code for
inserting the current description and filepath for each bookmark file
dynamically during rendering. - FM
* Another tweak of attribute order in HTMLDTD.c. - KW
11-28-96
* Tweaked multiple bookmark support to fix an error which was causing a
crash on some systems and incorrect behavior on others - HL
* Tweaked editing of multiple bookmark filenames to correct shifting of
screen between multiple pages - HL
11-26-96
* Added support for setting the rendering of SELECT OPTIONs as popup menus
versus radio button lists via the 'o'ptions menu, and saving the default
in the RC file. Changed NO_SELECT_POPUPS to USE_SELECT_POPUPS in lynx.cfg
and userdefs.h. The -popup switch still overrides everything. - FM
* Added multiple bookmark support along the lines of the patch from Filip M.
Gieszczykiewicz (filipg@paranoia.com), plus numerous enhancements of the
'o'ptions menu and bookmark handling. - FM
* Tweaks of attribute orders in HTMLDTD.h and HTMLDTD.c. - KW
11-25-96
* Updated the "Lynx Enhanced Pages" links to the new "Lynx links"
(http://www.crl.com/~subir/lynx.html) throughout the help, docs,
and code. - FM
11-24-96
* Modified the ENCTYPE="multipart/form-data" handling to indicate the
Content-Type with charset parameter, when known, within each part
rather than in the main Content-Type header. - FM
* Corrected typo in HTNews.c. - FM
* Added support for setting the suggested filename in 'd'ownload and
'p'rint options based on the Content-Disposition header if it included
the string file; filename=name.suffix in its value. Can be used by
CGI scripts to set the suggested filename for saves to disk, downloads
or mailings of the script's reply body, so it won't be the last symbolic
element in the path field of the form's ACTION (which is normally the
the script, itself, or a PATH_INFO element, and thus misleading). - FM
* Tweaks of change_sug_filename() in LYUtils.c for better handling of
gzipped files on VMS. - FM
11-23-96
* Added reporting of the Server, Date and Last-Modified headers, if present
in server replies, to the showinfo ('=') display. - FM
* Added the ability to store the NO_SELECT_POPUPS in the .lynxrc, but the
.lynxrc must be edited manually until the options handling is converted
to a form-like interface that accommodates more options. For now, select
'O'ptions and write out the options with '>' to create a block in .lynxrc
with an explanation of the switch. The switch is "select_popups" and
can have the values of "on", "off", or nothing. If nothing, the default
set in userdefs.h or lynx.cfg will persist. Otherwise, "on" will set use
of popups and "off" will set use of radio buttons as the default. The
startup default always can be toggled via the -popup switch. - HL & FM
* Corrected a couple of typos in the help files. - HL
11-22-96
* Added support for WHEREIS ('/') and 'n'ext searches within SELECT popups.
The buffering for 'n'ext is separate from that in the main loop (i.e.,
for non-form field document searches), but all previously entered search
strings are still combined into a circular buffer and can be accessed via
the up-arrow or down-arrow keys at the prompt for a search string. The
searches within popup menus do not yield highlighting of the search string,
but simply positioning of the cursor on successive options which contain
the search string. - FM
* Added support for all of the navigation commands within SELECT popup
windows, including HOME, END, UP_TWO, DOWN_TWO, UP_HALF and DOWN_HALF,
in addition to the single line and paging navigation commands. - FM
* Added support for the REFRESH command within SELECT popup windows. - FM
* Tweak of hookless snews handling. - FM
11-21-96
* Added handling of forms with ENCTYPE="multipart/form-data". Note that
we still don't support INPUTs with TYPE="file" or TYPE="range", and
thus still set the DISABLED attribute for all fields in the form if
either of those two TYPEs are present in it. - FM
* Tweak of -mime_header handling. - FM
* Typo fixes of comments in HTML.c. - Albert S Woodhull
(aswNS@hamp.hampshire.edu)
11-20-96
* Added a NO_SELECT_POPUPS compilation (userdefs.h) and configuration
(lynx.cfg) definition, normally set FALSE. If set TRUE, single-choice
SELECT blocks (i.e., ones without the MULTIPLE attribute) will be handled
as a list of radio buttons instead of via a popup window. Also added a
-popup command line switch for toggling the compilation or configuration
setting. - FM
11-18-96
* Tweak of LYFindEndOfComment() in LYCharUtils.c. - Brian Borowski
(brianb@braille.uwo.ca)
11-17-96
* Added links to the lynx-dev hypertext archive at FLORA in the online
'h'elp. - FM
* Tweaks of my_spawn() in LYLocal.c. - KW
11-16-96
* Added support for use of the 'd'ownload command on TYPE="submit" and
TYPE="image" submit buttons. You still must use the History Page for
TYPE="text" INPUT fields that also act as submit buttons by virtue of
being the only non-hidden field, because the 'd'ownload command key
could be a text entry into the field, and thus must be treated as
such. - FM
11-15-96
* Mods of HTFormat.c and HTTP.c for better handling of unexpected server
disconnects. - FM
11-13-96
* Wind down the element stack on EOF if any unclosed tags were received. - FM
* Fixed typos in the HTMLDTD.c BODYTEXT definitions. - FM
11-10-96
* More tweaks of hook-less snews handling. - FM
* Changed the default STARTFILE to http://lynx.browser.org/ and the default
HELPFILE to the v2.6 set at NYU in userdefs.h and lynx.cfg. - FM
* New function HTUnEscapeSome() in HTParse.c for unescaping selected
characters in a string.. - KW
* Numerous changes to make DIRED_SUPPORT work as intended, to use the
library's HTList functions and macros for managing the list of tagged
file URLs, and to keep track of proper levels of URL escaping so that
unusual filenames which contain #% etc. are handled properly. Can now
edit, move, etc. Abc%25252525def.html, #xy#~, etc. - KW
11-09-96
* Treat 301 or 302 redirection of a POST as 303 when the Lynx process is
non-interactive, rather than rejecting the redirection, since 303 is
still most likely what the CGI script actually intends (will still
prompt if the process is interactive). - FM
* Added parsing and trace mode reporting of Content-Disposition headers
in HTMIME.c (should be used, someday, to set the suggested file name
for disk saves and downloads based on any filename=foo.blah field). - FM
* Further mods of HTNews.c to facilitate use of Lynx without SSL-hooks
in conjunction with an SSL-capable daemon/proxy for snews URLs that
returns NNTP streams for Lynx itself to convert into HTML, instead
of already converted streams as from a standard proxy. - TZ & FM
11-08-96
* Changed information returned by "-version" in LYMain.c to point to
lynx.browser.org and added a date to the copyright info. - HL
11-07-96
* Mods of HTNews.c to facilitate use of Lynx without SSL-hooks in
conjunction with an SSL-capable daemon/proxy for snews URLs. - TZ
11-05-96
* Typo fixes in HTMIME.c. - KW
* Tweak of NSL_FORK mods. - FM
11-04-96
* Tweaks of host parsing when a password and/or username is present
in override_proxy() of HTAccess.c. - FM
* Tweaks of the UNDERSCORES and STARS macro setup and useage to avoid
possible crashes for FORMs with long values. - FM
* Worked in Tom Zerucha's (tz@execpc.com) code for fork-based name
server lookups that can be 'z'apped. May not yet be portable to
all flavors of Unix. Add -DNSL_FORK to your SITE_LYDEFS to try
it. - FM
11-02-96
* Fixed typo in HTAlert.h. - FM
* Cleaned up HTTCP.c code, simplified some of its spaghetti
ifdef'ing, and worked in mods to bypass connection confirmations
when Lynx is SOCKSified and the socks_flag is set. - FM
* Added recognition and acceptance of text/x-sgml and text/sgml
MIME types (all that I've encountered thus far work fine with
Lynx, though it doesn't yet interpret marked sections). - FM
* Added socket function prototypes for MultiNet in tcp.h. - FM
* Mods to facilitate application of the SSL patches (after some
corrections in the patches to keep HTLoadHTTP re-entrant, make
CONNECT work as intended again, and eliminate memory leaks in
the SSLeay adaption) - FM
* Adding info about -DNO_TTYTYPE in top level Makefile. - FM
* Use clrtoeol() in LYOptions.c to ensure that no terminals which use
reverse video for standout() will have trailing reverse fields on
edits of option vaules. - DK
* Offer user@host instead of WebMaster@host for the 'c'omment command
if the path for the URL begins with a tilde and there is no
LINK REV="made" present. - FM
* Tweaks of inews Makefile and clientlib.c. - Christopher R. Maden
(crm@ebt.com)
* Check nhist before attempting a DIRED_SUPPORT directory listing in
LYShowInfo.c. - KW
10-21-96
* Offer WebMaster@host for the 'c'omment command if no LINK REV="made"
was present in a text/html document, and save a known owner URL when
toggling to source ('\') so that the 'c'omment command can still be
used with that owner's (mailto or homepage) URL, but the source can
be included in the comment, as would be desireable (instead of a bad
rendering) when sending a comment about bad HTML in the document. - FM
10-20-96
* Added code for traversing the pseudo-documents created for client-side
image MAPs. See the updated CRAWL.announce for more information. - FM
10-19-96
* Added definitions in LYCurses.h relating curses function calls to slang
functions or emulations for compatibility with new versions of slang,
based on patch from John E. Davis (davis@space.mit.edu). - FM
* Added unescaping of the full address fields in mailto URLs or ACTIONs,
and improved the reliability of the parsing of the subject header from
the ?searchpart Netscapism when present. - FM
* Give user option to use 303-like coversion of POST to GET in confirmation
requests for redirection of POSTs, base on patches from Drazen Kacar
(dave@fly.cc.fer.hr). - FM
* Tweaks of POST content submissions in HTTP.c, based on patch from
KW. - FM
* Fixed EOF checks in HTAAFile.c, HTGroup.c and HTPasswd.c, and improved
host address parsing in HTTCP.c, based on patches from Larry Schwimmer
(schwim@cyclone.stanford.edu) and Klaus Weide (kweide@tezcat.com). - FM
* Added targets for umaxv and umaxv-slang for Encore's UMAXV - Thanh Ma
(tma@encore.com)
10-16-96
* Send the rendering of decompressed files to stdout with -dump, don't
spawn a viewer under any circumstances if -dump was used instead of
-source for Content-Types that are not text/html, and remove the
temporary decompressed files before exiting with -dump or -source. - FM
* Properly handle TYPE="radio" versus TYPE="checkbox" INPUTs with NULL
or zero-length VALUEs. - FM
* Added a continuation line token for the netbsd-ncurses target - HL
* Fixed a typo in HTMIME.c in the trace output - HL
* Block predictable buffer overrun in GridText.c if a page has more
than MAXLINKS links in it. - FM
10-01-96
* Add a Mime-Version header to the other headers in LYPrint.c so that the
09-20-96 mods for mailing source do what they were intended to do. :) -
Hamish MacEwan (macewanh@diatp.dia.govt.nz)
09-20-96
* Add a BASE tag to the tops of HTML source files, a la Netscape, when
mailing or downloading, and don't worry, for now, if that creates
technically invalid HTML (since Lynx copes with it as of the 09-15-96
mods 8-). - FM
* Include Content-Type, Content-Location and Content-Base headers when
mailing HTML source on Unix. - FM
* Use .txt versus .html suffixes when submitting rendered versus HTML source
temporary files to VMS MAIL, so that transports such as PMDF will indicate
the appropriate Content-Type. - FM
09-17-96
* Handle illegally positioned BASE tags. - FM
* Tweak of Q nesting level checks. - Pawel Wiecek
(coven@i17linuxb.ists.pwr.wroc.pl)
* Fixed typo in HTMIME.c for parsing of Pragma header. - Wilson Cheung
(wcheung@netcom.com)
* Added parsing of Set-Cookie header in HTMIME.c (see IETF ID
http://www.ics.uci.edu/pub/ietf/http/draft-ietf-http-state-mgmt-03.txt
for info on how to implement it's use). - FM
* Fixed typo in LYMainLoop.c for display of error message when up arrow is
pressed at the top of a document. - Hiram Lester, Jr. (hwlester@pobox.com)
09-16-96
* Use standard ls -l parsing of LIST output for Windows_NT ftp servers in
Lynx v2.6 as in v2.5. - FM
--- Rename of Lynx2-5FM and release as Lynx2-6 (02-Sep-1996) ---
(see CHANGES2-6, CHANGES2-5, CHANGES2-4 and CHANGES2-3)
==============================================================================
pdcurses.key 0000644 00000016206 15252757227 0007131 0 ustar 00 PDCurses Keymaps
KEY_F2 0x213 /* F2 */
KEY_F3 0x214 /* F3 */
KEY_F4 0x215 /* F4 */
KEY_F5 0x216 /* F5 */
KEY_F6 0x217 /* F6 */
KEY_F7 0x218 /* F7 */
KEY_F(n) (0x108+(n)) /* If n>7 (9 keys are reserved) */
ALT_0 0x197 /* Alt-0 */
ALT_1 0x198 /* Alt-1 */
ALT_2 0x199 /* Alt-2 */
ALT_3 0x19a /* Alt-3 */
ALT_4 0x19b /* Alt-4 */
ALT_5 0x19c /* Alt-5 */
ALT_6 0x19d /* Alt-6 */
ALT_7 0x19e /* Alt-7 */
ALT_8 0x19f /* Alt-8 */
ALT_9 0x1a0 /* Alt-9 */
ALT_A 0x1a1 /* Alt-A */
ALT_B 0x1a2 /* Alt-B */
ALT_C 0x1a3 /* Alt-C */
ALT_D 0x1a4 /* Alt-D */
ALT_E 0x1a5 /* Alt-E */
ALT_F 0x1a6 /* Alt-F */
ALT_G 0x1a7 /* Alt-G */
ALT_H 0x1a8 /* Alt-H */
ALT_I 0x1a9 /* Alt-I */
ALT_J 0x1aa /* Alt-J */
ALT_K 0x1ab /* Alt-K */
ALT_L 0x1ac /* Alt-L */
ALT_M 0x1ad /* Alt-M */
ALT_N 0x1ae /* Alt-N */
ALT_O 0x1af /* Alt-O */
ALT_P 0x1b0 /* Alt-P */
ALT_Q 0x1b1 /* Alt-Q */
ALT_R 0x1b2 /* Alt-R */
ALT_S 0x1b3 /* Alt-S */
ALT_T 0x1b4 /* Alt-T */
ALT_U 0x1b5 /* Alt-U */
ALT_V 0x1b6 /* Alt-V */
ALT_W 0x1b7 /* Alt-W */
ALT_X 0x1b8 /* Alt-X */
ALT_Y 0x1b9 /* Alt-Y */
ALT_Z 0x1ba /* Alt-Z */
CTL_LEFT 0x1bb /* Control-Left-Arrow */
CTL_RIGHT 0x1bc /* Control-Right-Arrow */
CTL_PGUP 0x1bd /* Control-PgUp */
CTL_PGDN 0x1be /* Control-PgDn */
CTL_HOME 0x1bf /* Control-Home */
CTL_END 0x1c0 /* Control-End */
KEY_B2 0x1c5 /* center on Virt. keypad */
PADSLASH 0x1ca /* slash on keypad */
CTL_PADENTER 0x1cc /* ctl-enter on keypad */
ALT_PADENTER 0x1cd /* alt-enter on keypad */
PADSTOP 0x1ce /* stop on keypad */
PADSTAR 0x1cf /* star on keypad */
PADMINUS 0x1d0 /* minus on keypad */
PADPLUS 0x1d1 /* plus on keypad */
CTL_PADSTOP 0x1d2 /* ctl-stop on keypad */
CTL_PADCENTER 0x1d3 /* ctl-enter on keypad */
CTL_PADPLUS 0x1d4 /* ctl-plus on keypad */
CTL_PADMINUS 0x1d5 /* ctl-minus on keypad */
CTL_PADSLASH 0x1d6 /* ctl-slash on keypad */
CTL_PADSTAR 0x1d7 /* ctl-star on keypad */
ALT_PADPLUS 0x1d8 /* alt-plus on keypad */
ALT_PADMINUS 0x1d9 /* alt-minus on keypad */
ALT_PADSLASH 0x1da /* alt-slash on keypad */
ALT_PADSTAR 0x1db /* alt-star on keypad */
ALT_PADSTOP 0x1dc /* alt-star on keypad */
CTL_INS 0x1dd /* ctl-insert */
ALT_DEL 0x1de /* alt-delete */
ALT_INS 0x1df /* alt-insert */
CTL_UP 0x1e0 /* ctl-up arrow */
CTL_DOWN 0x1e1 /* ctl-down arrow */
CTL_TAB 0x1e2 /* ctl-tab */
ALT_TAB 0x1e3 /* alt-tab */
ALT_MINUS 0x1e4 /* alt-minus */
ALT_EQUAL 0x1e5 /* alt-equal */
ALT_HOME 0x1e6 /* alt-home */
ALT_PGUP 0x1e7 /* alt-pgup */
ALT_PGDN 0x1e8 /* alt-pgdn */
ALT_END 0x1e9 /* alt-end */
ALT_UP 0x1ea /* alt-up arrow */
ALT_DOWN 0x1eb /* alt-down arrow */
ALT_RIGHT 0x1ec /* alt-right arrow */
ALT_LEFT 0x1ed /* alt-left arrow */
ALT_ENTER 0x1ee /* alt-enter */
ALT_ESC 0x1ef /* alt-escape */
ALT_BQUOTE 0x1f0 /* alt-back quote */
ALT_LBRACKET 0x1f1 /* alt-left bracket */
ALT_RBRACKET 0x1f2 /* alt-right bracket */
ALT_SEMICOLON 0x1f3 /* alt-semi-colon */
ALT_FQUOTE 0x1f4 /* alt-forward quote */
ALT_COMMA 0x1f5 /* alt-comma */
ALT_STOP 0x1f6 /* alt-stop */
ALT_FSLASH 0x1f7 /* alt-forward slash */
ALT_BKSP 0x1f8 /* alt-backspace */
CTL_BKSP 0x1f9 /* ctl-backspace */
PAD0 0x1fa /* ctl-keypad 0 */
CTL_PAD0 0x1fb /* ctl-keypad 0 */
CTL_PAD1 0x1fc /* ctl-keypad 1 */
CTL_PAD2 0x1fd /* ctl-keypad 2 */
CTL_PAD3 0x1fe /* ctl-keypad 3 */
CTL_PAD4 0x1ff /* ctl-keypad 4 */
CTL_PAD5 0x200 /* ctl-keypad 5 */
CTL_PAD6 0x201 /* ctl-keypad 6 */
CTL_PAD7 0x202 /* ctl-keypad 7 */
CTL_PAD8 0x203 /* ctl-keypad 8 */
CTL_PAD9 0x204 /* ctl-keypad 9 */
ALT_PAD0 0x205 /* ctl-keypad 0 */
ALT_PAD1 0x206 /* ctl-keypad 1 */
ALT_PAD2 0x207 /* ctl-keypad 2 */
ALT_PAD3 0x208 /* ctl-keypad 3 */
ALT_PAD4 0x209 /* ctl-keypad 4 */
ALT_PAD5 0x20a /* ctl-keypad 5 */
ALT_PAD6 0x20b /* ctl-keypad 6 */
ALT_PAD7 0x20c /* ctl-keypad 7 */
ALT_PAD8 0x20d /* ctl-keypad 8 */
ALT_PAD9 0x20e /* ctl-keypad 9 */
CTL_DEL 0x20f /* clt-delete */
ALT_BSLASH 0x210 /* alt-back slash */
CTL_ENTER 0x211 /* ctl-enter */
README.sslcerts 0000644 00000024132 15252757227 0007305 0 ustar 00 Lynx SSL support for certificates - README.sslcerts file
BACKGROUND:
The original README.ssl document for lynx stated:
Note that the server... may not have a valid certificate. Lynx will not
complain, as it does not yet support certificates...
Such lack of support is no longer the case. Lynx now features excellent
certificate management through the openssl project. There is almost no
online documentation available regarding how to use openssl's certificate
management with other programs, so this will accompany lynx and hopefully
encourage good practical security for unix clients.
Lynx relies on openssl to not only encrypt connections over https, but also to
determine whether it should even accept a certificate and establish a secure
connection with a remote host. Because of this reliance upon openssl by lynx,
most of this tutorial deals with how to use openssl to "install" both
vendor-provided CA cert bundles as well as self-signed certs from trusted sources
and, most importantly, how to get them recognized by lynx.
While lynx on many systems will transparently accept valid certificates, not
all systems enjoy such functionality. Further, as noted above, older versions
of lynx do not perform any validity checks on a certificate.
There is also the common case of wanting to trust, use and install a
self-signed certificate from a known server source and have it be trusted by
client programs.
Briefly, the procedure will involve confirming the default system location for
certificates, setting values for SSL_CERT_DIR and SSL_CERT_FILE in
the environment, and converting and hashing the certificates using openssl
utilities to enable recognition.
THE CURRENT SITUATION:
Prior to lynx2.8.5dev9, lynx did not check at all for certificate validity.
Since lynx2.8.5.dev9, lynx has reported this openssl error:
SSL error:unable to get local issuer certificate-Continue? (y)
whenever an https connection was initiated and the certificate could not be
found, for whatever reason, by openssl, and therefore lynx.
This checking for a certificate is an enhancement to security, but rather
tediously generates errors at each https browser request.
The ability to turn off reporting of this error to the user was added to
lynx2.8.5dev16 as the FORCE_SSL_PROMPT setting in lynx.cfg as noted in the
CHANGELOG:
This lets the user decide whether to ignore prompting for questionable
aspects of an SSL connection.
While this is a convenient setting to employ when using lynx to script
https -dumps, it by definition ignores the issue of certificate validity
altogether. Those concerned with proper certificate management and
the maintenance of a store of updated CA certificates will be uncomfortable
with this relaxed security setting.
The ability to accept a 'wildcard' certificate, where the first character
is a '*' was added to lynx2.8.6dev18.
PRELIMINARY PROCEDURES:
It is assumed that openssl has been installed correctly, that the default
cert directory is /usr/local/ssl/certs, (it's often /etc/ssl/certs, but we
need a point of departure for the discussion) and that lynx has been compiled
--with-ssl.
The default location for certs on your system may be different, or there may not
be one. You will have to substitute that location for /usr/local/ssl/certs in
the following instructions, and/or set environment variables.
To determine the default location for certs on your system you may run the
following command:
strings libcrypto.a | grep -in cert | less
Look in this output for SSL_CERT_DIR and SSL_CERT_FILE, and the lines just
above them. This is your default location, respectively, for certificates,
and the CA cert bundle, cert.pem. You will need to know where libcrypto.a is
found of course.
Example output:
7490:/etc/ssl/certs
7491:/etc/ssl/cert.pem
7492:SSL_CERT_DIR
7493:SSL_CERT_FILE
Other possible example output:
31555:/usr/local/ssl/certs
31556:/usr/local/ssl/cert.pem
31557:SSL_CERT_DIR
31558:SSL_CERT_FILE
Note that when OpenSSL is installed, the c_rehash utility is installed in a
bin directory (default /usr/local/ssl/bin). You will need to know where it
is on your system. The command:
whereis c_rehash
will probably give useful results.
Note also that there is no CA cert bundle distributed with OpenSSL. The
OpenSSL team specifically decided NOT to do that. Getting a set of trusted
certificates is left up to the installer.
It is no longer a fairly trivial procedure to pull the bundle of trusted root certs out
of a recent version of Internet Explorer. Multiple certificates are no longer
exportable as a DER formatted file; extraction of a single certificate is the only
export for DER, and DER is what converts to PEM.
Users with access to Apple OS X can export all certificates from Keychain Access System Roots as
a .pem file. Place this in SSL_CERT_DIR and hash it and you're done.
The MirOS BSD project also provides them. The procedure to convert and install them
is detailed later in this document, and if you simply need to have commercially provided
certificates trusted by lynx, you can skip down a few lines to the INSTALLING OR UPDATING
THE CA BUNDLE section.
Extracted Mozilla cert bundles are available for download from the curl project,
http://curl.haxx.se/docs/caextract.html along with a script to extract from Mozilla
source.
INSTALLING A SELF-SIGNED CERTIFICATE:
When you would like to trust a self-signed (non-commercial) certificate you will
need to get hold of the actual file. If it's a cert local to your network you
can ask the sysadmin to make it available for download as a link on a webpage.
If such file is not human-readable it's probably DER formatted and will need to
be converted to PEM format to allow openssl to use it.
To convert DER formatted certificates into something openssl can deal with:
Save the cert as site_name.crt in a directory. In that directory, type:
openssl x509 -inform DER -in site_name.crt -outform PEM -out site_name.pem
You can now copy this individual cert into the directory for that, usually
/usr/local/ssl/certs. The alternative is to concatenate the individual certs
to the cert.pem bundle in /usr/local/ssl. (Please see INSTALLING OR UPDATING
THE CA BUNDLE below).
The cert file will now be in an acceptable format to openssl, PEM encoded.
However, openssl, and by extension lynx, will not know about it until that
cert is symbolically linked to a file named after the hash value of that cert,
in the default directory /usr/local/ssl/certs.
So the next thing to do is to hash the cert using c_rehash.
INSTALLING OR UPDATING THE CA BUNDLE:
Now would be a good time to check to see if you have the bundle of CA certs
/usr/local/ssl/cert.pem, or to update them.
CA bundles are available in various places, such as the MirOS BSD distribution,
for those who want to take that route, or you can extract the current bundle
from a current version of Internet Explorer (export them all from IE and
transfer it onto your system).
From MirOS, a cert bundle is available at
http://caunter.ca/ssl.certs.shar
It includes the cacert.org certificate. Download the latest revision; read the
file to see how to get the certs out.
No hashing is necessary with this set of certs; it is already done; ignore
the c_rehash usage below for this bundle. Simply run `sh ssl.certs.shar`
in SSL_CERT_DIR.
From IE 5.x certs extract as a PKCS7 file and need to be converted with something
like:
openssl pkcs7 -inform DER -in bundle.crt -outform PEM -out cert.pem \
-print_certs -text
The resulting cert.pem file should be copied to the default directory for
bundles (usually /usr/local/ssl) and renamed to "cert.pem", assuming that is
the SSL_CERT_FILE.
Individual certs can also process if added and hashed in /usr/local/ssl/certs.
We now have all of the individual certs we wish to trust in our certs
directory, and the most recent bundle of CA certs as well.
Confirm that you have the script c_rehash (See PRELIMINARY PROCEDURES; if it is
not found, a copy is usually located in the tools directory of the openssl
source tree. If you use this copy, it needs the execute bit set or it will not
run).
Run:
./c_rehash
The c_rehash utility is a perl script that runs openssl commands which creates
the files named after the hash values of the certs in the default directory
for certs.
Its output looks like this:
Doing /usr/local/ssl/certs
vsignss.pem => f73e89fd.0
vsign3.pem => 7651b327.0
...more output
All pem encoded certs in /usr/local/ssl/certs will now be recognized.
SETTING AND EXPORTING ENVIRONMENT VARIABLES:
If lynx is still not recognizing certs, environment variables need
to be set; if on a sh type shell, the variables also need to be exported.
The environment variables SSL_CERT_DIR and SSL_CERT_FILE need to be set
if a non-default location is used for certificates, or if certs just can't be
found by lynx. They may be set as follows in /etc/profile, or a shell
initialization .profile or .*shrc, if we run a non csh type shell, according
to the results of the search for the default location for certs procedure
(See PRELIMINARY PROCEDURES):
SSL_CERT_DIR="/usr/local/ssl/certs"
SSL_CERT_FILE="/usr/local/ssl/cert.pem"
export SSL_CERT_DIR SSL_CERT_FILE
On csh type shells, you can use:
setenv SSL_CERT_DIR "/usr/local/ssl/certs"
setenv SSL_CERT_FILE "/usr/local/ssl/cert.pem"
Note that the environment variable SSL_CERT_FILE applies to the cert-bundle
if used outside of the default location (/usr/local/ssl/cert.pem) compiled
into OpenSSL. There are issues with SSL_CERT_FILE in 0.9.6x versions of openssl.
The configuration file lynx.cfg allows a system SSL_CERT_FILE variable to be set
which can simplify matters.
SSL_CERT_FILE:/etc/ssl/certs/ca-certificates.crt
Make sure you have FORCE_SSL_PROMPT set to PROMPT in lynx.cfg like so:
FORCE_SSL_PROMPT:PROMPT
You will now connect without error to https servers with trusted certs, but
will still get this error for untrusted certs:
SSL error:self signed certificate-Continue? (y)
A quick check confirms that these procedures have the same effect with ssl
errors in the pine program.
2003 updated 2009
Stefan Caunter
Mohawk College Department of Computer Science
Hamilton Ontario Canada
README.ssl 0000644 00000005766 15252757227 0006260 0 ustar 00 SSL support for Lynx 2.8.5pre.1
-- adapted from http://www.mentovai.com/lynx/
Lynx, in its unmodified form, will not allow you to make secure socket layer
(SSL) connections. SSL is used for the secure transfer of information over the
Internet. Many sites are now requiring SSL to ensure security for themselves
and their users. With a version of Lynx modified to support SSL, Lynx users
can now visit these sites with ease as well.
The SSL configure option (--with-ssl) for Lynx provides the ability to make use
of SSL over HTTP for secure access to web sites (HTTPS) and over NNTP for
secure access to news servers (SNEWS). SSL is handled transparently, allowing
users to continue accessing web sites and news services from within Lynx
through the same interface for both secure and standard transfers.
This is based on, and requires, the OpenSSL library. OpenSSL's distribution
and use may be restricted by licenses and laws. For information on obtaining
OpenSSL, as well as information on its distribution, see
http://www.openssl.org/
The main distribution site is at
ftp://ftp.openssl.org/source/
Lynx also has experimental support for GnuTLS (configure option --with-gnutls).
For information on GnuTLS, see
http://www.gnu.org/software/gnutls/
To test your version of Lynx for SSL support, try it out with an SSL site.
Below are secure (https) pages which will load if your browser contains SSL
support and you accept their certificates; they give you some information about
the connection.
https://www.gnutls.org:5555/
https://www2.ggn.net/cgi-bin/ssl
Lynx will complain about the certificate, since the certificate presented is
untrusted. You may accept this certificate to test your configuration, since
it is a test, but it is a bad idea to blindly accept certificates from unknown
websites if you are transmitting form data or files.
You should review the document README.sslcerts for a detailed discussion of
correct certificate handling possibilities and procedures in lynx.
Users are reminded to check the laws and regulations about encryption software
in their own countries.
Here is the URL for US notification rules:
http://www.bxa.doc.gov/Encryption/PubAvailEncSourceCodeNofify.html
Note that that isn't a typo; it really is "Nofify". The site contains
links to the full EAR regulations.
Lynx is GPL'd, for our own use it falls under the regulations in EAR section
740.13(e)(1):
(1) Encryption source code controlled under 5D002, which would be
considered publicly available under section 734.3(b)(3) and
which is not subject an express agreement for the payment a
licensing fee or royalty for commercial production or sale of
any product developed with the source code, is released from
EI controls and may be exported or reexported without review
under License Exception TSU, provided you have submitted
written notification to BXA of the Internet location (e.g.,
URL or Internet address) or a copy of source code by the time
of export.
CHANGES2.5 0000644 00000266100 15252757227 0006007 0 ustar 00 --- Rename of Lynx2-4-FM and release as Lynx2-5 (02-May-1996) ---
==============================================================================
05-02-96 ---- Release of Lynx2-5 ----
* Modified documentation, help, and example files based on feedback for
yesterday's Lynx2-5 pre-release. - FM
* Include ";q=0.001" whenever "iso8859-1" or "us-ascii" are autoappended
to Accept-charset headers. - FM
* Added SITE_LIBS symbol in Makefile for convenient linking to any
site-specific libraries associated with any site-specific patches. - FM
* Fixed an unsigned char typecast in GridText.c - FM
* Eliminated statusline and TRACE warnings about possibly strange formatting
when TABLEs are in a document. - FM
05-01-96
* Renamed Lynx2-4-FM for pre-release as Lynx2-5
04-30-96
* Modified the fatal error messages such that they direct the user to
the local system administrator to confirm a bug before reporting it
to lynx-dev, and started updated the help and about files for the
switch to lynx-dev@sig.net as the primary list server. - FM
04-28-96
* Made use of ordered versus unordered lists and inclusion of article dates
in listings for news groups compilation and configuration options in
userdefs.h and lynx.cfg. - FM
04-27-96
* Added -realm switch for restricting URLs to the realm of the startfile.
The bookmark and jumps files are always considered as part of the realm.
Any execution links or form ACTIONs are permitted if obtained from
documents in the realm, but any switches that restrict bookmark operations
will still apply. For example, -book -realm will use the bookmark file
as the startfile, and restrict URLs to files in the user's account. Adding
-restrictions=bookmark_exec will block execution links in the bookmark
file, but not in other files within the realm (i.e., in the user's
account). If the startfile is an http URL, the realm will be equivalent
to that in http authorization procedures. Can be used with -traversal
for restricting the traversal to documents within the starting realm
for an http server. - FM
* Fixed bug in form structure which could cause POST to be treated as
GET. - FM
04-25-96
* Added code to send Host: headers as described in the 23-Apr-96 HTTP/1.1
draft. - FM
04-23-96
* Modified HTMIME.c to pass documents with an ISO-8859-3 through -9, EUC-KR,
or ISO-2022-KR charset specified in the Content-Type header, to set the
flag for not doing 8-bit reverse translations, and to issue a statusline
message about the charset instead of forcing a download offer. Will have
garbage in the displays of 8-bit characters if one doesn't have the
corresponding charset installed for the terminal, but no harm should be
done, and those who do can get the files displayed instead of just being
up the creek without a paddle. Korean escape sequences will still be
trashed, since be have no translation functions as for Japanese, and we
still force a download offer if there is a mismatch for the supported
character sets, so the user can cancel and then modify the terminal setup
and charset choice appropriately. - FM
* Increased the maximum number of attributes for tags (was too small for
OBJECT), updated the DTD for SCRIPT, and added the STYLE attribute for
all tags which presently, or might someday, accept it. - FM
04-21-96
* Modified the news gateway to use an ordered list with the numbers and
dates of the articles indicated in newsgroup listings. - FM
* Fixed the checking and passing of the mailto argument in LYMainLoop.c
to mailmsg() in LYMail.c. - FM
04-20-96
* Fixed bugs in parsing of nntp and snews partial HREFs, and in the
parsing of NNTP message headers for creation of mailto and newspost
or newsrepy links. - FM
04-19-96
* Added OBJECT and BODYTEXT to the DTD, based on the 12-Apr-96 W3C draft.
The code for INSERT is still there, and should be remove if OBJECT
becomes a stable replacement. Code to handle data URLs for OBJECTs
not yet attempted. - FM
* More tweaks for Japanese character handling. - FM
04-18-96
* If LINKS_ARE_NUMBERED is on, include the list of references in the
outputs of 'p'rint menu options, analogously to the output with
-dump. - FM
04-14-96
* Mods to report the content of SCRIPT, STYLE and ALIAS blocks in trace
mode. - FM
* Made ¨, ¯ and ™ synonyms for ¨, &hibar; and ®,
respectively. - FM
* Fixed typo in second line link highlighting code for slang. - ES
04-13-96
* More tweaks of Japanese character handling. - FM
* Reinitialize timeout values after select() calls in LYUtils.c. - ES
04-12-96
* More tweaks of Japanese character handling. - FM
* Tweak of target line and link setting when toggling to image_links mode
in LYMainLoop.c. - FM
* Tweaks of circular buffer handling based on analyses from Mike Castle
(mcastle@umr.edu) and Bryan T. Vold (btv@ldl.HealthPartners.COM). - FM
* Fixed typo for NeXT in tcp.h, based on feedback from LWV - FM
* Reinitialize timeout values after select() calls in HTTCP.c. - Erik
Sundkvist (ess@lysator.liu.se)
04-11-96
* More tweaks of Japanese character handling. - FM
* Added code for handling charset mappings for file and ftp URLs. - FM
You can set the mappings via lynx.cfg (or mime.types), e.g.:
SUFFIX:.html8R:text/html; charset=KOI8-R
SUFFIX:.txt8R:text/plain; charset=KOI8-R
* Tweak of charset handling in HTMIME.c - FM
04-09-96
* Modified news gateway to handle split header lines. - FM
* Tweaks of authorization header handling to make failures due to bad
headers from the http server clear to the Lynx user. - FM
04-08-96
* Yet more tweaks of memory management. - FM
04-07-96
* Tweaks for handling Japanese received via gateways. - FM
04-06-96
* More memory management tweaks. - FM
04-05-96
* Updated lynx.man, lynx.hlp and the online help files. - FM
* Tweaks of INPUT, TEXTAREA and SELECT popup OPTION handling when
Japanese character translations are on. - FM
04-04-96
* Created new zip. Yesterday's appears to have been bad. - FM
04-03-96
* More optimizations and bug fixes based on patches from JED. - FM
* More mods for handling keyboard input via SLANG library functions,
based on patches from JED. Note that the code for IGNORE_CTRL_C
has been bypassed in those mods, as they presently stand. - FM
04-02-96
* Added "first pass" handling of P end tags. - FM
* Mods of HTCheckForInterrupt() for SLANG, based on patches from JED.
Note that the for-SLANG code is not taking possible SOCKSification of
Lynx into account. - FM
* Use 3 for ^C instead of 7 for ^G as the argument for the slang abort
key in calls to SLang_init_tty(). - JED
* Tweaks of make for clix. - AM
03-31-96
* More tweaks of memory management. - FM
03-30-96
* Added support for Japanese translations of text/plain in addition to
text/html documents, and for ALTs and form fields (see 03-26-96 mods).
Needs checking. Also added an LYK_JPN_TOGGLE, mapped to '@' by default,
for toggling JAPANESE mode ON and OFF, and code to indicate the situation
in the 'o'ptions menu. - FM
* Added make for ultrix-slang and decstation-slang, and tweaks of LYCgi.c
for ultrix. - Alvian Tam (atm@newt.phys.unsw.edu.au)
* Found and fixed some typos in yesterday's mods. - FM
03-29-96
* Added build-slang.com for building Lynx with the SLANG library instead
of curses on VMS. - FM
* Mod to treat an EOF with errno of EINTR when GetChar() is defined as
getchar() in LYgetch() as due to a Ctrl-Z suspend, and invoke another
character fetch instead of exit on error. Based on patch from Gregory
Neil Shapiro (gshapiro@WPI.EDU). - FM
* Numerous optimizations and bug fixes based on patches from JED. - FM
03-28-96
* More tweaks of SLANG support. - FM
* Yet more tweaks of the HTList functions and macros, and their associated
memory management. - FM
03-27-96
* Fixed bug which could cause a crash if links are numbered and you
activate a link via a number when there are no links on the currently
displayed page. - FM
* Tweaks of Content-Encoding header handling, and more detailed messages
about it in trace mode. - FM
03-26-96
* Added code in HTMIME.c for taking into account Content-Encoding headers,
so that compressed text/html or text/plain files are not displayed
inappropriately based on their Content-Type. - FM
* Added "first pass" support for Japanese character translations, based on
patches for Lynx2-4-1 by Takuya Asada (asada@icsd6.tj.chiba-u.ac.jp). Is
to be checked out by Nelson Henry Eric (nelsonhe@ews07.nara.kindai.ac.jp)
because I have no way to check it here. Translations can be made the
default behavior by setting JAPANESE to TRUE in userdefs.h and/or
lynx.cfg. The default can be toggled via a "-jpn" command line switch.
If made TRUE by any means, the value of KANJI_CODE set in userdefs.h
and or lynx.cfg (EUC, SJIS, or NONE) will be applied, and can be changed
via "-euc", "-sjis" or "-ascii" command line switches, for setting Kanji
code translations to EUC, Shift JIS, or disabling it, respectively. Note
that Japanese translations are not yet performed in the line editor
(LYgetstr() of LYStrings.c and form_getstr() of LYForms.c), for form
field values, or for gateways (let's first see if what I've done so far
works right 8-) - FM
* Added "LY" prefix for pop(), pop_num() and push() function names to
avoid possible conflicts with the ncurses library functions, and fixed
continuation line typo in solaris2 make, based on feedback from PN. - FM
03-23-96
* Tweaks of memory management in the CSO/PH gateway. - FM
* Tweaks of wait() versus waitpid() handling for NeXT, aix4 and mips,
based on feedback from PN. - FM
03-22-96
* Tweaks of SLANG support for Unix, and finished up code support for it on
VMS (but tested only with OpenVMS/AXP). Haven't yet decided how to add
VMS build support for it in the COM and MMS files. Get the SLANG library
code from ftp://space.mit.edu/pub/davis and then add USE_SLANG in the
DEFINE list and the path to it's headers in the INCLUDE list for the
compilation, and [path]slang.olb/lib in the link list immediately before
the OPT file. We still need the curses library in the OPT file, because
that's not just curses functions on VMS and we're using ones not replaced
by the SLANG library (Try it, you'll like it! 8-). - FM
* Tweaks for NeXT, based on feedback from Paul Nevai
(nevai@ops.mps.ohio-state.edu). - FM
03-20-96
* Tweaks of code for sorting directory listings by date (take into account
the 6-month-old time versus year rule on Unix). - FM
* Tweaks of memory management for HTList-based buffers (use internal
allocations, instead of the libwww macros). - FM
* Added solaris2-slang to Makefile, and tweaks of the sun4 makes. - LWV
03-19-96
* Tweak of MAP handling so that the ordered lists are displayed exactly
in the order of the resolved AREA tags.
03-18-96
* Added SLANG support (for colorized Lynx) based on patches from JED.
The make support is for linux and sun4, but it should be portable to
other Unix flavors. I have it working on VMS, but the SLANG interrupt
and exit handlers are incompatible with the current ones for VMS in
Lynx (and with the VMS debugger), so I haven't yet included SLANG
support in build.com or the MMS files. - FM
03-17-96
* Tweaks of 'd'ownload menu handling on returns to it from a DOWNLOADER
action. - FM
* Added various anti-crash protections and cleaner code from John E. Davis
(davis@space.mit.edu) for trimming trailing white space and finding
unescaped colons in LYReadCFG.c, and cleaned up and more fully commented
the functions and subfunctions in that and the LYMainLoop.c modules. - FM
03-16-96
* Fixed routine which sorts directory listings by date (based on 'o'ptions
menu setting) to do it accurately and in reverse chronological order. - FM
03-15-96
* Added code to create links for likely URLs in results returned by
the CSO/PH and finger gateways. Try:
gopher://ns.bradley.edu:105/2 or:
cso://ns.bradley.edu/ and search for David Henderson.
Also try:
gopher://cegt201.bradley.edu:79/0/w%20davidh or:
finger://cegt201.bradley.edu/w/davidh as URL.s - FM
* Added LYK_INTERRUPT handling for the CSO/PH and finger gateways, and
made their memory management more efficient. - FM
* Made the my_spawn() function in LYLocal.c more portable by using
waitpid() instead of wait(). - FM
* Restored the Lynx2-3 behavior of seeking the current position and link
on return from 'e'dit. May be wrong if the file was modified, but it
might be in the right ball park, and nothing really bad will happen if
it's far off. - FM
03-14-96
* Added -reload switch for instructing Lynx to send "Pragma: no-cache" and
"Cache-Control: no-cache" headers when requesting the startfile from an
http server (doesn't apply to subsequent fetches, or to non-http startfile
URLs). - Peter Ekberg (peda@lysator.liu.se)
* Put the correct LYMain.c, which declares no_change_exec_perms, in the zip
(second try, hope I really did 8-). - FM
03-13-96
* Yet more tweaks of the CSO/PH gateway. - FM
* Yet more tweaks of the finger gateway. - FM
03-12-96
* Made the URL and command buffering in the finger gateway secure from stack
modifications, beautified the HTLoadFinger() and response() functions, and
added support for the following URL formats for sending a "", "/w",
"username", or "/w username" command to the finger server:
finger://host finger://@host
finger://host/ finger://@host/
finger://host/%2fw finger://@host/w
finger://host/w finger://host/w/
finger://host/username[@host] finger://username@host
finger://host/username[@host]/ finger://username@host/
finger://host/w/username[@host] finger://username@host/w
finger://host/%2fw%20username[@host] finger://host/username[@host]/w
* Replaced the _tolower macro in the CSO/PH gateway with TOLOWER. - FM
* Tweaks of DIRED_SUPPORT. Added NO_CHANGE_EXECUTE_PERMS compilation
symbol and change_exec_perms restrictions switch for restricting
changes of the eXecute permissions to directories, and not files,
when OK_PERMIT has been set. - Earl Fogel (fogel@duke.usask.ca) & FM
* Added make support for Intergraph CLIX (note that some online help files
must be edited and renamed to meet this Unix flavor's 14 character file
name limit). - Alex Matulich (matuli_a@marlin.navsea.navy.mil)
03-11-96
* Added support for using finger://host/w/username to send "/w username"
to finger (port 79) servers. - FM
* Tweaks of alignment handling to deal with (illegally) embedded CENTER
containers (typically due to omission of an end tag for the first
CENTER of the pair; ugh!). - FM
03-10-96
* Added form-based CSO/PH (port 105) gateway. Can be invoked via a
cso://host[:port]/ or gopher://host[:port]/2 URL. If the gopher
format is used and a query token is appended (?[query]), the old
ISINDEX-based gateway will be used. - FM
03-07-96
* Added NO_FROM_HEADER configuration symbol in lynx.cfg, and -nofrom
command line switch, for blocking all transmissions of From headers
by Lynx. - FM
* Added NO_REFERER_HEADER configuration symbol in lynx.cfg, and -noreferer
command line switch, for blocking all transmissions of Referer headers
by Lynx. - FM
* Enhancements of the 'o'ptions menu. - FM
03-06-96
* Restored the Lynx2-3 behavior of seeking the current document position
and link on (^R)eloads. Will be wrong if the document is actually a
changing script output, or SSI with changes in the sizes of inserts,
and any form entries will be lost with no warning about that if no
form links are in the currently displayed page (and there may be other
glitches I don't remember any more). However, it's correct, and more
convenient, most of the time, and nothing really bad will happen if
it's wrong. - FM
03-05-96
* Added SAVE_SPACE configuration symbol in lynx.cfg, and LYNX_SAVE_SPACE
environment variable (Unix) or logical (VMS) for setting a default path
prefix in suggested filenames in Save to Disk operations of the 'p'rint
and 'd'ownload menus. If not set, only a filename will be suggested,
for saving in the current default directory. See the INSTALLATION file
and lynx.cfg for more information. - FM
03-02-96
* If an IMG tag has both ISMAP and USEMAP attributes, create links for
both, and use the ALT string, if present, for the USEMAP link. The
server-side script might have a content-rich default set up for non-GUI
clients, so we may as well be able to try it, and still have our own
USEMAP listing available if it's a site unconcerned about text and
braille clients, or GUI clients with image loading turned off. - FM
* Tweaks of MAP code to maximize efficiency of fetching and processing
MAPs from a different document. - FM
* Make sure the traversal code doesn't get tripped up by any HREFs
which contain newline characters due to misparsing (e.g., because a
close-double-quote wasn't present where required, and soft_dquotes
wasn't toggled ON, or invalid comments were present, and mimimal or
historical comment parsing weren't toggled ON). - FM
* Renamed LYK_RESUBMIT ('x' or 'X') to LYK_NOCACHE and modified it's code
so that it applies to normal links as well as form submit buttons. If
used instead of LYK_ACTIVATE, any HText cache from a previous submission
or request will be dumped, and the submission or request will be made
with the "Pragma: no-cache" and "Cache-Control: no-cache" headers
included, to ensure that a proxy/cache server also will not return a
cached copy (assuming it respects either of those headers). - FM
03-01-96
* Converted the client-side image MAP code to a protocol which returns
a stream, rather than using a temporary file. This allows saving
the link as a bookmark, for fetching the MAP and creating a listing
without need to fetch and render the original document. Also enabled
direct downloading of the MAP listing. - FM
02-29-96
* Added handling of client-side image MAPs. If both USEMAP and ISMAP
attributes are present, the client-side MAP is used instead of the
the server-side script. The MAPs can be in the same or different
documents. The HREFs of the AREA tags are presented as a list,
with their ALTs (if present, otherwise their HREFs) as the link names
in the list. Added a TITLE attribute for MAPs, which will be ignored
by GUI clients, but if present will be used by Lynx as an H1 for the
list (MAP NAME="welcomemap" TITLE="Welcome Map"). Otherwise, the
IMG's ALT (if present, otherwise "[USEMAP]") will be used as an H1
in the list. The MAP's resolved URL also is shown in the list, since
the URL for the list is a temporary file. - FM
02-25-96
* Added a MINIMAL_COMMENTS configuration symbol, which if set TRUE in
lynx.cfg will emulate the Netscape v2.0 comment parsing bug of seeking
only a '-->' terminator, and not interpreting '--' pairs as serial
comments within the overall comment element. The compilation default
is FALSE, but we'll set it TRUE in lynx.cfg until Netscape gets its
comment parsing right, and "decorative" dashes in comment elements
cease to be so common in "Enhance for Netscape" pages. Also added
a '-minimal' command line switch for toggling the Mininal or Valid
configuration setting, and an LYK_MINIMAL command key toggle (mapped
by default to backquote). Note that setting Historical comments on
will override the Minimal or Valid setting (i.e., any '>' will be
treated as the terminator of a comment element). A statusline
message indicates whether Historical, Minimal or Valid comment
parsing has gone into effect when the LYK_MINIMAL or LYK_HISTORICAL
command key toggles are used (i.e., those two toggles in effect are
a "troggle"). - FM
02-22-96
* Tweak of HTList manipulations. - FM
* Additions to the online help. - FM
* Unescape any hex escaped username and/or password in ftp URLs. - FM
02-20-96
* Handle timeout disconnects of cached NNTP connections. - FM
* Allow head or tail match specifications (e.g., comp.infosystems.*
or *.unix) in news, nntp and snews URLs (That's illegal, so don't
use it in public documents.). - FM
* Tweak of bookmark handling. - Ismael Cordeiro (ismael@CAM.ORG)
02-16-96
* Tweak of the new code for setting a default CHECKED radio button. - FM
02-15-96
* Issue a sensible exit message if a non-http URL is used as the startfile
with -traversal. - FM
* Tweaks of bookmark handling. - FM
* Tweaks of Home_Dir() type casting. - FM
02-14-96 Happy Valentine's Day!!!
* Tweaks of charset conversions. - FM
02-12-96
* Made inclusion of Unix DIRED_SUPPORT the compilation default, and
its refinement easier to understand and set in the Makefile. - Will
Mengarini (seldon@eskimo.com) & FM
* Changed (X) and ( ) to [X] and [ ] for indicating checked or unchecked
checkboxes. For radio buttons, we still use (*) and ( ). - FM
02-11-96
* Distinguish checkboxes from radio buttons in the Lynx display by using
(X) versus (*), respectively, when they are checked or selected. - FM
* Make the first radio button in a series with the same NAME checked by
default if none of them had CHECKED specified. - FM
02-09-96
* Added LYK_HISTORICAL and LYK_SOFT_DQUOTES, mapped by default to the
the single- and double-quote keys, respectively, for toggling valid
versus "historical" comment parsing, and valid versus "old Mosaic-
and Netscape-like" double-quote parsing. - FM
* Added SCRIPT to the DTD and code to ensure that bad comments in its
content don't generate garbage in the display. - FM
* Added -DSVR4 to the make for solaris2. - KH
* Use copy instead of rename in descrip.mms for putting lynx.exe in the
top directory, as in build.com. - FM
* Added TITLE attribute to FORM, and code to use it for the Subject in
mailto ACTIONs. It's not in the spec, but better to offer it than
to settle into Netscape's ?subject=foo tack-on kludge which breaks
mailto for clients which haven't added code to cope with it. - FM
02-08-96
* Added -book switch for using the bookmark page as the startfile. The
default or command line startfile will still be set for the 'm'ain screen
command, and be used as the startfile if the bookmark page is unavailable
or blank. - FM
* Fixed glitch for Unix in yesterday's LYMail.c mods. - FM
* Try graceful alternatives if getenv("HOME") returns NULL. - Kenneth Herron
(kherron@campus.mci.net) & FM
02-07-96
* Added support for the ?subject=foo tack-on kludge to specify the Subject
in mailto ACTIONs and HREFs. - FM
* Convert Explorer's semi-colon Internet address separators to commas
before acting on mailto address lists on Unix or VMS. - FM
* Made EMBED empty again (the W3C container version has been replaced
by INSERT, and Netscape still has it empty). - FM
02-06-96
* Tweaks of descrip.mms files for VMS. - FM
02-04-96
* Fixed caching of news/nntp connections so that we access the correct host
when more than one has been specified. - FM
02-03-96
* Added ndash and mdash to the entities conversion tables. The W3C's
DTD specifies those, whereas the text descriptions say endash and
emdash, so we'll cover all the bases by supporting all four. - FM
* Reduced the "en" metric for TAB to 2 per column. Was 12, to be
compatible with UdiWWW, but that's pixels. You can change the enval
initialization in HTML.c from 2 to 12 if you want the old behavior. - FM
* Force use of DECC in build.com if that compiler is installed on VMS,
and make sure external logicals don't defeat a choice of DECC via
descrip.mms. - FM
02-02-96
* Mods to handle lone CRs as newlines when dislaying text/plain files
from MAC servers. Note that they'll stay CRs when downloading, or
fetching with -source, but be handled as newlines when the '\' source
toggle is used for text/html files and their source is displayed as
text/plain. - FM
01-31-96
* Added dummy initializers in LYCharSets.c and LYEditmap.c to ensure the
modules are linked if the external model is common block and they are
placed in a library. - FM
01-30-96
* For submissions of forms with a mailto ACTION, allow the user to edit
the default Subject string (the TITLE of the document containing the
form) via a statusline prompt, or to cancel the submission via Ctrl-G
at the prompt, analogously to 'c'omments or for anchors with a mailto
HREF. - FM
01-29-96
* Typo fixes in HTML.c, LYJump.c and LYGetFile.c. - PM
01-28-96
* Tweaks of redirection handling. - FM
01-27-96
* Support use of the TITLE attribute for setting the Subject in LINKs with
REV="made" or REV="owner" and a mailto HREF, equivalently to its use
with anchors in the BODY. - FM
* Always use the parent document's URL for X-URL in mailto anchors, but
still use mailto:address if it was entered as a 'g'oto. - FM
* Improvements of the code in LYMainLoop.c for checking the types of
links (first make sure that there are links to check 8-). - FM
01-26-96
* Made LYCharSets.c an object module instead of header for HTML.c, and
created LYCharUtils.c with character-related functions from HTML.c,
to reduce the size of HTML.c (got a report of memory exhaustion when
trying to compile HTML.c). - FM
* Added BGSOUND to the DTD and code for creating a link to the source
when clickable_images is set. - FM
01-24-96
* Tweak of URL resolving when http servers return the obsolete file URL
format for what are actually ftp URLs (as DEC's servers are doing). - FM
* Added LYE_LOWER and LYE_UPPER for lower or upper casing lines with the
line editor. Default bindings are Ctrl-K and Ctrl-T, respectively (not
"intuitive" but they're the only "safe" non-printing keys left 8-). - FM
01-23-96
* Yet more tweaks aimed at getting Lynx to compile across versions of
MultiNet through v3.5A and DECC through v5.2 or VAXC. Pat Rankin
is trying to cope with this mess for compilations with MultiNet and
his VMS port of GNUC (cross your fingers 8-). - FM
* Updates of the help and about files. - FM
* Tweak of sendmail path for BSDI. - Bennett Todd (bet@ritz.mordor.com)
01-22-96
* More tweaks for dealing with header conflicts in MultiNet v3.5A with
DECC v5.2. - FM
* Tweak of our kludge to append a 0,0 coordinate pair for ISMAP URLs. - FM
* Tweaks of base handling in HTML.c. - FM
01-20-96
* Mods for builds with NetBSD, or MultiNet v3.5A with DECC v5.2 (they
have conficting headers). FM & PR
01-18-96
* Improved and corrected the fatal error messages. - FM
01-17-96
* Added ability to set the NNTPSERVER environment variable via lynx.cfg if
it has not been set externally (analogously to the proxy variables). - FM
* Tweaks of proxy handling. - FM
* Modifed the "Accept-Language: " header handling so that is uses the
"perferred document lang(G)uage" string without any modifications.
This allows the user to specify a comma-separated string with quality
values included, exactly to his/her requirements. - FM
01-16-96
* Modified the traversal code so that it always outputs to an error file if
requests fail or unknown statuses are received from the http server. - FM
* Added target "sun4-ncurses" to the Makefile. - Bennett E. Todd
(bet@nyc.fcmc.com)
* Tweaks of "preferred document lan(G)uage" and "preferred document c(H)arset"
'o'ptions handling. Send only the preferrence or comma-separated list of
preferrences in the "Accept-Language: " and "Accept-Charset: " headers.
Append ", en" if "en" isn't present, and ", ISO-8859-1" and/or ", US-ASCII"
if those aren't present, rather than relying on servers to honor defaults,
but still don't send an "Accept-Charset: " header at all if no preference
has been specified by the user. - FM
* Fixed typos in the about and help files. - FM
01-15-96
* Tweaks of bold and underline setting in split_line() of GritText.c. - FM
* Fixed handling of FORM start tags with no ACTION specified. - FM
* Tweaks of "IBM PC character set" and added "IBM PC codepage 850"
(ISO8859-1, see IBMPC-charsets.announce). - Mike Brown (mike@hyperreal.com)
* Check in userdefs.h whether LYNX_CGF_FILE has been defined via the
Makefile, build.com or descrip.mms. - PG
* Created CHANGES2-3 with changes through release of Lynx2-3 on 04-19-94,
and CHANGES2-4 with subsequent changes through the rename of lynx2-3-FM
to Lynx2-4 and its release on 06-18-95, and deleted those sections from
this file. - FM
* Added the new Copyright and links to it in about_lynx.html. - FM
01-11-96
* Tweaks of HTWAIS.c for compatibility across versions of FreeWAIS. - FM
* Unescape any hex escaped percents in mailto URLs and ACTIONs. - FM
01-10-96
* Added an LYCheckForProxyURL() function, and a PROXY_URL_TYPE return value
for is_url(), so that Lynx can proxy URLs with an unknown scheme if a
proxy for the scheme has been set, e.g., if "foo_proxy" has been set
to "http://host/", then "foo:blah", where "blah" may or may not begin
with a slash, will be handled as "http://host/foo:blah". Components of
"blah" will be checked versus "no_proxy", if set, but since we don't
know the default port for scheme "foo", the checks for any ports
associated with the no_proxy values may not be reliable (but if we
don't proxy, nor know the scheme, nor find "foo:blah" as a local file,
the URL would fail, anyway) - FM
* Fixed typo in VMSPrint.com. - Paul Farnham (farnham@pasco.wednet.edu)
01-06-96
* Tweak of traversal code. - FM
01-04-96
* Tweak of dynamic SOCKS mods. - TZ
01-03-96
* Added circular recall buffers for JUMP shortcuts. If multiple jumps
files are installed, each has it's own recall buffer. If Lynx was built
with PERMIT_GOTO_FROM_JUMP defined, any random URLs accessed via the JUMP
command are placed in the goto circular buffer, not that for shortcuts,
and a JUMP entry of the single character ':' for the target is treated
as a command to invoke the circular buffer of previously resolved goto
URLs (as if 'g'oto followed by Up-Arrow were used). - FM
* Added GOTOBUFFER, homologous to JUMPBUFFER, for specifying via userdefs.h
and/or lynx.cfg whether to offer the previous goto URL, if any, for
reuse or editing whenever the 'g'oto command is entered, or simply rely
on invoking the circular buffer via the Up-Arrow and Down-Arrow keys for
accessing previously resolved goto URLs. - FM
* Tweak of 'g'oto recall buffering loop in LYMainLoop.c. - AH
01-02-96
* Added circular recall buffering for 'g'oto URLs. Is invoked (if previous
URLs have been entered) via Up-Arrow or Down-Arrow after entering the
'g'oto command. - FM
* Added circular recall buffering for WHEREIS queries. Buffer is shared with
that for ISINDEX queries, and invoked via Up-Arrow or Down-Arrow following
the WHEREIS ('/') command. The 'n'ext command still uses the last WHEREIS
query, not necessarily the last entry in the recall buffer, which might
have been entered via a 's'earch command for an ISINDEX document. - FM
* Extended treatment of FORMs which have only one INPUT (TYPE="text") field
for user entries as SUBMITting on press of RETURN in that field, so that
this behavior is retained if INPUT TYPE="hidden" fields are present. - FM
* Tweaks of bookmark deletion sanity checks. - DT
01-01-96 (Happy New Year!!!!)
* Added circular recall buffer for ISINDEX queries. Up-Arrow will cylce
you from the most current query in the list to previous ones, and roll
from the oldest to the most current. Down-Arrow will cycle from the
oldest query to subsequent ones, and roll from the most current to the
oldest. If a previous query is reused, it is removed from the recall
buffer and reinserted as the most current.- FM
* Plugged memory leaks in LYUtils.c and LYJump.c. - FM
12-30-95
* Added LOCALHOST_ALIAS symbols for lynx.cfg which can be set to local
host aliases or to trusted hosts at other sites which will be accepted
as "local" when the -localhost switch is set. - FM
* Added the endash and emdash entities. - FM
12-29-95
* Use exit(0) versus exit(-1) more consistently for normal versus abnormal
exits, respectively. - FM
12-26-95
* Tweak of RELOAD handling for lynxcgi URLs. - FM
* More anti-crash protections for bad HTML. - FM
* Tweak of dynamic SOCKS mods. - TZ
12-23-95
* Tweaks of directory building on VMS. - FM
* Tweaks of log file declarations for direct wais builds. - FM
* Tweak of DIRED_SUPPORT mods so that non-TAG entries don't show up when
there are tagged files. - DT
12-22-95
* Added HTMake_VMS_name() to HTFTP.c for use by Unix as well as VMS with
VMS ftp servers. - FM
* Added INSERT and ALIAS to the DTD, updated PARAM and OVERLAY, and made
FIG a paragraphing block, all as described in the 12-21-95 W3C working
draft for INSERT. In contrast to FIG, the INSERT and "heritage" EMBED
and APPLET elements invoke paragraphing only if their content displayed
by Lynx dictates it. The rules for resolving the sources for INSERTs or
for handling its ISMAP attribute are extremely complicated, and are not
implemented. Let's wait to see how people in the "real world" try to
make sense of them and actually use INSERT (if they do 8-). We still
create source links in "clickable_image" mode for the "heritage" versions
of FIG, OVERLAY, EMBED and APPLET markup, and send a 0,0 cooridinate pair
for IMG with the ISMAP attribute. See comments in HTML.c - FM
12-21-95
* Fixed bug in yesterday's ftp password-handling mods that could cause a
crash, and handle ftp://user:@host/path as specified in RFC 1738. - FM
* Added protection against crashes for SELECT tags without the (required)
NAME attribute. - FM
* Added code in HTFTP.c for recognizing MS Windows (Chameleon NEWT) servers
and parsing their LIST output (tested on ftp://emoryi.jpl.nasa.gov/) - FM
* Another typo fix for VMS GNUC in HTFinger.c. - FM
* Modified HTFTP.c to use personal_mail_address, if available, for the
password with anoymous FTP. It will still use "user@" (trim off the
host) if the host does not contain a dot and thus could not be a fully
qualified domain name, so it will work with Unix servers such as
ftp.uu.net (see get_connection() in HTFTP.c), but this will cause it
to fail with MS Windows servers. - FM
* Added lots more info to the trace output for the ftp gateway. - FM
12-20-95
* Modified HTFTP.c to handle a hex escaped slash (%2F) following the
"punctuation" slash according to the strict provisions of RFC 1738
when connected to VMS ftp servers, so that a device can be in the
path and not be mishandled as a subdirectory, e.g., the URL
ftp://user:password@host/%2Fsys$common/syshlp
will create a directory listing for sys$common:[syshlp]. - FM
* Fixed typo for VMS GNUC in HTFinger.c. - FM
12-19-95
* Enhancements of Unix DIRED_SUPPORT (see header of LYLocal.c). - DT
12-18-95
* Tweaks of element and entity structure alignments. - FM
12-17-95
* Tweaks of APPLET CODEBASE attribute resolving. - FM
* Added support for a -nosocks command line switch to turn off SOCKS proxy
usage if Lynx was SOCKSified. - Thomas Zerucha (tz@execpc.com)
12-16-95
* Added the APPLET element and attributes to the DTD, and code for
creating links to the Applet code via image_links - FM
* Added code to handle password fields in telnet URLs. - FM
* Expanded EMBED as an "attribute soup" (for compatibility with
old versions of Netscape). - FM
12-15-95
* Added PARAM, and its attributes in the W3C draft for EMBED, to the DTD,
and code in HTML.c to minimize the possiblity of an INPUT belonging to
an EMBED being misassociated with a standard FORM container. - FM
* Added "first pass" EMBED handling. Should be OK with both the W3C
container version and the Netscape "attribute soup" version (we'll
see 8-). The clickable_image switch and toggle ('*') are now misnomers.
They will cause creation of links to the EMBED SRCs whether they are
images or not. - FM
* Enhancements of Unix uploading (see header of LYUpload.c). - GL
12-14-95
* Modified LYUnEscapeEntities() and LYExpandString() in HTML.c to make
it more likely that they'll be handled correctly across flavors of
compilers. - FM
* Changed NETSCAPE_QUOTES and -netscape_quotes to SOFT_DQUOTES and
-soft_dquotes. - FM
* Added '&' to the exclusion list for VMS suggested file names. - FM
12-13-95
* Added CAN_ANONYMOUS_GOTO_TELNET_PORT symbol which if set TRUE in
userdefs.h will allow anonymous users to specify a port in 'g'oto
commands for telnet URLs. - FM
* Added NETSCAPE_QUOTES symbol which if set TRUE in lynx.cfg will cause
Lynx to emulate the Netscape bug of treating '>' as a co-terminator
of a double-quoted attribute value and the tag which contains it. - FM
* Forgot to define FORM_LINK_RESUBMIT_MESSAGE in the distribution's
userdefs.h for yesterday's mods. - FM
* Forgot to put the HTFile.c with the LIST_FORMAT mods into the
distribution (maybe I should just concentrate on Christmas 8-). - FM
12-12-95
* Changed handling of the no-cache META directive so that it applies to
the document which contains the META tag, rather than to any form submit
buttons within it. The form's CGI script should return a stream which
contains the directive to force resubmissions, and any (e.g., ISINDEX)
script or (e.g., foo.shtml) document can include the directive to
force reloading by Lynx. - FM
* Added ALWAYS_RESUBMIT_FORMS symbol in userdefs.h and lynx.cfg for setting
forced resubmissions of forms, and a -resubmit_forms command line switch
for toggling the default. - FM
12-11-95
* Moved values of LYStrings.h function key definitions from 0x80 - 0x8D to
0x100 - 0x10D and modified all the structures and functions in LYKeymap.c
and LYEditmap.c accordingly. - FM
* Added the KOI8-R (Russian) character set. - Andrey A. Chernov
(ache@astral.msk.su).
* Replace gets() with fgets() for the Unix setup() in LYCurses.c - AAC
* Tweaks for building with FreeBSD. - AAC & FM
* Added handling of META directives for ISO-8859-2 and KOI8-R if the
document is text/html and a server header didn't already set the
charset. - AAC & FM
12-10-95
* Tweaks of memory management. - FM
* Made the LONG_LIST parameters for Unix local directory listings
configurable via userdefs.h and lynx.cfg - DT
12-09-95
* Added code for re-computing and retaining the current link if it is still
on the page when using the LYK_UP_TWO and LYK_DOWN_TWO commands. - FM
* Added support for nested emphasis tags (they're all still displayed as
HT_UNDERLINE, but no longer terminated prematurely). - FM
12-08-95
* Added more suffix maps in HTInit.c. - FM
* Tweak of META attribute definitions. - FM
12-06-95
* Don't reject LYNXKEYMAP and lynxcgi URLs with the -localhost switch. - FM
12-05-95
* Made the loaded_texts list in GridText.c functionally "circular", so
that returning to a cached document causes it to be treated as the most
current, and dumps of cache, when necessary to load a new document, are
done for the least recently viewed rather than least recently fetched
document. - FM
* Show the METHOD and ACTION in showinfo() of LYShowInfo.c if invoked when
the cursor is positioned on a submit button. - FM
* If the user mode is advanced, keep showing the URL in the statusline
when Lynx is in forms mode but the link is not a form field. - FM
12-03-95
* Tweaks of code for submissions of forms with only a single INPUT
(TYPE="text") field. - FM
12-02-95
* Treat any META directives with a NAME or HTTP-EQUIV value of "Pragma"
or "Cache-Control" and a CONTROL value of "no-cache" as an instruction
always to resubmit any form(s) in the document. - FM
* Added parsing of META directives. Functions can be added where indicated
in HTML.c. - FM
* Include the HTTP/1.1 "Cache-Control: no-cache" header together with the
HTTP/1.0 "Pragma: no-cache" header for reload or resubmit requests. - FM
* Fixed bug in the check for an all-space ALT in IMG when creating a
link for its SRC. - FM
* Fixed parsing of square-bracketted DOCTYPE fields. - FM
12-01-95
* Improvments of logic for indentations within lists. - FM
11-30-95
* For resiliency, treat upper case letters as equivalent to lower case in
scheme names (e.g., allow "HTTP" as well as "http"), by converting them
to the appropriate case before entering them into the anchor hash table
or otherwise acting on them. - FM
* Added ability to change the default reply to the "really quit" prompt
from "[Y]" to "[N]" via a compilation symbol in userdefs.h. - DT
11-29-95
* Added ALIGN attribute for HR (default is "center"). - FM
11-28-95
* If a form has a single field, and it's INPUT TYPE="text", treat
RETURN as a submit command for it. - FM
* Added START as a synonym for the SEQNUM attribute in OL. - FM
11-27-95
* Enhancements of the wais gateway. - FM
11-26-95
* Fixed up HREF, ACTION and SRC resolving to be conformant with RFC 1808
(except that we don't yet support a ";params" field). - FM
11-25-95
* Tweaks of yesterday's jumps file mods. - FM
11-24-95
* Enhancements of 'J'umps file handling, including ability to install
multiple jumps files mapped to different keys and associated with
different statusline prompts and recall buffers. - DT & FM
* Deal with ALTs that have only spaces when in clickable_image mode. - FM
* Worked in WM's mods to make the REVERSE_CLEAR_SCREEN_PROBLEM workaround
a configuration option via ENABLE_SCROLLBACK in lynx.cfg and a command
line toggle (-enable_scrollback), for use with comm programs which have
screen display buffers that can be accessed for review independently
of the Lynx commands (see comments in lynx.cfg). - FM
11-23-95
* Use the BASE, if present, instead of the original document URL, as the
default ACTION for forms. - FM
* Tweaks of paragraph alignment handling. - FM
* Make sure we don't realloc() a NULL env pointer in LYCgi.c. - DT
* Cancel bookmark deletion if the line does not have a complete link or if
there is more than one link on the line. - DT
11-21-95
* Fixed bad logic in the setting of bold and/or underline starting points
in new lines created via split_line() of GridText.c. - FM
* Added case KEY_BACKSPACE in LYgetch() of LYStrings.c. - GL
11-19-95
* Fixed problem of SELECT causing all immediately following white space
to be ignored. - FM
* More tweaks of paragraphing, and handling of labeled blocks within
PRE blocks. - FM
11-18-95
* Added INFOSECS, MESSAGESECS and ALERTSECS symbols in userdefs.h and
lynx.cfg for setting the durations of statusline pauses (important when
using Lynx with a braille-based access). See comments in userdefs.h and
lynx.cfg for more information. - FM
* More tweaks of paragraph handling. - FM
* Include the Reference lists is crawl output files if the -number_links
switch was included and the -nolist switch wasn't. - FM
11-17-95
* Tweaks of finger and telnet gateways. - FM
* Added handling of MARQUEE equivalently to BANNER. - FM
* Various tweaks of 8-bit character and related HTML handling (OLs
or ULs without attributes or some wrong combinations were crashing
Lynx). - FM
11-16-95
* Implemented the ID attribute for TAB, and the TO and INDENT attributes
when its ALIGN attribute is "left" (the default) and the style's
alignment is HT_LEFT (the default). If these conditions don't apply,
or if the TAB target is outside the current margins or would overlap
prior text, a collapsible space is inserted instead of TABing. The
INDENT values are in "en" units, treated as 12 per column. Added
tabtest.html in the test subdirectory to illustrate TABing. - FM
11-15-95
* Added the HTML 3.0 DTD structures and definitions for SPOT, and fully
implemented it (use SPOT ID="foo" as SGML_EMPTY instead of named anchors
with no content). - FM
* Added the HTML 3.0 DTD structures and definitions for TAB. For now, it
simply puts a collapsible space in the text stream if the TO attribute
is present. - FM
* Added the top-level HTML 3.0 DTD structures and definitions for MATH, and
implemented it's ID attribute. The markup is captured as HTML_LITTERAL,
and until we have a processor, is output as is, in brackets to alert the
user about the situation. - FM
11-14-95
* Tweaks of LYK_UP_LINK and LYK_DOWN_LINK handling, and added them to the
default mapping as '<' and '>'. - FM
* Tweaks of LYK_TOOLBAR handling. - FM
11-13-95
* Added LYK_TOOLBAR (mapped by default to '#') for jumping up to the pseudo
Toolbar or Banner if present in the current document. Using '#' instead
of Home to jump there allows you to Left-Arrow back to where you were in
the current document. Set up a BANNER in about_lynx-dev.html to serve
as an example of this feature. - FM
* Added the HTML 3.0 DTD structures and definitions for BANNER, implemented
its ID attribute, and set it up to act as a pseudo Toolbar if one hasn't
been set up already via REL attributes of LINKs. - FM
* Tweaks of paragraphing for CAPTION, CREDIT, FOOTNOTE, and NOTE. - FM
11-12-95
* Handle (i.e., ignore) any P that immediately follows an LI, DT or DD. - FM
* Cancel any file fetch and viewer spawn or launch during traverals. - FM
11-11-95
* Added finger gateway (finger://host[/request]) based on patches from
Martin Hamilton (martin@mrrl.lut.ac.uk). - FM
* Added LYE_TAB for mapping keys to act as LYE_ENTER, but return '\t' so
that the behavior of TAB is emulated in TEXTAREAs, and mapped Do to
LYE_TAB in the default binding. - FM
* Fixed glitch in handling of DEC extended characters which contain two
digits (affected Do and Find). - FM
* Better documented that disabling access to hidden (dot) files also
disables ability to create such files via Lynx. - FM
11-10-95
* Added handling of mailto as a form ACTION. See http://www.q-d.com/swc.htm
for software to extract and unescape the mailed content. - FM
* Added lynxprog URL handling, which is identical to lynxexec URL handling
except that the user is not prompted to enter RETURN before returning
to Lynx. Use lynxprog for scripts or programs such as mail which do not
need an enforced pause to let the user read the screen output. - FM
* Removed code in HTFile.c for treating ',' as a synomym of '.' for
hidden files (nobody seems to know why that was being done 8-). - FM
* Moved inclusions from LYBookmark to tcp.h. - FM
11-08-95
* Extend optional hidden (dot) file/directory support to Unix, and embellished
it on VMS and Unix with regulation via a command line switch and 'o'ptions
menu setting. See userdefs.h and lynx.cfg for more information. - GL & FM
* Added support on Unix for straight tar files and a compile time option that
disables the ability to extract files from an archive file (since there is
no control over the files extracted). - GL
11-07-95
* More tweaks of 8-bit character handling. - FM
* Added "Macintosh (8 bit)" character set. - Neil K. Guy
(nkg@freenet.vancouver.bc.ca)
* Added "Example Lynx Optimized User Home Page" to the online 'h'elp. - FM
11-05-95
* Fixed Cc: header handling for email on Unix. - FM
11-04-95
* Reference the current character set for any raw 8-bit characters in
text/plain streams (but don't translate named or decimal escaped
entities, since that's specific for text/html). - FM
* Block any illegal control or escape characters in text/plain streams,
to avoid problems if a binary ftp or local file was mistyped and sent
to the screen as that Content-type. - FM
* Eliminated mod in SGML.c which emulated Netscape's bug of treating '>'
as both a close-double-quote and close-tag (Netscape v2.0 fixed its
bug, so hopefully the bad HTML with it will go away. 8-). - FM
11-02-95
* Assume an ISO-8859-1 character set for all local files. If it's
actually ISO-8859-2 and the terminal is using that, set the Lynx
CharSet option to "ISO Latin 1" so that 8-bit characters will be
sent raw to the terminal. - FM
* Added Martin Ramsch's iso8859-1.html to the test subdirectory.
Use it to complete the conversion tables in LYCharSets.c. - FM
* Don't block insertion of a lead space for INPUTs in PRE blocks, so
alignments will be compatible with those of graphic clients. - FM
* Don't block all access to the 'p'rint menu for the print restriction
(should still offer printer options which have the TRUE flag set;
all access is still blocked for -validate). - FM
* Replaced the STDfoo_FILENO symbols in LYCgi.c with the more portable
fileno(stdfoo). - WM
* Added NCURSESINCDIR compilation symbol for setting the path to the
NCURSES header file in LYCurses.h to that of the latest version. - GL
* Tweaks of interrupt handling on VMS.
10-31-95
* Added more suffix maps in HTInit.c. - FM
* Mods in LYCgi.c which hopefully makes the code more portable across
Unix flavors. - FM
10-28-95
* Tweaks of global flag initializations and resets in HTML.c. - FM
* Added RESOLVLIB symbol in the top Makefile for including -lresolv
in the LIBS= list, if needed, for SUN 3 or 4 OS, and comments about
that in the Makefile, and INSTALLATION and PROBLEMS files based on an
explanation from Will Mengarini (seldon@eskimo.com). - FM
10-27-95
* Mods of top level Makefile: Added NOPORT compilation symbol for forcing
use of PASV in ftp URLs. Added NO_S_IFSOCK compilation symbol for Unix
flavors which lack an S_IFSOCK definition for lstat(). - FM
* Reload the current document whenever the character set is changed. - FM
* Don't reference entities for raw (or decimal escaped) 8-bit characters
if the document is not text/html, or for any local files if the charset
is Latin. - FM
* Made Ctrl-H a synonym for DELETE instead of Left-Arrow in the line
editor. - FM
10-25-95
* Handle all characters in strings for the new line editor as unsigned
so they don't go negative if 8-bit. - DW
* Restored proper handling of the MAXLENGTH attribute in INPUTs for
strings entered with the new line editor. - FM
10-24-95
* Deal with all non-printing characters when setting up the SELECT
pop-up window strings. - FM
* Handle raw 8-bit characters via reference to the ISO-LATIN1 named
entities so they in turn can be referenced to the currently selected
character set. - FM
* Yet more tweaks of non-breaking space handling. - FM
10-22-95
* Improved treatment of the startpage URL with -traversal so that it only
blocks traversals of links on other servers. Any links on the same
http server which shouldn't be traversed may be blocked via explicit
and/or wildcarded entries in REJECT.DAT. Updated CRAWL.announce to
make this more clear. - FM
* Typo fixes in top-level Makefile. - Steve Jeske (jeske@pa.dec.com)
10-21-95
* Handle decimal escaped entities via reference to the ISO-LATIN1 named
entities so they in turn can be referenced to the currently selected
character set. - FM
10-20-95
* Tweaks of formatting for LONG_LIST directory lists and README file
inclusions in HTFile.c and HTVMSUtils.c. - FM
* Tweaks of decimal escaped non-breaking space handling in HTML.c. - FM
* Force unescaping of hidden VALUEs for INPUTs as ISO-LATIN1. - FM
* Added ".shtml" and ".htmlx" as text/html extensions in HTInit.c. - FM
10-18-95
* Made parsing of the name and address out of the NNTP From: header more
reliable in HTNews.c. - FM
* Added "LYNX_TEMP_SPACE" environment variable (Unix) or VMS logical,
which if present at run time will be used instead of the the TEMP_SPACE
definition in userdefs.h as the path prefix for temporary files. - FM
10-17-95
* Added TYPE attritute for OL, and coordinated it with the SEQNUM and
CONTINUE attributes. The default TYPE is "1" (Arabic numbers), and
SEQNUM values for it can range from -29997 to the system's maximum
integer. The Alphabetic TYPEs are "A" (upper case) and "a" (lower
case), and can range from 1 (" A." or " a.") to 18278 ("ZZZ." or
"zzz."). The Roman TYPES are "I" (upper case) and "i" (lower case),
and can range from 1 (" I." or " i.") to 3000 ("MMM." or "mmm.").
SEQNUM values should always be Arabic, and will be converted to
other types (e.g., SEQNUM="27" TYPE="a" will yield "aa." for the
next LI). The CONTINUE attribute will cause the sequence and TYPE
of the preceding OL to be continued for LIs in the current OL. - FM
10-16-95
* Treat a value of "*" for "no_proxy" as a global override of any
existing proxy variables. - FM
10-15-95
* Deal with raw or decimal escaped non-breaking space characters in
SGML_character() of SGML.c and LYUnEscapeEntities() of HTML.c. - FM
10-14-95
* Updated info about lynx-dev in lynx.man and lynx.hlp. - FM
* Don't force LINKS_ARE_NUMBERED in dumps if -nolist was included. - FM
* Output the References list for dumps with OL-style numbering. - FM
* More tweaks of "anti-spoof" handling for telnet URLs. - FM
10-13-95
* Block direct access to the telnet prompt for telnet URLs entered without
a host field. - FM
* Include the TRUSTED flag in spawns for OpenVMS/AXP v6.1 or greater. - FM
10-12-95
* Convert any strings in news articles that look like URLs into links. - FM
* Use the Followup header in news articles, if present, for followups.
Otherwise, use the Newsgroups header. - FM
* Ignore any invalid ISO 646 7-bit control characters or ISO 8859 8-bit
control characters in SGML_character() of SGML.c. - FM
10-11-95
* Typo fix in HTTCP.c for non-MULTINET VMS builds. - Gary Chow (garyc@mrs.com)
10-09-95
* Assume the root as path in HTParse() of HTParse.c if the access and host
but no path are given, and the access is http, https, or ftp. - FM
10-05-95
* Make sure the FREE(x) macro gets defined for HTTCP.c. - FM
10-04-95
* Mods in HTTCP.c to prevent string buffer overruns. - FM
* Prevent possible string buffer underrun for terminal white space trims
in GridText.c. - Renato Buda (renato@peoplebank.co.uk)
10-01-95
* Updated the listserv and archive addresses in the about and help files. - FM
09-30-95
* Added support for Windows_NT FTP servers. - FM
* Added ability to send a self copy of mail via a Cc: header on Unix
(sending of self copies is set via the mail software itself on VMS). - FM
* Tweaks of SOCKET_ERRNO handling in HTTCP.C. - FM
* Include unistd.h more consistently on Unix (via tcp.h) if NO_UNISTD_H
is not defined. - FM
* Modified the FreeBSD and NetBSD libwww Makefiles to use the
CommonMakefile. - FM
* Makefile addition (snake3) for the HP-UX purchased compiler. - Andy
Finkenstadt (genie@panix.com)
09-29-95
* Deal with HTAlert.c function calls to LYgetstr(), e.g., for a password,
when doing a -dump or -source non-interactive fetch. - FM
* Output HTAlert() messages to both stderr and stdout in TRACE mode. - FM
09-28-95
* Added a description of the line editor's default key bindings to the
help file set. - FM
* Tweaks of the line editor. - FM
* Declare DCLspawn_exception() in LYCurses.c as unsigned int only for
DECC (otherwise as int, for VAXC and GNUC). - FM
09-27-95
* Added common line editor for forms and prompted queries, with configurable
line editor key bindings. See LYStrings.h and LYEditmap.c for the default
configuration. - DW & FM
* Tweaks of build.com's symbol assignments when in batch mode. - MM
09-22-95
* Added ISO-8859-2 CharSet, and mods for Accept-Charsets handling based
on patches from Mark Martinec (Mark.Martinec@nsc.ijs.si). - FM
09-19-95
* Tweaks of OL attribute handling. Allow negative SEQNUM values. Keep
better track of CONTINUE versus non-CONTINUE OL sequences within nests.
Allow CONTINUE in the first OL of a new nest, set to the last LI count
of the previous nest (at any depth in that previous nest). - FM
09-17-95
* Tweak of LYUnEscapeEntities() in HTML.c. - DW & FM
* Another tweak of groupid handling in LYShowInfo.c. - DW
* More fixes of 7-bit character approximations. - DW
* More help and about file tweaks. - DSL
09-16-95
* Added the HTML 3.0 DTD structures and definitions for DIV, and implemented
its ALIGN and ID attributes. I think I have it behaving rationally if it
is used together with CENTER, LEFT and/or RIGHT (Though they're all treated
as DIVs by Lynx, and shouldn't be embedded in each other, somebody will do
that anyway!. 8-). - FM
* Added the HTML 3.0 DTD structures and definitions for FN (Footnote). It
should be handled as a popup window, but for now, it's implemented as a
labelled block and has the same style and behavior as a NOTE with an ID
attribute. - FM
* Some compilers can't handle the continuation line in yesterday's
LYCurses.h. Made it one long line. - FM
09-16-95
* Further enhanced the online help and about files. - FM
* Added -DNO_FILIO_H to Makefile for SCO. - FM
* Worked in stuff from 14-Sep-95 lynx2-4-2 upgrade. - FM:
--------------------------------------------------------
09-06-95
* Added patch to compile Lynx on BSDI with Ncurses package. -RK
09-06-95
* Ported Lynx to DG-UX. - RK
--------------------------------------------------------
09-12-95
* Further modified HTNews.c so that it returns unmodified news messages
when the display is toggled to source ('\') or when downloading them,
so uuencoded messages always can be saved without corruption, and so
I also changed the SCAN_FOR_BURIED_NEWS_REFS compilation default to
TRUE. - FM
* Simplified a compound if() in HTParse.c which may have been giving the
AIX v4.1 compiler a headache. - FM
09-11-95
* Eliminated distinct style sheets for CAPTION and CREDIT so their content
will inherit the current style, and added HTML_EnsureDoubleSpace() and
HTML_ResetParagraphAlignment() in HTML.c for coping with the absence of
distinct style sheets for those elements, and for FIG.
09-10-95
* Added SCAN_FOR_BURIED_NEWS_REFS configuration symbol in lynx.cfg, with
a compilation default of FALSE, and a -buried_news switch for toggling
the default. When TRUE, Lynx scans the bodies of news articles for
references and converts them to news links, but creates false news
links if any email addresses are enclosed in angle brackets, and can
trash uuencoded messages. - FM
* Eliminated distinct style sheet for FIG so its content will inherit the
current style and display appropriately within lists. Should be OK if
people use valid HTML 3.0 in it's content for non-graphic clients. - FM
* Added links for the W3C HTML 2.0 and 3.0 specifications and for the
HAL HTML validation service to the Lynx help file set.
* Made the BOLD_NAME_ANCHORS compilation symbols FALSE by default. Most
documents now include emphasis tags for NAME (ID) anchors if it's desired,
because the most common graphic clients don't emphasize them by default,
so we should adjust to that in Lynx as well (IMHO 8-). Added emphasis
tags for the NAME anchors in the Lynx help files. - FM
* Eliminated forced uppercasing of H1 headers. Most documents have mixed
casing and we should preserve it (IMHO 8-). Added a BOLD_H1 configuration
symbol, set FALSE by default, for making H1 headers bold even if BOLD_HEADERS
is FALSE. Modify the two configuration symbols in lynx.cfg for the pattern
or header emphasis which pleases you. - FM
* Tweak of list paragraphing. Added HText_PeviousLineSize() in GridText.c
for determining if the previous line had only non-printing characters. - FM
09-09-95
* Impelemented true paragraphing and the P ALIGN attribute within lists (UL,
OL and DL blocks) and within ADDRESS blocks. Paragraphs within lists have
one blank line inserted. Within ADDRESS blocks, a newline will be created
if needed, but no blank lines are inserted. Use BR, not P, to force extra
newlines within blocks. Do not place a P immediately following the LI or
DD tags. Alignments of P blocks are done with respect to the "second line"
margins of LI or DD elements. - FM
09-08-95
* Convert '~' to getenv("HOME") in file URLs whether or not DIRED_SUPPORT
is defined. - FM
* Tweak of TR and more tweaks of HR handling. Added HText_LastLineSize()
and HText_TrueLineSize() functions in GridText.c for determining if
lines have only non-printing characters in decisions on whether to
insert additional newlines. - FM
09-07-95
* Act on Page-Up, Page-Down, Home, End, Find and Select in the form_getstr()
editor (hoping they have their default mappings 8-). Also act on Remove
and Control-D as delete keys in that line editor (as in the LYgetstr()
line editor). - FM
* Tweak of HR handling. - FM
* Mods to prevent creating multiple copies of temporary printer files. - FM
* More fixes for NeXT. Temporary files for VIEWER, DOWNLOADER or PRINTER
commands on NeXT all have the ".html" default suffix replaced with ones
indicative of the Content-type. - FM
09-06-95
* Mods to prevent creating multiple copies of temporary viewer or downloader
files. - FM
* Fixes for NeXT. - FM
09-05-95
* Enabled the -help switch when no configuration file is available and
Lynx would otherwise exit (i.e., it now outputs the help message before
it exits). - FM
* Documented the -child switch. - FM
* Fixed and documented the -nolog switch. - FM
* Changed the -linknums switch to -number_links, fixed the code to work,
and documented the switch. - FM
* Made handling of escaped colons (\:) in VIEWER commands reliable. - FM
09-04-95
* Implemented the PLAIN attribute for UL, and the SEQNUM and CONTINUE
attributes for OL. - FM
* Updated the DTD structures and definitions for DD, DL, DT, LI, OL and UL
to HTML 3.0, added LH, and implemented full HTML 3.0 ID handling for those,
and B, BLINK, BR, CENTER, CITE, CODE, DFN, DIR, EM, FORM, KBD, I, LEFT,
LISTING, MENU, PLAINTEXT, PRE, RIGHT, SAMP, STRONG, TT, U, VAR and XMP
(some of which are obsoleted in HTML 3.0, but what the heck 8-). - FM
09-03-95
* Made bolding of NAME (ID) anchor contents configurable in lynx.cfg. - FM
09-02-95
* Tweaks of FIG and OVERLAY handling: Only put up [FIGURE] (and +[OVERLAY])
links if clickable_images is set. Assume P ALIGN="left" if contained
text does not begin with an explicit tag that sets an alignment. - FM
* Implemented full HTML 3.0 ID handling for IMG. - FM
* Tweaks for FreeBSD. - Masafumi NAKANE (t94303mn@sfc.keio.ac.jp)
08-31-95
* Added support for using a TITLE attribute as the subject in anchors with a
mailto HREF (A HREF="mailto:address" TITLE="RE: subject"). - FM
08-30-95
* Implemented full HTML 3.0 ID handling for A, ADDRESS, BLOCKQUOTE, BQ,
CAPTION, CREDIT, FIG, H1 - H6, HR, INPUT, NOTE, OPTION, P, SELECT, TABLE,
TD, TEXTAREA, TH and TR. - FM
* Updated the DTD structures and definitions for ADDRESS to HTML 3.0. - FM
* Block insertion of any escape sequence characters or substitutes when
editing form INPUTs or TEXTAREAs. - FM
08-29-95
* Tweak of ALIGN attribute handling in paragraphs. - FM
* Protect against hanging on escape sequences if received (illegally) in
documents typed as text/plain or text/html. - FM
08-28-95
* Declared DCLspawn_exception() as an unsigned int to keep DECC happy. - FM
08-27-95
* Give LYUpload() a return value (because LYLocal.c has been testing for
one all these years 8-). - FM
* Force reload on return from 'o'ptions menu if HTfileSortMethod or
keypad_mode are changed. - FM
* Force no cache of keymap display whenever vi_keys or emacs_keys are
changed. - FM
* Added Remove and Control-D as Delete synonyms for removing characters to
the left of the cursor in the LYgetstr() line editor, and Control-F as
Right-arrow synonym for moving the cursor to the right. - FM
08-24-95
* Modified prompted string editing via LYgetstr() along lines in patch
from PM (editing of form INPUT and TEXTAREA strings is unchanged).
Here's how the prompted string editing works: Left-arrow and Backspace
(Control-H) move the cursor to the left, and Right-arrow to the right,
within the string. Characters are INSERTed at the cursor position.
Delete removes characters to the left of the cursor. Home, Find and
Control-A move the cursor to the beginning of the string. End, Select
and Control-E move the cursor to the end. Control-U erases the string.
Control-G cancels at any time. Return accepts if a string is present,
or cancels if it was fully erased or never entered. A right-curley
brace appears in the right-most column when the string has segment(s)
scrolled off screen, and if left scrolled, the cursor sits on it for
further editing with the above command keys (or acceptance via Return).
Long strings scroll both left and right between the prompt string and
right-curley brace. Had to modify 17 files to make this line editor
crash safe (I hope people like it! 8-). - FM
08-22-95
* Use a macro in parse_arg() of LYMain.c to ensure proper handling of
switches which take a value and might have a space instead of an '='
between the name and value. - DW
* Insulate any system RTL's getline() from the one in HTInit.c. - DW
* Enabled editing of titles when adding bookmarks. - FM
08-21-95
* Fixed the IBM PC character set in LYCharSets.c (Note: The PC-set has the
currency symbol but it is a control character - ^O - so there is a chance
that curses or the user's terminal may discard it. Did not fix the
Icelandic characters). - DW
* Check whether getpwuid() and getgrid() have returned NULL pointers in
LYShowInfo.c. - DW
* Break up the too elaborate, compound assignment statements in LYList.c
so no compilers get tripped up by evaluation order effects. - DW
* Worked in mods from DW to cope with CR, CRLF or LF all as EOL in HTML.c
and GridText.c (not sure if they take into account all of the consequences
of Lou's "big cheat" in GridText.c, but they appear to, so far). - FM
* Explicitly preserve the Lynx bookmark file mode on Unix. - DSL
08-20-95
* More documentation and help updates. - FM
08-19-95
* Updated INSTALLATION and comments in userdefs.h and lynx.cfg. - FM
* If save to disk was done via the download menu, and a VMS rename() attempt
succeeded so we don't spawn a COPY, we no longer can access the file via
the download menu, so pop in that situation. - FM
* Worked in stuff from 16-Aug-95 lynx2-4-2 upgrade. Most had already been
added to lynx2-4-FM. This is the new stuff. - FM:
---------------------------------------------------
08-16-95
* Applied patch from Peter van Heusden (pch@ucthpx.uct.ac.za) to fix
a bug when lynx encounters an OPTION tag before the style is
ever updated. - CL
08-09-95
* Added some tweaks to Makefile and LYCurses.h to get lynx to properly
compile on ISC. Thanks to Robert Salter (salter1@master.nsbf.nasa.gov).
---------------------------------------------------
08-18-95
* Added a -validate switch for turning off everything except http URLs,
helpfiles, and secure menus in Lynx. Can be used with -dump in CGI
scripts, but is intended for use with anonymous telnet logins. In the
latter case, the user can start with his/her server's or userdir homepage,
and validate everything, while able to manipulate the display features
(e.g., whether or not links are numbered) and turn on trace (Control-T,
then Control-R to reload) when a "Bad HTML" document is encountered. The
telnet approach is particularly useful when used with the 'l'ist feature.
When used with -dump, compare it with versus without -nolist. - FM
* Added a missing curley brace in EF's (08-16-95) patches. - FM
08-17-95
* Added HISTORICAL_COMMENTS symbol which if set TRUE in lynx.cfg will cause
Lynx to revert to the "historical" behavior of treating any '>' as a
comment terminator instead of (a valid) '-->', and a -historical switch
for toggling the default behavior. - FM
* Added a -nolist switch for turning off the link list feature in dumps. - FM
* Modified SGML.c so that it still substitutes the expected end tag if a
different one is encountered (e.g, due to a document having interdigitated
instead of validly embedded tags), but doesn't do a wind down of the
element stack. This gives it a better chance of recovering from bad
HTML, and the sanity checks I've added thus far in HTML.c appear to still
be adequate for avoiding crashes (we'll see 8-). - FM
08-16-95
* Mods to support within-document anchors in documents returned via
lynxcgi scripts. - FM
* Worked in EF's patches to handle changes of keymaps under DIRED_SUPPORT
with OK_OVERRIDE, and to give the user some feedback during an Install
command. - FM
08-15-95
* Don't include a Referer header for 'g'oto URLs. - FM
* Added patches from PR for compilations with VMS port of GNUC: Modified
several prototypes to avoid GNUC warnings about conflicts with ones in
lib$routines.h, and added code in HTVMS_WaisUI.c to deal with an obscure
glitch for GNUC v2.6.[123] and v2.7.0 (not present in v2.6.0 or earlier,
and fixed in v2.7.1). - FM
* Worked in code from PR as LYVMS_FixedLengthRecords() in HTFWriter.c to
change attributes of binary files on VMS from Stream_LF to FIXED 512,
no implied carriage control, best try contiguous. Replaces the spawn
to execute FIXED512.COM. - FM
08-14-95
* Modified TEXTAREA handling to succeed or fail on bad HTML equivalently
to Netscape. - FM
08-12-95
* Mods to avoid crashes and to do something reasonable with OPTION strings
that are wider than the available popup window width. Truncation is
indicated by omission of a terminating ']' in the window link, and the
window, when popped up, is made equal to the screen width (but we can't
wrap the strings within the window, so they're truncated if they still
don't fit). - FM
* Mods to handle INPUT fields that are packaged in PRE and would extend past
the wrap column. No way to make that perfect without a major redesign,
but it's better now. - FM
08-10-95
* Handle 'g'oto entries equivalently to STARTFILE and HOMEPAGE, i.e., if
the user's entry isn't a URL, convert it to a file URL if it's a file
or directory on the local system, otherwise convert it to an http URL.
For example, "~/" will be converted to a file URL for listing the HOME
directory (on both Unix and VMS), and "www.netscape.com" will become
"http://www.netscape.com". - FM
* Fix LYCurses.h to deal with definitions of TRUE and FALSE in cursesX.h
on ultrix. - Brian Exelbierd (bex@ncsu.edu)
* Made SYSTEM_MAIL, and MAIL_ADRS on VMS, configurable in lynx.cfg. - FM
08-08-95
* Fixed two initialization problems that could account for reports of
inappropriate HEAD requests in pops of cached documents. - FM
* More tweaks for coping with bad HTML. - FM
* Fixed bug in code for bypassing bad SUFFIX: or VIEWER: entries. - FM
08-06-95
* Added code in GridText.c to deal with syntactically OK but symantically
nonsensical uses of ALT="" in IMG tags (i.e., when the IMG is structured
to provide the anchor for a link, and so the anchor ends up with nothing
but nonprinting characters for bolding), and removed the forcing of an
"[ISMAP]" pseudo-ALT in HTML.c. The show_anchor element in TextAnchor
structures is now set to NO whenever an anchor does not have any
printing characters. - FM
* Modified HTML.c to issue only one "Bad HTML" statusline message per
document (unless it's one of those unbelievably bad CGI script outputs
that are functionally multiple, concatenated documents 8-), and similarly
for "Table in Form" and "Form in Table" informational messages. - FM
* Don't bother prompting whether to send a HEAD request for the current
document if there are no links on the page (but still prompt if the user
makes a HEAD request when positioned on an inappropriate form link). - FM
08-05-95
* Added code in SGML.c for storing Identfiers (e.g., !DOCTYPE) and Comments
(i.e., tags beginning with !--) and for reporting them in trace mode.
Serves as a model for actually using them someday (i.e, functions for
analyzing them could be called where we presently just invoke a trace
output to stderr). - FM
08-03-95
* Modified SGML.c to handle comments as in the current specs, and put
Paul Gilmartin's (pg@sweng.stortek.com) TestComment.html in the
test subdirectory. - FM
* Added binary extensions in HTInit.c that were giving people problems
on FTP servers. - FM
08-02-95
* Added explicit check for CMU in telnet support with SOCKETSHR-built
images. - SB
* Added -link switch for setting the count in lnk#.dat files with -crawl
(needed if you interrupt a traversal and want to pick up again where
you left off). - DM
* More tweaks of -traversal code and Makefile. All known bugs appear to
have been dealt with at this point. Updated lynx.man, lynx.hlp and
help files to include the -traversal and -crawl switches. - FM
08-01-95
* Changed the SEQUENT compilation sympbol to PTX2 and added a ptx2 procedure
to the Makefile for Sequent Symmetry DYNIX/ptx v2, because more current
versions reportedly have solved the problems which the conditional
compilation attempted to address. - FM
* Force in the "[ISMAP]" pseudo-ALT if someone uses ALT="" for an IMG tag
that has ISMAP specified. - FM
* Tweaks of the -traversal code (still experimental). - DM & FM
07-31-95
* Worked in code from David Mathog (mathog@seqaxp.bio.caltech.edu) for
implementing the TRAVERSAL function from old versions of Lynx, but via
a command line switch (-traversal) instead of in a separately compiled
executable, and for a CRAWL function, invoked via a command line switch
(-crawl), which allows Lynx to be used as the front end for a Web Crawler.
See CRAWL.announce for more information. - FM
* More tweaks of LYCurses.c and LYCgi.c for GNUC on VMS. - SB
* More tweaks of src/Makefile. - DSL
07-30-95
* Tweaks of yesterday's Makefile and descrip.mms files. - FM
07-29-95
* Tweak in HTFTP.c to ensure that Lynx doesn't sit around waiting for an
FTP server's good-bye message if the server closes the connection itself
and doesn't send one. - FM
* Added GNUC support to the VMS descrip.mms files. - FM
* Tweaks of HTWAIS.c socket handling on VMS (I can't reproduce a reported
problem with SOCKETSHR/NetLIB, but these tweaks might help). - FM
* Added my guesses at code for HTTelnet.c to implement telnet, tn3270 and
rlogin support, if available, when building with SOCKETSHR/NetLIB on
VMS. - FM
07-28-95
* Mods for Sequent Symmetry DYNIX/ptx - Mark Kolmar (mkolmar@ccs.nslsilus.org)
* Added GL's lynxcgi patches posted to lynx-dev, plus some tweaks. - FM
* Worked in GL's lynxcgi mods as in Lynx2-4-2:
--------------------------------------------
Added George Lindholm's LYNXCGI feature. This allows lynx to bypass
http daemons to run local CGI scripts using a URL of the form
"lynxcgi:/path/cgi-script". To implement in Lynx, LYNXCGI_LINKS
must be uncommented in userdefs.h and TRUSTED_LYNXCGI must be fixed
in lynx.cfg. It doesn't handle redirection or mime-types and
scripts should probably generate partial URLs when referring back to
itself. If the file you're going after isn't an executable then it
will be loaded as regular file. This makes it possible to go back
and forth between cgi-scripts and .html files.
I changed the way TRUSTED_LYNXCGIs are recorded because they don't
work quite the same as TRUSTED_EXECs do. Also, George says it works
fine on SunOS and Solaris, and it seems to work fine on Linux. - CL
--------------------------------------------
* Don't block access to the download menu when both no_download and
no_disk_save are set if any of the download commands have always_enabled
set (ie. present a reduced menu, with those still available). - FM
* More tweaks of help and html files. - DSL
07-26-95
* Added support for GNUC in the VMS .com files. Should now compile and link
automatically for GNUC via build.com, but that needs testing. - FM
* Reorganized VMS option files into ones for the transport and ones for the
compiler, with corresponding updates of the .com and .mms files. - FM
* Tweaks of mods for GNUC on VMS, based on further discussions with
SB. - FM
* Tweaks of -help output. - Daniel S. Lewart (d-lewart@uiuc.edu)
07-25-95
* Ugh!! Blew it for Unix when setting up the GLOBALDEF/GLOBALREF definitions
in tcp.h for VAXC vs. DECC vs. GNUC on VMS this morning (I'm a night
person 8-). - FM
* Worked in code for compiling with the VMS port of GNUC, based on patches
from Sterling Bjorndahl (bjorndahl@augustana.ab.ca) and advice from
Pat Rankin (rankin@eql.caltech.edu). Needs testing, and the linking
procedure still needs to be addressed explicitly. - FM
* Prevent possibility of a null pointer dereference if an ISMAP anchor
fetch fails. - David Trueman (david@cs.dal.ca)
07-21-95
* Added LYK_HEAD (mapped by default to ']') to send HEAD requests for the
current document or link (always sent with LYforce_no_cache). - FM
* More lynx.man, lynx.hlp, help file and documentation updates. - FM
07-19-95
* Put back "-mime_headers" with mods like those in lynx2-4-2, i.e., so that
a source dump is forced. Both "-mine_headers" and "-head" show the status
line as well as the MIME headers. - FM
* Modified "-error_file" to show the complete status line, as well as the
URL and METHOD, and to concatenate entries instead of creating separate
files for each request. - FM
* Updated the lynx.man, lynx.hlp and lynx_help files. - FM
07-18-95
* Changed "-mime_headers" to "-head" and implemented it as a HEAD request
for fetching the MIME headers as text/plain. - FM
07-17-95
* Removed 00DIFFERENT from this distribution. - FM
* Made use of _underline_ format in dumps optional via SUBSTITUTE_UNDERSCORES
definitions in userdefs.h and/or lynx.cfg, and added a "-underscore"
command line switch for toggling the default on or off. - FM
* Use system("exec $SHELL") for spawning the default shell on Unix. - Paul
Gilmartin (pg@sweng.stortek.com)
* Fixed typo in check for news vs. nntp URLs in HTNews.c. - Wilson Cheung
(wcheung@netcom.com)
* Added code to the VMS setup() for dealing with curses conficts if someone
used -post_data or -get_data without specifying -dump under conditions
which require it, so it's not forced in LYMain.c as on Unix. If fact,
-get_data and -post_data are very useful in interactive invokations. - FM
* Fixed memory leak in the -post_data and -get_data handling. - FM
* Added LYNX_HOST_NAME in userdefs.h and lynx.cfg for defining an alias
which will be treated equivalently to "localhost" and HTHostName (the
fully qualified domain name of the system running Lynx) in checks for
URLs on the local host (e.g., when the -localhost switch is set). - FM
* Added in or improved descriptions for the new switches in the Lynx
command line help and Lynx_users_guide.html. - FM
07-16-95
* Tweaks of yesterday's startfile and -homepage mods, and added treatment
of '~' as SYS$LOGIN when used as the lead character on VMS (e.g., on
VMS as on Unix, lynx ~/ will create a listing of the login directory
for the account running lynx). - FM
* Worked in stuff from 13-Jul-95 lynx2-4-1 upgrade. Most had already been
added to lynx2-4-FM. This is the new stuff. - FM:
---------------------------------------------------
07-13-95
* Added some command line patches from Peter Brooks - CL:
(pbrooks@micromind.com). The new command lines are:
-post_data, -get_data = send form data from stdin and dumps results.
-auth=ID:PASSWD = sets authorization stuff at startup.
-mime_header = prints mime header with -source.
-noredir = prevents automatic redirection
-error_file=file = prints HTTP status code to file. (Not sure of
his motivation on this one, something to do with SlipKnot,
I think.)
(Replaced Peter's strdup()'s with more portable code. - FM)
07-11-95
* Added Erik Olson's (olson@phys.washngton.edu) patch to use the
_underline_ format when using the -dump option. - CL
(Kept the old code, #ifdef'ed out, to make this optional someday. - FM)
07-07-95
* Fixed a bug in local_dired. Specifically, a pointer to a fixed array
was being fed into StrAllocCopy as the destination. Linux was choking
on this although OSF/1 and AIX seemed to handle it better. - CL
---------------------------------------------------
07-15-95
* If a command line "startfile" and/or -homepage is not a URL, and can't
be located as a file or directory on the local system, treat it as an
http URL, e.g., www.wfeb.edu will be treated as http://www.wfeb.edu - FM
07-13-95
* Added nntp URL handling (nntp://news_host[:port]/path). Made it read
access only (use news URLs for both read and post access). - FM
07-12-95
* Added code for proxying https and snews URLs. The Netsite proxy server
can proxy them without need for SSL code in the clients themselves, i.e.,
for Lynx as publically distributed (need client-resident SSL code and
tunneling for the CERN proxy server, sorry). - FM
* Added the CONNECT protocol to our local code, so that SSL URLs can be
tunneled through proxy servers, and reorganized some code so that patches
for the SSL hooks can be applied easily if NSA regulations are relaxed. - FM
07-11-95
* More tweaks of alignment code. - FM
* Fixed bad code for removing trailing white space in GridText.c, LYrcFile.c,
LYReadCFG.c and LYUtils.c. - FM
* Added snews and nttp protocols, which simply inform the user that they
aren't implemented. - FM
* The claim is that even mere hooks to the RSA and SSL libraries are
objectionable to the NSA, so I removed then from the public distribution,
but left in the https protocol, which simply informs the user that it
isn't implemented. - FM
07-08-95
* Worked in Lou Montulli's (montulli@netscape.com) code for https URL
handling into the Common Library. To actually use it, you have to
get the RSA and SSL libraries, which are restricted to US citizens
(it works if you are and do 8-). I can't include those in this
distribution, because by US law that would in turn restrict it to
US citizens. - FM
* Tweaks of paragraph alignment code. - FM
07-07-95
* If we are not allowed to change the status of the "lynxexec
execution of links" from the option screen then we shouldn't be
allowed to change it from the .lynxrc file either. - GL
* Added George Lindholm's patch to add uudecode support to Lynx's file
manager. Unfortunately, uudecode puts the uudecoded file in the
current working directory, namely the directory where lynx is started.
I haven't thought of a workaround yet, so I made lynx print a
statusline message informing the user. - CL
07-06-95
* Modified redirection-handling code in HTTP.c to ensure that we get all of
the headers before trying to track down the Location: header. - FM
* For move's or rename's in the local DIRED code, don't write the new file
name into the same buffer as the old. - Earl Fogel (fogel@duke.usask.ca)
07-05-95
* Added GL's mods to use a stream-based procedure for displaying the
current Lynx keymap. Faster and more efficient than the temporary
file-based procedure. - FM
07-04-95 (Enjoy the fireworks!!! 8-)
* More mods of SGML/HTML parsing to help recover from bad HTML. - FM
* Fixed some cryptic initialization problems in the Common Library's
centering and right alignment code, that we're now using, by changing
the malloc's in HTChunk.c to calloc's. - FM
* Secured some unsafe code in the LYstrncpy() function. - FM
* Increased the connect() and select() while()-looping limit in HTTCP.c
to 30,000 tries. - FM
* Tweak of HR WIDTH attribute handling. - FM
07-03-95
* Updated the DTD structures and definitions for HR to HTML 3.0, plus
its Netscape WIDTH and SIZE attributes, and implemented WIDTH, e.g.,
HR WIDTH="50%" yields a centered horizontal rule half the width
between the current left and right margins. - FM
* Fixed problem of header end tags not yielding line breaks when embedded
in CENTER, LEFT or RIGHT tags. - FM
07-02-95
* Added MAKE_PSEUDO_ALTS_FOR_INLINES in userdefs.h and lynx.cfg which can
be defined FALSE to treat inlines without an ALT string as having ALT=""
instead of inserting the pseudo-ALT string "[INLINE]" into the document.
The configuration file default can be toggled via a -pseudo_inlines
command line switch, and the user can toggle the inclusion of pseudo-ALT
strings on or off at run time via LYK_INLINE_TOGGLE (mapped by default
to '['). - FM
* Made the -image_links command line switch a toggle for the configuration
file default setting. - FM
* Enabled processing of forms that use TABLE for formatting. I don't see any
risk of crashes, and they might end up usable. Messages warn the user that
the display of the form may be strange. - FM
* Relaxed anti-crash protections for forms with bad HTML (usually due
to interdigitated instead of embedded tags, written by providers with
Netscape or Mosaic clients, which are insensitive to such fundamentally
bad HTML). I got the code to still work with several bad forms on the
Net, and if a crash should occur, the user has been tipped off via the
statusline or trace message about the nature of the problem. - FM
07-01-95
* Restored the meaning of the P element to be the beginning of a paragraph,
updated its structures and definitions in the DTD to HTML 3.0, and
implemented its ALIGN attribute (left, center, right). Note that it
no longer forces double spacing (you'll get the spacing defined in
the stylesheet for the current element, which may or may not be
double) and empty paragraphs (serial Ps) will not yield additional
newlines (use serial BRs for that). - FM
* If both download options and disk saves are restricted, don't fetch
binary files with a download offer when their links are activated
(just issue a statusline message that the file can't be displayed),
and issue a "disabled" statusline message for any overt 'd'ownload
attemps. - FM
* For disk saves in LYDownload.c, on VMS attempt a rename() first, and then
a spawned DCL copy if that fails. - FM
* Added memory exhaustion checks for all mallocs, reallocs and callocs in
the LYfoo modules. - FM
* Added CL's realloc() substitute for AIX and ultrix in GridText.c. - FM
* Map extensions .html3 and .ht3 to text/html in HTInit.c. - FM
06-29-95
* Added code to enable creation of links for all images. Can be made the
default by setting MAKE_LINKS_FOR_ALL_IMAGES to TRUE in userdefs.h and/or
lynx.cfg (not advised). Can be implemented for the session via a command
line switch, -image_links, e.g., use lynx -dump -image_links to get links
for all images, as well as standard links, listed in the output. Can be
toggled on and off at run time via LYK_IMAGE_TOGGLE (mapped by default to
'*'). Use that in conjuction with the LYK_LIST command to get a list of
links that includes all images, e.g., for adding them as bookmarks. The
toggle also invokes a reload, so that the change will be implemented for
the current and any future documents, but if you return to cached
documents, those will need to be reloaded explicitly. See comments in
userdefs.h and lynx.cfg for more information. - FM
* Don't restrict use of Control-T for toggling trace mode to advanced
usermode (i.e., make it available in all usermodes, so people might
follow the instructions in "BAD HTML" statusline messages to check
the document in trace mode). - FM
* Modified LYList.c to indicate the anchor NAME/ID, if present, following
the TITLE, if known, in interactive 'l'ists.
* Modified SGML.c to treat '>' as both a close-double-quote and close-tag.
Now Lynx acts like Netscape, in that respect, so all that bad HTML
Netscape users are generating will not bother Lynx. - FM
06-28-95
* Oops, missed an initialization in this morning's centering and right
alignment mods. - FM
* Fixed up HTML.c to bypass HTML 3.0 attribute checks for start tags generated
by the Common Library's non-http access types (gopher, ftp, news, wais)
Could crash, otherwise. - FM
* Fixed up GridText.c code to take non-printing control characters properly
into account when formatting centered or right-aligned text. - FM
* Mods to improve appropriate carryover or cancelling of alignment attributes
across successive elements. - FM
* Implemented Netscape LEFT and RIGHT extensions, homologously to CENTER. - FM
* Implemented Netscape BLINK extension as HT_UNDERLINE. - FM
06-26-95
* Updated the DTD structures and definitions for H1 - H6 to HTML 3.0 and
implemented their ALIGN attribute (left, right and center). - FM
* Implemented the Netscape CENTER extension. - FM
06-25-95
* Updated the DTD structures and definitions for FORM, INPUT, TEXTAREA,
SELECT and OPTION to HTML 3.0. - FM
* Implemented the HTML 3.0 DISABLED attribute for FORM elements. - FM
* INPUT type "scribble" implemented as "text" according to the HTML 3.0
recommendation for non-GUI clients. - FM
* Added protections against problems with INPUT types "range" and "file"
until they're implemented (will be tricky, but do-able 8-). - FM
06-23-95
* Added all ISO8859-1 entities to the DTD. - FM
06-22-95
* Updated the DTD structures and definitions for A and IMG to HTML 3.0, and
implemented their ID attribute. - FM
* Tweaks of FIG handling. - FM
* It is somehow inappropriate to teach our users to write correct HTML and
to tell them to always check it before publishing, when Lynx's on-line
help gives such a bad example :-} (not to mention versions from a couple
of months back). Better now. - Mark Martinec (Mark.Martinec@nsc.ijs.si)
06-20-95
* Made the DTD structures and definitions for the HTML 3.0 elements
BQ, CAPTION, CREDIT, FIG, NOTE and OVERLAY complete, and added
those for STYLE, TABLE, TD, TH and TR.
* Tweaks of yesterday's HTML 3.0 additions (still just "first pass"). - FM
* Added code for avoiding potential problems with stylesheets and tables
in HTML 3.0 documents. - FM
06-19-95
* Added "first pass" handling of HTML 3.0 elements BQ, CAPTION, CREDIT,
FIG, NOTE and OVERLAY. - FM
06-17-95
* Close the configuration file on completion of the big while() in
LYReadCFG.c. - PM
* Added 00DIFFERENT to keep track of files in this code set which
presently differ from those in the latest development code set
at UKans (currently, lynx2-4-1.zip of 15-Jun-95). - FM
* Tweak of the pseudo-toolbar code. The 'l'ist command now displays the
TITLE (or RelValue, if TITLE is defaulted) of those links if they have
never been accessed, or their actual HTML titles if accessed, at the
top of the links list, so you can use that command instead of LYK_HOME
to reach the toolbar links at any time, and then left-arrow to where
you were in the current document instead of having to page back down
to that location. - FM
06-16-95
* Added LINK REL="RelValue" HREF="foo" TITLE="TitleValue" HTML 3.0
handling (as in http://www.hpl.hp.co.uk/people/dsr/html3/dochead.html
of 28-Mar-95). The HREF and REL values are required (the LINK will be
ignored if either is missing or has a zero-length value). TITLE is
optional, i.e., the RelValue will be used as the link name if TITLE
is omitted. Currently registered toolbar RelValues are: Home, ToC,
Index, Glossary, Copyright, Up, Next, Previous, Help, and Bookmark.
The Bookmark links are intended to have TITLEs (e.g., "Order Form").
The others have RelValues that yield self-evident link names. The LINKs
should be placed in the HEAD section, so they'll be displayed in a manner
simulating a toolbar (but not a real one, since we don't have Windows and
mouse support; use your LYK_HOME command to access it at any time 8-).
The BODY should have a line-breaking element (e.g, H1) to set them off.
For now, the Banner RelValue is treated like another toolbar element.
The StyleSheet RelValue is ignored, since we don't yet have loadable
stylesheet handling. - FM
* Fixed up the 06-13-95 NO_ANONYMOUS_EMAIL patch to be appropriate for
VMS - FM.
06-14-95
* Added LYK_LIST command ('l' or 'L'; must be uppercase if VI keys are on)
for creating an ACTIVATEable list of references (links) in the current
document. If LINKS_ARE_NUMBERED is on, it's a UL, otherwise it's an
OL. Visited links have the TITLE displayed, otherwise the HREF is
displayed. - FM
* Added code to append a list of references (links), if present in the
document, when -dump is used. Dumps are done with LINKS_ARE_NUMBERED
turned on. The reference list is numbered, and always shows the HREFs,
so that they can be referenced to the links in the document. - FM
* Updated help files. - FM
--- lynx2-4-1 on ftp2.cc.ukans.edu (added to lynx2-4-FM on 06-16-95)
06-13-95
* Added George Lindholm's patch to add -r (recurse) to the zip call in DIRED.
- JP
06-12-95
* Added George Lindholm's new file permission patch. Here's his description:
"Here is a rewamped version of my earlier file permission patch. This version
uses a html page to prompt for user input (rather than having the user
enter a obscure unix chmod string) using checkboxes." - JP
* Added George Lindholm's addition of a compiler flag (NO_ANONYMOUS_EMAIL).
If NO_ANONYMOUS_EMAIL is set the user will not be able to add their own
from header. This will only work if the mail package being used will
add this information. - JP
--- lynx2-4-1 on ftp2.cc.ukans.edu
06-09-95
* Replaced info.cern.ch with www.w3.org in html and make files. Designated
this code as 2.4-FM, for local use. - FM
--- STARTING 2.4-FM ---
--- Rename of Lynx2-3-FM and release as Lynx2-4 (08-June-1995) ---
(see CHANGES2-4 and CHANGES2-3)
README.TRST 0000644 00000017362 15252757227 0006246 0 ustar 00 Tabular Support for Simple Tables
=================================
Some definitions first:
* NO table support
What it says. :) Table related tags are treated like other
completely unrecognized tags.
Only listed for completeness, this does not describe Lynx.
* MINIMAL table support
Table related tags are recognized, and are used to separate
the contents of different cells (by at least a space) and rows
(by a line break) visibly from each other.
* LYNX minimal table support (LMTS)
The minimal table support as implemented by Lynx up to this point,
also includes the way ALIGN attributes are handled on TABLE, TR
and other specific tweaks (e.g. handle TABLE within PRE specially).
LMTS formatting is briefly described in the Lynx User Guide, see
the section "Lynx and HTML Tables" there. (The Users Guide has not
yet been updated for tabular support.)
* TABULAR support for tables
Support for tables that really arranges table cells in tabular form.
* Tabular Rendering for SIMPLE Tables (TRST)
Tabular support for some tables that are 'simple' enough; what this
code change provides.
One basic idea behind providing TRST is that correct tabular support
for all tables is complex, doesn't fit well into the overwhelmingly
one-pass way in which Lynx does things, and may in the end not give
pleasant results anyway for pages that (ab-)use more complex table
structures for display formatting purposes (especially in view of Lynx
limitations such as fixed character cell size and lack of horizontal
scrolling; see also emacs w3 mode). Full table support within Lynx
hasn't happened so far, and continues to seem unlikely to happen in the
near future.
The other basic idea is the observation that for simple tables, as
used mostly for data that are really tabular in nature, LMTS rendering
can be transformed into TRST rendering, after parsing the TABLE element,
by two simple transformations applied line by line:
- Insert spaces in the right places.
- Shift the line as a whole.
And that's exactly what TRST does. An implementation based on the
simple observation above is relatively straightforward, for simple
tables. On encountering the start of a TABLE element, Lynx generates
output as usual for LMTS. But it also keeps track of cell positions
and lengths in parallel. If all goes well, that additional information
is used to fix up the already formatted output lines when the TABLE
ends. If not all goes well, the table was not 'simple' enough, the
additional processing is canceled. One advantage is that we always
have a 'safe' fallback to well-understood traditional LMTS formatting:
TRST won't make more complex tables look worse than before.
What are 'simple' tables? A table is simple enough if each of its TR
rows translates into at most one display line in LMTS formatting (excluding
leading and trailing line breaks), and the width required by each row
(before as well as after fixup) does not exceed the available screen size.
Note that this excludes all tables where some of the cells are marked up as
block elements ('paragraphs'). Tables that include nested TABLE elements
are always specifically excluded, but the inner tables may be subject to
TRST handling. Also excluded are some constructs that indicate that markup
was already optimized for Lynx (or other browsers with no or minimal table
support): TABLE in PRE, use of TAB.
The description so far isn't completely accurate. In many cases, tables are
not simple enough according to the last paragraph, but parts of each TR row
can still benefit from some TRST treatment. Some partial treatment is done
for some tables in this grey zone, which may or may not help to a better
display, depending on how the table is used. This is an area where tweaks
in the future are most expected, and where the code's behavior is currently
not well defined.
One possible approach:
- The table is 'simple' according to all criteria set out in the previous
paragraph, except that some cells at the beginning and/or end of TR rows
may contain block elements (or other markup that results in formatting
like separate paragraphs).
- There is at most one range of (non-empty) table cells in each row whose
contents is not paragraph-formatted, and who are rendered on one line
together by LMTS, separate from the paragraph-formatted cells. Let's
call these cells the 'core' of a row.
Fixups are then only applied to the text lines showing the 'core' cells.
The paragraph-formatted cells are effectively pulled out before/after
their row (no horizontal space is allocated to them for the purpose of
determining column widths for core line formatting).
This is expected to be most useful for tables that are mostly
simple tabular data cells, but with the occasional longer
text thrown in. For example, a table with intended rendering:
--------------------------------------------------------
| date | item no. | price | remarks |
|--------|--------------|---------|----------------------|
| date-1 | item #1 | $0.00 | |
|--------|--------------|---------|----------------------|
| date-2 | item #2 | $101.99 | A longer annotation |
| | | | marked up as a block |
| | | | of text. |
|--------|--------------|---------|----------------------|
| date-3 | long item #3 | $99.00 | |
--------------------------------------------------------
It may now be shown by Lynx as
.................................................
date item no. price remarks
date-1 item #1 $0.00
date-2 item #2 $101.99
A longer annotation marked up as a block of
text.
date-3 long item #3 $99.00
.................................................
As can be seen, this is still quite far from the intended rendering,
but it is better than without any tabular support.
Whether the code does something sensible with "grey area" tables is up
for testing. Most of the typical tables in typical Web pages aren't
used in a way that can benefit from the TRST approach. Parts of such
tables may still end up getting shifted left or right by the TRST code
when that doesn't improve anything, but I haven't seen it make things
really worse so far (with the current code).
TRST and Partial Display
------------------------
[ Partial display mode is the feature which allows viewing and scrolling
of pages while they are loaded, without having to wait for a complete
transfer. ] During partial display rendering, table lines can sometimes
be shown in the original formatting, i.e. with horizontal fixups not yet
applied. This is more likely for longer tables, and depends on the state
in which partial display 'catches' the TRST code. Sometimes the display
may flicker: first the preliminary rendering of table lines is shown, then
after loading is finished it is replaced by the fixed-up version. I do
not consider this a serious problem: if you have partial display mode
enabled, presumably you want to be able to see as much data as possible,
and scroll up and down through it, as early as possible. In fact, the
approach taken keeps Lynx free from a problem that may graphical browsers
have: they often cannot render a table at all until it is received in full.
------------------------------------------------------------------------
To summarize:
- TRST is a solution that works in many cases where lack of tabular support
was most annoying.
- TRST doesn't implement a full table model, and it is extremely unlikely
that it will ever be the basis for that. Keep on exploring external
solutions, or perhaps waiting for (better: working on) a more fundamental
redesign of Lynx's rendering engine.
Klaus Weide - kweide@enteract.com 1999-10-13
CRAWL.announce 0000644 00000013532 15252757227 0007166 0 ustar 00 The TRAVERSAL code from old versions of Lynx has been upgraded by David
Mathog (mathog@seqaxp.bio.caltech.edu) so that it works again, can be
implemented via a command line switch (-traversal) instead of via a
compilation symbol for creating a separate Lynx executable as in those
previous versions, and can be used in conjunction with a -crawl switch
to make Lynx a front end for a Web Crawler.
Usage:
lynx [-traversal] [-realm] [-crawl] ["startpage"]
Added switches are:
-traversal Follow all http links derived from startpage that are
on the same server as startpage. If startpage isn't
specified then the traversal begins with the default
startfile or WWW_HOME.
-realm Further restrict http links to ones in the same realm
(having a matching base URI) as the startpage (e.g.,
http://host/~user/ will restrict the traversal to that
user's public html tree).
-crawl With [-traversal] outputs each unique hypertext page
as an lnk###########.dat file in the format specified
below. With [-dump] outputs only the startpage, in
the same format, to stdout.
Note on startpage:
If a startpage is specified and contains any uppercase
characters, on VMS it should be enclosed in double-quotes.
The code that extracts the access and host fields from
startpage for comparsions with links to ensure they are
not on another server, and the comparisons with already
traversed links, are case sensitive, and the startpage
will go to all lowercase on VMS if no double-quotes are
supplied, such that it might be treated as a new link if
encounted with uppercase letters.
Files created and/or used with the -traversal switch, based on definitions
in userdefs.h:
TRAVERSE_FILE (traverse.dat):
Contains a list of all URLs that were traversed. Note
that if a URL appears in this file it will not be
traversed again (important if runs are started and
stopped). Placing an entry in this file BEFORE the
run will block traversal of that URL. Unlike reject.dat
a final * has no effect (see below). Note that Lynx
internal client-side image MAP URLs will be included in
this file (e.g., LYNXIMGMAP:http://server/foo.html#map1),
in addition to the "real" (external) http URLs.
TRAVERSE_FOUND_FILE (traverse2.dat):
Contains a list of all URLs that were traversed, in the
order encountered or re-encountered (but not re-travered)
during a traversal run, and the TITLEs of the documents
(separated from the URLs by TABs) A URL and TITLE may be
present in this list many times. To simplify the list,
on VMS use: sort/nodups traverse2.dat;1 ;2
Note that the URLs and TITLEs of the Lynx internal
client-side image MAP pseudo-documents will not be
included in this file, though "traversed", but only the
http URLs and TITLEs derived from the MAP's AREA tag
HREFs that were traversed.
TRAVERSE_REJECT_FILE (reject.dat):
Contains a list of URLs that have been rejected from the
traversal. Once a URL has been entered in this list, it
will not be traversed. URLs that end in a * will cause
rejection of all URLs that match up to the character before
the *. So for instance, to reject all htbin references on a
site put this line in the reject.dat file BEFORE starting
the run: http://www.site.wherever:8000/htbin*
TRAVERSE_ERRORS (traverse.errors):
A list of links that could not be accessed or had an
unknown status returned by the http server. If the
owner of the document containing the link is know via
a LINK REV="made" HREF="mailto:foo" in it and the
MAIL_SYSTEM_ERROR_LOGGING was set true in userdefs.h
or lynx.cfg (not recommended!!!), a message about the
problem will be mailed to the owner as well.
Files created during traversals if the -crawl switch is included with the
-traversal switch:
lnk########.dat Numbered output files containing the contents of traversed
hypertext documents in text format. All hypertext links
within the document have been stripped, and the URL and
TITLE of the document are recorded as the first two lines,
e.g., for the seqaxp.bio.caltech.edu home page the first
two lines will be:
THE_URL:http://seqaxp.bio.caltech.edu:8000/
THE_TITLE:SAF Web server home page
The VMSIndex software is being adapted to use this
information to extract the corresponding URL and TITLE
for use in indexing the lnk########.dat files, e.g.:
$ build_index -
/url=(text="THE_URL:") -
/topic=(text="THE_TITLE:",EXCLUDE) -
/output=INDEX_NAME -
lnk*.dat
A clever person should be able to figure out a way to
index the lnk########.dat files on Unix as well.
If you want the hypertext links in the document to be
numbered, include the -number_links switch. By default,
this will cause the list of References (URLs for the
numbered links) to be appended as well. If you want
numbered links but not the References list, include the
-nolist switch as well.
Note that any client-side image MAP pseudo documents
that were "traversed" will not have lnk########.dat
output files created for them, but output files will
be created for "real" documents that were traversed
based on the HREFs of the MAP's AREA tags.
This functionality is still under development. Feedback and suggestions
are welcome.
SOCKETSHR.announce 0000644 00000003251 15252757227 0007660 0 ustar 00 LYNX SUPPORT FOR SOCKETSHR/NETLIB 28-AUG-1996
---------------------------------
What is SocketShr?
------------------
SOCKETSHR is Eckhart Meyer's socket library interface to the MadGoat NETLIB
package, which provides a vendor-independent interface to the VMS TCP/IP
transports. Using this, the same image will run over any of the available
packages, including UCX, Multinet, CMU, Pathway access and TCPWARE.
SocketShr and NETLIB are separately available libraries that MUST be installed
before LYNX can use them.
How to get NETLIB and SOCKETSHR
-------------------------------
FTP:
ftp://ftp.kcl.ac.uk/default/socketshr.*
ftp://ftp.wku.edu/fileserv/socketshr.zip
ftp://ftp.spc.edu/macro32/savesets/socketshr.zip
ftp://ftp.kcl.ac.uk/madgoat/netlib.*
ftp://ftp.wku.edu/madgoat/netlib017.zip
ftp://ftp.spc.edu/macro32/savesets/netlib017.zip
By E-Mail:
send the following commands in a mail message:
SEND SOCKETSHR.PACKAGE
SEND NETLIB.PACKAGE
To:
vmsserv @ kcl.ac.uk
Other server's may also contain these packages.
NETLIB is copyright of MadGoat Software; SOCKETSHR is copyright of Eckhart
meyer.
Preliminary Setup of SOCKETSHR
------------------------------
Once SOCKETSHR has been installed, TWO logical names should be defined:
SOCKETSHR Point to the appropriate shareable image
SOCKETSHR_LIBRARY Point to the directory containing SOCKETSHR.H
and IOCTL.H
Both should be defined /system /exec
Building LYNX
-------------
Run the BUILD.COM procedures and select the SOCKETSHR_TCP option. This will
build an image that will run over the SOCKETSHR/NETLIB routines.
Andy Harper
Kings College London
A.Harper@bay.cc.kcl.ac.uk
CHANGES2.6 0000644 00000121567 15252757227 0006017 0 ustar 00 --- Rename of Lynx2-5FM and release as Lynx2-6 (02-Sep-1996) ---
==============================================================================
09-02-96 ---- Release of Lynx2-6 ----
* More expansions of the online 'h'elp files. - FM
* Updated the PROBLEMS file. - FM
09-01-96
* More expansions of the online 'h'elp files. - FM
* Tweaks of list handling. - FM
* Miscellaneous code cleanups and annotations. - FM
08-31-96
* Further updates and expansions of the online 'h'elp files. - FM
* Tweaks of alignment handling with bad HTML. - FM
* Added JIS X 0201 Japanese Kana string support. - TA & FM
08-30-96
* Further updates and expansions of the online 'h'elp files. - FM
* Typo fixes in the help and doc files. - LWV
* Tweaks of ENCTYPE handling for FORM submissions. - FM
08-29-96
* Today's distribution is a pre-release of v2.6. The projected official
release date is 09-02-96.
* Tweaks of numeric character reference handling. - FM
* Typo fix in LYShowInfo.c. - IC
08-28-96
* Added handling of ENCTYPE="application/sgml-form-urlencoded" in FORMs
as a directive to use semi-colons instead of ampersands as name=value
separators, and to indicate that as the Content-Type for POSTs. - FM
* Convert ampersands in addresses and link names, and angle-brackets in
link names, to SGML entities when creating bookmarks and showinfo ('=')
link 'l'ist, client-side-image-map, and history list text/html streams
or temporary files. - FM
* More SGML compliance mods for the handling of attribute values which
represent URLs or URL components. - FM
* Tweaks of form INPUT, TEXTAREA, SELECT and OPTION handling. - FM
* Check EAGAIN on socket connect or select attempts for all platforms and
flavors. - FM
* Include both and in tcp.h for AIX.
* Adding warning and info in the INSTALLATION file and userdefs.h on how
to cope with telnetd environment variable spamming for anonymous accounts
running Lynx captively. - FM
08-24-96
* Enhancements of the History List handling. Show each link's actual address
in addition to the titles, since the actual addresses can't be determined
via showinfo or the 'l'ist display, and links in the History List derived
from searches can have the same titles but different searchparts or hidden
content appended. If a link in the History List is activated, is still
cached, has POST content, and ALWAYS_RESUBMIT_POSTS was configured off (as
recommended) and wasn't toggled on via -resubmit_posts, prompt the user
whether to resubmit the form (versus retrieve the cached rendition from
the previous submission). We don't bother prompting on PREV_DOC ("back")
fetches, and still resubmit forms with POST content whenever their submit
buttons are activated, i.e., regardless of whether ALWAYS_RESUBMIT_POSTS
has been configured or toggled on. - FM
* If a user attempts to add a bookmark while viewing a document returned
via a form submission with POST content, and it contains links, offer
the current link with it's link name for editing. Otherwise, display
a statusline message that documents from forms with POST content cannot
be saved as bookmarks. - FM
08-23-96
* Added UP_HALF and DOWN_HALF commands, mapped by default to '(' and ')',
for going back or forward half a page in the document. These are
complementary to UP_TWO and DOWN_TWO, for going back or forward two
lines (remember to use the 'K'eymap command for a list of all of the
keystroke command bindings currently in effect, since they may have
been changed via lynx.cfg from the defaults described in the online
'H'elp). - FM
* Made the Control-A and Control-E keys default synonyms for HOME and END,
complementary to their use for going to the beginning or end of the line
when using the line editor. - FM
* Don't lose track of source versus present mode on returns from temporary
menu files to documents derived from forms with method POST. - FM
* Ugh, I had deleted one too many lines from HTTP.c when stripping out my
SSL hooks for the distribution copy (no wonder the Authorization mods
worked fine for me but nobody else 8-). - FM
08-22-96
* Added handling of named entities and numeric character references in
the values of most of the non-URL attributes (we don't waste overhead
doing that for the values of simple attributes, like ALIGN, which have
designated strings). - FM
08-21-96
* Safely handle named entities and numeric character references in the values
of BASE, LINK, HREF, SRC, ACTION, DATA, CODEBASE and CODE attributes, and
in the URL field for the CONTENT of META with a "Refresh" HTTP-EQUIV or
NAME. They are converted in relation to the "ISO Latin 1" Character Set
array regardless of the selected Character Set (except that nbsp and shy
remain 160 and 173), then 8-bit translations are hex escaped (as they
should have been in the markup 8-), and ESC is hex escaped or omitted
depending on whether a CJK character set has been selected. There's no
way to do it such that the resolved URL always will be valid no matter
what yoyos or CGI scripts put in document instances, but this strategy
maximizes the chances while making sure no "dangerous" characters, based
on the selected Character Set, are ever sent to the screen (it used to be
HyperText Markup Language, not HyperGraphic Markup Language 8-)- FM
* Allow Control-G or a zero-length username or password to act as a cancel
of the request (and restoration of the current document) when an http
server invokes prompting for Authorization. - FM
* When using a proxy server, report the target host instead of the proxy
in prompts for Authorization. - FM
* Show MIME types of files, if known, whenever a download offer is forced,
regardless of why it was forced (i.e, not only for mismatches between
the document's charset and the selected character set). - FM
08-20-96
* Yet more tweaks of MIME header parsing. - FM
08-19-96
* Enhancements of the news gateway. - FM
* Tweaks of Content-Type and charset handling. - FM
* Tweaks of MIME header parsing. - FM
08-18-96
* Tweaks of the news gateway and its documentation. - FM
08-17-96
* Added overt (rational 8-) handling of all status codes that might be
returned (appropriately or inappropriately 8-) from HTTP/1.1 http
servers, and massively annotated the code in HTTP.c. - FM
* Added parsing in HTMIME.c, and at least trace mode reporting, for all
http server reply and entity headers as in the 08-12-96 HTTP/1.1 draft.
We should not get many of them, unless we declare ourselves as an HTTP/1.1
client and send the appropriate request headers, but they're all available
now for use as more HTTP/1.1 features are added. - FM
08-16-96
* Added handling of "Pragma: no-cache" or "Cache-Control: no-cache" headers
from http servers, and polished up the code for handling them via META
directives. - FM
08-15-96
* Modified form handling so that Lynx always resubmits forms if their method
is POST, even if their content was not changed, when their submit buttons
or submitting text input are activated. Changed the ALWAYS_RESUBMIT_FORMS
compilation and configuration definitions, and -resubmit_forms command
line toggle, to ALWAYS_RESUBMIT_POSTS, and -resubmit_posts. When FALSE,
you still get the previously returned document from a POSTed form if that
document had links which you activated, and then go back with the PREV_DOC
command or via the history list. If set TRUE, the form will be resubmitted
under those circumstances as well. Documents returned by forms with method
GET still require use of the RESUBMIT command to resubmit if the forms'
content was not changed, and forms with a mailto action still always mail
the content on activation of the submit button or submitting text input
(no document is returned, so the PREV_DOC command and history list behaviors
are irrelevant). - FM
* Use space to plus conversions for values of submitted form content (Ugh,
Lynx has been using %20 all these years! It worked because they are
unescaped to space, anyway. 8-). - FM
* Polished up and massively annotated the redirection handling code. If
a user approves redirection of a form with POST content, it will not be
freed and the submission will not be converted to a contentless GET request
unless the status was 303 (See Other). For 300 (Multiple Choices), the
returned document is offered, which should include links with descriptions
of their media types. The returned document (if any) is now displayed for
any redirection status code if no Location: header was present, and for
unknown 3xx codes (i.e., greater than 305). If Lynx gets an inappropriate
304 (Not Modified), it switches to HEAD mode and displays the status line,
and anything else returned by the server, as text/plain. A 301 (Moved
Permanently) will be treated as 302 (Moved Temporarily) for form submissions
with POST content. Otherwise, Lynx will use the new URL for the remainder
of the current session (users will have to do a 'r'emove and 'a'dd for their
bookmarks themselves, for now). A 305 (Use Proxy) will not be honored if
Lynx is already using a proxy, and instead the returned document will be
displayed. The limit on serial redirections was dropped from the current
10 to 5, as recommended in the August 10, 1996 HTTP/1.1 draft. - FM
08-13-96
* Mods to accommodate the HTTP/1.1 300 - 305 Redirection status codes, and
to require user confirmation for any redirection of POST content. - FM
* Tweaks of OBJECT handling. - FM
08-12-96
* Implemented all aspects of OBJECT that make sense for a text client.
Will descend though nested OBJECTs. Can be used for presenting PRE
formatted character-cell versions of images, and appears to handle
all likely uses of the SHAPES and USEMAP attributes in OBJECTs. The
pseudo-ALTs for links to non-script DATA values (i.e, the for-GUI
sources) when offered as links (e.g., in clickable_images mode), if
not a markup-specified string (e.g., based on a TITLE attribute),
are (IMAGE) or (OBJECT), based on whether the nature of the source
can be inferred from the context, or an explicit TYPE attribute in
the OBJECT start tag. The use of parens instead of square-brackets
indicates that the links are for OBJECTs as opposed to IMGs. - FM
* Tweaks of SELECT and OPTION handling. - FM
08-09-96
* Lots more stuff added to the online help files. - FM
* Added state code in SGML.c to avoid getting tripped up by any single or
double quotes in CJK escape sequences that are within single or double
quoted attribute values. - TA
* Restrict resetting the Kanji code flag on white space to Japanese
(i.e., not also Chinese, Taipai, or Korean). - TA
* Added handling of EPLF lines (with local time) for the FTP gateway. -
D. J. Bernstein (djb@koobera.math.uic.edu)
08-08-96
* Added code for handling captured OBJECT content with the SHAPES
attribute equivalently to our handling of FIG, and with USEMAP and/or
ISMAP content equivalently to our handling of IMG.
* Added code for capturing potentially nested container elements that
require pre-processing, e.g., OBJECT, and for passing the processed
markup back to the SGML parser to be inserted within the ongoing HTML
stream.
* Added CHECK_EAGAIN Makefile definition for non-SVR4 Unix flavors which
might need it for socket connect() and select() calls. - FM
* Tweaks of keyboard input with slang when LYCursesON is FALSE. - FM
08-06-96
* Terminate and start a new Accept: header line if the current one will
exceed 1 KB (shouldn't be necessary, but otherwise the long lines cause
an error for WebSitePro and crash Netscape servers, and perhaps have
adversed effects on some other http servers with ill designed code for
content negotiation). - FM
* Give temporary files suffixes matched to the Content-Type for all flavors
of Unix and for VMS, not just for NeXT. - FM
* Tweak of Location: header parsing in HTTP.c (trim all lead spaces). - FM
08-05-96
* More help and documentation updates. - FM
08-04-96
* Updated the online help files. - FM
08-03-96
* Mods of "user (A)gent" 'o'ption handling. Also added a "useragent"
-restriction, included in the defaults for anonymous accounts. See
the "Lynx options menu" section of the "Lynx Users Guide" via the
online 'h'elp for more information. - FM
* Tweaks of messaging for unsupported URLs. - FM
* Tweaks of interrupt handling on VMS. - FM
08-02-96
* Added handling of Refresh in META tags. The URL is presented as a link
pointed to by a "REFRESH(n sec):" label, where "n" is the seconds
parameter from the META tag, and you must activate it yourself, which
should enable people using Lynx via a braille interface to examine
the initial document before it is refreshed. The META format is:
where "n" can be "0" or
a positive integer, and the "; URL=url" field is optional, defaulting
to the document's own address. Netscape's docs say that "url" should
be a complete URL, but their client doesn't require it, and so it's
users don't reliably use complete URLs. Lynx therefore resolves "url"
versus the document's own address if it is not complete. - FM
08-01-96
* Added handling of ENCTYPE="text/plain" for FORMs with a mailto ACTION.
The name=value pairs are not hex escaped, and physical newlines instead
of '&' separate the pairs, so that the content is readable directly. - FM
* Added SUBJECT attribute as synonym for TITLE in FORMs (Some clients
are using it instead of TITLE for mailto ACTIONs, ugh!). - FM
* Tweaks of DEL, S, STRIKE, and INS handling. - FM
* Handle any newline characters in quoted INPUT values. - FM
* Added news-ncurses and news-slang Makefile targets, and tweaks of headers
for sony_news. - Makoto MATSUSHITA (matusita@ics.es.osaka-u.ac.jp)
07-30-96
* Finished and incorporated lynx_url_support.html in the online help,
and updated lynx_help_main.html. - FM
* Tweaks of ID attribute handling. - FM
* Tweaks of the gopher gateway. - FM
* Updated IBMPC-charsets.announce. - MB
07-26-96
* Set the default anonymous account restrictions if Lynx is invoked in
the account pointed to by ANONYMOUS_USER, or with the -anonymous switch,
before processing any additional command line restrictions, so that any
greater restrictions will not drop back to the compilation defaults.
Note that the full set of -validate restrictions always are enforced for
that switch, i.e., no matter what other switches or compilation options
are used, and whether or not the account is anonymous. - FM
* Implemented handling of the ANONYMOUS_USER definition on VMS (equivalently
to it's implementation on Unix). - FM
* Tweaks of mailto URL handling and setting of the default subject via
TITLE attributes. - FM
* Tweak of the news gateway's handling of the author (From:) field. - FM
07-25-96
* If a server returns redirection without a complete URL indicated, resolve
it relative to the original request instead of issuing an error message
(this is incorrect behavior, but that's another trashed standard, and
Lynx may as well handle the situation as standard-less clients do). - FM
* Move the NO_JUMPFILE and JUMP_PROMPT definitions to LYMessages_en.h - FM
* Added code for selective disabling of goto by scheme in anonymous accounts,
along lines of patch from Doug Lawson (dlawson@epfl2.epflbalto.org). - FM
* Ignore any viewer mappings for text/html or text/plain in mailcap
files. - FM
07-22-96
* Updated ptx target and added ptx-slang. - Alan Coopersmith
(alanc@CSUA.Berkeley.EDU)
* Added all the new elements and attributes from the July 12 HTML 3.2/Cougar
DTD, and implemented the new IMG TITLE attribute for use with USEMAP.
* Added a -startfile_ok switch for allowing a non-http startfile or homepage
with -validate, and restored the behavior of not allowing *any* non-http
URLs by default.
07-19-96
* Treat PLAIN and TYPE="plain" as equivalent in UL tags. - FM
* Fixed the mispositioning of thinsp in HTMLDTD.c. - FM
07-18-96
* Moved the statusline prompt, message, and warning string definitions
out of userdefs.h into an LYMessages_en.h header. See the comments
in userdefs.h and LYMessages_en.h for more information. - FM
* Removed the -lc from the LIBS= list of the snake3 and snake3-slang
targets, added a description of the HP/UX 10.10 select() problems
and reported (but not yet satisfactory) workarounds in the PROBLEMS
file, and a note in the Makefile to read the PROBLEMS file. - FM
07-17-96
* Numerous typecasts added for optimized compilations. - FM
* Tweaks for ISC. - WS
* Changed make to $(MAKE) and -g to -O for Unix targets (may need
tweaking for some flavors 8-). - FM
* Added news target for SONY NEWS-OS 4.2.1R based on patch from
Kazuya 'Sharl' Masuda (masuda@sp.hudson.co.jp) and TA. - FM
* Fixed typo in LYList.c from yesterday's mods. - FM
07-16-96
* Plugged memory leaks associated with temporary file names. - FM
* Finally figured out what was creating orphan child anchors, and plugged
that memory leak in HTAnchor_delete(). - FM
* Replace with for SCO in tcp.h. - BL
* Mods to avoid warning about redefinition of signal when building on
VMS with old versions of SOCKETSHR (irrelevant, but might worry
people who don't know that the warning can be ignored). - FM
07-15-96
* Plugged various memory leaks in FORM handling code. - FM
07-13-96
* Add the startfile, and homepage if different, to the 'g'oto recall
buffer so that they are available for editing in addition to any
overtly entered 'g'oto URLs. - FM
* Changed TRUSTED_URL to ALWAYS_TRUSTED_EXEC for clarity, and plugged
memory leaks and some security holes in that code. - FM
* Fixed typo in code for handling Z compressed files. - FM
07-12-96
* Added handling of ( ), and handling of as ,
as , – as – or &endash;, — as — or
&emdash;, and ™ as ™ (treated as ® ®), based on the
Cougar DTD. - FM
* Increased the line buffer size in HTLoadHTTP() and limited the deflt string
length in HTPrompt() to avoid possibilities of buffer overruns. - FM
07-11-96
* Block access to file: URLs via network served files or bookmarks in
addition to 'g'oto entries when -restrictions=file_url is set (one of
the default restrictions for -anonymous). - FM
* Extended compressed file handling to the ftp gateway and local files.
If you ACTIVATE the link instead of overtly invoking a 'd'ownload, and
the path with the gz or Z stripped maps to a displayable Content-Type or
one for which you have a viewer or helper app, the file will be treated
as if it had a Content-Encoding: header indicating the compression (i.e.,
uncompressed and displayed or passed to the viewer or helper app). - FM
* Mods to send http servers an Accept-Encoding: header indicating gzip and
compress, and to block inclusion of our new, internal www/compressed MIME
type in the Accept: header list. - FM
* Changed the names of the lex_buffer and lex_lines globals to HTlex_buffer
and HTlex_lines in case name conflicts are causing segmentation faults on
linux for long usernames in authorization requests, and changed all
malloc()'s to calloc()'s in that code in case there's an initialization
glitch I don't yet see. - FM
07-09-96
* Use the username and password of an -auth= command line argument only
for the first realm that requests authorization, so they don't preclude
access to other realms later in any interactive session that might have
a different username and/or password, and handle inclusion of only a
username or only a password in the -auth= argument. - FM
* Tweaks of memory leak plugs in authorization handling functions (hopefully
now avoiding segmentation faults on linux 8-). - FM
* Include -lc in the first position of the LIBS= list for snake3 targets.
- Donald S. Teiser