1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
|
=======================================================================
--- Release of Lynx2-6FM as Lynx v2.7 (February 15, 1997) ---
=======================================================================
1997-02-15
* Release of Lynx2-6FM as Lynx v2.7. - FM
* Included -Ae when compiling the Implementation modules for the snake3
target. - FM
1997-02-14
* Mods to issue an alert about a BASE tag not having an absolute URL only
once per document. - FM
* Added code for appending LYNX_SIG_FILE to email messages as well as to
news posts or followups, and updated the Users Guide accordingly. - FM
* Updated build-slang.com. - FM
1997-02-12
* Fixed some problems in the code for using a hookless Lynx image with
snew_proxy, snewspost_proxy, and snewsreply_proxy set to
"nntp://host:port/" so that it uses Tom Zerucha's (tz@execpc.com)
daemon which handles the SSL communications on behalf of the Lynx
image. Also polished up all of the news gateway code, and added
comments for the benefit of new developers. - FM
* Added an ECGOTO command mapped by default to 'G', complementary to the
GOTO command (default 'g'), to edit the current document's URL and then
go to it. Using case-sensitive letters with different command definitions
ensures that both will appear with their brief explanations in the 'k'eymap
listing. For ECGOTO, Control-G, failure to modify the URL, or complete
deletion of it, all act as a cancel. If the current document has POST
content associated with it, a warning will be issued before offering the
URL to edit. The POST content is retained if the modification merely
involves a change in fragment for the URL. Otherwise, the modified URL
(if it has an http scheme) will be submitted with method GET and no POST
content. If the ECGOTO command is not cancelled, or not simply a fragment
change, the modified URL will be added to the 'g'oto buffer, and can be
re-accessed, to edit further, via the GOTO command. See the updated online
'h'elp for more information. - FM
1997-02-10
* Amplified the comments concerning deletion of prototypes for MultiNet
socket library functions as they get added to MultiNet's own headers
in newer versions of it's socket library. - FM
* Added a missing fclose() in post_article() of HTNews.c, and added code
to delete the temporary file there, so it's gone as soon as we're done
with it. - FM
02-09-97
* Enhanced the Set-Cookie header parser to handle values that contain
spaces but were not enclosed in double-quotes, and to use such
quoting or not when sending Cookie headers, depending on whether
this was done in the Set-Cookie header. Also added anti-crash
checks should the parser's efforts to handle both historical (a.k.a.
original Netscape) cookies and Version 1 cookies go awry (does deal
successfully now with all the cookies which had been reported as
problematic). - FM
* Mods of the screen handling in LYNews.c for cleaning up any screen
trash created by the external editor. - FM
* Tracked down an uninitialized pointer in LYNews.c that probably was
behind reports of crashes when posting to newsgroups. - FM
* Plugged a memory leak in LYMainLoop.c. - TJC
* Added posting ability to the news gateway, in lieu of the previous,
variably reliable, use of a spawned news client for posting. The
news, nntp, and snews URLs now all return links for posting new
messages or followups (replies) to the server from which a newsgroup
listing or news article was retrieved, unless the server indicates
that it does not accept posts from the site at which Lynx is running.
See the updated INSTALLATION, userdefs.h, and lynx.cfg files, the
"USENET News posting" section of the Users Guide, and "Supported URLs"
page of the online 'h'elp for more information.
* Fixed typo for e-dieresis in the KOI8-R charset. - AJF
* Replaced an inappropriate _user_message() call in HTConfirmCookie()
of HTAlert.c with a _statusline() call. The original code could
cause crashes with some cookie values. - FM
02-06-97
* Added support for both hex escaped and unescaped white characters
in lynxexec and lynxprog URLs. Normally, Lynx strips out any white
characters that are not hex escaped in attribute values that are
to be resolved as URLs, on the assumption that they were derived
from wrapping in the markup. Any serial white characters in
lynxexec and lynxprog URLs are condensed to one space (' '), and
any lead or trailing white characters are trimmed. Note that we
still require hex escaping of spaces in mailto URLs, e.g,
HREF="mailto:lynx-dev@sig.net%20(I%20found%20a%20bug.)". - FM
* Removed the 'e' switch from tar commands in LYLocal.c for greater
portability across all supported Unix flavors. - FM
* Expanded the information in the PROBLEMS file on how to deal with
DECC and MultiNet header incompatibilites for different combinations
of the VMS compiler and socket library versions. - FM
* Added TRACE message of the edit command created for the system()
call in LYEdit.c. - LWV
* Fixed a typo in the userdefs.h comments. - NHE
02-04-97
* Mod in LYMainLoop.c to bypass mailing "not found" messages when
MAIL_SYSTEM_ERROR_LOGGING was set TRUE (which it should NOT be,
indescriminately) if the document's owner is the lynx-dev list. - FM
* Added crash protection checks for the actual presence of anchors
in all HText structure anchor scans in GridText.c, based on a crash
report and suggested fix for one of them from Jonathan Sergent
(sergent@hillres55-129.cc.purdue.edu). - FM
* Eliminated the typecast for ttytype (apparently varies across flavors,
and each flavor should know it's own typing; we'll see) in LYCurses.c,
and moved VMS system definitions with non-ANSI conformant tokens to a
separate header for VMS (LYVMSdef.h). - BL
* Made the description of HISTORY in the 'k'eymap page more clear that
it invokes a list of the "suspended" documents currently held in the
history stack. - DC
* Typo fixes in the help files and lynx.cfg. - LWV
02-03-97
* Today's distribution is a pre-release of v2.7. The projected official
release date is 02-15-97. All header, help and documentation files,
and the top directory name, have been updated for v2.7. - FM
* Made xli, which is freeware, the default XLOADIMAGE_COMMAND for Unix
in userdefs.h (still xv on VMS, since its port is freeware), and
expanded the "self-documentation" to indicate where to get this
freeware. Added XLOADIMAGE_COMMAND as a configuration symbol in
lynx.cfg, so that the compilation default can be overridden on
systems which have and prefer xv (all users can override the default
mappings for image helper apps via their mailcap files) - FM
* Added a -base command line switch which can be used with -source or
-mime_header to prepend the request URL as a comment, and a BASE tag
(which may or may not be the same as the request URL, depending on
HTTP/1.1 headers) for text/html documents, equivalent to the prepend
kludge for 'd'ownloads (see 09-20-96 mods). - FM
* Added a check for an "ORGANIZATION" environment variable for inclusion
as a news post header on Unix (all system logicals intended for news
post headers automatically are included on VMS), and a sleep() before
restoring curses mode after the post, to allow reading of any error
messages from the news software. - FM
* Fixed bug which yielded a "[LINK]" instead of "[INLINE]" pseduo-ALT
for ALT-less IMG tags used as the content for NAME-ed Anchors without
an HREF. - FM
* Portability tweaks for the mini inews utility. - FM
* Fixed an old and irrelevant typo in HTWriter.c. - JS
01-29-97
* Added more REL tokens that are acceptible for banner links. - FM
* Ifdef'ed the standard foo_PATH definitions for FreeBSD at the bottom of
userdefs.h, based on a patch from AAC, and assuming they also apply for
NetBSD, BSDI, and Linux (we'll see 8-). - FM
* Added make freebsd-slang target. - AAC
01-28-97
* Mods of LYSetCookie() to ensure setting of 443 as the default port for
https URLs, and force the secure flag on for https URLs whether or not
the Set-Cookie header had a secure parameter (too many Version 0
cookies don't, when they should). - FM
* Removed -ltermcap from make for all ncurses targets. - FM
* Tweaks of make for FreeBSD. - AAC
* Use SLtt_get_screen_size() instead of the apparently less portable
code for slang in size_change() of LYUtils.c. - JED
01-27-97
* Made ALT a synonym for VALUE in INPUTs with TYPE="image" to cooperate
with well-intentioned (though misinformed) providers who use ALT instead
of VALUE for the benefit of text clients or GUIs with image handling
turned off. - FM
* Modified the code for submission of form content with TYPE="image" NAME-ed
INPUTs that have a VALUE (or ALT) to "fake" a 0,0 coordinate pair, as when
a VALUE (or ALT) is absent, instead of sending a single name=value pair.
Requests that using a name=value pair in such cases to indicate that the
submission was from a text client or GUI with image handling turned off
be included in the HTML specifications keep falling on deaf ears, so we
may as well "fake" something closer to what the CGI scripts are expecting,
and hope that the script interprets 0,0 as an indicator that the user did
not see the image and make a conscious choice within it.
* Added code to offer a link for the SRC of the image in INPUTs with
TYPE="image", distinct from the submit button, when clickable images
is on. - FM
* Updated the "HTML Forms" section of the Users Guide. - FM
* Fixed a typo in the parsing of Cache-Control MIME headers and META
directives. - FM
01-25-97
* Updated lynx_help_main.html, about_lynx.html and about_lynx-dev.html. - FM
* Mods to indicate a toolbar by a '#' preceding its first link when the
toolbar is being displayed, and to indicate the availability of a toolbar
by a '#' in the top, left-hand corner of the screen when the toolbar is
not being displayed. Added explanation of this in the online 'h'elp. - FM
* Indicate the 'allow' setting (always, never, or via prompt) for each
domain in the Cookie Jar Page. - AK
* Don't delete cookie-less domains silently during garbage collections if
they have their 'allow' set to always or never. - AK & FM
* Added ability to change the 'allow' settings for domains via the Cookie
Jar Page. - FM
* Added basic protection against "denial of service attacks" by limiting
a domain to 50 cookies, the total number of stored cookies to 500, and
the maximum processed size of a cookie to 4096 bytes. - FM
* SGML escape any ampersands or angle brackets in the cookie names, values,
parameters, and comments when creating the HTML stream for the Cookie
Jar Page, and only include entries for comments if they were present in
the servers' Set-Cookie headers. - FM
* Updated the online 'h'elp for cookies. - FM
* Removed -DNO_KEYPAD from all ncurses targets in the Makefile. - FM
01-23-97
* Added a "Lynx State Management (Me want cookie!)" section to the Lynx
Users Guide, and a cross-linked cookie_help.html file for the Cookie
Jar Page. - FM
* Added prompting for whether to show the body of a 401 status reply or
simply return to the current document when an activated link requires
authentication via a username and password, and the user has none for
that realm, or forgot them. - FM
01-22-97
* Added handling of expires attribute values in Version 0 (a.k.a. Netscape)
Set-Cookie MIME headers or META tags, and added "Maximum Gobble Date"
entries in the Cookie Jar Page which indicate the maximum intended age
for each cookie based on the Version 0 expires or Version 1 max-age
attribute values. - FM
* Added an LYmktime() function in LYUtils.c which accepts strings in the
format "Day, dd-Mon-yy hh:mm:ss GMT" or "Day, dd Mon yyyy hh:mm:ss GMT",
parses and converts them to time_t format (seconds since 00:00:00 Jan 1
1970), and returns the time_t value, or zero if the date is in the
past. It is used for handling Expires headers or attribute values. - FM
* Added parsing of Cache-Control and Expires MIME headers and META tags
sufficient to determine whether the no_cache element should be set in
the document's structures. - FM
* Eliminated the "; $Path=foo; $Domain=blah" attr=value pairs when sending
Version 0 (a.k.a. Netscape) cookies in request headers, because too may
CGI scripts in the real world have brain-dead parsers and fail when they
are included. - FM
* Added handling of Set-Cookie directives in META tags. - AK
01-20-97
* Added confirmation prompts for deletions from the Cookie Jar, expanded
the garbage collecting for expired cookies, debugged and implemented the
code for security checks based on lead and embedded dots in domain values
and host prefixes as described in Section 4.3.2 of the -05 State Management
draft, added requirement for https URLs (direct, or via proxy) to include
cookies which have the secure flag set in request headers, and extensively
annotated the cookie support code for ease of further development. - FM
* Added ability to set SHOW_CURSOR in lynx.cfg, to override the compilation
setting in userdefs.h, and made the -show_cursor command line switch a
toggle for the compilation or configuration default. - FM
01-18-97
* Bug fixes and memory leak plugs for the cookie support. Added ability
to delete individual cookies or entire domains via the Cookie Jar Page
(Ctrl-K). The domains and cookies are displayed as DL/DT/DD blocks,
with links for each domain and cookies name. The deletions are done
by activating those links, which can be numbered, so it should be OK
for blind users. - FM
* Tweaks of the news/nntp/snews gateway. - FM
* Tweaks of paragraphing if ADDRESS, BANNER, BLOCKQUOTE, BQ, FN, MARQUEE
or NOTE blocks are nested (note that nesting does not yield progressive
indentations of these blocks). - FM
01-16-97
* Added "first pass" cookie support based on patches from Andrew Kuchling
(amk@magnet.com). Still needs work (see comments at top of LYCookie.c).
A SET_COOKIE symbol in userdefs.h and lynx.cfg determines whether cookie
support will be on or off by default, and the default can be toggled
via a -cookies command line switch. When on, Set-Cookie headers invoke
confirmations with possible replies of 'Y'es or 'N'o for that cookie,
'A'lways, to accept all cookies from that domain, or ne'V'er to never
accept cookies from that domain. The Cookie Jar can be examined via
the COOKIE_JAR keystroke command, mapped by default to Ctrl-K. The
Cookie Jar, and any 'A'lways or ne'V'er settings, do not presently
outlast the Lynx session. - FM
01-14-97
* Added use of DEFAULT_INDEX_FILE or the URL from an -index=URL command
line switch as the the HREF for a banner LINK with REL="Index" and no
HREF of its own (see the 01-01-97 mods and the HTML Banners section of
the Lynx Users Guide). - FM
01-13-97
* Tweaks of the news gateway. - FM
* Added "Negotiate: trans" header for GET and HEAD requests. Shouldn't
be necessary to get 300 instead of 406 replies when nothing matches
the Accept and Accept-foo request headers, but some HTTP/1.1 servers
apparently want it when the UA declares itself as HTTP/1.0, as Lynx
still does. - FM
01-12-97
* More updates of the online 'h'elp files. - FM
* Simplified the code for checking whether a startfile is a bookmark file
entered as a URL instead of invoked via the -book switch. The previous
code was tripping up some versions of the osf and linux compilers. - FM
01-10-97
* Replaced the realloc() in split_line() of GridText.c with a calloc(),
memcpy(), FREE() sequence for all systems, not just AIX and ultrix,
based on analysis of memory wastage by Hans Reiser
(dl9rdz@cip.e-technik.uni-erlangen.de). - FM
* Tweaks of the body= handling in mailto URLs. - FM
* Tweaks of the ftp gateway. - FM
* Restored inheritence when resolving versus a base with the same scheme,
because the RFC1808 and Fielding Draft behavior of not doing so yields
too many failures in the real world (sigh...). - FM
01-09-97
* Ugh! The distribution zip still had the Nov 4, 1996 HTTCP.c instead of
the one I modified on Christmas. No wonder people were still reporting
the wrong messaging with -DNSL_FORK. The right HTTCP.c is in there
now. - FM
* Mods to resolve the HREFs for LINKs with REV="made" or REV="owner"
versus the base (a many, many year old bug finally caught 8-). - FM
* Added HTAlert messages about BASE HREF vaules, Location header values,
and Refresh URL values that were not received as absolute URLs. We
still resolve them versus the RequestURI, since that's invariably
what is intended, and thus the optimum "error recovery" strategy. - FM
* Added handling of cc= and body= fields in ?searchpart strings of mailto
URLs. They are described in draft-hoffman-mailto-url-00.txt recently
posted to the URI-WG list. This draft ignores the objections which have
been filed about changing the semantics of mailto and breaking clients
which are fully conformant with the mailto specs in RFC1738, instead of
using a new scheme name (e.g., smtp:) for URLs with mail headers, and it
extends the ill-advised use of '&' as puctuation in URLs instead of
honoring the previous IETF effort to seek it's replacement by ';' as the
URL name=value separator and, in effect, treating them as parameters
without need to worry about confusions with entities when the URLs are
attribute values in text/html. However, the chairman of the URI-WG is
a co-author of this draft, so, sigh... As far as this Lynx code is
concerned, the mods are more "error recovery" to cope with the sad things
which have afflicted the Web during the past 2-3 years, and use of a
?searchpart in mailto URLs is still DISadvised. Lynx uses only subject=,
cc=, and body= fields from a ?searchpart, using it's own "safe" rules for
other mail headers, and ignoring ones other than those three in the
?searchpart as "unsafe". The cc= values in a ?searchpart are added to
the primary address as a comma-separated list for the mail agent, and
Lynx's own Cc: is that entered, optionally, by the user. Any body= field
is passed to the external editor, if one has been defined, for review and
possible modification. Otherwise, it is scrolled for review. The mailing
can be cancelled at any time (via Ctrl-G), and via a statusline prompt
after everything has been reviewed, if the user judges the body and/or
addresses to be unsafe or inappropriate. - FM
* Moved information and prompt strings in LYMail.c to installer-modifiable
symbols in LYMessages_en.h. - FM
01-07-97
* Eliminated forced exits for keyboard input buffer overruns on VMS.
There's no perfect way to deal with it, but Lynx should recover
gracefully most of the time now, and do nothing bad if ungraceful. - FM
* Added handling of Content-Base and Content-Location MIME headers when
'd'ownloading, 'p'rinting, or mailing HTML source. For this, as
for rendered HTML streams (see 01-06-97 mods) the base is determined
according to HTTP/1.1 rules: If a Content-Base header was received,
that's the base. Otherwise, if a Content-Location header was received
and it's an absolute URL, that's the base. Otherwise, the URL used
to retrieve the document is the base. When actually rendering, any
BASE tag in the document overrides the base derived from headers.
When 'd'ownloading, or outputting HTML source for a 'p'rint option,
an X-URL comment with the URL used to retrieve the document and a
BASE tag with the header or URL-derived base are inserted at the top
of the document. These should be moved down into the actual HEAD
section to make the HTML fully legal, but will work as is if the
output is used in conjunction with automatic invocation of Lynx or
Netscape as a text/html helper application. When mailing with an
SMTP-conformant mailer, the actual URL used to retrieve the document
is indicated via an X-URL header, and for HTML source, a Content-Base
and a Content-Location header are included, set to what was actually
received by Lynx via MIME headers, or to the retrieval URL. - FM
01-06-97
* More updates of the online 'h'elp. The Visited Links Page ('V'),
multi-bookmark file support, REL/REV and META enhancements, and new
switches are now all fully documented in the 'h'elp. - FM
* Added handling of Content-Base and Content-Location MIME headers for
rendered HTML streams (still using the document's URL in the 'd'ownload
and 'p'rint (and mailing) BASE prepending kludge). - FM
* Added code to avoid getting tripped up by double-quoted header values
in HTMIME.c. We still need more sophisticated parsing of possibly
compound HTTP/1.1 headers, but we don't yet use any of those. - FM
* Tweak of the efficiency mods for command line parsing in LYMain.c. - FM
* Simplified some code in LYMainLoop.c that was tripping up the AIX32
compiler. - FM
01-04-97
* More updates of the online 'h'elp. - FM
* Added DIRED_MENU support for .tgz files as for .tar.gz files. - FM
01-03-97
* Made the command line parsing in LYMain.c more efficient. - FM
* Added -nopause switch for setting InfoSecs, MessageSecs, and AlertSecs
to zero. Can be used to eliminate forced statusline pauses during
traversals. - FM
* Mods to allow absolute zero quality values for Accept headers, so that
in mailcap files users can do things like map image/* to a helper app
but exclude particular image subtypes which the app can't handle by
assigning q=0 for that subtype. HTTP/1.1 still specifies 4 significant
figures for quality values, so if the value is non-zero, Lynx still
forces a minimum of q=0.001. - FM
* Typo fixes in lynx.cfg. - LWV
01-02-97
* Updates of the online 'h'elp files. - FM
* Made the parsing of lynx.cfg in LYReadCFG.c more efficient. - FM
01-01-97 -- Happy New Year!
* More partial/relative HREF resolving enhancements. Everything is now
handled as recommended in Larry Masinter's -03 revision of Roy Fielding's
-02 URL ID, except file and ftp URLs (which Lynx handles as described
in the online 'h'elp ). Note, though, that Lynx handles known schemes
on a scheme-by-scheme basis, and for schemes that involve substitutions
of "/" for a NULL/zero-length path, Lynx inserts the "/" at the resolving
stage, so those slashes are present where the Fielding test suite doesn't
indicate them, but the actual requests sent to servers (or bad URL message
if it's a scheme that requires a host field and doesn't have a default)
will be the same. Note, also, that Lynx sends only the path<?searchpart>
("absolute path") in it's direct http requests and indicates the host of
the URL in the Host: header, i.e., sends the absolute URL only to proxies.
Note, as well, that Lynx treats a zero-length attribute value for an HREF,
SRC, etc. as a reference to the currently displayed document, but still
uses the base (which might not be the current document's address) as the
default for FORMs without an ACTION specified, or ISINDEX tags without
an HREF or ACTION specified. - FM
* Expanded REL/REV handling. All of the REL values in the (expired) Maloney
and Quin draft-ietf-relrev-00.txt ID which make sense for banner links in
Lynx have been added. For REL="Help" without an HREF in the LINK, Lynx
uses its helpfile URL. For REL="Home" without an HREF in the LINK, it
uses the configuration startfile or WWW_HOME URL (i.e., not a startfile
specified on the command line), or the command line homepage, if it was
specified. - FM
* Added handling of fragments in conjunction with URL expansion guessing for
startfile, homepage and 'g'oto strings. Note that any '#' that is not a
fragment delimiter should be hex escaped (%23), and ideally all reserved
or unsafe characters will be hex escaped in the user-entered string, though
you can get away with not using the hex codes for most others, depending on
their positions in the string. Also note that on VMS if you include the
version for local files it must precede the fragment (e.g., foo.html;3#frag)
as for parameters. - FM
12-26-96
* Mods of HREF resolving to be more consistent with the latest IETF draft
(http://www.ics.uci.edu/pub/ietf/uri/draft-fielding-url-syntax-02.txt).
Most importantly, lone fragments (HREF="#fragment") are resolved versus
the current document's URL, and no longer versus the BASE, if present.
There are a few things in the draft which are at odds with what virtually
all currently deployed browsers do, and so I stuck with the "deployed"
behavior. Try the tests in http://www.ics.uci.edu/~fielding/url/ to
see where Lynx still differs from the draft. - FM
* Tweaks of 'z'ap handling. - FM
12-24-96
* Tweaks of DIRED_SUPPORT and make for osf. - FM
12-23-96
* Added code to check if the startfile has BOOKMARK_TITLE as its title,
and if so, and it's in the bookmark file list, add the bookmark element
and reload to have it treated as if it were invoked with -book. - FM
12-21-96
* Added code for the DIRED_MENU command ('f' and 'F' by default) to invoke
CSwing on VMS if CSWING_PATH is defined, as explained in userdefs.h and
lynx.cfg . - FM
12-20-96
* More improvements in the fatal error and memory exhaustion handling, and
plugging of memory leaks. - FM
* Changed "newline" to "Newline" in LYMainLoop.c to deal with another
reported, ill-advised, macro in the AIX 4.2 curses.h. - FM
* More tweaks of lynx.cfg. - FM
12-19-96
* Improvements in the messaging and cleanups for aborts on fatal errors
and exits on memory exhaustion. - FM
* Worked v2.1 of lpansi.c into the distribution. - FM
* Modified lynx.cfg to reflect the compilation defaults consistently, and
changed the compilation default for SUBSTITUTE_UNDERSCORES to FALSE. - FM
* Changed the "lines" element to "Lines" in the HText structure and the
"tab" structure name to "Tab" to cope with some unwise employee reportedly
using all lower case "lines" and "tab" strings as macros in the AIX 4.2
curses.h. - FM
12-17-96
* Restored use of the -l format in the parent links of local Unix directory
listings if LONG_LIST is defined, without the v2.6 bug of creating strange,
trailing relative or escaped strings. As far as I can tell from exercizing
them, the DIRED_SUPPORT and LONG_LIST handling are now fully debugged
(famous last words... 8-). - FM
12-16-96
* Don't reiterate parent links in local directory listings. They are
offered only in the top, up to parent link if NO_PARENT_DIR_REFERENCE
is not defined. - FM
* Moved more HTML.c functions to LYCharUtils.c. - FM
* Tweak of META handling, which was causing crashes (due to freeing an
anchor structure prematurely in the 12-13-96 mods for moving HTML.c
code to LYCharUtils.c). - FM
* Block Unix relative path strings in lynxexec and lynxprog URLs. - DT
12-14-96
* Added a COLLAPSE_BR_TAGS compilation and configuration symbol for
determinining whether Lynx collapses serial BR tags. Note that the
valid way to create extra blank lines in HTML is with PRE blocks that
contain only newlines. - FM
* Fixed a longstanding glitch in the alignment handling which could
cause a Paragraph's ALIGN value to cross embebbed blocks, rather than
restoring the appropriate alignment for the outer division or block
on close of the embedded block. - FM
* Modified HR handling so that it inserts the same before and after
spacing regardless of whether P end and/or start tags are present
before and/or after the HR. - FM
* Don't insert the bookmark file description and filepath if multiple
bookmark file support has been turned off, and this is the default
bookmark file (but they will still be inserted if it's not the default,
e.g., if it's another bookmark file viewed before the support was
turned off, and retrieved as a previous document). - FM
12-13-96
* Added parsing of Content-Disposition in META tags and setting the
suggested file name if file; filename=name.suffix is in the value
of the Content attribute and we don't already have that via a server
header. - FM
* Incorporated almost all globals related to stream parsing and page
display in HTML.c and GridText.c into the HTML object structure and
HText structure to make the parsing and display functions more nearly
re-entrant, and moved several functions from HTML.c to LYCharUtils.c
to reduce the size of HTML.c. - FM
* Added -cckr to the libwww Makefile compiler options for SGI. - Carl
Buxbaum (crb@world.std.com)
* Fixed typo in LYMainLoop.c that affected the 'd'ownload command when
DIRED_SUPPORT is enabled. - FM
12-10-96
* Implemented Safe header handling and prompting about resubmissions of
forms with method POST along the lines described in the 24-Nov-96 IETF
ID: http://gewis.win.tue.nl/~koen/draft-holtman-http-safe-01.txt
Lynx prompts for confirmation whenever it detects that a resubmission
would occur, unless the previous reply included "Safe: yes". Prompts
always will occur if the -resubmit_post toggle is on (since resubmission
always would occur; not advised). If not toggled on, resubmissions
would occur when no_cache is set or the previous reply has been dumped
from the cache. When using the PREV_DOC command or History Page, if
confirmation is not obtained, Lynx will skip to the yet earlier document,
or cancel, as appropriate. - FM
* Added parsing of the Safe header in HTMIME.c, and added a safe element
to the anchor and document structures. Will be FALSE unless a Safe
header is received that specifies "YES" or "TRUE" (case-insensitive,
only "YES" is in the specs), and applies only to replies from form
submissions with the POST method. - FM
* Cleanup of code in HTAccess.c. May correct problem of crashes for
ISINDEX searches on some systems, though I couldn't reproduce that
problem here. - FM
12-09-96
* Added an HTSetPresentation() for image/x-xbitmap in HTInit.c when DISPLAY
is set. - FM
* Added an LYOutOfMemory boolean that is set by the outofmem() macro, and
code in the Unix FatalProblem() and VMS exit handler for reporting the
memory exhaustion instead of the misleading "bug" message when they are
invoked due to memory exhaustion. May not be reported reliably for
linux, because for some reason I don't understand, the SIGBUS trapping
is ifdef'ed out for linux in LYMain.c. - FM
* Fixed typo in the new LYAddVisitedLink() in LYHistory.c of yesterday's
mods. - KW
12-08-96
* Added a VLINKS command, mapped by default to upper case 'V', and code
for creating a list of all links 'V'isited during the current Lynx session
in order of recency (most recent highest in the list). Lower case 'v' is
still mapped to VIEW_BOOKMARKS. The VLINKS listing is complementary to
the History Page listing, and formatted similarly. It excludes POST
replies, and bookmark, menu and list files (use the History Page or
direct keystroke commands for those). It includes any links that were
downloaded, or passed to a helper app (except mailto and newsreply or
newsfollowup links, since those require activation in the original
document for proper inclusion of it in the email message or news
post). You can print the Visited Links Page, or 'd'ownload it via
the History Page. - FM
* Added reporting of the Charset parameter, if present in a server reply
header, META tag, or by virtue of a suffix map, to the showinfo ('=')
display. - FM
12-07-96
* Added 'p'rint menu support for the History Page. - FM
* Added a content_length element to the anchor structure and use that,
if a Content-Length header has been received, to indicate the total
bytes in the statusline when receiving the stream. - FM
* Include HTTP_ACCEPT_LANGUAGE in the lynxcgi environment. - David Trueman
(david@cs.dal.ca).
12-06-96
* Many more cleanups and commenting of the code for the benefit of new
developers. - FM
* Tweaks of URL parsing and path simplifications. Added simplification
of the file://localhost paths from startup and 'g'oto guesses. - FM
* More anti-crash protections for bad HTML in SELECT blocks. - FM
* Usability enhancement for DIRED's 'F' menu: list number and names of
(some of) the tagged items, and provide a way to untag all items. - KW
* Force screen refresh after a DIRED system command has failed. - KW
* Modified HTFile.c to handle relative and "Up to parent" links more
effectively. - KW
* Added KEYGEN to the DTD (but no code to do anything with it yet). - FM
12-05-96
* Fixed typo in the for-Unix section of LYAddPathToHome() that was added
yesterday in LYUtils.c. - James Troup (J.J.Troup@comp.brad.ac.uk)
12-04-96
* Numerous cleanups and commenting of the LYfoo.c and LYfoo.h modules,
for the benefit of new Lynx developers. - FM
* More security-related enhancements and polishing up of the multiple
bookmark file support. - FM
* Increased the sizes of MAXHIST and MAXLINKS, added statusline messages
should they ever be exceeded (not likely now 8-), and code for freeing
all excess pointers on each page draw instead of letting them grow and
freeing them on exit (should help for memory-limited systems 8-). - FM
* Tweaks of DIRED_SUPPORT. - KW
12-02-96
* Show nntp server status messages in group listings when not 221 (normal
reply to HEAD request), so the user will know that the articles are
not available from the server, rather than a bug in Lynx. - FM
* Tweaks of BASE resolving. - FM
* Added "trick" to send hostname guesses to stdout when the startfile or
homepage are not URLs, as we send to the statusline for 'g'oto guesses
(but don't use stdout if we are not interactive and the desired output
is going to stdout). If the DNS lookup stalls, one thus can Control-C
out, instead of wondering why Lynx is taking so long to start up. - FM
* Cleaned up the read_rc() and save_rc() functions in LYrcFile.c. - FM
* Eliminated all printw() calls to avoid problems with non-ASCII and/or
multibyte/CJK characters. - FM
* Numerous additional bug fixes and enhancements of the multiple bookmark
file support. - FM
* Got rid of the ADVANCED_MULTI_BOOKMARKS symbol now that the choice can
be made in the 'o'ptions menu and saved in the .lynxrc file. - FM
11-30-96
* Added the ability to set the advanced mode for multiple bookmarks from
the options menu and save the defaults in the .lynxrc file - HL
* Various typo corrections including one which kept LYMainLoop.c from
compiling under Unix when DIRED_SUPPORT was defined. - HL
11-29-96
* Numerous additional refinements and enhancements of the multiple bookmark
support. Added support for REFRESH and PREV_DOC in the options and bookmark
menus, and NEXT_PAGE, PREV_PAGE, and ACTIVATE in the bookmark menus or
prompts. Expanded the anchor and document structures to keep track of
different bookmark files in conjunction with VIEW_BOOKMARK, ADD_BOOKMARK,
and DEL_BOOKMARK commands, to restore the proper bookmark files on reloads
(overt, or because the cache was dumped for subsequent documents accessed
via bookmark links), and in conjunction with security-related restrictions.
Multiple bookmark support can be regulated via MULTI_BOOKMARK_SUPPORT,
BLOCK_MULTI_BOOKMARKS and ADVANCED_MULTI_BOOKMARKS symbols in userdefs.h
(or as SITE_DEFS in the Makefile) and lynx.cfg. The multiple bookmark
support can be blocked via a -restrictions=multibook command line switch,
which is also set for -anonymous and -validate. Prompting or display of
the bookmark file selection menu occurs only if bookmark files in addition
to the startup default have been defined (via the B)ookmark command in the
'o'ptions menu, if mu(L)ti bookmarks has been turned on; the setting and
definitions can be saved in the .lynxrc file). Plugged memory leaks in
the previous implementation of multiple bookmark support. Added code for
inserting the current description and filepath for each bookmark file
dynamically during rendering. - FM
* Another tweak of attribute order in HTMLDTD.c. - KW
11-28-96
* Tweaked multiple bookmark support to fix an error which was causing a
crash on some systems and incorrect behavior on others - HL
* Tweaked editing of multiple bookmark filenames to correct shifting of
screen between multiple pages - HL
11-26-96
* Added support for setting the rendering of SELECT OPTIONs as popup menus
versus radio button lists via the 'o'ptions menu, and saving the default
in the RC file. Changed NO_SELECT_POPUPS to USE_SELECT_POPUPS in lynx.cfg
and userdefs.h. The -popup switch still overrides everything. - FM
* Added multiple bookmark support along the lines of the patch from Filip M.
Gieszczykiewicz (filipg@paranoia.com), plus numerous enhancements of the
'o'ptions menu and bookmark handling. - FM
* Tweaks of attribute orders in HTMLDTD.h and HTMLDTD.c. - KW
11-25-96
* Updated the "Lynx Enhanced Pages" links to the new "Lynx links"
(http://www.crl.com/~subir/lynx.html) throughout the help, docs,
and code. - FM
11-24-96
* Modified the ENCTYPE="multipart/form-data" handling to indicate the
Content-Type with charset parameter, when known, within each part
rather than in the main Content-Type header. - FM
* Corrected typo in HTNews.c. - FM
* Added support for setting the suggested filename in 'd'ownload and
'p'rint options based on the Content-Disposition header if it included
the string file; filename=name.suffix in its value. Can be used by
CGI scripts to set the suggested filename for saves to disk, downloads
or mailings of the script's reply body, so it won't be the last symbolic
element in the path field of the form's ACTION (which is normally the
the script, itself, or a PATH_INFO element, and thus misleading). - FM
* Tweaks of change_sug_filename() in LYUtils.c for better handling of
gzipped files on VMS. - FM
11-23-96
* Added reporting of the Server, Date and Last-Modified headers, if present
in server replies, to the showinfo ('=') display. - FM
* Added the ability to store the NO_SELECT_POPUPS in the .lynxrc, but the
.lynxrc must be edited manually until the options handling is converted
to a form-like interface that accommodates more options. For now, select
'O'ptions and write out the options with '>' to create a block in .lynxrc
with an explanation of the switch. The switch is "select_popups" and
can have the values of "on", "off", or nothing. If nothing, the default
set in userdefs.h or lynx.cfg will persist. Otherwise, "on" will set use
of popups and "off" will set use of radio buttons as the default. The
startup default always can be toggled via the -popup switch. - HL & FM
* Corrected a couple of typos in the help files. - HL
11-22-96
* Added support for WHEREIS ('/') and 'n'ext searches within SELECT popups.
The buffering for 'n'ext is separate from that in the main loop (i.e.,
for non-form field document searches), but all previously entered search
strings are still combined into a circular buffer and can be accessed via
the up-arrow or down-arrow keys at the prompt for a search string. The
searches within popup menus do not yield highlighting of the search string,
but simply positioning of the cursor on successive options which contain
the search string. - FM
* Added support for all of the navigation commands within SELECT popup
windows, including HOME, END, UP_TWO, DOWN_TWO, UP_HALF and DOWN_HALF,
in addition to the single line and paging navigation commands. - FM
* Added support for the REFRESH command within SELECT popup windows. - FM
* Tweak of hookless snews handling. - FM
11-21-96
* Added handling of forms with ENCTYPE="multipart/form-data". Note that
we still don't support INPUTs with TYPE="file" or TYPE="range", and
thus still set the DISABLED attribute for all fields in the form if
either of those two TYPEs are present in it. - FM
* Tweak of -mime_header handling. - FM
* Typo fixes of comments in HTML.c. - Albert S Woodhull
(aswNS@hamp.hampshire.edu)
11-20-96
* Added a NO_SELECT_POPUPS compilation (userdefs.h) and configuration
(lynx.cfg) definition, normally set FALSE. If set TRUE, single-choice
SELECT blocks (i.e., ones without the MULTIPLE attribute) will be handled
as a list of radio buttons instead of via a popup window. Also added a
-popup command line switch for toggling the compilation or configuration
setting. - FM
11-18-96
* Tweak of LYFindEndOfComment() in LYCharUtils.c. - Brian Borowski
(brianb@braille.uwo.ca)
11-17-96
* Added links to the lynx-dev hypertext archive at FLORA in the online
'h'elp. - FM
* Tweaks of my_spawn() in LYLocal.c. - KW
11-16-96
* Added support for use of the 'd'ownload command on TYPE="submit" and
TYPE="image" submit buttons. You still must use the History Page for
TYPE="text" INPUT fields that also act as submit buttons by virtue of
being the only non-hidden field, because the 'd'ownload command key
could be a text entry into the field, and thus must be treated as
such. - FM
11-15-96
* Mods of HTFormat.c and HTTP.c for better handling of unexpected server
disconnects. - FM
11-13-96
* Wind down the element stack on EOF if any unclosed tags were received. - FM
* Fixed typos in the HTMLDTD.c BODYTEXT definitions. - FM
11-10-96
* More tweaks of hook-less snews handling. - FM
* Changed the default STARTFILE to http://lynx.browser.org/ and the default
HELPFILE to the v2.6 set at NYU in userdefs.h and lynx.cfg. - FM
* New function HTUnEscapeSome() in HTParse.c for unescaping selected
characters in a string.. - KW
* Numerous changes to make DIRED_SUPPORT work as intended, to use the
library's HTList functions and macros for managing the list of tagged
file URLs, and to keep track of proper levels of URL escaping so that
unusual filenames which contain #% etc. are handled properly. Can now
edit, move, etc. Abc%25252525def.html, #xy#~, etc. - KW
11-09-96
* Treat 301 or 302 redirection of a POST as 303 when the Lynx process is
non-interactive, rather than rejecting the redirection, since 303 is
still most likely what the CGI script actually intends (will still
prompt if the process is interactive). - FM
* Added parsing and trace mode reporting of Content-Disposition headers
in HTMIME.c (should be used, someday, to set the suggested file name
for disk saves and downloads based on any filename=foo.blah field). - FM
* Further mods of HTNews.c to facilitate use of Lynx without SSL-hooks
in conjunction with an SSL-capable daemon/proxy for snews URLs that
returns NNTP streams for Lynx itself to convert into HTML, instead
of already converted streams as from a standard proxy. - TZ & FM
11-08-96
* Changed information returned by "-version" in LYMain.c to point to
lynx.browser.org and added a date to the copyright info. - HL
11-07-96
* Mods of HTNews.c to facilitate use of Lynx without SSL-hooks in
conjunction with an SSL-capable daemon/proxy for snews URLs. - TZ
11-05-96
* Typo fixes in HTMIME.c. - KW
* Tweak of NSL_FORK mods. - FM
11-04-96
* Tweaks of host parsing when a password and/or username is present
in override_proxy() of HTAccess.c. - FM
* Tweaks of the UNDERSCORES and STARS macro setup and useage to avoid
possible crashes for FORMs with long values. - FM
* Worked in Tom Zerucha's (tz@execpc.com) code for fork-based name
server lookups that can be 'z'apped. May not yet be portable to
all flavors of Unix. Add -DNSL_FORK to your SITE_LYDEFS to try
it. - FM
11-02-96
* Fixed typo in HTAlert.h. - FM
* Cleaned up HTTCP.c code, simplified some of its spaghetti
ifdef'ing, and worked in mods to bypass connection confirmations
when Lynx is SOCKSified and the socks_flag is set. - FM
* Added recognition and acceptance of text/x-sgml and text/sgml
MIME types (all that I've encountered thus far work fine with
Lynx, though it doesn't yet interpret marked sections). - FM
* Added socket function prototypes for MultiNet in tcp.h. - FM
* Mods to facilitate application of the SSL patches (after some
corrections in the patches to keep HTLoadHTTP re-entrant, make
CONNECT work as intended again, and eliminate memory leaks in
the SSLeay adaption) - FM
* Adding info about -DNO_TTYTYPE in top level Makefile. - FM
* Use clrtoeol() in LYOptions.c to ensure that no terminals which use
reverse video for standout() will have trailing reverse fields on
edits of option vaules. - DK
* Offer user@host instead of WebMaster@host for the 'c'omment command
if the path for the URL begins with a tilde and there is no
LINK REV="made" present. - FM
* Tweaks of inews Makefile and clientlib.c. - Christopher R. Maden
(crm@ebt.com)
* Check nhist before attempting a DIRED_SUPPORT directory listing in
LYShowInfo.c. - KW
10-21-96
* Offer WebMaster@host for the 'c'omment command if no LINK REV="made"
was present in a text/html document, and save a known owner URL when
toggling to source ('\') so that the 'c'omment command can still be
used with that owner's (mailto or homepage) URL, but the source can
be included in the comment, as would be desireable (instead of a bad
rendering) when sending a comment about bad HTML in the document. - FM
10-20-96
* Added code for traversing the pseudo-documents created for client-side
image MAPs. See the updated CRAWL.announce for more information. - FM
10-19-96
* Added definitions in LYCurses.h relating curses function calls to slang
functions or emulations for compatibility with new versions of slang,
based on patch from John E. Davis (davis@space.mit.edu). - FM
* Added unescaping of the full address fields in mailto URLs or ACTIONs,
and improved the reliability of the parsing of the subject header from
the ?searchpart Netscapism when present. - FM
* Give user option to use 303-like coversion of POST to GET in confirmation
requests for redirection of POSTs, base on patches from Drazen Kacar
(dave@fly.cc.fer.hr). - FM
* Tweaks of POST content submissions in HTTP.c, based on patch from
KW. - FM
* Fixed EOF checks in HTAAFile.c, HTGroup.c and HTPasswd.c, and improved
host address parsing in HTTCP.c, based on patches from Larry Schwimmer
(schwim@cyclone.stanford.edu) and Klaus Weide (kweide@tezcat.com). - FM
* Added targets for umaxv and umaxv-slang for Encore's UMAXV - Thanh Ma
(tma@encore.com)
10-16-96
* Send the rendering of decompressed files to stdout with -dump, don't
spawn a viewer under any circumstances if -dump was used instead of
-source for Content-Types that are not text/html, and remove the
temporary decompressed files before exiting with -dump or -source. - FM
* Properly handle TYPE="radio" versus TYPE="checkbox" INPUTs with NULL
or zero-length VALUEs. - FM
* Added a continuation line token for the netbsd-ncurses target - HL
* Fixed a typo in HTMIME.c in the trace output - HL
* Block predictable buffer overrun in GridText.c if a page has more
than MAXLINKS links in it. - FM
10-01-96
* Add a Mime-Version header to the other headers in LYPrint.c so that the
09-20-96 mods for mailing source do what they were intended to do. :) -
Hamish MacEwan (macewanh@diatp.dia.govt.nz)
09-20-96
* Add a BASE tag to the tops of HTML source files, a la Netscape, when
mailing or downloading, and don't worry, for now, if that creates
technically invalid HTML (since Lynx copes with it as of the 09-15-96
mods 8-). - FM
* Include Content-Type, Content-Location and Content-Base headers when
mailing HTML source on Unix. - FM
* Use .txt versus .html suffixes when submitting rendered versus HTML source
temporary files to VMS MAIL, so that transports such as PMDF will indicate
the appropriate Content-Type. - FM
09-17-96
* Handle illegally positioned BASE tags. - FM
* Tweak of Q nesting level checks. - Pawel Wiecek
(coven@i17linuxb.ists.pwr.wroc.pl)
* Fixed typo in HTMIME.c for parsing of Pragma header. - Wilson Cheung
(wcheung@netcom.com)
* Added parsing of Set-Cookie header in HTMIME.c (see IETF ID
http://www.ics.uci.edu/pub/ietf/http/draft-ietf-http-state-mgmt-03.txt
for info on how to implement it's use). - FM
* Fixed typo in LYMainLoop.c for display of error message when up arrow is
pressed at the top of a document. - Hiram Lester, Jr. (hwlester@pobox.com)
09-16-96
* Use standard ls -l parsing of LIST output for Windows_NT ftp servers in
Lynx v2.6 as in v2.5. - FM
--- Rename of Lynx2-5FM and release as Lynx2-6 (02-Sep-1996) ---
(see CHANGES2-6, CHANGES2-5, CHANGES2-4 and CHANGES2-3)
==============================================================================
|