======================================================================= --- 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 ("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) ==============================================================================