diff options
Diffstat (limited to 'docs/CHANGES2.8')
-rw-r--r-- | docs/CHANGES2.8 | 3399 |
1 files changed, 3399 insertions, 0 deletions
diff --git a/docs/CHANGES2.8 b/docs/CHANGES2.8 new file mode 100644 index 00000000..a7ae1a61 --- /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 attibutes were present in the IMG tag. - FM +* Only using the number-removing code under additional conditions: + ISMAPs which appear together with USEMAPs and which are suppressed + with LYNoISMAPifUSEMAP in LINKS_ARE_NUMBERS mode. - KW +* Extended the disk_save restriction to the print menu as well as + the download menu, and accordingly updated lynx.hlp, lynx.man, and + Lynx_users_guide.html. - HN, FM +1997-04-09 +* Many changes to further the Win32 and 386 ports. An emulation of + the HTVMS_ calls was used to try and cover all the DOS'izms. + A specialized ifdef for pdcurses color mapping added. Some keypad + tweaks. More generalized process spawning. .lynxrc is lynx.rc for 386 - WB +* Tweak to ensure that a newline isn't inserted by virtue of a + FORM start tag if it's in the first line of a list element and + no text precedes it other than a UL's bullet or OL's number + on that line. - FM +* Added pauses for the "Bad HTML" statusline messages under cases + HTML_HTML and HTML_BODY in HTML_end_element(), and eliminated + their checks for an unclosed FORM because we no longer expect + that to cause a serious problem. - LE, FM +* Added a NO_ISMAP_IF_USEMAP configuration symbol and -ismap + command line toggle for suppressing inclusion of a link for the + server-side-image-map if an IMG or OBJECT element has both ISMAP + and USEMAP attributes such that a client-side-image-map link is + created. Updated lynx.man, lynx.hlp and Lynx_users_guide.html + accordingly. - FM +* Fixed a glitch in HText_endAnchor() of Gridtext.c which could + cause dangling Anchors in LINKS_ARE_NUMBERED mode if the Anchor's + content was handled in a manner which caused it to become zero + length. - FM +* Moved handling for NEWS_POSTING in LYReadCFG.c to the right place, + so that it can actually have an effect. - LV +* Typo fixes for the comment concerning NO_ANONYMOUS_EMAIL in + userdefs.h - HN, FM +1997-04-08 +* New translation table koi8r_uni for KOI8-R charset. Lynx can now + translate between iso-8859-5 and KOI8-R, at least for the Cyrillic + characters present in both. - KW +* New translation table def7_uni with default 7-bit mappings + (replacement representation). Based on RFC1345 and mnemonic,ds + from ftp://dkuug.dk/i18n/ and previous Lynx replacements + in LYCharSets.c and IPA FAQ convention and stuff for Ethiopic and + KOI8-R. It maps many of the accented Latin characters present in + Unicode to their unaccented counterparts. This table is now + used for the "7 bit approximations" display "character set". - KW +* Entities for Latin2 characters added to HTMLDTD.c These also + include many entity names for ASCII characters, and characters + which are in both iso-8859-1 and iso-8859-2. - Hynek Med +* Changes to the non-chartrans translation tables in LYCharSets.c + for Đ, Ð, and ð. Treat Đ more like + an entity for the (Latin-2) Unicode character U+0110, since + that seems to be SGML standard usage. - KW +* Added mappings for some "smart quote" characters to several + translation tables. - KW +* Make makeuctb slightly more flexible (accept unicode range for + mapping to single code point). - KW +1997-04-07 +* Took out special-case handling in the curses-color code for underlining + when lynx is running under Linux using the linux console with color. + The code was introduced on 1997-03-12 and would ignore "smul" capability + info from terminfo or termcap under those circumstances, always using + bold instead of underline. - KW +* Slightly modified the FORM handling patch of 1997-04-05, as follows: + Use a generic test for a non-SGML_EMPTY element for bypassing the + stack pop in HTML_end_element() of HTML.c instead of an explicit + test for HTML_FORM. - KW +1997-04-06 +* Patch for IMG elements which have both ISMAP and USEMAP in effect. + In HTML_start_element() don't generate the "[ISMAP]-" string for + output in this case, unless clickable_images is set TRUE. - KW +1997-04-05 +* Patch for Lynx v2.7.1 to handle invalidly interdigitated container + elements or spurious container end tags without substitutions of + "expected" FORM end tags by the SGML.c stack-based parser, and + without messing up the HTML.c stack-based parser. Reliably succeeds + in not closing FORMs before all of the FORM elements, including + submit buttons, have been processed. Should be reasonably crash + safe (hopefully as safe as the vanilla v2.7.1), but there are no + guarantees. - FM +1997-04-04 +============================================================================ +--- Release of Lynx2-7 + BUGFIXES as Lynx v2.7.1 (April 4, 1997) by FM --- +============================================================================ +* Note that 2.7.1 was not a release from this code set, but all 2.7 -> 2.7.1 + bugfixes and other changes are also included in this code set, in either + identical or equivalent form. Therefore the entries below this point + comprise the 2.7 -> 2.7.1 changes, and additionally other changes made to + the development code set during that time. - KW +1997-04-02 +* add Andrew Kuchling's patch to support mouse-clicks with ncurses. - TD +* refine tests that address porting problems to SCO (detecting struct winsize, + workaround for misdefinition of 'remove') - TD +* refine CF_COLOR_CURSES test to avoid ncurses 1.9.9e bugs. - TD +* refine CF_PATH_PROG to allow for machines that haven't the given programs, + by using only the program name and added configure option + --disable-full-paths to enforce this behavior. - TD +* fixes for some gcc compiler warnings (missing prototypes, unused variables, + uninitialized variables, shadowed variables). - TD +* Fixed typos in LYHistory.c, LYMail.c and LYMain.c which caused + failures of flag setting in the distributed code. - TD +* correct cast in HTFWriter.c that may break if atoi() is not prototyped. - TD +* add top-level makefile target 'maintainer-clean', use this to remove + Lynx.prj - TD +1997-03-31 +* Added a missing check for whether the fragment token is NULL in + LYConvertToURL() of LYUtils.c. Without the check, the for-Unix code + could crash if a local file spec was entered as a startfile or goto + with escaped characters. - KW +* Mod in HTML.c to retain "[INLINE]" as the default ALT string if an + IMG element has an ISMAP attribute but is not in Anchor content such + that it could not in fact function as a server-side image map. - FM +1997-03-27 +* In mainloop(), after the call to HText_pageDisplay() following a change + of the document view, ensure that curdoc.link does not remain set to -1 + if there are any links on the screen. This would otherwise happen if + a document is pushed to the history stack while there are no links, and + later popped (and refreshed) after one or more links have been created. + This change prevents segmentation faults which occurred after creation + of a new file in a previously empty directory via the DIRED menu. The + access to invalid memory only occurred if the screen showing the empty + directory did not have a parent dir reference link (which is always the + case if NO_PARENT_DIR_REFERENCE was specified at compilation time). - KW +* In LYLocal.c, modified the code handling DIRED_MENU to do more careful + checking of the selected file. In addition to "TAG", "FILE", and "DIR", + DIRED_MENU definitions in lynx.cfg now also recognize LINK as a type. + DIRED_MENU definitions with a type field of "LINK" are only used if the + current selection is a symbolic link ("FILE" and "DIR" definitions are + not used in that case). The default menu definitions have been updated + to reflect this change, and to avoid the showing of menu items whose + action would always fail - KW +* Some cleanup to eliminate compiler warnings, remove some unused + variables - KW +* Fixed a typo and added comments for the code in LYMainLoop.c which + decides whether to load the URLs for homepage and/or startfile into + the goto buffer at startup. The typo in the distributed code caused + the startfile URL always to be added to the goto buffer, even if + it had POST content such that it could be resent inappropriately + as a GET request via the goto buffer. - FM +* Added a bsdi-slang target to the Makefile. - Laura Eaves +1997-03-26 +* Changed highlighting of strings found by a WHEREIS ('/') search. + Now uses Christmas tree attribute combination ("all bits are on"), + which with color support translates to COLOR:7. - KW +* Modified the HTStream structure and associated code in src/HTFWriter.c + so that we save and use the relevant content of the associated + HTPresentation structure as two HTFormat elements rather than via a + pointer to the HTPresentation structure itself, because the latter + structure might not be valid under some circumstances when + HTFWriter_free() is called. The distributed code might indirectly + result in segmentation faults during downloading on Linux and some + other flavors of Unix (though they don't occur for most flavors, or + on VMS). - KW +1997-03-23 +* Further reduction of top-level makefile.in by moving definitions out of + WWW/Implementation/*/Makefile, so only one is needed for autoconfigured + build (i.e., WWW/Implementation/unix/Makefile). This highlights the + remaining differences between the top-level targets - TD +* Make configure script generate Unix makefiles in subdirectories, a step + toward being able to run make from any directory, for development - TD +* Add autoconf tests for paths of programs, including sendmail vs mmdf - TD +* Add configure script options for development (--disable-echo, --enable-debug, + --enable-find-leaks, --enable-warnings) - TD +* Allow user to override search path for ncurses header by setting $CFLAGS or + $CPPFLAGS - TD +* Correct array limit in LYCurses.c for SVr4 color support - TD +* Use addstr rather than printw in popup-forms to address concern about 8-bit + characters - TD +1997-03-21 +* Changes in auto config handling of ncurses header location, function + used for reading terminal input, some other system dependent tweaks + (including SCO broken remove, time.h) - TD +* Fix for popup handling with late ncurses versions (uses wprintw + instead of waddstr in LYForms.c) - TD +* Mods in LYPrint.c to use ".txt" as the output file extension for + all rendered text/html files regardless of their original extension. + The distributed code was doing this only for ones with an extension + of ".html". The original extension still is retained if the file + is being output as source. - FM +* Added protection against passing a NULL pointer for path_url to + render_item() from dired_options() in LYLocal.c. - GN +1997-03-20 +* Tweaked the protection against URLs directed to port 19 or port 25 so + that it can't be circumvented via lead zeros in the port numbers. - FM +* Changed the compilation default so as not to send From MIME headers to + http or https servers. The default can still be changed via lynx.cfg. + Replaced the -nofrom disabling switch to a -from switch for toggling + the compilation or configuration default. Sending the From header + has become widely regarded as an invasion of privacy risk, particularly + in conjunction with cookie support. - FM +* Corrected a typo in the lynx.cfg comments concerning TRUSTED_LYNXCGI + rules. - KW +1997-03-17 +* Mods of LYNews.c and LYMail.c to prepend a "-- " separator before + appending the LYNX_SIG_FILE signature file to news and email + messages. - FM +* Made the installation mode 755 in the top-level Makefile. The + distributed code used 555, and some install commands were unable + to do the strip. - LV +1997-03-14 +* Corrected typos and expanded the comments concerning lynxcgi symbols + in userdefs.h and lynx.cfg. - FM +* Modified SGML.c to handle the numeric character reference ™ as + the named entity ™ also in the non-chartrans case. The + trademark character (given by ™ or ™) will be shown as + "(TM)" as the ASCII substitution unless the current display character + has a code point for the trademark character or unless overridden by a + chartrans translation table. The code of 1997-02-25 prevented showing + the trademark sign as "(R)" but did not work in all non-chartrans + cases. - KW +* Include time.h via tcp.h for SVR4 systems. The tcp.h header does include + sys/time.h for Unix systems, but this apparently doesn't get struct tm + and extern char * ctime() declared for SVR4. - FM +1997-03-13 +* Added protection in LYGetFile.c against connections to the port 25 + ESMTP service. - FM +1997-03-12 +* (chartrans) Make compilation in src/chrtrans less verbose, no more + generating automatic *.h_old backup copies. - KW +* Refinement to the SVr4 (ncurses) color support, allowing it + to more closely model the slang support. - TD +1997-03-11 +* Tweak for command line parsing of files with no URL in LYUtils.c. + Also added ability to pass partial domain names in the DJGPP version. - WB +* Added the closing function for Win32 TCP in LYExit.c (did anyone see a + difference?!). - WB +* Altered LYCurses.c so that the DJGPP version could spawn other programs + without certain death. - WB +* Ignoring the whole ~/lynx.cfg problem (expanding '~') entirely for the + Win32 version for now. - WB +* Some other tweaks for Win32 and DJGPP - WB +* Added protection in LYGetFile.c against denial of service attacks via + the port 19 CHARGEN service. The distributed code left Lynx or proxies + vulnerable to such attacks via direct or redirection URLs. - FM +1997-03-10 +* Fixed error in the handling of numeric character references with values + greater than 255 in SGML.c. The distributed code was breaking after + substitutions instead of falling through to reset the string chunk and + recycle the terminator if not a semi-colon. - FM +1997-03-09 +* Integrated (simple) color, auto-configure patches with 2.7 following + chrtrans patch - TD (T.Dickey), JES (J.Spath) +1997-03-08 +* Fixed error in the switch positioning of checks for XLOADIMAGE_COMMAND + and wais_proxy in LYReadCFG.c. The distributed code had them reversed + under case 'W' versus case 'X'. - PDS +* Expanded the copyright and licensing statements in the -version + output. - FM +1997-03-04 +* Corrected the offset computation in textsearch() of LYSearch.c so that + WHEREIS searches repeated on a page with no links seek the target + starting at the line immediately following the last displayed. The + distributed code was setting a greater offset. - JES +1997-03-02 +* Don't entify post content for the showinfo display, now that we are + making it an XMP block in that display to handle all of the supported + enctypes. - FM +* Patches to fix mail and FTP for Win32 (LYMail.c, HTFile.c). - WB +* Makefiles to compile chartrans code for Win32. - WB +* (chartrans) Minor cleanups (makeuctb.c, chrtrans/Makefile, HTPlain.c) + to enable successful compilation on Win32. - KW +1997-02-28 +* Changed all references to "image/*" to just "image" in the userdefs.h + and lynx.cfg comments about XLOADIMAGE_COMMAND. The "/*" within the + userdefs.h comments was generating warnings from some compilers. - FM +* Added a snake-slang target to the Makefile, and added -DUNIX to the + LYFLAGS for the snake3 and snake3-slang targets (HP-UX apparently does + not define "unix" itself with the -Ae switch, and thus needs to have + that definition forced via -DUNIX). - HL +* Merged with patches and makefiles from Wayne Buttles + (buttles@wsb.champlain.edu) to enable compilation in two new environments: + Win32 (95/NT) with Borland C++ 4.52 compiler, and 386 DOS with DJGPP + compiler. To add ports for Win32 (95/NT) and 386 DOS computers with a + packet driver, four new defines were created: _WINDOWS (Defined for Win32 + specific code - Mostly TCP related), DJGPP (Defined for 386 specific code - + Mostly TCP related), DOSPATH (Defined for any DOS'ish computer), and + NOSIGHUP (Defined for computers not supporting sighup signal calls). + Separate utility programs needed for compiling and running Lynx on those + platforms are available from Wayne at + <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 |