diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/CHANGES2.3 | 458 | ||||
-rw-r--r-- | docs/CHANGES2.4 | 891 | ||||
-rw-r--r-- | docs/CHANGES2.5 | 1696 | ||||
-rw-r--r-- | docs/CHANGES2.6 | 732 | ||||
-rw-r--r-- | docs/CHANGES2.7 | 831 | ||||
-rw-r--r-- | docs/CHANGES2.8 | 3399 | ||||
-rw-r--r-- | docs/CRAWL.announce | 131 | ||||
-rw-r--r-- | docs/FM.announce | 72 | ||||
-rw-r--r-- | docs/IBMPC-charsets.announce | 74 | ||||
-rw-r--r-- | docs/OS-390.announce | 93 | ||||
-rw-r--r-- | docs/README.TRST | 158 | ||||
-rw-r--r-- | docs/README.chartrans | 164 | ||||
-rw-r--r-- | docs/README.cookies | 60 | ||||
-rw-r--r-- | docs/README.defines | 147 | ||||
-rw-r--r-- | docs/README.jp | 130 | ||||
-rw-r--r-- | docs/README.metrics | 283 | ||||
-rw-r--r-- | docs/README.options | 81 | ||||
-rw-r--r-- | docs/README.release | 14 | ||||
-rw-r--r-- | docs/README.rootcerts | 308 | ||||
-rw-r--r-- | docs/README.ssl | 69 | ||||
-rw-r--r-- | docs/README.sslcerts | 265 | ||||
-rw-r--r-- | docs/SOCKETSHR.announce | 67 | ||||
-rw-r--r-- | docs/TCPWARE.announce | 30 | ||||
-rw-r--r-- | docs/VMSWAIS.announce | 28 | ||||
-rw-r--r-- | docs/djgpp.key | 214 | ||||
-rw-r--r-- | docs/pdcurses.key | 123 | ||||
-rw-r--r-- | docs/slang.key | 4 | ||||
-rw-r--r-- | docs/win-386.announce | 40 |
28 files changed, 10562 insertions, 0 deletions
diff --git a/docs/CHANGES2.3 b/docs/CHANGES2.3 new file mode 100644 index 0000000..cf9e2ee --- /dev/null +++ b/docs/CHANGES2.3 @@ -0,0 +1,458 @@ +--- 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 handling 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 requested 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 what's 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. +* Interruptible 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_cursor. If enabled the cursor + will not be hidden in the right hand corner but will instead + be positioned at the start of the currently selected link. + show cursor 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 caused 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 protocol. 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 menus 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 interrupt 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 asks for confirmation and does NOT clear + the history stack. +* Blockquote style changed slightly. +* fixed bug with A and other tags messing up formatting + within PRE segments. +* Verbose Gopher option removed, verbose gopher functionality + is now set permanently 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 a lot 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 references 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 separating 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 + beginning 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 caching 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 diff --git a/docs/CHANGES2.4 b/docs/CHANGES2.4 new file mode 100644 index 0000000..3585127 --- /dev/null +++ b/docs/CHANGES2.4 @@ -0,0 +1,891 @@ +--- 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 readable (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 quitting 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 Interactive (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 likelihood 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 to 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 + dysfunctional. - 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 distinguish 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 invocations 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 +* Modified 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 assignments 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 + initialized 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 desirable 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 + extensions 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 existence 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 +* Miscelleanous bugs and memory leaks found and fixed in conjunction 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 restore 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 editing 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 + inadvertently). - 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 interpreted 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) --- diff --git a/docs/CHANGES2.5 b/docs/CHANGES2.5 new file mode 100644 index 0000000..6abb99f --- /dev/null +++ b/docs/CHANGES2.5 @@ -0,0 +1,1696 @@ +--- 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 minimal 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 Minimal 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 displaying 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 +* Modified the "Accept-Language: " header handling so that it uses the + "preferred 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 preference or comma-separated list of + preferences 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 anonymous 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 possibility 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 +* Improvements 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 synonym 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 conflicts 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 invocations. - 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 publicly 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 + attempts. - 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 conjunction 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) diff --git a/docs/CHANGES2.6 b/docs/CHANGES2.6 new file mode 100644 index 0000000..73c158a --- /dev/null +++ b/docs/CHANGES2.6 @@ -0,0 +1,732 @@ +--- 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 <time.h> and <sys/time.h> 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: + <META HTTP-EQUIV=refresh CONTENT="n; URL=url"> 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 <sys/select.h> with <sys/timeb.h> 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 <dsteis01@homer.louisville.edu) +* Enhancements of Makefile. - LWV +07-07-96 +* Tweaks of code for uncompressing on the fly. Will now force a download + offer without uncompressing if there is no presentation mapping for the + Content-Type. - FM +* Retain blank lines within TEXTAREA content (but not trailing blanks). - DT +07-07-96 +* Added functions for uncompressing and handling documents which have + Content-Encoding headers that indicate "x-gzip", "gzip", "x-compress", + or "compress" (instead of forcing a download offer). The files are + not uncompressed if they were fetched via the 'd'ownload command. + Note, however, that if you activate a link for a compressed image or + other binary file, and don't have a viewer or helper app mapped for it, + it will already have been uncompressed before a D)ownload or C)ancel + offer can be made, so use the 'd'ownload command directly if it is + your intention to download such files. Note also that on VMS "gzip -d" + is used for both gz and Z uncompression. See the INSTALLATION file for + info on getting the VMS port of gzip. - FM +07-06-96 +* Allow any startfile and homepage in -validate mode even if they are not + http URLs. - FM +* Made all the 'o'ptions menu statusline prompts and informational messages + strings that can be defined in userdefs.h for different languages. - FM +* Mods to send one Accept header as a comma-separated list instead of a + series of individual Accept header statements. - FM +07-05-96 +* Added NO_FILE_REFERER configuration symbol and -nofilereferer switch + for disabling transmissions of Referer headers for any file URLs (is + a subset of what NO_REFERER_HEADER and -noreferer disable). - FM +* Tweaks to facilitate additions of security-related patches. - FM +07-04-96 +* Added NEWS_CHUNK_SIZE and NEWS_MAX_CHUNK configuration symbols and + -newschunksize and -newsmaxchunk switches for regulating the chunking + of news article listings. See comments in lynx.cfg for explanation. - FM +07-02-96 +* Tweaks of URL_DOMAIN_PREFIXES and URL_DOMAIN_SUFFIXES handling (was + doing double scheme prefixing under some circumstances). - FM +* Fixed problem of potential crashes with bad HTML which lacks any + OPTION tags in SELECT containers (Yes, HTML that bad is really out + there! 8-). - FM +* Fixed problem of potential infinite loop in HText_endAppend() for documents + that contain nothing but SCRIPTs and empty OBJECT containers (as in the + Microsoft ActiveX demos). -FM +07-01-96 +* Added circular recall buffer for paths used as the second argument in + 'd'ownload and 'p'rint menu commands. Use the up- and down-arrow keys + to access then at the statusline prompt, equivalently to the recalls for + previous 'g'oto URLs, 'j'ump shortcuts, and ISINDEX or WHEREIS search + queries. - FM +* Modified the LYMail.c functions to work as intended with both curses + and slang (through v0.9-33) on both Unix and VMS. - FM +06-30-96 +* Changed yesterday's symbols to URL_DOMAIN_PREFIXES and URL_DOMAIN_SUFFIXES + and added code to guess the scheme based on the first field of the domain + name (e.g., gopher.wfbr.edu will become gopher://gopher.wfbr.edu instead + an http://host URL). Note also that a partial host string can contain a + dot within it and still be tested with prefixes and suffixes if the DNS + lookup fails with the host string as entered (e.g., cc.ukans will become + http://www.cc.ukans.edu), and only dots at the end or beginning of the + partial host string will block prepending or appending, respectively, of + items from the prefix or suffix lists (e.g., ftp.foo. will block use of + items from the prefix list, but permit tests from the suffix list, and + will become ftp://ftp.foo.dom if the ftp.foo.dom lookup succeeds). - FM +06-29-96 +* Added HTTP_DOMAIN_PREFIXES and HTTP_DOMAIN_SUFFIXES in userdefs.h and + lynx.cfg for defining lists and setting the order of domain name prefixes + and suffixes to use when creating http:// URLs from command line and + 'g'oto arguments which are not already URLs and cannot be opened via a + file://localhost URL (see 05-30-96 entry). - FM +06-28-96 +* Tweaks of MIME header handling. - FM +06-27-96 +* Do not send a referer header for links obtained from the history list, + bookmark file, or jumps file. - FM +* Made sorts by name case-sensitive in ftp and file listings. - FM +* Added osf-slang make target. - FM +* Enable ^C (SIGINT) interrupts during spawns on Unix (^C and ^Y interrupts + were already being enabled for VMS ). - FM +* Fixed glitch in WHEREIS search handling. - Michael Barabanov + (baraban@luz.cs.nmt.edu) +06-26-96 +* Tweaks of ftp gateway for VM/CMS servers based on feedback from PG. - FM +* More tweaks of 'o'ptions menu and DISPLAY handling. - FM +* Tweaks for builds with WIN_TCP on VMS. - FM +06-24-96 +* Modified 'o'ptions menu handling to allow NULLing of strings which were + set at startup. Note that if you NULL (or set) the DISPLAY variable, + Lynx configured itself for X/Motif or not based on whether it was set + (or NULL) at startup, and you need to restart Lynx to really change the + configuration for 'd'ownload forces versus X/Motif viewer spawns. - FM +* More tweaks of language code, to make the HTCJK enum checks more + portable. - FM +06-23-96 +* Set up handling of nested DIV tags with ALIGN attributes (and CENTER, + which is treated as DIV ALIGN="center"). - FM +* Removed INSERT, ALIAS and MH from the DTD, and their associated code + from HTML.c and GridText.c. - FM +06-22-96 +* Tweaks of character set handling. - FM +* Added function for graphic boxing of popups with curses on VMS. - FM +06-21-96 +* Mods to translate CJK escape sequences and take Kanji into account when + handling statusline() messages. That's in effect if a CJK character set + is selected, and regardless of the raw or CJK mode setting, because the + strings are coming from definitions in userdefs.h, not the document that + is being rendered or displayed. - FM +* Added more statusline() string definitions in userdefs.h. - FM +* Ignore a server's Content-Encoding header if it inappropriately indicates + "8bit" or "7bit" (should be indicated a compression scheme). - FM +* Mods to use charset strings as in the 07-Jun-1996 HTTP/1.1 draft, and to + check for those as well as their common synonyms. - FM +* Mods to revive clearok() functionality with the slang 0.99-33 library + (need it for Kanji handling and for VMS), and to deal with the definition + conflicts for the (poorly added) TRUE and FALSE definitions in the new + slang library's SLcurses.h. - FM +06-20-96 +* Added handling of the SFS file system on VM ftp servers, tested on + ftp://ubvm.cc.buffalo.edu/ (be sure to escape the colons if you use SFS + paths, e.g., ftp://ubvm.cc.buffalo.edu/vmsysu%3alistserv.webshare) - FM +* More memory management enhancements and leak plugs. - FM +* Added -DUNIX and -DSCO to the sco and sco5 libwww targets. - BL +06-17-96 +* Added handling of ­, ­, and 8-bit 173 for ISO-Latin-1 documents, + as a soft hyphen for all of the character sets. - FM +* Polished up and massively annotated the new character set handling + code. - FM +* Made all the dummy libwww headers in WWW/Library/Implementation + compatible with the new, actually used, headers in /src. - FM +* Fixed some bad ifdef-ing for statusline string definitions which + were added to userdefs.h. - FM +06-15-96 +* Added many more userdefs.h definitions for statusline() and HTAlert() + messages. - FM +* Tweaks of ALT string handling when they are used as forced link names + for USEMAP, AREA, IMG, EMBED or APPLET sources. - FM +* Oops, hadn't put the new HTML.h in the zip. - FM +* Fixed casing typo for HTCJK.h inclusion in HTMIME.c. - LWV +06-14-96 +* Updated the help files, lynx.man and lynx.hlp concerning the character + set handling. - FM +* Changed the -jpn switch to a generic -raw switch, and the LYK_JPN_TOGGLE + ('@') to a generic LYK_RAW_TOGGLE. The toggling also can be done via + the 'o'ptions menu, in conjunction with selecting character sets. See + the comments about CHARACTER_SET in userdefs.h and lynx.cfg for more + information. The toggle determines whether raw 8-bit characters in the + document are assumed to be ISO-8859-1, and therefore translated for the + non-"ISO Latin 1" character sets based on their LYCharSets.c arrays, or + are assumed to match the character set (e.g, 8-bit ISO-8859-2 when the + "ISO Latin 2" set is selected, or Kanji when a CJK set is selected) and + therefore processed raw. Use raw or CJK mode when you know the charset + of the document is a match to your selected character set, but no header + or suffix has indicated that the charset is not ISO-8859-1. Be careful + about this when "Other ISO Latin" is selected, since the document could + be, e.g., ISO-8859-3, but you are using, e.g., ISO-8859-5. - FM +* Added "Other ISO Latin", "Chinese", "Japanese (EUC)", "Japanese (SJIS)", + "Korean", and "Taipei (Big5)", character sets, which presently translate + 8-bit ISO-8859-1 named and numeric entities to 7-bit approximations, and + added a default "CHARACTER_SET" definition in userdefs.h, complementary + to that in lynx.cfg. - FM +* Worked in the expanded CJK (Chinese, Japanese, Korean) escape sequence and + Kanji handling from Takuya ASADA's June 11, 1996 Lynx2-5CJK (available in + ftp://ftp.three-a.co.jp/pub/www/lynx). - FM +06-11-96 +* Tweak of the ftp gateway to handle Reflection Unix emulation servers. - FM +* Made lynx_version_putenv_command a global so we can free it at exit + via free_lynx_globals() in LYMain.c. - FM +06-10-96 +* Convert a 0xFFFF value from slang in LYgetch() to 7 (^G) to cancel + whatever called it, instead of exiting on error. - FM +* Tweaks of Makefile to use symbolic, $(include) and $(lib) paths with + ncurses for convex, NeXT and sun4, and for SOCKSLIB. - LWV +* Tweaks of mail editor handling based on patch from Arne Riiber + (riiber@systek.no). - FM +06-09-96 +* Had overdone it plugging memory leaks and was freeing the proxy, news + server, and lynx version variables too soon. - FM +06-07-96 +* Moved the Kanji handling variables into HText structure elements to make + the GridText.c functions reentrant for them, and added code for regulating + them via charset parameters in server headers or META tags. The recognized + parameters are EUC-JP, Shift-JIS, ISO-2022-JP, ISO-2022-JP-2, and EUC-KR. + E.g., a META with: + HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift-JIS" + will set up handling of the document as Shift-JIS. - FM +* Made handling of Kanji more reliable when SJIS is the default, based + on the strategy in Takuya ASADA's Japanized Lynx2-4-2. - FM +* K&Rized the Ichikawa ISO-2022-JP MIME header handling functions and added + them to HTMIME.c, together with Takuya ASADA's (asada@three-a.co.jp) + function for guessing whether an escape has been lost and filling it in, + and use them for checking news headers. - FM +* Retry DCL spawns without the TRUSTED flag if it was included and we + got back an INVARG status. - Robert C. Gray (gray@cyberodyssey.com) +06-06-96 +* Plugged lots of memory leaks. - FM +* Handle colons in code for expanding host names and prepending http:// + (e.g., wfbr:8002 will become http://www.wfbr.edu:8002/). - FM +* More tweaks of character conversions. - FM +* Block crashes if illegal markup such as Anchors are present in the + OPTION strings for SELECT. - FM +06-04-96 +* Mods of entity and end tag handling in SGML.c and LYCharUtils.c. - FM +* Tweaks of make target for sun4-slang. - NHE +06-03-96 +* More tweaks of the ftp gateway. - FM +* More anti-crash protections for bad HTML. - FM +* Tweaks of LYCharUtils.c and SGML.c. - KW +* Enclose the username for rlogin URLs in double-quotes on VMS to preserve + mixed casing if present. - Robert C. Gray (gray@cyberodyssey.com) +06-02-96 +* Made DEFAULT_CACHE_SIZE and DEFAULT_VIRTUAL_MEMORY_SIZE configurable via + lynx.cfg. - FM +* Added comments in HTFTP.c to make more clear some of the counterintuitive + things being done, and why. - FM +* Oops, had left my ISSPACE() debugging macro in HTFTP.c yesterday. Is + now back to isspace(). - FM +06-01-96 +* Added support for ;type=I (or A or D) to specify Image or ASCII transfer + modes, or a Directory, in ftp URLs. - FM +* Added support for VM/CMS ftp servers. Note that 'd'ownloaded text files + will have CRLF as line terminators, due to their use of ASCII records + (tested on ftp://pucc.princeton.edu/anonymou.376). - FM +* Added support for use of a tilde on Unix ftp servers to indicate that you + want a listing of the user's login directory instead of the root (i.e., + ftp://user@host/~ or ftp://user@host/~username will cause Lynx to attempt + a listing of the translated ~ or ~username). Paths can be appended (e.g., + ftp://user@host/~/subdirectory). This should not be used with anonymous + ftp, or in public documents. It yields the behavior on Unix or Unix-like + ftp servers which should occur without the tilde, based on RFC 1738. Note + that the valid behavior involving use of %2f is implemented for VMS (see + the 12-20-95 entry, below), but the behavior for Unix and Unix-like ftp + servers emulates Lynx's Unix DIRED_SUPPORT. - FM +* Mods of CSO/PH gateway to deal with discontinuous field name tokens + (e.g., "NYU fax" instead of "NYU_fax"). - FM +* More fixes for the putenv_command pointer in LYMain.c. - CC +* Add curly braces to the current hack for mininizing reversals of + trace messages with slang. - KW +05-30-96 +* Modified the http:// prepending code to try expanded host names if the + the first (or only) element does not contain a dot and is not a known + host name. Will first try it as www.host.com, then www.host.edu, then + www.host.net, then www.host.org, e.g., wfbr/dir/lynx will become an + http://www.wfbr.edu/dir/lynx URL. - FM +* Added handling of MSDOS_SERVER ftp server type (tested on ftp.hayes.com) + and corrected WINDOWS_NT_SERVER handling (tested on ftp.boca.org). - FM +* Reset any modified, non-HT-LEFT styles in HTML_free() if they were not + reset in HTML_end_element() due to missing end tags. - FM +* Initialize the putenv_command pointer in LYMain.c. - Christophe Colle + (colle@krtkg1.rug.ac.be) +* Include LYLocal.h in LYCgi.c. - Carl Hansen (hansen@best.com) +05-28-96 +* Made all mainloop() statusline() message strings definitions in userdefs.h + for easier modification to other languages (we'll move them to a catalog + someday 8-). - FM +* Added string definitions in userdefs.h for statusline messages identifying + active or DISABLED radio buttons. - FM +* More tweaks of character conversions. Note that numeric entities with + values greater than 255 are displayed as text, until we are able to + handle them as Unicode. - FM +* Implemented ID handling for BDO. - FM +05-27-96 +* Added nested handling of Q, so that it alternates between double-quotes + and single-quotes, with directionality of start and end single-quotes + (should someday check the LANG and DIR attributes, and character set, + to use other quoting conventions if appropriate). - FM +* Use [DEL: ... :DEL] labeling to indicate DEL content, and [INS: ... :INS] + labeling to indicate INS, S, and STRIKE content. - FM +* Added ID handling for ABBREV, ACRONYM, AU, AUTHOR, BIG, DEL, INS, Q, S, + SMALL, SUB, SUP and SPAN. - FM +* Added code to clear the screen of any trace messages directed to the + screen, once the full page has been created. - FM +* Added code to minimize slang's casting of trace messages as reverse when + directed to the screen instead of a file. - FM +05-26-96 +* More tweaks of character conversions. - FM +* Added submit_enctype elements to the forms structures as will be needed to + implement INPUTS with TYPE="file" (someday 8-), and set disabled for FORM + fields if the ENCTYPE is multipart/form-data, until we can handle that + (someday 8-), so the user won't fill out the FORM pointlessly. - FM +* Made the third argument of SLang_init_tty() 1 so that '\n' will be treated + as CRLF when trace messages are sent to the screen instead of to a file. + Might cause problems with the slang screen management functions, but + doesn't seem to according to KW. - FM +05-25-96 +* Mods to pass 8-bit control characters entered via the line editor. They + should be assumed to be valid if the user entered them, and could indeed + be valid for Japanese and Russian. - FM +* Check for a NULL return value from initscr() on Unix. - Geert Jan de Groot + (GeertJan.deGroot@ripe.net) +* Tweaks of character conversions, and of 8-bit character handling with + slang. - Klaus Weide (kweide@tezcat.com) +* Added TRUSTED_URL for specifying lynxexec and lynxprog URLs which always + are permitted, based on patches from David Drum (david@more.net). - FM +05-21-96 +* Made the LOCAL_DOMAIN symbol configurable via lynx.cfg. - FM +* Added descriptions of the quality (q=) and maxbytes (mxb=) parameters + in the sample mailcap file. - FM +* Added a maxbytes element to the libwww presentation and converter + structures, and code for specifying a maximum for mailcap entries via + a semi-colon-separated mxb=value field, where "value" is a positive + integer (e.g., ; mxb=1000000). The default is 0, meaning no maximum. + If the value exceeds 0, a maxbytes parameter will be appended in the + Accept: header for the Content-Type. - FM +05-20-96 +* Added code for specifying a quality parameter for mailcap entries via + a semi-colon-separated q=value field, where "value" is a floating point + number (e.g., ; q=0.002), and for appending the quality parameters in + Accept: headers if the values are less than 1.0. - FM +* Treat screen width as 80 for the startup page when doing traversals with + a slang-build Lynx to prevent a crash. - FM +05-19-96 +* Mods in HTML.c to make resolving of local file URLs more efficient. - FM +* Tweaks of Makefile for slang. - Ed Doolittle (dolittle@math.toronto.edu) +05-18-96 +* Added FRAME elements and attributes to the DTD, and code for creating + links to the SRCs. - FM +* Added numerous sanity checks for valid but inappropriate combinations + of attributes based on the HTML 3.2 DTD. +05-17-96 +* Added support for TYPE and VALUE attributes of LIs in OLs. TYPEs + are equivalent to those for OL, and VALUE is equivalent to START + or SEQNUM for OL. See the 11-28-95, 10-17-95, 09-19-95 and 09-04-95 + entries in this file. If a TYPE is changed via an LI, the change + persists for subsequent LIs of that OL. The VALUE set for an LI + similarly increments for subsequent LIs in that OL. - FM +05-16-96 +* Made SGML_character() in SGML.c fully reentrant. - FM +* Set up capturing of marked sections, and DOCTYPE, ELEMENT, ATTLIST and + ENTITY declarations in SGML.c. Lynx doesn't do anything with them yet, + besides reporting them in trace mode, but they at least won't create + garbage in the display if they start being used for the "next generation" + of clients. - FM +* Set up base code for CSIs (Client Side Includes, homologous to SSIs). + See the comments for LYDoCSI() in LYUtils.c. It should be moved to a + separate module if someone wants to work on CSIs seriously. LYDoCSI() + is called from SGML.c if the document was obtained via a file URL on + the local host and has comments that begin with "!--#". - FM +05-15-96 +* Add a MIME charset parameter to POST Content-Type headers if it's not + ISO-8859-1 or US-ASCII and the server included the parameter when it + sent the form (but don't do it simply on the basis of the user's current + character set, because if the server didn't include the parameter, it's + CGI script probably won't parse the client header either, and will return + an error instead of processing the form submission). - FM +05-14-96 +* Tweaks for Unixware and addition of a unixware-slang Makefile target based + on patches from Thanh Ma (tma@encore.com). - FM +* Tweaks for SCO and addition of an sco5 Makefile target based on patches + from Bela Lubkin (filbo@armory.com). - FM +* Include ;q=0.001 for the wildcard (*/*) Accept header. - FM +05-13-96 +* Added support for a host field in news URLs, analogous to that for nntp + URLs. Though illegal according to the current RFCs, discussions with a + W3C member about this Netscapism indicate that Lynx may as well support + it now, rather than continue failing when it is encountered. - FM +05-12-96 +* Added an explicit GetYX definition for slang in LYForms.c. - FM +05-11-96 +* Eliminated the NCURSESINCDIR compilation symbol and added NCURSESHEADER, + so the default now is to seek ncurses/curses.h and -DNCURSESHEADER invokes + a seek for the (now obsolete 8-) ncurses.h. - FM +* Added an explicit GetYX definition for slang in LYStrings.c (now avoids + reference to stdscr). - FM +* Mods in tcp.h for TCPWARE builds on VMS with DECC. - FM +05-08-96 +* Fixed typo in Makefile entry for linux. - LWV +05-07-96 +* Added LYPassHighCTRL boolean for passing normally illegal 8-bit control + characters, and set it TRUE when the KOI8-R character set is selected + (note that they also are passed when Japanese character support is + toggled ON). - FM +05-06-96 +* Mods in SGML.c to handle "<URL:" as text instead of an unknown tag. - FM +05-05-96 +* Added typecasts of the third arguments for the getsockname() and + accept() calls in HTFTP.c to void pointers, to avoid conflicts with + their declarations as int versus unsigned int across platforms and + flavors. - FM +* Renamed the for-VMS opendir(), readdir() and closedir() to HTVMSopendir(), + HTVMSreaddir() and HTVMSclosedir(), and the for-UCX ioctl() to HTioctl(), + to avoid possible conflicts with their additions to newer versions of + VMS and UCX. - FM +05-04-96 +* Fixed typo which was placing a space instead of a slash between the + User-Agent name and version. - Tim Rowley (tor@cs.brown.edu) + +--- STARTING 2.5FM --- +--- Rename of Lynx2-4-FM and release as Lynx2-5 (02-May-1996) --- + (see CHANGES2-5, CHANGES2-4 and CHANGES2-3) +============================================================================== diff --git a/docs/CHANGES2.7 b/docs/CHANGES2.7 new file mode 100644 index 0000000..c2810fe --- /dev/null +++ b/docs/CHANGES2.7 @@ -0,0 +1,831 @@ +======================================================================= +--- 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 acceptable 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 inheritance 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 values, 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<?searchpart> + ("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 + determining 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 embedded 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 usage 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 values. - 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 desirable (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) +============================================================================== diff --git a/docs/CHANGES2.8 b/docs/CHANGES2.8 new file mode 100644 index 0000000..036fb19 --- /dev/null +++ b/docs/CHANGES2.8 @@ -0,0 +1,3399 @@ +======================================================================= +--- 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 <sergent@ecn.purdue.edu>). +* 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 <merlin_mathesius@swissbank.com>). - 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 + <zio@blueneptune.com>). - 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 <Keiki_Sunagawa@yokogawa.co.jp>) -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 <dwe@arde.com>) - 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 + <jcast@ntplx.net>) - 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 <emarshal@xnet.com>). - 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 + <gerald@w3.org>). - TD +* documentation updates (patch by JS). - TD +* add CONTENT_TYPE to environment of lynxcgi POST documents (reported by + Ty Sarna <tsarna@endicor.com> & 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 + <ran@haxor.com>). - 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 <acli@acli.interlog.com>). - 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 + <acli@acli.interlog.com>. - 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 <stdio.h> 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 + <fatomei2@mail.unm.edu>. - 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 <harsh@krcl.ernet.in>. - TD +* remove redundant "-c" option from $(installbin) in makefile.in, reported + by Michael Warner <warner@wsu.edu>, 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 (&#xH;) + 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 <A href=..> 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 + <http://www.ics.uci.edu/~fielding/url/draft-fielding-url-syntax-09.txt>, + 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 <http://www.marshall.edu/htbin/ + calendar>) - 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 + <bdo@mailman.epnet.com> +* 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 + <Wschiavo@concentric.net>) +* 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 <hezu@iki.fi>. - 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 + <sys/ioctl.h> 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 <jkternes@mindspring.com>) +* 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 (<dkcombs@netcom.com>), 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 <SHY> 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 <http://www.cdrom.com/pub/infozip/zlib/>, 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 + <xmedh02@lada.vse.cz>). - TD +* Add include for <sys/types.h> to utmp configure test (reported by Andrey + A. Chernov). - TD +* Add check for FreeBSD library mytinfo (reported by Andrey A. Chernov + <ache@null.net>). - 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 <ache@null.net>) +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) + <ftp://www.unicode.org/>. - 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 (&#xH;) 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 <SHY> 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 <TITLE></TITLE>. - 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 </P> 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 + <dkaufman@rahul.net>) +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 attributes 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 + <http://www.fdisk.com/doslynx/wlynx/>. - 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 diff --git a/docs/CRAWL.announce b/docs/CRAWL.announce new file mode 100644 index 0000000..b38be12 --- /dev/null +++ b/docs/CRAWL.announce @@ -0,0 +1,131 @@ +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 comparisons 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 + encountered 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. diff --git a/docs/FM.announce b/docs/FM.announce new file mode 100644 index 0000000..0b2652b --- /dev/null +++ b/docs/FM.announce @@ -0,0 +1,72 @@ +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: + + <a href="file://localhost/~/"> Manage Personal Directory ? </a> + +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) diff --git a/docs/IBMPC-charsets.announce b/docs/IBMPC-charsets.announce new file mode 100644 index 0000000..1431cdf --- /dev/null +++ b/docs/IBMPC-charsets.announce @@ -0,0 +1,74 @@ + +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. + diff --git a/docs/OS-390.announce b/docs/OS-390.announce new file mode 100644 index 0000000..923d2a3 --- /dev/null +++ b/docs/OS-390.announce @@ -0,0 +1,93 @@ +This document suggests steps to install Lynx on OS/390 systems. + +======================================================================== +o Download the archive file lynx2-8-6.tar.Z in BINARY from the site + where you found this announcement or from a site listed at + https://lynx.invisible-island.net/ + +o Unpack with: + + uncompress <lynx2-8-6.tar.Z | pax -rv -o to=IBM-1047 + + The "-o to=IBM-1047" is needed to convert the ASCII archive + to EBCDIC. You must not download as a text file; the conversion + must be performed after the uncompress. + +======================================================================== +o Alternatively, download the PKZIPped archive lynx2-8-6.zip in BINARY. + +o Unpack with: + + unzip -aa lynx2-8-6.zip + + The "-aa" is needed to convert the ASCII archive + to EBCDIC. (unzip is not shipped with OS/390. You can + obtain it from: + + Linkname: OS/390 UNIX - Tools and Toys + URL: http://www.s390.ibm.com/unix/bpxa1ty1.html + + Linkname: Info-ZIP zip and unzip + URL: http://www.s390.ibm.com/ftp/os390/oe/port/infozip-os390.tar.Z + ) + +======================================================================== +o Run the configure script: + + mkdir -p ./OS390/. + cd ./OS390 + rm -f config.cache + CC=c89 CFLAGS="-D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE" \ + ../lynx2-8-6/configure + + The definitions select the ANSI C compiler (c89) and options + to select the right header file directories. You may also + find it useful to set the installation directories with + the --prefix=, --sysconfdir=, and --exec_prefix= options. + +======================================================================== +o Build Lynx + + gmake + + (I have been unable to build Lynx with IBM's make. gmake is not + shipped with OS/390. You may obtain gmake from: + + Linkname: Mortice Kern Systems (MKS) Inc. - S/390 ® + OpenEdition--GNU Utilities + URL: http://www.mks.com/s390/gnu/index.htm + + Linkname: Other + URL: http://www.mks.com/s390/gnu/register.htm + ) + +======================================================================== +o Test Lynx: + + ./lynx -cfg=../lynx2-8-6/lynx.cfg \ + ../lynx2-8-6/lynx_help/lynx_help_main.html + +======================================================================== +o Install Lynx: + + gmake install + gmake install-help + gmake install-doc + +======================================================================== +REMAINING PROBLEMS: + + 3270-type terminals are not supported. This is probably a + permanent restriction since curses support for 3270s is + unlikely to appear. + + URL schemes other than HTTP:, FTP:, and FILE: are untested + and likely not to work. + + Some character entities are not rendered correctly. + + The Download command converts binary files from ASCII to EBCDIC. + This can be undone by a download filter in lynx.cfg. + +Paul Gilmartin +pg@sweng.stortek.com diff --git a/docs/README.TRST b/docs/README.TRST new file mode 100644 index 0000000..68b27af --- /dev/null +++ b/docs/README.TRST @@ -0,0 +1,158 @@ +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 diff --git a/docs/README.chartrans b/docs/README.chartrans new file mode 100644 index 0000000..a13ef36 --- /dev/null +++ b/docs/README.chartrans @@ -0,0 +1,164 @@ +Lynx CHARTRANS + + Features (in addition to those which Lynx 2.7.1 already has): + + - Can (attempt to) translate from any document charset to any display + character set, *IF* the document charset is known by a translation + table (compiled in at installation). + + - New method to define character sets: used for input charset as well + as display character set, translation tables compiled in from + separate files (one per charset). One table is designated as default + and can be used for fallback translation to 7-bit replacements for + display. + + - New method for specifying translations of SGML entities. + + - Unicode (UTF-8) support: can (attempt to) decode and translate UTF-8 to + display character set, or pass through UTF to display (if terminal + or console understands UTF-8). [raw display of UTF only tested with Slang + so far, does not always position everything correctly on screen] + + - Support for CHARSET attribute on A tag (and sometimes LINK), as in HTML + i18n RFC 2070 and W3C HTML 4.0 drafts. A link can suggest the target's + charset in this way. + + - Support for ACCEPT-CHARSET attribute of FORM tags. + + - EXPERIMENTAL, currently enabled only for Linux console: + can (attempt to) automatically switch terminal mode and load new + code pages on change of display character set. + + - some minor changes: sometimes invalid characters were displayed in a hex + notation Uxxxx (helps debugging, but I also regard it as at least not + worse than showing the wrong char without warning), now they are not + displayed to reduce garbage. + +Additions/changes to user interface: + + - many new Display Character Sets are available on O)ptions screen. + (One can use arrow keys, HOME, END etc. for cycling through the list + or use selection from popup box, as for other options.) + + - new command line flags: + -assume_charset=... assume this as charset for documents that don't + specify a charset parameter in HTTP headers + -assume_local_charset=... assume this as charset of local file + -assume_unrec_charset=... in case a charset parameter is not recognized; + docs also available as ASSUME_CHARSET etc. in lynx.cfg + In "Advanced User" mode, ASSUME_CHARSET can be changed during a session + from the Options Screen. + + - The "Raw" toggle (from -raw flag, '@' key, or Options screen) + o toggles the assumption "Default remote charset is same as Display + Character Set" on or off. + Toggling of the assumed charset is between Display Character Set and + the specified ASSUME_CHARSET or, if they are the same, between the + specified ASSUME_CHARSET and ISO-8859-1. + o The default for raw mode now depends on the Display Character Set as + well as on the specified ASSUME_CHARSET value. + o should work as before for CJK charsets (turning CJK-mode on or off). + o If the effective ASSUME_CHARSET and the Display Character Set are + unchanged from the ISO-8859-1 default, toggling "Raw" may have some + additional effect for characters that can't be translated. + (Try the "Transparent" Display Character Set for more "rawness".) + + +Requirements: same as for Lynx in general :) + +The chartrans code is now merged with Wayne Buttle's changes for +32-bit MS Windows and DOS/DJGPP, with Thomas Dickey's and Jim Spath's +emerging auto-configure mechanism, and with BUGFIXES from Foteos +Macrides. See the accompanying file CHANGES for the current +status. + + +A warning: +In some cases undisplayable bytes may still get sent to the terminal +which are then interpreted as control chars, there is no protection +against if strange things are defined in the table files. + + +HOW TO INSTALL: + +(4) before compiling: + + Check top level makefile or Makefile and userdefs.h as usual. + + NOTE that there is a new "#define" in userdefs.h for MAX_CHARSETS + near the end (in "Section 3."). + +(5) Building Lynx: + + Compiling the chartrans code is now integrated into the normal + installation procedures for UNIX (configure script) and other + platforms. + + What's supposed to happen (in addition to the usual things when + building Lynx): in the new subdirectory src/chrtrans, make should + first compile the auxiliary program `makeuctb', then invoke that + program to create xxxxx_yyy.h files from the provided xxxxx_yyy.tab + translation table files. (See README.* files in src/chrtrans for + more info.) + + If all goes well, just invoking make from the top-level Lynx dir + as usual should do everything automatically. If not, the makefiles + may need some tweaking... or: + +(6) Some things to look at if compilation fails: + + In src/chrtrans/UCkd.h there is a typedef for an unsigned 16bit + numeric type which may need to be changed for your system. + See comment near top there. + + For recompiling Lynx, `make clean' should not be necessary if only + files in src/chrtrans have been changed. On the other hand + may not propagate to the src/chrtrans directory (depending how things + are going with auto-config), you may have to cd to that directory + and `make clean' there to really clean up there. + +(7) To customize (add/change translation tables etc.): + + See README.* files in src/chrtrans. + Make the necessary changes there, then recompile. + (A general `make clean' should not be necessary, but make sure + the ...uni.h file in src/chrtrans gets regenerated.) + + Note that definition of new character entities (if e.g., you want + Lynx to recognize Ž) are not covered by these table files, + they have to be listed in entities.h. + + _If you are on a Linux system_ and using Lynx on the console (i.e. + not xterm, not a dialup *into* the Linux box), you can compile + with -DEXP_CHARTRANS_AUTOSWITCH. This is very useful for testing + the various Display Character Sets, Lynx will try to automatically + change the console state. You need to have the Linux kbd package + installed, with a working `setfont' command executable by the user, + and the right font files - check the source in src/UCAuto.c for + the files used and/or to change them! + NOTE that with this enabled, + - Lynx currently will not clean up the console state at exit, + it will probably left like the last Display Character Set you used. + - Loading a font is global across _all_ virtual text consoles, so + using Lynx (compiled with this flag) may change the appearance of + text on other consoles (if that text contains characters + beyond US-ASCII). + +(8) Some suggested Web pages for testing: + + <URL: http://www.tezcat.com/~kweide/lynx-chartrans/test/> + + <URL: http://www.isoc.org:8080/>, + especially + <URL: http://www.isoc.org:8080/liste_ml.htm>. + + <URL: http://www.accentsoft.com/un/un-all.htm> + +(9) Please report bugs, unexpected behavior, etc. + to <lynx-dev@nongnu.org>. + + Suggestions for improvement would be welcome, as well as + contributed translation tables (for stuff that is not available + at ftp://dkuug.dk or ftp://ftp.unicode.org). + +KW 1997-11-06 diff --git a/docs/README.cookies b/docs/README.cookies new file mode 100644 index 0000000..af044f9 --- /dev/null +++ b/docs/README.cookies @@ -0,0 +1,60 @@ +README.cookies + +Cookie handling when using the lynx browser: + +General Usage on a unix system: + +Cookie handling may be set so that you read them in on session start up from a +saved file, and to restore all cookies to that file on session close. + +Warning and Disclaimer: + +The lynx browser provides great opportunity to examine and make decisions about +cookies by default, but some users just want the speed benefits of the lynx +browser without the prompting for a decision to accept or reject the cookie. +Should you think that this is your situation, please read this: + +There are a number of privacy issues with accepting all cookies blindly, not +the least of which is that you are storing evidence of your browsing activity +into a regular disk file. + +You have been warned. There are many resources available that will provide you +with more information about making informed choices about this subject. + +With that in mind, here is how to accept all cookies transparently and rapidly: + +The following .lynxrc or lynx.cfg settings provide the user with the ability +to by default accept all cookies transparently. + +SET_COOKIES:TRUE +ACCEPT_ALL_COOKIES:TRUE +PERSISTENT_COOKIES:TRUE +COOKIE_FILE:/path/to/directory/.lynx_cookies +COOKIE_SAVE_FILE:/path/to/directory/.lynx_cookies +COOKIE_LOOSE_INVALID_DOMAINS:sports.espn.go.com,espn.go.com,.go.com, +FORCE_SSL_COOKIES_SECURE:FALSE + +You must have a "cookie save file" that you own and for which you have +read/write permission; cookies are flushed out to that disk location when you +exit lynx, and are read in for use at the start of a lynx session from there. +Cookies do not persist unless this happens. + +If you wish to see for yourself that this actually happens, please use the +-trace command line option and then read the resulting file "Lynx.trace". +It will show the cookies being read in at the start of a session, and being +written out at the conclusion of a session. + +FORCE_SSL_COOKIES_SECURE is for ebay and the like, or they won't remember you; +(their login is secure but everything else isn't, like a lot of big sites). +If lynx attempts to transmit the ebay cookie securely, it's not taken. +This doesn't affect cookie acceptance but it's a functionality issue for users. + +The COOKIE_LOOSE_INVALID_DOMAINS is for botched cookies from sites you read a +lot. This causes a great deal of prompting and if you are a frequent site user +you may want to convenience yourself with a set of loose invalid domains. + + +Stef Caunter +http://caunter.ca/contact.html +http://caunter.ca/README.cookies + diff --git a/docs/README.defines b/docs/README.defines new file mode 100644 index 0000000..5dabb53 --- /dev/null +++ b/docs/README.defines @@ -0,0 +1,147 @@ +-- $LynxId: README.defines,v 1.20 2019/07/31 23:06: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 <senshu@shonai-cit.ac.jp> + (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 + +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 diff --git a/docs/README.jp b/docs/README.jp new file mode 100644 index 0000000..c44d35a --- /dev/null +++ b/docs/README.jp @@ -0,0 +1,130 @@ +README for Japanese +=================== + +This document shows some supplements for Japanese in Japanese. +¤³¤Îʸ½ñ¤Ç¤ÏÆüËܸì¤Ç¸æÍøÍѤÎÊý¤Î¤¿¤á¤ÎÊä»ö¹à¤¬µ½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ + +1. ³µÍ× + +Lynx Version 2.8.3 (¤È¶²¤é¤¯¤½¤ì°Ê¹ß¤Î Lynx) ¤Ç¤Ï¡¢2.8.2 °ÊÁ°¤Î +¤â¤Î¤ÈÆüËܸì¤Îʸ»ú¥³¡¼¥É¤Î°·¤¤¤¬°Û¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤Îʸ½ñ¤Ç¤Ï +Lynx ¤òÆüËܸì´Ä¶¤ÇÍøÍѤµ¤ì¤ë¾ì¹ç¤Î¸ÇͤÎÀßÄê¤ò´Êñ¤ËÀâÌÀ¤·¤Þ¤¹¡£ + +ÆÃ¤Ë ASSUME_CHARSET ¤Î°·¤¤¤¬Êѹ¹¤µ¤ì¤¿´Ø·¸¾å¡¢°ÊÁ°¤ÈƱ¤¸ÀßÄê¤ÇÍøÍÑ +¤·¤Æ¤¤¤ë¤È½¾Íèʸ»ú²½¤±¤·¤Æ¤¤¤Ê¤«¤Ã¤¿Ê¸¾Ï¤¬Ê¸»ú²½¤±¤·¤Æ¤·¤Þ¤¦²ÄǽÀ¤¬ +¤¢¤ê¤Þ¤¹¤Î¤Ç¸æÃí°Õ¤¯¤À¤µ¤¤¡£¤³¤ÎÅÀ¤Ë´Ø¤·¤Æ¤Ï¡¢¤³¤Îʸ½ñ¤Î +¡Ö4. lynx.cfg ¤ÎÀßÄê¡×¤Î¾Ï¤ò¸æ»²¾È¤¯¤À¤µ¤¤¡£ + + +2. ÆüËܸì¤Îʸ½ñ¤Î¿·¤·¤¤½èÍýÊýË¡ + +(1) ÆüËܸì¤Çµ½Ò¤µ¤ì¤¿ HTML ʸ½ñ¤Îʸ»ú¥³¡¼¥É (Character-Set) ¤¬¡¢ + META Í×ÁÇ¡¢¤â¤·¤¯¤Ï HTTP ¤Î±þÅú¤Ç»ØÄꤵ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢Ê¸½ñ¤¬ + ¤½¤Îʸ»ú¥³¡¼¥É¤Çµ½Ò¤µ¤ì¤Æ¤¤¤ë¤È²¾Äꤷ¤Æ½èÍý¤·¤Þ¤¹¡£ + +(2) (1) °Ê³°¤Î¾ì¹ç¤Ç¡¢ASSUME_CHARSET ¤¬ shift_jis ¤â¤·¤¯¤Ï euc_jp ¤Ë + ÀßÄꤵ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢Ê¸½ñ¤¬¤½¤Îʸ»ú¥³¡¼¥É¤Çµ½Ò¤µ¤ì¤Æ¤¤¤ë¤È²¾Äꤷ¤Æ + ½èÍý¤·¤Þ¤¹¡£ + +(3) (1) ¤ª¤è¤Ó (2) °Ê³°¤Î¾ì¹ç¡¢Ê£¿ô¤Îʸ»ú¥³¡¼¥É¤òÍѤ¤¤Æ¤Ò¤È¤Ä¤Îʸ½ñ¤¬ + ½ñ¤«¤ì¤Æ¤¤¤Ê¤¤¤È²¾Äꤷ¤Æ½èÍý¤·¤Þ¤¹¡£ + + +3. ¥¤¥ó¥¹¥È¡¼¥ë + +¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë¤ª¤±¤ëÆüËܸì¸ÇͤÎÀßÄê¤Ë¤Ï°Ê²¼¤Î¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ +ɬÍפ˱þ¤¸¤ÆÀßÄê¤òÊѹ¹¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£ + +configure ¥ª¥×¥·¥ç¥ó + ¡¦enable-cjk + À齩»á¤Ë¤è¤ë¼ç¤ËÆüËܸì¤Î½èÍý¤Ë¤«¤«¤ï¤ë³ÈÄ¥¤ò͸ú¤Ë¤¹¤ë¤¿¤á¤Î + ¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£¤³¤ì¤é¤Î³ÈÄ¥¤Ïº£¸åɸ½à¤ÇÁȤ߹þ¤Þ¤ì¤ë¤«¡¢Â¾¤Î + ¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê͸ú¤Ë¤¹¤ëÊý¿Ë¤Î¤¿¤á¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¾Íè + Çѻߤµ¤ì¤ë¤È»×¤ï¤ì¤Þ¤¹¡£ + +¥Þ¥¯¥í + ¡¦USE_TH_JP_AUTO_DETECT + Á°¾Ï (3) ¤Î½èÍý¤ò͸ú¤Ë¤·¤Þ¤¹¡£ + ¤³¤Î¥Þ¥¯¥í¤Ï userdefs.h ¤Ë¤ª¤¤¤Æɸ½à¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ + + ¡¦KANJI_CODE_OVERRIDE + ʸ½ñ¤Îʸ»ú¥³¡¼¥É¤ò¥æ¡¼¥¶¤¬»ØÄê¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë½èÍý¤ò͸ú¤Ë + ¤·¤Þ¤¹¡£¤³¤Î»ØÄê¤Ï¡¢META Í×ÁÇ¡¢HTTP ¤Î±þÅú¡¢ASSUME_CHARSET + ¤Ç»ØÄꤵ¤ì¤¿Ê¸»ú¥³¡¼¥É¤è¤ê¤âÍ¥À褵¤ì¤Þ¤¹¡£¼ç¤Ëʸ½ñ¤¬´Ö°ã¤Ã¤¿ + ʸ»ú¥³¡¼¥É¤ò»ØÄꤷ¤Æ¤¤¤¿¾ì¹ç¤Ë͸ú¤Ç¤¹¡£Ê¸»ú¥³¡¼¥É¤Ï ^L ¤Ë¤è¤ê + ÀÚ¤êÂؤ¨¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤¿¤À¤·¡¢Â¿¤¯¤Î¥±¡¼¥¹¤Ç¤ÏÉÔÍפǤ¹¡£ + ¤³¤Î¥Þ¥¯¥í¤Ïɸ½à¤ÇÄêµÁ *¤µ¤ì¤Þ¤»¤ó*¡£ + + ¡¦SH_EX + À齩»á¤Ë¤è¤ë°ìÈÌŪ¤Ê³ÈÄ¥¤ò͸ú¤Ë¤¹¤ë¤¿¤á¤Î¥Þ¥¯¥í¤Ç¤¹¡£ + ¤³¤Î¥Þ¥¯¥í¤òÀßÄꤹ¤ë¤È¡¢¾åµ KANJI_CODE_OVERRIDE ¤ò͸ú¤Ë + ¤·¤¿¾ì¹ç¤Îʸ»ú¥³¡¼¥É¤¬²èÌ̾åÉô¤Ë¾ï¤Ëɽ¼¨¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ + ¤³¤Î¥Þ¥¯¥í¤Ïɸ½à¤ÇÄêµÁ *¤µ¤ì¤Þ¤»¤ó*¡£ + + +4. lynx.cfg ¤ÎÀßÄê + +******************** ½Å Í× ******************** +lynx.cfg ¤Ç¤Ï ASSUME_CHARSET¡¢ASSUME_LOCAL_CHARSET¡¢ +ASSUME_UNREC_CHARSET ¤òÀßÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +******************** ½Å Í× ******************** + +Lynx Version 2.8.3 °Ê¹ß¤Ç¤Ï¡¢ÆüËܸì¤Çµ½Ò¤µ¤ì¤¿ HTML ʸ½ñ¤Îʸ»ú¥³¡¼¥É +¤¬ÌÀ¼¨Åª¤Ë»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¡¢ASSUME_CHARSET ¤¬ shift_jis ¤â¤·¤¯¤Ï +euc_jp ¤ËÀßÄꤵ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢Ê¸½ñ¤¬¤½¤Îʸ»ú¥³¡¼¥É¤Çµ½Ò¤µ¤ì¤Æ¤¤¤ë¤È +²¾Äꤷ¤Æ½èÍý¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ + +¤¿¤À¤·¡¢ASSUME_CHARSET ¤ò»ØÄꤷ¤Ê¤¯¤Æ¤âÆüËܸì¤Îʸ»ú¥³¡¼¥É¤Ï¼«Æ°Åª¤Ë +ȽÊ̤µ¤ì¡¢Â¿¤¯¤Î¥±¡¼¥¹¤Ç¤ÏŬÀڤ˽èÍý¤µ¤ì¤Þ¤¹¡£¤à¤·¤í¡¢ASSUME_CHARSET +¤ò shift_jis ¤ä euc_jp ¤Ë»ØÄꤷ¤Æ¤¤¤ë¤È¡¢¤½¤ì¤¾¤ì EUC¡¢SJIS ¤Ç½ñ¤«¤ì¤¿ +ʸ½ñ¤¬Ê¸»ú²½¤±¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ + +½¾¤Ã¤Æ¡¢lynx.cfg Æâ¤Ë¡¢ + +-------------------- ¤³¤³¤«¤é -------------------- +ASSUME_CHARSET:euc-jp +-------------------- ¤³¤³¤Þ¤Ç -------------------- + +¤Î¤è¤¦¤Ëµ½Ò¤µ¤ì¤Æ¤¤¤ë¤Èʸ»ú²½¤±¤Î¸¶°ø¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢ÆäËÍýͳ¤¬¤Ê¤¤ +¸Â¤ê¡¢°Ê²¼¤Î¤è¤¦¤Ë¥³¥á¥ó¥È¥¢¥¦¥È¤¹¤ë¤Ê¤É¤·¤Æ ASSUME_CHARSET ¤¬ÀßÄê +¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤ (ASSUME_LOCAL_CHARSET¡¢ASSUME_UNREC_CHARSET +¤Ë¤Ä¤¤¤Æ¤âƱÍÍ)¡£ + +-------------------- ¤³¤³¤«¤é -------------------- +#ASSUME_CHARSET:euc-jp +-------------------- ¤³¤³¤Þ¤Ç -------------------- + +ɬÍפǤ¢¤ì¤Ð ASSUME_CHARSET ¤Ï¥ª¥×¥·¥ç¥ó¥á¥Ë¥å¡¼¡¢¤â¤·¤¯¤Ï +¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤«¤éÊѹ¹¤·¤Æ²¼¤µ¤¤¡£ + +ÊäÂ: +ASSUME_LOCAL_CHARSET ¤Ï Lynx Version 2.8.3 ¤Ç¤Ï»²¾È¤·¤Æ¤¤¤Ê¤¤¤«¤â +¤·¤ì¤Þ¤»¤ó¤¬¡¢¾Í軲¾È¤¹¤ë¤è¤¦¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤Î¤Ç¡¢¤ä¤Ï¤êÀßÄê +¤·¤Ê¤¤Êý¤¬¤¤¤¤¤È»×¤¤¤Þ¤¹¡£ + + +5. ÆüËܸ줬ʸ»ú²½¤±¤·¤¿¤é + +¤¹¤Ù¤Æ¤ÎÆüËܸì¤Ç½ñ¤«¤ì¤¿Ê¸½ñ¤¬Ê¸»ú²½¤±¤¹¤ë¤Ê¤é¡¢¥ª¥×¥·¥ç¥ó¥á¥Ë¥å¡¼¤Ç +¡ÖDisplay Character Set¡×¤ò¡ÖJapanese (EUC-JP)¡×¡¢¤â¤·¤¯¤Ï +¡ÖJapanese (Shift_JIS)¡×¤ËÊѹ¹¤·¤Æ¡¢Êѹ¹¤òÊݸ¤·¤Æ¤¯¤À¤µ¤¤¡£ +¤â¤·¤¯¤Ï lynx.cfg Æâ¤Ç CHARACTER_SET ¤ò euc-jp ¤â¤·¤¯¤Ï shift_jis ¤Ë +ÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ + +°ìÉô¤ÎÆüËܸì¤Ç½ñ¤«¤ì¤¿Ê¸½ñ¤¬Ê¸»ú²½¤±¤¹¤ë¤Ê¤é¡¢Á°¾Ï¡Ö4. lynx.cfg ¤ÎÀßÄê¡× +¤ò»²¾È¤·¡¢ASSUME_CHARSET ¤òÀßÄꤷ¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤«¡¢¤â¤·¤¯¤Ï¥ª¥×¥·¥ç¥ó +¥á¥Ë¥å¡¼¤Ç¡Öassumed document character set¡×¤ÎÉôʬ¤ò»²¾È¤·¡¢shift_jis +¤ä euc-jp ¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤«³Îǧ¤·¡¢¤â¤·¤Ê¤Ã¤Æ¤¤¤¿¤é iso-8859-1 Åù¤ËÊѹ¹ +¤·¤Æ¡¢Lynx ¤¬ÆüËܸì¤Îʸ»ú¥³¡¼¥É¤ò¼«Æ°È½Ê̤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ + +¤½¤ì¤Ç¤âʸ»ú²½¤±¤¹¤ë¾ì¹ç¤Ï¡¢ + ¡¦META Í×ÁÇ¡¢¤â¤·¤¯¤Ï HTTP ¤Î±þÅú¤Ç»ØÄꤵ¤ì¤Æ¤ëʸ»ú¥³¡¼¥É¤È¤Ï°Û¤Ê¤ë + ʸ»ú¥³¡¼¥É¤Çʸ½ñ¤¬µ½Ò¤µ¤ì¤Æ¤¤¤ë +¤â¤·¤¯¤Ï + ¡¦¤Ò¤È¤Ä¤Îʸ½ñÃæ¤ËÊ£¿ô¤Îʸ»ú¥³¡¼¥É¤Ç½ñ¤«¤ì¤¿Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë +¤È»×¤ï¤ì¤Þ¤¹¡£Á°¼Ô¤Î¾ì¹ç¤Ïʸ½ñ¤Î´ÉÍý¼Ô¤Ë²þÁ±¤ò°ÍÍꤹ¤ë¤«¡¢ +KANJI_CODE_OVERRIDE ¤òÄêµÁ¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤¿ Lynx ¤ò¤ª»È¤¤¤¯¤À¤µ¤¤¡£ +¸å¼Ô¤Î¾ì¹ç¤Ï»ÄÇ°¤Ç¤¹¤¬¤¢¤¤é¤á¤Æ¤¯¤À¤µ¤¤¡£ +---- +2000/3/28 Takeshi Hataguchi <patakuti@t3.rim.or.jp> +---- $LynxId: README.jp,v 1.2 2011/06/06 00:35:13 tom Exp $ diff --git a/docs/README.metrics b/docs/README.metrics new file mode 100644 index 0000000..bdfdf3f --- /dev/null +++ b/docs/README.metrics @@ -0,0 +1,283 @@ +-- $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 diff --git a/docs/README.options b/docs/README.options new file mode 100644 index 0000000..b388d4c --- /dev/null +++ b/docs/README.options @@ -0,0 +1,81 @@ +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 + diff --git a/docs/README.release b/docs/README.release new file mode 100644 index 0000000..a5dbd80 --- /dev/null +++ b/docs/README.release @@ -0,0 +1,14 @@ +-- $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 diff --git a/docs/README.rootcerts b/docs/README.rootcerts new file mode 100644 index 0000000..67fb641 --- /dev/null +++ b/docs/README.rootcerts @@ -0,0 +1,308 @@ + DOS/Windows-oriented notes on Root Certificates + +To use certificates or a cert bundle within an SSL enabled +application such as lynx you must place your certificate +files into a known directory, and set the environment +variables to a proper value (e.g. in CONFIG.SYS file). + + set SSL_CERT_DIR=x:/usr/local/ssl/certs + set SSL_CERT_FILE=x:/usr/local/ssl/cert.pem + +(See "What are root certificates" below.) + + +Q. Why would I want to install openssl.exe? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +openssl.exe is used to manage certificates. (See "What are root certificates" +below.) + +Q. How to install openssl.exe? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Put openssl.exe in a directory in your PATH and the DLLs to a directory +in your LIBPATH. + +Copy conf\openssl.cnf.demoCA to a directory of your +choice, rename it to openssl.conf and set the environment variable +OPENSSL_CONF by putting + +SET OPENSSL_CONF=<your-directory>\openssl.cnf + +into CONFIG.SYS. + + +Q. Why is this document so paranoid? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If you want to use OpenSSL, then probably your Internet transactions have +*real* monetary value embedded in them. And as usual, the security is as good +as the weakest link. This document unravels only the tip of the iceberg +of what can go wrong with improperly established "secure" connections. And +given the monetary value involved, "bad guys" have a high incentive to exploit +the weakest links. As experience shows, do not underestimate the intelligence +of bad guys... + +Really, with security, a little knowledge is a dangerous thing; one can +suspect that many people, if they really understood the trust structures +associated with SSL, would be rather careful about checking the details +of certificates. + +Q. What are root certificates? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Making a secure connection is like sending your valuables (for storage or +consumption) to somebody who agreed to be at a prearranged place. To +guard the valuables on the way there, you can ask for a police escort; this is +what https:// connections are about. However, it does not make any sense to +have an escort if the goods are transferred to a random person who happens to +be at this place; one needs to certify the identity of the receiver as well. + +The certification process is a chain; when site A wants to certify that it is +actually what it claims, it actually says "Check this certificate with site B"; +to proceed, one needs to certify that site B is what it claims, so B may +redirect to site C etc. For this process to stop, some sites claim +"You must know my certificate, check it yourself". These certificates are +"root certificates"; one cannot verify such a site unless one has the +certificate for the "end of its certification chain". If you don't have the +relevant root certificate in your local certificates file, it means that +you don't trust anyone to vouch for the authenticity of the site. + +So one should have a collection of known certificates from several well-known +sites known as "Root Certification Authorities". Most sites for large-scale +businesses have certificates which will eventually resolve to these places. +Such certificates represent people like Verisign that are in the business of +confirming the identity of servers, etc. + +Additionally, since having yourself certified through another site costs, +some sites avoid this cost via presenting "end-of-chain certificates". +One should have a way to obtain these certificates via other means than +insecure Internet connection (e.g., one can walk into the office and copy +the certificate file to a floppy). These are so-called "Self-signed +certificates"; they are "root certificates" as well. The locally-installed +securely obtained copies of such certificates are referred to as +"local certificates". (See 'What is "Snake Oil Ltd."' below.) + +If you are presented with a locally-unresolvable root certificate, and you +*believe* that you are really talking to the site, and not someone +in between (who is either completely simulating the site or relaying +your requests onto the real site - called a "man in the middle" attack), +you will still have an encrypted connection. Otherwise, you should act +as though the site was an impostor, unless and until you manage to get +a root certificate from a trustworthy source, and that root certificate +represents someone that you would trust to have vetted the site you +want to connect to. + +Local certificates are stored in SSL_CERT_FILE (this "cert bundle", usually +named cert.pem, contains several signatures for "Root Certification +Authorities") and SSL_CERT_DIR (which has a signature per file, and usually +contain local copies of self-signed certificates). + +There are three crucial considerations to be added to this picture: + + a) While there are ways to ensure that the receivers are who they claim, + there is absolutely no technological way to verify how *trustworthy* + the receiving party is. It does not make sense to secure-send your + valuables to a certified receiver if this receiver is a crook (or will + just keep them later in a publicly accessible place). + + b) "VeriSign Syndrome". For the above scheme of "a chain of trust" to work, + the "Root Certification Authorities" should be *very* trustworthy + high-integrity entities. Unfortunately, there are certain doubts that + this is so. E.g., fall 2003, VeriSign started an attack on DNS scheme + which could disrupt the whole architecture of Internet (hijacking *all* + unclaimed Internet addresses and redirecting them to a promotional site; + google for VeriSign DNS hijack). + + One major company even issued a Microsoft certificate to a company + other than Microsoft, and there had to be a Windows critical update + to block that certificate. + + c) Keep in mind that the "big 2 browsers" are adding an increasing + number of root certificates, and most users fail to realise that they + are putting a trust in the supply chain for the browser to give them + the certificates of reliable organisations (the browser suppliers could + make bad choices, or the browser could have been hacked before you got + it). + + Incidentally, standard browsers come with certificates representing + very different levels of identity verification, but most people accept + all of those supplied with the big 2 as equally valid. + +Q. How to obtain root certificates? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Certificate files, such as cert.pem, are security critical; you have to +trust whoever supplies it to you; all your certification process is no more +trustworthy than the site you downloaded cert.pem from. So you shouldn't just +accept any offer. + +One way is to copy them from a machine which already obtained them in a secure +way. Another one is to extract them from a web browser which was itself +obtained in a secure way (see "How to extract certificates from Internet +Explorer" below). If anything else fails, obtaining a privately-generated +bundle from third-parties, such as + + http://www.kfu.com/~nsayer/encryption/ca-bundle.crt.text + +is *not* much better than no certificates at all, but may avoid some warnings +from applications. One of the places which has a bundle is the mod_ssl site. + +Q. Should you trust this distribution system? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +It is very hard to imagine a situation when the answer is different from +"Absolutely not!". + +Indeed, obtaining the certificates is only half of the problem. +The certificates are going to be checked by the SSL library. Can you trust +these executables (DLLs)? Did you obtain the library via a secure connection? +Are you sure that the place you obtained it from has reasonable security +practice, so that the archive could not be tampered with? The latter place +most probably did not build the DLLs themselves; chances are they just +store what a fourth-party supplied them. Was *that* file transfer done via +secure channels? Can you trust this fourth-party so that it did not insert +Trojans? + +Chances are that all of these questions are answered "No". There are still +major problems with bootstrapping security via the Internet... + +What about the application which uses these DLLs? Do you have any reason to +trust it? What about the OS itself? Did it come from a trustworthy source +via trustworthy channels? Are you sure it was not tampered with? + +Q. How to compile and link with OpenSSL libraries? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Put the files from include and lib to your emx directory, +or directories on C_INCLUDE_PATH and LIBRARY_PATH. +Note that openssl should become a subdirectory of your include directory. +If you need .lib files you can create them using emxomf. + +The supplied library files link against the new renamed dlls open_ssl and +cryptsll. + +See the doc directory for some information and visit +http://www.columbia.edu/~ariel/ssleay/ for more infos. + + +Q. Why do you need your own keys and certificates? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +There are several situations: having a server which accepts secure connections; +authenticating yourself to a server by means other than login/password, +sending S-Mime crypto-mail, authenticating from a client browser to a server. +In each of these situations one needs keys. + +The following sites may be useful: + + http://www.pseudonym.org/ssl/ssl_cook.html#environment + http://the.earth.li/~sgtatham/putty/0.53b/htmldoc/Chapter8.html#8.2 + +Q. How to generate your own keys and certificates? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +There are many ways. A good solution is to use sslRexx. It provides everything +you need. PuTTYgen is a key generator that will work. + +Below is a short description of how I made my own Certification Authority, +a Server Key for Apache and a client Key/Certificate for me, signed by my +own CA. + + +Q. Howto: Root CA (needed to self-sign all certificates) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Generate a CA-Key and store it in sub-directory private: + + openssl genrsa -des3 -out private/MyOwnCA.pem 2048 + +Make a selfsigned certificate based on above key. + + openssl req -new -x509 -days 730 -key private/CAkey.pem -out CAcert.pem + +This certificate will expire in 2 years. + +Optional: generate text output of this certificate: + + openssl x509 -in ./CAcert.pem -text > CAcert.txt + +Now you have a key and certificate for your own CA which can be used +to sign user and server keys. The CAcert is also needed to configure +Apache and Netscape. You can/should give away the CA certificate but +never give the CA key to anybody. + + +Q. Howto: Your Client Certificate/Key +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Generate a private key +---------------------- + + openssl genrsa -des3 -out hrom-key.pem 2048 + + +Create a signing request (same command again) +------------------------ + + openssl req -new -key hrom-key.pem -out hrom-req.pem + +Let the CA sign it (same command again) +------------------ + + openssl ca -in hrom-req.pem -out hrom-cert.pem -outdir MyOwnCA/newcerts + +After you get back the certificate from the CA, combine it with +your private key and store the result as p12 file. This file can +be imported into your browser. The browser will use this file to present +to a server requiring it for access. + + openssl pkcs12 -export -name Hromadka -in hrom-cert.pem -inkey hrom-key.pem -out hrom.p12 + + +Security Notes: Never give your private key to a CA, they only need the +signing request. Never give away your p12 file. Always secure your private +keys with a passphrase. + + +Q. How to use c_rehash? +~~~~~~~~~~~~~~~~~~~~~~ + +One needs a working port of Perl and cp.exe to run this. Set OPENSSL to the +full name of openssl executable. One may also need to change some ':' to +$Config{path_sep}. c_rehash finds certs from environment variables and allows +them to be recognized by openssl. + +Q. How to extract certificates from Internet Explorer? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To make your own file of certificates, go to the +"Tools/Internet Options/Content/Certificates/Trusted Root Certificates" +section of IE. Select all the certificates, then "export" to a file. +It will be saved as a PKCS#7 file, with suffix ".p7b". You can call +it "ca_bundle.p7b". Then use openssl to convert it with the command: +"openssl pkcs7 -inform DER -in ca_bundle.p7b -print_certs -text -out cert.pem". +Ask your system administrator to put the file "cert.pem" in the openssl +directory and c_rehash it. Then lynx can check the certificates against the +set of certificates that you (or Microsoft) trusts, and you won't get the +warning message any more. + +Q. How to install 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 and hash the +cert by running c_rehash. A complete discussion of this procedure for unix is +in the document README.sslcerts. diff --git a/docs/README.ssl b/docs/README.ssl new file mode 100644 index 0000000..c9d1c79 --- /dev/null +++ b/docs/README.ssl @@ -0,0 +1,69 @@ +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. diff --git a/docs/README.sslcerts b/docs/README.sslcerts new file mode 100644 index 0000000..39c3dcd --- /dev/null +++ b/docs/README.sslcerts @@ -0,0 +1,265 @@ + 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: + +<snip> +7490:/etc/ssl/certs +7491:/etc/ssl/cert.pem +7492:SSL_CERT_DIR +7493:SSL_CERT_FILE +<snip> + +Other possible example output: + +<snip> +31555:/usr/local/ssl/certs +31556:/usr/local/ssl/cert.pem +31557:SSL_CERT_DIR +31558:SSL_CERT_FILE +<snip> + +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 +<snip> + +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 <stefan.caunter@mohawkcollege.ca> +Mohawk College Department of Computer Science +Hamilton Ontario Canada diff --git a/docs/SOCKETSHR.announce b/docs/SOCKETSHR.announce new file mode 100644 index 0000000..4c08a01 --- /dev/null +++ b/docs/SOCKETSHR.announce @@ -0,0 +1,67 @@ +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 diff --git a/docs/TCPWARE.announce b/docs/TCPWARE.announce new file mode 100644 index 0000000..899a460 --- /dev/null +++ b/docs/TCPWARE.announce @@ -0,0 +1,30 @@ + 03-Jun-1994 + + The bug associated with using non-blocking socket handling with +TCPWare's UCX emulation has been traced by Bernie Votz of Process Software +to their TCPDRIVER.EXE, and has been fixed. The kit is on FTP.PROCESS.COM +and is called DRIVERS_V405B.INC (it is only valid for TCPware for OpenVMS +Version 4.0-5, which is the current version at the time of this announcement). +The fix will be included in the next TCPWare upgrade. If you have problems, +contact: + + Bernie Volz + Process Software Corporation + VOLZ@PROCESS.COM + + If you have an old version of TCPWare, and no current Process +Software support, modify [.WWW.Library.VMS]libmake.com to include NO_IOCTL in +the $ cc := cc/define=(...) list. You will not be able to interrupt stalled +connects (i.e., you'll have to wait for those to time out), but you still will +we able to interrupt long or stalled document transfers via the 'z' command. + + To build for TCPWare, enter @BUILD TCPWARE or just @BUILD +and then answer the prompt with the appropriate number for that TCPIP +package. + + Fote + +========================================================================= + Foteos Macrides Worcester Foundation for Experimental Biology + MACRIDES@SCI.WFEB.EDU 222 Maple Avenue, Shrewsbury, MA 01545 +========================================================================= diff --git a/docs/VMSWAIS.announce b/docs/VMSWAIS.announce new file mode 100644 index 0000000..50133f7 --- /dev/null +++ b/docs/VMSWAIS.announce @@ -0,0 +1,28 @@ + 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 (interruptible 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 <TCPIP package> 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 +========================================================================= diff --git a/docs/djgpp.key b/docs/djgpp.key new file mode 100644 index 0000000..0ce8631 --- /dev/null +++ b/docs/djgpp.key @@ -0,0 +1,214 @@ + DJGPP Keyhandler Keymaps + +Control_A 0x001 +Control_B 0x002 +Control_C 0x003 +Control_D 0x004 +Control_E 0x005 +Control_F 0x006 +Control_G 0x007 +BackSpace 0x008 +Control_H 0x008 +Tab 0x009 +Control_I 0x009 +LineFeed 0x00a +Control_J 0x00a +Control_K 0x00b +Control_L 0x00c +Return 0x00d +Control_M 0x00d +Control_N 0x00e +Control_O 0x00f +Control_P 0x010 +Control_Q 0x011 +Control_R 0x012 +Control_S 0x013 +Control_T 0x014 +Control_U 0x015 +Control_V 0x016 +Control_W 0x017 +Control_X 0x018 +Control_Y 0x019 +Control_Z 0x01a +Control_LBracket 0x01b +Escape 0x01b +Control_BackSlash 0x01c +Control_RBracket 0x01d +Control_Caret 0x01e +Control_Underscore 0x01f +Space 0x020 +ExclamationPoint 0x021 +DoubleQuote 0x022 +Hash 0x023 +Dollar 0x024 +Percent 0x025 +Ampersand 0x026 +Quote 0x027 +LParen 0x028 +RParen 0x029 +Star 0x02a +Plus 0x02b +Comma 0x02c +Dash 0x02d +Period 0x02e +Slash 0x02f +Colon 0x03a +SemiColon 0x03b +LAngle 0x03c +Equals 0x03d +RAngle 0x03e +QuestionMark 0x03f +At 0x040 +LBracket 0x05b +BackSlash 0x05c +RBracket 0x05d +Caret 0x05e +UnderScore 0x05f +BackQuote 0x060 +LBrace 0x07b +Pipe 0x07c +RBrace 0x07d +Tilde 0x07e +Control_Backspace 0x07f +BackTab 0x10f +Alt_Q 0x110 +Alt_W 0x111 +Alt_E 0x112 +Alt_R 0x113 +Alt_T 0x114 +Alt_Y 0x115 +Alt_U 0x116 +Alt_I 0x117 +Alt_O 0x118 +Alt_P 0x119 +Alt_LBracket 0x11a +Alt_RBracket 0x11b +Alt_Return 0x11c +Alt_A 0x11e +Alt_S 0x11f +Alt_D 0x120 +Alt_F 0x121 +Alt_G 0x122 +Alt_H 0x123 +Alt_J 0x124 +Alt_K 0x125 +Alt_L 0x126 +Alt_Semicolon 0x127 +Alt_Quote 0x128 +Alt_Backquote 0x129 +Alt_Backslash 0x12b +Alt_Z 0x12c +Alt_X 0x12d +Alt_C 0x12e +Alt_V 0x12f +Alt_B 0x130 +Alt_N 0x131 +Alt_M 0x132 +Alt_Comma 0x133 +Alt_Period 0x134 +Alt_Slash 0x135 +Alt_KPStar 0x137 +F2 0x13c +F3 0x13d +F4 0x13e +F5 0x13f +F6 0x140 +F7 0x141 +F8 0x142 +F9 0x143 +F10 0x144 +Alt_KPMinus 0x14a +Center 0x14c +Alt_KPPlus 0x14e +Shift_F1 0x154 +Shift_F2 0x155 +Shift_F3 0x156 +Shift_F4 0x157 +Shift_F5 0x158 +Shift_F6 0x159 +Shift_F7 0x15a +Shift_F8 0x15b +Shift_F9 0x15c +Shift_F10 0x15d +Control_F1 0x15e +Control_F2 0x15f +Control_F3 0x160 +Control_F4 0x161 +Control_F5 0x162 +Control_F6 0x163 +Control_F7 0x164 +Control_F8 0x165 +Control_F9 0x166 +Control_F10 0x167 +Alt_F1 0x168 +Alt_F2 0x169 +Alt_F3 0x16a +Alt_F4 0x16b +Alt_F5 0x16c +Alt_F6 0x16d +Alt_F7 0x16e +Alt_F8 0x16f +Alt_F9 0x170 +Alt_F10 0x171 +Control_Print 0x172 +Control_Left 0x173 +Control_Right 0x174 +Control_End 0x175 +Control_PageDown 0x176 +Control_Home 0x177 +Alt_1 0x178 +Alt_2 0x179 +Alt_3 0x17a +Alt_4 0x17b +Alt_5 0x17c +Alt_6 0x17d +Alt_7 0x17e +Alt_8 0x17f +Alt_9 0x180 +Alt_0 0x181 +Alt_Dash 0x182 +Alt_Equals 0x183 +Control_PageUp 0x184 +F11 0x185 +F12 0x186 +Shift_F11 0x187 +Shift_F12 0x188 +Control_F11 0x189 +Control_F12 0x18a +Alt_F11 0x18b +Alt_F12 0x18c +Control_Up 0x18d +Control_KPDash 0x18e +Control_Center 0x18f +Control_KPPlus 0x190 +Control_Down 0x191 +Control_Insert 0x192 +Control_Delete 0x193 +Control_KPSlash 0x195 +Control_KPStar 0x196 +Alt_EHome 0x197 +Alt_EUp 0x198 +Alt_EPageUp 0x199 +Alt_ELeft 0x19b +Alt_ERight 0x19d +Alt_EEnd 0x19f +Alt_EDown 0x1a0 +Alt_EPageDown 0x1a1 +Alt_EInsert 0x1a2 +Alt_EDelete 0x1a3 +Alt_KPSlash 0x1a4 +Alt_Tab 0x1a5 +Alt_Enter 0x1a6 +Alt_Escape 0x1a7 +Control_At 0x1a8 +Alt_Backspace 0x1a9 +Control_ELeft 0x273 +Control_ERight 0x274 +Control_EEnd 0x275 +Control_EPageDown 0x276 +Control_EHome 0x277 +Control_EPageUp 0x284 +Control_EUp 0x28d +Control_EDown 0x291 +Control_EInsert 0x292 +Control_EDelete 0x293 diff --git a/docs/pdcurses.key b/docs/pdcurses.key new file mode 100644 index 0000000..5e383aa --- /dev/null +++ b/docs/pdcurses.key @@ -0,0 +1,123 @@ + 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 */ diff --git a/docs/slang.key b/docs/slang.key new file mode 100644 index 0000000..7310880 --- /dev/null +++ b/docs/slang.key @@ -0,0 +1,4 @@ + S-Lang Keymaps for DOS + +F0 0x200 +F(X) (SL_KEY_F0 + X) /* If X>1 */ diff --git a/docs/win-386.announce b/docs/win-386.announce new file mode 100644 index 0000000..128cb7f --- /dev/null +++ b/docs/win-386.announce @@ -0,0 +1,40 @@ +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. + +To make the Win32 version you need Borland C++ 4.52 or complete +compatible and the win32.zip package unzipped into the lynx directory. +This code expects you to have BC make in your path at the console +prompt and also to be able to compile from the console as well. +I can provide an IDE if needed but did not want to force on into the +standard Lynx package. Text mode compiling is much faster anyhow (IMHO). +The current default configuration is to have the Character Translation +code linked in. For this to be successful you need to go into +src\chrtrans and run makew32. After that you can come back to the +Lynx root and run make -f makefile.w32. + +The DJGPP version is a little screwy. You need DJGPP 2.0, the djgpp.zip +package unzipped into the lynx directory and some patience. I kludged it +to compile with long filenames under Win95 so some fooling around may be +required. To compile, run djgpp.bat that was extracted from the zip +file. There is currently a problem with compiling HTML.c and I have +contacted the author of DJGPP for help with getting this port further. + +Wayne Buttles +lynx-port@fdisk.com + + + +Win32 port was further extended by Hiroyuki Senshu <senshu@shonai-cit.ac.jp> +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 + +Lynx now builds with C++ Builder, Borland C++, Visual C++, and Cygwin. |