diff options
-rw-r--r-- | .Lynx.prcs_aux | 54 | ||||
-rw-r--r-- | CHANGES.new | 47 | ||||
-rw-r--r-- | LYMessages_en.h | 8 | ||||
-rw-r--r-- | Lynx.prj | 80 | ||||
-rw-r--r-- | Makefile.old | 10 | ||||
-rw-r--r-- | WWW/Library/Implementation/HTFile.c | 9 | ||||
-rw-r--r-- | WWW/Library/Implementation/HTFormat.c | 51 | ||||
-rw-r--r-- | WWW/Library/Implementation/HTMIME.c | 7 | ||||
-rw-r--r-- | WWW/Library/Implementation/HTStyle.h | 2 | ||||
-rw-r--r-- | WWW/Library/Implementation/HTTCP.c | 51 | ||||
-rw-r--r-- | WWW/Library/Implementation/HTTP.c | 16 | ||||
-rw-r--r-- | lynx.cfg | 14 | ||||
-rw-r--r-- | lynx.hlp | 5 | ||||
-rw-r--r-- | lynx.man | 8 | ||||
-rw-r--r-- | lynx_help/Lynx_users_guide.html | 6 | ||||
-rw-r--r-- | samples/lynx.cfg | 14 | ||||
-rw-r--r-- | src/GridText.c | 41 | ||||
-rw-r--r-- | src/HTFWriter.c | 8 | ||||
-rw-r--r-- | src/LYCookie.c | 64 | ||||
-rw-r--r-- | src/LYGetFile.c | 27 | ||||
-rw-r--r-- | src/LYGlobalDefs.h | 5 | ||||
-rw-r--r-- | src/LYMail.c | 73 | ||||
-rw-r--r-- | src/LYMain.c | 22 | ||||
-rw-r--r-- | src/LYMainLoop.c | 17 | ||||
-rw-r--r-- | src/LYReadCFG.c | 5 | ||||
-rw-r--r-- | src/LYShowInfo.c | 2 | ||||
-rw-r--r-- | userdefs.h | 12 |
27 files changed, 494 insertions, 164 deletions
diff --git a/.Lynx.prcs_aux b/.Lynx.prcs_aux index e941ac57..719a6ddd 100644 --- a/.Lynx.prcs_aux +++ b/.Lynx.prcs_aux @@ -5,11 +5,11 @@ (WWW/Library/Implementation/HTList.c 6153 856833014 h/4_HTList.c 1.1) (WWW/Library/Implementation/HTGroup.h 5641 856833014 f/49_HTGroup.h 1.1) (src/tcpwareolb.opt 24 856833014 d/8_tcpwareolb 1.1) -(src/LYGlobalDefs.h 11763 869904256 d/25_LYGlobalDe 1.1.3.1.2.1.1.1.1.1.1.6) +(src/LYGlobalDefs.h 11842 870708759 d/25_LYGlobalDe 1.1.3.1.2.1.1.1.1.1.1.2.1.4) (CHANGES2-3 18114 856833014 h/46_CHANGES2-3 1.1) (CHANGES2-4 48390 856833014 h/45_CHANGES2-4 1.1) (WWW/Library/freebsd/Makefile 600 856833014 f/10_Makefile 1.1) -(lynx_help/Lynx_users_guide.html 116333 869904256 e/14_Lynx_users 1.8.1.1.1.1.1.1.1.3) +(lynx_help/Lynx_users_guide.html 116641 870708759 e/14_Lynx_users 1.8.1.1.1.1.1.1.1.2.1.2) (CHANGES2-5 93256 856833014 h/44_CHANGES2-5 1.1) (src/LYMail.h 475 860064663 c/43_LYMail.h 1.2) (lynx_help/keystroke_commands/cookie_help.html 2652 856833014 e/15_cookie_hel 1.1) @@ -40,10 +40,10 @@ (src/chrtrans/cp1252_uni.tbl 10789 856856948 h/51_cp1252_uni 1.1) (utils/inews/config.h-dist 13461 856833014 b/51_config.h-d 1.1) (WWW/Library/Implementation/HTFTP.c 91171 868775901 h/14_HTFTP.c 1.6) -(src/GridText.c 187356 870159729 e/5_GridText.c 1.1.3.1.1.1.1.1.1.2.2.2.1.2.1.2.1.1.1.1.1.5) -(src/LYMain.c 86684 869929579 d/44_LYMain.c 1.1.2.1.1.1.1.1.1.2.2.1.1.1.1.1.1.1.1.1.1.8) +(src/GridText.c 188036 870708759 e/5_GridText.c 1.1.3.1.1.1.1.1.1.2.2.2.1.2.1.2.1.1.1.1.1.1.1.2) +(src/LYMain.c 87227 870708759 d/44_LYMain.c 1.1.2.1.1.1.1.1.1.2.2.1.1.1.1.1.1.1.1.1.1.1.1.4) (src/tcpwareshr.opt 30 856833014 d/6_tcpwareshr 1.1) -(src/LYGetFile.c 35170 870159729 d/48_LYGetFile. 1.5.2.3.2.1.1.1.1.1.1.2) +(src/LYGetFile.c 35566 870708759 d/48_LYGetFile. 1.5.2.3.2.1.1.1.1.1.1.1.1.2) (src/chrtrans/iso05_uni.tbl 1865 856925688 i/8_iso05_uni. 1.2) (src/chrtrans/mnem_suni.tbl 24067 856856948 h/50_mnem_suni. 1.1) (README.configure 6720 870050175 14_README.con 1.5) @@ -68,11 +68,11 @@ (lynx_help/keystroke_commands/gopher_types_help.html 1091 856833014 e/26_gopher_typ 1.1) (WWW/Library/Implementation/HTVMSUtils.h 2354 856833014 f/39_HTVMSUtils 1.1) (src/LYExtern.c 1988 868400879 39_LYExtern.c 1.5.1.1) -(LYMessages_en.h 32284 870159729 h/37_LYMessages 1.4.1.4.1.2.1.1.1.1.1.1.3.2) +(LYMessages_en.h 32688 870708759 h/37_LYMessages 1.4.1.4.1.2.1.1.1.1.1.1.3.1.1.2) (lynx_help/keystroke_commands/keystroke_help.html 5115 868266973 e/28_keystroke_ 1.3.1.2) (WWW/Library/umaxv-m88k/Makefile 678 856833014 e/48_Makefile 1.1) (WWW/Library/Implementation/HTBTree.c 26907 856833014 h/15_HTBTree.c 1.1) -(src/LYCookie.c 69003 869211854 c/18_LYCookie.c 1.2.1.7) +(src/LYCookie.c 70031 870708759 c/18_LYCookie.c 1.2.1.6.1.2) (src/LYExtern.h 174 868719652 38_LYExtern.h 1.1.1.1) (src/DefaultStyle.c 9513 862857695 c/51_DefaultSty 1.1.1.1) (VMSWAIS.announce 1549 856833014 h/29_VMSWAIS.an 1.1) @@ -128,7 +128,7 @@ (WWW/Library/Implementation/HTStream.h 1802 856833014 g/21_HTStream.h 1.1) (src/chrtrans/build-header.com 932 868567209 c/0_build-head 1.1) (src/chrtrans/iso04_uni.tbl 1858 856925688 i/15_iso04_uni. 1.2) -(WWW/Library/Implementation/HTFormat.c 22812 870159729 h/0_HTFormat.c 1.2) +(WWW/Library/Implementation/HTFormat.c 22944 870708759 h/0_HTFormat.c 1.1.1.2) (WWW/Library/Implementation/HTUU.c 7512 860064663 g/37_HTUU.c 1.2) (WWW/Library/vms/libmake.com 6288 856833014 f/21_libmake.co 1.1) (src/chrtrans/koi8r_uni.tbl 4570 860516880 24_koi8r_uni. 1.1) @@ -138,14 +138,14 @@ (src/LYList.h 262 861212923 c/26_LYList.h 1.2) (src/chrtrans/cp1250_uni.tbl 10813 856856948 h/48_cp1250_uni 1.1) (src/decc.opt 58 856833014 d/13_decc.opt 1.1) -(WWW/Library/Implementation/HTStyle.h 6741 856833014 g/18_HTStyle.h 1.1) -(CHANGES.new 109753 870308176 6_CHANGES.ne 1.18.1.4.1.1.2.1.1.2.2.2.1.2.1.1.1.1.1.4.2.7.1.3.1.4.1.7) +(WWW/Library/Implementation/HTStyle.h 6777 870708759 g/18_HTStyle.h 1.2) +(CHANGES.new 112369 870708759 6_CHANGES.ne 1.18.1.4.1.1.2.1.1.2.2.2.1.2.1.1.1.1.1.4.2.7.1.3.1.4.1.8) (WWW/Library/Implementation/HTMLGen.h 753 856833014 g/22_HTMLGen.h 1.1) (WWW/Library/Implementation/HTFormat.h 10965 870159729 g/13_HTFormat.h 1.2) (WWW/Library/Implementation/HTUU.h 964 856833014 f/43_HTUU.h 1.1) (WWW/Library/Implementation/HTWSRC.c 11119 862857695 h/20_HTWSRC.c 1.1.1.1) (src/chrtrans/UCkd.h 1425 868451907 b/20_UCkd.h 1.1) -(WWW/Library/Implementation/HTFile.c 56844 870159729 h/27_HTFile.c 1.1.3.6) +(WWW/Library/Implementation/HTFile.c 57073 870708759 h/27_HTFile.c 1.1.3.1.1.3) (src/chrtrans/mnemonic_suni.tbl 22265 868451907 b/28_mnemonic_s 1.1) (WWW/Library/vms/COPYING.LIB 25265 856833014 f/20_COPYING.LI 1.1) (src/chrtrans/MAKEW32.BAT 830 862109152 3_MAKEW32.BA 1.3) @@ -162,10 +162,10 @@ (src/chrtrans/iso10_uni.tbl 1565 856925688 i/10_iso10_uni. 1.2) (src/LYMap.h 240 861212923 c/20_LYMap.h 1.2) (samples/jumpsVMS.html 1417 856833014 e/7_jumpsVMS.h 1.1) -(src/LYReadCFG.c 33732 869808657 d/39_LYReadCFG. 1.1.1.1.3.2.3.1.1.6) +(src/LYReadCFG.c 33864 870708759 d/39_LYReadCFG. 1.1.1.1.3.2.3.1.1.2.1.4) (WWW/Library/vms/descrip.mms 9051 856833014 f/22_descrip.mm 1.1) (src/LYPrint.h 304 856833014 d/7_LYPrint.h 1.1) -(Makefile.old 46094 870050175 h/36_Makefile 1.1.1.1.1.1.1.2.3.4) +(Makefile.old 46150 870708759 h/36_Makefile 1.1.1.1.1.1.1.2.3.1.3.2) (WWW/Library/Implementation/HTAccess.c 36271 870159729 h/17_HTAccess.c 1.5.2.2) (WWW/Library/Implementation/HTTelnet.h 582 856833014 g/5_HTTelnet.h 1.1) (WWW/Library/Implementation/HTAnchor.c 33169 870050175 h/6_HTAnchor.c 1.1.4.4) @@ -182,7 +182,7 @@ (WWW/Library/Implementation/HTAnchor.h 13797 868224571 g/19_HTAnchor.h 1.1.2.6) (src/chrtrans/iso06_uni.tbl 1204 856856948 i/14_iso06_uni. 1.1) (src/LYrcFile.h 194 856833014 d/5_LYrcFile.h 1.1) -(src/LYUpload.c 8005 870083375 d/35_LYUpload.c 1.1.4.1.3.1.1.3) +(src/LYUpload.c 8005 870708759 d/35_LYUpload.c 1.1.4.1.3.1.1.1.1.3) (src/HTForms.h 3316 861212923 d/32_HTForms.h 1.2) (WWW/Library/Implementation/HTAtom.h 1210 856833014 g/20_HTAtom.h 1.1) (WWW/Library/Implementation/HTAAFile.h 4408 856833014 f/51_HTAAFile.h 1.1) @@ -192,7 +192,7 @@ (lynx_help/keystroke_commands/other_help.html 6511 868266973 e/22_other_help 1.4) (aclocal.m4 27576 870050175 12_aclocal.m4 1.12) (WWW/Library/Implementation/patchlevel.h 959 856833014 f/34_patchlevel 1.1) -(userdefs.h 55768 870083375 c/10_userdefs.h 1.1.2.1.1.1.1.1.1.1.2.1.1.1.1.5) +(userdefs.h 56140 870708759 c/10_userdefs.h 1.1.2.1.1.1.1.1.1.1.2.1.1.1.1.1.1.3) (TCPWARE.announce 1352 856833014 h/31_TCPWARE.an 1.1) (WWW/Library/Implementation/HTMLDTD.c 63227 869808657 h/26_HTMLDTD.c 1.1.2.7) (WWW/Library/Implementation/HTAssoc.c 1736 856833014 g/39_HTAssoc.c 1.1) @@ -201,7 +201,7 @@ (src/LYUpload.h 300 856833014 c/49_LYUpload.h 1.1) (lynx_help/keystroke_commands/edit_help.html 1409 856833014 e/17_edit_help. 1.1) (src/LYLeaks.c 14715 868401363 c/31_LYLeaks.c 1.1.1.2) -(src/LYMainLoop.c 145303 869929579 d/43_LYMainLoop 1.2.4.2.2.1.2.6.1.2.1.1.1.1.1.1.1.1.1.1.1.4) +(src/LYMainLoop.c 145689 870708759 d/43_LYMainLoop 1.2.4.2.2.1.2.6.1.2.1.1.1.1.1.1.1.1.1.1.1.5) (about_lynx/about_lynx-dev.html 2500 856833014 e/42_about_lynx 1.1) (VMSPrint.com 616 856833014 h/30_VMSPrint.c 1.1) (WWW/Library/netbsd/Makefile 613 856833014 f/0_Makefile 1.1) @@ -210,7 +210,7 @@ (WWW/Library/Implementation/HTAssoc.h 1096 856833014 f/45_HTAssoc.h 1.1) (src/Makefile 2373 869808657 d/29_Makefile 1.2.2.5) (WWW/Library/Implementation/HTAAUtil.c 15696 856833014 g/47_HTAAUtil.c 1.1) -(lynx.man 14352 869904256 e/30_lynx.man 1.5.2.7) +(lynx.man 14570 870708759 e/30_lynx.man 1.5.2.6.1.2) (WWW/Library/osf/Makefile 388 856833014 f/7_Makefile 1.1) (src/LYMainLoop.h 101 860064663 d/19_LYMainLoop 1.2) (build-slang.com 9442 868451907 e/39_build-slan 1.2) @@ -223,7 +223,7 @@ (WWW/Library/Implementation/Makefile 15116 856833014 f/40_Makefile 1.1) (WWW/Library/Implementation/HTDOS.c 1855 860588360 28_HTDOS.C 1.1) (utils/inews/README.NN 3051 856833014 c/6_README.NN 1.1) -(src/LYShowInfo.c 10843 868567209 d/37_LYShowInfo 1.1.2.1.2.7) +(src/LYShowInfo.c 10809 870708759 d/37_LYShowInfo 1.1.2.1.2.8) (src/chrtrans/iso01_uni.tbl 5204 860516309 i/18_iso01_uni. 1.2) (WWW/Library/Implementation/HTAAUtil.h 12046 856833014 g/2_HTAAUtil.h 1.1) (src/LYEdit.c 4287 868567209 d/50_LYEdit.c 1.1.2.1.1.2) @@ -246,12 +246,12 @@ (src/LYStyle.c 9090 864519259 36_LYStyle.c 1.6) (newfiles.chartrans 1286 860620937 b/0_newfiles.chartrans 1.4) (WWW/Library/Implementation/HTParse.c 20852 860064663 h/18_HTParse.c 1.3) -(src/HTFWriter.c 32218 869443761 d/2_HTFWriter. 1.1.3.1.3.1.1.1.1.1.3.3) +(src/HTFWriter.c 32346 870708759 d/2_HTFWriter. 1.1.3.1.3.1.1.1.1.1.3.1.1.2) (WWW/Library/Implementation/HTWAIS.h 1554 856833014 g/4_HTWAIS.h 1.1) (WWW/Library/unix_x/Makefile 15482 856833014 f/1_Makefile 1.1) (WWW/Library/Implementation/SGML.h 8815 868567209 g/29_SGML.h 1.1.2.2) (WWW/Library/Implementation/HTRules.h 4105 856833014 g/14_HTRules.h 1.1) -(lynx.cfg 76710 869929579 e/32_lynx.cfg 1.2.1.2.1.1.2.1.1.7) +(lynx.cfg 77266 870708759 e/32_lynx.cfg 1.2.1.2.1.1.2.1.1.2.1.4) (src/HTInit.c 30678 864519259 e/3_HTInit.c 1.2.1.2) (WWW/Library/snake/Makefile 649 856833014 f/13_Makefile 1.1) (src/LYStyle.h 676 864519259 b/5_LYStyle.h 1.2) @@ -265,20 +265,20 @@ (lynx_help/keystroke_commands/print_help.html 1235 856833014 e/21_print_help 1.1) (src/LYStructs.h 3277 868401363 d/26_LYStructs. 1.1.3.4) (utils/lpansi/lpansi.1 3039 856833014 b/47_lpansi.1 1.1) -(WWW/Library/Implementation/HTMIME.c 63637 869211854 g/50_HTMIME.c 1.1.2.2.1.1.1.2) +(WWW/Library/Implementation/HTMIME.c 63691 870708759 g/50_HTMIME.c 1.1.2.2.1.1.1.3) (WWW/Library/Implementation/HTVMS_WaisProt.c 70622 856833014 f/32_HTVMS_Wais 1.1) (src/cmu_tcp.opt 34 856833014 d/14_cmu_tcp.op 1.1) (WWW/Library/ptx/Makefile 626 856833014 e/51_Makefile 1.1) (src/chrtrans/makefile.in 2411 869808657 18_makefile.i 1.4) (WWW/Library/Implementation/HTAuth.c 5776 856833014 h/28_HTAuth.c 1.1) -(lynx.hlp 14762 869904256 e/31_lynx.hlp 1.11) +(lynx.hlp 14941 870708759 e/31_lynx.hlp 1.10.1.2) (src/HTSaveToFile.h 554 856833014 c/50_HTSaveToFi 1.1) (src/LYCurses.c 39023 869904256 d/51_LYCurses.c 1.1.5.1.1.8.1.4.1.3) (WWW/Library/Implementation/HTInit.h 613 856833014 g/12_HTInit.h 1.1) (WWW/Library/Implementation/HTAAServ.h 4950 856833014 g/1_HTAAServ.h 1.1) (WWW/Library/mips/Makefile 663 856833014 f/3_Makefile 1.1) (test/iso8859-1.html 12169 856833014 c/12_iso8859-1. 1.1) -(WWW/Library/Implementation/HTTP.c 50335 869211854 h/16_HTTP.c 1.1.1.1.1.1.1.1.1.3) +(WWW/Library/Implementation/HTTP.c 50832 870708759 h/16_HTTP.c 1.1.1.1.1.1.1.1.1.2.1.2) (WWW/Library/Implementation/UCMap.h 932 868567209 i/22_UCMap.h 1.3) (about_lynx/COPYING 17982 856833014 e/41_COPYING 1.1) (styles/lynx.lss 1490 862005876 37_lynx.lss 1.1) @@ -289,7 +289,7 @@ (WWW/Library/Implementation/HTVMS_WaisProt.h 13173 856833014 f/28_HTVMS_Wais 1.1) (WWW/Library/Implementation/HTAuth.h 1791 856833014 f/47_HTAuth.h 1.1) (src/chrtrans/utf8_uni.tbl 936 856856948 i/7_utf8_uni.t 1.1) -(WWW/Library/Implementation/HTTCP.c 28466 868567209 h/13_HTTCP.c 1.2.3.1.1.2) +(WWW/Library/Implementation/HTTCP.c 29596 870708759 h/13_HTTCP.c 1.2.3.1.1.3) (src/LYCurses.h 10550 870308176 d/22_LYCurses.h 1.1.4.1.1.1.1.6) (descrip.mms 3765 868451907 e/37_descrip.mm 1.2) (WWW/Library/Implementation/HTTP.h 672 869443761 g/34_HTTP.h 1.2) @@ -337,7 +337,7 @@ (utils/inews/nntp.h 2530 856833014 c/1_nntp.h 1.1) (src/LYLocal.h 2561 856833014 c/37_LYLocal.h 1.1) (src/chrtrans/iso07_uni.tbl 1791 856925688 i/13_iso07_uni. 1.2) -(src/LYOptions.c 74522 870308176 d/41_LYOptions. 1.1.2.1.1.1.1.1.1.5) +(src/LYOptions.c 74522 870708759 d/41_LYOptions. 1.1.2.1.1.1.1.1.1.3.1.2) (WWW/Library/Implementation/HTNews.c 62341 869211854 h/25_HTNews.c 1.1.2.2) (WWW/Library/Implementation/HTVMS_WaisUI.h 21281 856833014 f/26_HTVMS_Wais 1.1) (src/LYNews.c 11804 869619703 d/42_LYNews.c 1.7) @@ -385,8 +385,8 @@ (WWW/Library/Implementation/tcp.h 16630 870050175 h/19_tcp.h 1.8) (WWW/Library/Implementation/HTFWriter.h 998 856833014 g/23_HTFWriter. 1.1) (src/LYexit.c 3615 869552380 d/4_LYexit.c 1.6) -(src/LYMail.c 30581 869619703 d/45_LYMail.c 1.1.1.1.1.1.3.6) +(src/LYMail.c 30772 870708759 d/45_LYMail.c 1.1.1.1.1.1.3.1.1.1.2.2) (WWW/Library/solaris2/Makefile 655 856833014 f/6_Makefile 1.1) (WWW/Library/Implementation/HTGopher.h 562 856833014 g/8_HTGopher.h 1.1) -(samples/lynx.cfg 76565 869904256 e/12_lynx.cfg 1.2.1.2.1.1.2.1.1.1.1.3) +(samples/lynx.cfg 77121 870708759 e/12_lynx.cfg 1.2.1.2.1.1.2.1.1.1.1.1.1.4) (WWW/Library/duns/Makefile 15116 856833014 f/17_Makefile 1.1) diff --git a/CHANGES.new b/CHANGES.new index ffe88c06..f4cb5c6d 100644 --- a/CHANGES.new +++ b/CHANGES.new @@ -10,12 +10,59 @@ README.configure), and miscellaneous other changes. Note that the 2.7 -> 2.7.1 changes (which are listed at the beginning of the current CHANGES file) are duplicated here. - 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 +* Changed the typedef for HTCoord in HTStyle.h from float to int, for + significant speedup of rendering on machines without floating-point + hardware. - KW +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 diff --git a/LYMessages_en.h b/LYMessages_en.h index 7a7708af..02ffa8d4 100644 --- a/LYMessages_en.h +++ b/LYMessages_en.h @@ -97,6 +97,9 @@ #define LINK_NOT_FOUND "The resource requested is not available at this time." #define WWW_WAIT_MESSAGE "Getting %s" #define WWW_SKIP_MESSAGE "Skipping %s" +#define WWW_USING_MESSAGE "Using %s" +#define WWW_ILLEGAL_URL_MESSAGE "Illegal URL: %s" +#define WWW_BAD_ADDR_MESSAGE "Badly formed address %s" #define ADVANCED_URL_MESSAGE "URL: %s" #define WWW_FAIL_MESSAGE "Unable to access WWW file!!!" #define WWW_INDEX_MESSAGE "This is a searchable index. Use %s to search." @@ -504,6 +507,10 @@ "Redirection of POST content. P)roceed, see U)RL, use G)ET or C)ancel" #define CONFIRM_POST_RESUBMISSION \ "Document from Form with POST content. Resubmit?" +#define CONFIRM_POST_DOC_HEAD \ + "Document from POST action, HEAD may not be understood. Proceed?" +#define CONFIRM_POST_LINK_HEAD \ + "Form submit action is POST, HEAD may not be understood. Proceed?" #define WILL_NOT_RELOAD_DOC "Document will not be reloaded!" #define LOCATION_HEADER "Location: " #define STRING_NOT_FOUND "'%s' not found!" @@ -591,6 +598,7 @@ #define PROMTING_TO_ALLOW_COOKIES "'P'rompting to allow from domain '%s'." #define DELETE_ALL_COOKIES_IN_DOMAIN "Delete all cookies in this domain?" #define ALL_COOKIES_EATEN "All of the cookies in the jar have been eaten!" +#define PORT_INVALID "URL contains an invalid port number." #define PORT_NINETEEN_INVALID "Port 19 not permitted in URLs." #define PORT_TWENTYFIVE_INVALID "Port 25 not permitted in URLs." #define HTML_STACK_OVERRUN "Maximum nesting of HTML elements exceeded." diff --git a/Lynx.prj b/Lynx.prj index f0c5e5a7..9a684b6b 100644 --- a/Lynx.prj +++ b/Lynx.prj @@ -1,12 +1,12 @@ ;; -*- Lisp -*- (Created-By-Prcs-Version 1 2 0) (Project-Description "PRCS Project for The Lynx browser") -(Project-Version Lynx 2.7.1ac-0 45) -(Parent-Version Lynx 2.7.1ac-0 44) +(Project-Version Lynx 2.7.1ac-0 46) +(Parent-Version Lynx 2.7.1ac-0 45) -(Version-Log "two small fixes") +(Version-Log "update fotemods 1997-08-01, various fixes") (New-Version-Log "") -(Checkin-Time "Wed, 30 Jul 1997 18:16:16 -0600") +(Checkin-Time "Mon, 04 Aug 1997 09:32:39 -0600") (Checkin-Login kweide) (Populate-Ignore ("\\.o$" "\\.a$" "~$" "^a.out$" "^core$" "\\.dvi$" "\\.aux$" "^\\..*_aux$" "\\.log" @@ -39,7 +39,7 @@ (utils/inews/README (Lynx/c/7_README 1.1 644)) (utils/inews/Manifest (Lynx/c/8_Manifest 1.1 644)) (utils/inews/Makefile (Lynx/c/9_Makefile 1.1.1.1 644) :no-keywords) - (userdefs.h (Lynx/c/10_userdefs.h 1.1.2.1.1.1.1.1.1.1.2.1.1.1.1.5 644)) + (userdefs.h (Lynx/c/10_userdefs.h 1.1.2.1.1.1.1.1.1.1.2.1.1.1.1.1.1.3 644)) (test/tabtest.html (Lynx/c/11_tabtest.ht 1.1 644)) (test/iso8859-1.html (Lynx/c/12_iso8859-1. 1.1 644)) (test/TestComment.html (Lynx/c/13_TestCommen 1.1 644)) @@ -47,7 +47,7 @@ (test/README.txt (Lynx/c/15_README.txt 1.1 644)) (src/LYVMSdef.h (Lynx/c/16_LYVMSdef.h 1.1 644)) (src/LYCookie.h (Lynx/c/17_LYCookie.h 1.2 644)) - (src/LYCookie.c (Lynx/c/18_LYCookie.c 1.2.1.7 644)) + (src/LYCookie.c (Lynx/c/18_LYCookie.c 1.2.1.6.1.2 644)) (src/LYCharUtils.h (Lynx/c/19_LYCharUtil 1.1.2.3 644)) (src/LYMap.h (Lynx/c/20_LYMap.h 1.2 644)) (src/LYMap.c (Lynx/c/21_LYMap.c 1.1.2.1.1.2.1.2.1.2 644)) @@ -83,7 +83,7 @@ (src/DefaultStyle.c (Lynx/c/51_DefaultSty 1.1.1.1 644)) (src/HTFont.h (Lynx/d/0_HTFont.h 1.1 644)) (src/HTAlert.h (Lynx/d/1_HTAlert.h 1.3 644)) - (src/HTFWriter.c (Lynx/d/2_HTFWriter. 1.1.3.1.3.1.1.1.1.1.3.3 644)) + (src/HTFWriter.c (Lynx/d/2_HTFWriter. 1.1.3.1.3.1.1.1.1.1.3.1.1.2 644)) (src/LYList.c (Lynx/d/3_LYList.c 1.1.3.2.1.1.1.2 644)) (src/LYexit.c (Lynx/d/4_LYexit.c 1.6 644)) (src/LYrcFile.h (Lynx/d/5_LYrcFile.h 1.1 644)) @@ -106,7 +106,7 @@ (src/LYCurses.h (Lynx/d/22_LYCurses.h 1.1.4.1.1.1.1.6 644)) (src/LYSignal.h (Lynx/d/23_LYSignal.h 1.1 644)) (src/LYClean.h (Lynx/d/24_LYClean.h 1.1.2.1 644)) - (src/LYGlobalDefs.h (Lynx/d/25_LYGlobalDe 1.1.3.1.2.1.1.1.1.1.1.6 644)) + (src/LYGlobalDefs.h (Lynx/d/25_LYGlobalDe 1.1.3.1.2.1.1.1.1.1.1.2.1.4 644)) (src/LYStructs.h (Lynx/d/26_LYStructs. 1.1.3.4 644)) (src/LYSearch.h (Lynx/d/28_LYSearch.h 1.2 644)) @@ -116,20 +116,20 @@ (src/HTForms.h (Lynx/d/32_HTForms.h 1.2 644)) (src/GridText.h (Lynx/d/33_GridText.h 1.1.1.1.1.3.1.1.1.1.1.2 644)) (src/LYUtils.h (Lynx/d/34_LYUtils.h 1.1.2.3 644)) - (src/LYUpload.c (Lynx/d/35_LYUpload.c 1.1.4.1.3.1.1.3 644)) + (src/LYUpload.c (Lynx/d/35_LYUpload.c 1.1.4.1.3.1.1.1.1.3 644)) (src/LYStrings.c (Lynx/d/36_LYStrings. 1.1.3.3.2.7 644)) - (src/LYShowInfo.c (Lynx/d/37_LYShowInfo 1.1.2.1.2.7 644)) + (src/LYShowInfo.c (Lynx/d/37_LYShowInfo 1.1.2.1.2.8 644)) (src/LYSearch.c (Lynx/d/38_LYSearch.c 1.2.2.5 644)) - (src/LYReadCFG.c (Lynx/d/39_LYReadCFG. 1.1.1.1.3.2.3.1.1.6 644)) + (src/LYReadCFG.c (Lynx/d/39_LYReadCFG. 1.1.1.1.3.2.3.1.1.2.1.4 644)) (src/LYPrint.c (Lynx/d/40_LYPrint.c 1.1.1.1.1.1.1.1.1.1.1.3 644)) - (src/LYOptions.c (Lynx/d/41_LYOptions. 1.1.2.1.1.1.1.1.1.5 644)) + (src/LYOptions.c (Lynx/d/41_LYOptions. 1.1.2.1.1.1.1.1.1.3.1.2 644)) (src/LYNews.c (Lynx/d/42_LYNews.c 1.7 644)) - (src/LYMainLoop.c (Lynx/d/43_LYMainLoop 1.2.4.2.2.1.2.6.1.2.1.1.1.1.1.1.1.1.1.1.1.4 644)) - (src/LYMain.c (Lynx/d/44_LYMain.c 1.1.2.1.1.1.1.1.1.2.2.1.1.1.1.1.1.1.1.1.1.8 644)) - (src/LYMail.c (Lynx/d/45_LYMail.c 1.1.1.1.1.1.3.6 644)) + (src/LYMainLoop.c (Lynx/d/43_LYMainLoop 1.2.4.2.2.1.2.6.1.2.1.1.1.1.1.1.1.1.1.1.1.5 644)) + (src/LYMain.c (Lynx/d/44_LYMain.c 1.1.2.1.1.1.1.1.1.2.2.1.1.1.1.1.1.1.1.1.1.1.1.4 644)) + (src/LYMail.c (Lynx/d/45_LYMail.c 1.1.1.1.1.1.3.1.1.1.2.2 644)) (src/LYLocal.c (Lynx/d/46_LYLocal.c 1.2.3.1.3.3 644)) (src/LYJump.c (Lynx/d/47_LYJump.c 1.3 644)) - (src/LYGetFile.c (Lynx/d/48_LYGetFile. 1.5.2.3.2.1.1.1.1.1.1.2 644)) + (src/LYGetFile.c (Lynx/d/48_LYGetFile. 1.5.2.3.2.1.1.1.1.1.1.1.1.2 644)) (src/LYForms.c (Lynx/d/49_LYForms.c 1.1.4.1.2.1.1.1.1.4 644)) (src/LYEdit.c (Lynx/d/50_LYEdit.c 1.1.2.1.1.2 644)) @@ -138,16 +138,16 @@ (src/HTML.c (Lynx/e/2_HTML.c 1.1.4.1.1.1.1.2.1.4.1.2.1.3.1.2.1.2.2.3 644)) (src/HTInit.c (Lynx/e/3_HTInit.c 1.2.1.2 644)) (src/HTAlert.c (Lynx/e/4_HTAlert.c 1.1.2.3 644)) - (src/GridText.c (Lynx/e/5_GridText.c 1.1.3.1.1.1.1.1.1.2.2.2.1.2.1.2.1.1.1.1.1.5 644)) + (src/GridText.c (Lynx/e/5_GridText.c 1.1.3.1.1.1.1.1.1.2.2.2.1.2.1.2.1.1.1.1.1.1.1.2 644)) (src/descrip.mms (Lynx/e/6_descrip.mm 1.2 644)) (samples/jumpsVMS.html (Lynx/e/7_jumpsVMS.h 1.1 644)) (samples/jumpsUnix.html (Lynx/e/8_jumpsUnix. 1.1 644)) (samples/mime.types (Lynx/e/9_mime.types 1.1 644)) (samples/lynx.com (Lynx/e/10_lynx.com 1.1 644)) (samples/mailcap (Lynx/e/11_mailcap 1.1 644)) - (samples/lynx.cfg (Lynx/e/12_lynx.cfg 1.2.1.2.1.1.2.1.1.1.1.3 644)) + (samples/lynx.cfg (Lynx/e/12_lynx.cfg 1.2.1.2.1.1.2.1.1.1.1.1.1.4 644)) (lynx_help/lynx_url_support.html (Lynx/e/13_lynx_url_s 1.2 644)) - (lynx_help/Lynx_users_guide.html (Lynx/e/14_Lynx_users 1.8.1.1.1.1.1.1.1.3 644)) + (lynx_help/Lynx_users_guide.html (Lynx/e/14_Lynx_users 1.8.1.1.1.1.1.1.1.2.1.2 644)) (lynx_help/keystroke_commands/cookie_help.html (Lynx/e/15_cookie_hel 1.1 644)) (lynx_help/keystroke_commands/visited_help.html (Lynx/e/16_visited_he 1.1 644)) (lynx_help/keystroke_commands/edit_help.html (Lynx/e/17_edit_help. 1.1 644)) @@ -163,9 +163,9 @@ (lynx_help/keystroke_commands/bookmark_help.html (Lynx/e/27_bookmark_h 1.1 644)) (lynx_help/keystroke_commands/keystroke_help.html (Lynx/e/28_keystroke_ 1.3.1.2 644)) (lynx_help/lynx_help_main.html (Lynx/e/29_lynx_help_ 1.3 644)) - (lynx.man (Lynx/e/30_lynx.man 1.5.2.7 644)) - (lynx.hlp (Lynx/e/31_lynx.hlp 1.11 644)) - (lynx.cfg (Lynx/e/32_lynx.cfg 1.2.1.2.1.1.2.1.1.7 644)) + (lynx.man (Lynx/e/30_lynx.man 1.5.2.6.1.2 644)) + (lynx.hlp (Lynx/e/31_lynx.hlp 1.10.1.2 644)) + (lynx.cfg (Lynx/e/32_lynx.cfg 1.2.1.2.1.1.2.1.1.2.1.4 644)) (fixed512.com (Lynx/e/33_fixed512.c 1.1 644)) (docs/RFC-MAILCAP.txt (Lynx/e/34_RFC-MAILCA 1.1 644)) (docs/README.txt (Lynx/e/35_README.txt 1.1 644)) @@ -255,7 +255,7 @@ (WWW/Library/Implementation/HTAlert.h (Lynx/g/15_HTAlert.h 1.2 644)) (WWW/Library/Implementation/HTString.h (Lynx/g/16_HTString.h 1.1 644)) (WWW/Library/Implementation/HTList.h (Lynx/g/17_HTList.h 1.1 644)) - (WWW/Library/Implementation/HTStyle.h (Lynx/g/18_HTStyle.h 1.1 644)) + (WWW/Library/Implementation/HTStyle.h (Lynx/g/18_HTStyle.h 1.2 644)) (WWW/Library/Implementation/HTAnchor.h (Lynx/g/19_HTAnchor.h 1.1.2.6 644)) (WWW/Library/Implementation/HTAtom.h (Lynx/g/20_HTAtom.h 1.1 644)) (WWW/Library/Implementation/HTStream.h (Lynx/g/21_HTStream.h 1.1 644)) @@ -287,9 +287,9 @@ (WWW/Library/Implementation/HTAAUtil.c (Lynx/g/47_HTAAUtil.c 1.1 644)) (WWW/Library/Implementation/HTGopher.c (Lynx/g/48_HTGopher.c 1.3 644)) (WWW/Library/Implementation/HTHistory.c (Lynx/g/49_HTHistory. 1.1 644)) - (WWW/Library/Implementation/HTMIME.c (Lynx/g/50_HTMIME.c 1.1.2.2.1.1.1.2 644)) + (WWW/Library/Implementation/HTMIME.c (Lynx/g/50_HTMIME.c 1.1.2.2.1.1.1.3 644)) (WWW/Library/Implementation/HTInit.c (Lynx/g/51_HTInit.c 1.1 644)) - (WWW/Library/Implementation/HTFormat.c (Lynx/h/0_HTFormat.c 1.2 644)) + (WWW/Library/Implementation/HTFormat.c (Lynx/h/0_HTFormat.c 1.1.1.2 644)) (WWW/Library/Implementation/HTRules.c (Lynx/h/1_HTRules.c 1.1 644)) (WWW/Library/Implementation/HTAlert.c (Lynx/h/2_HTAlert.c 1.2 644)) (WWW/Library/Implementation/HTString.c (Lynx/h/3_HTString.c 1.1 644)) @@ -302,10 +302,10 @@ (WWW/Library/Implementation/HTFWriter.c (Lynx/h/10_HTFWriter. 1.1 644)) (WWW/Library/Implementation/HTPlain.c (Lynx/h/11_HTPlain.c 1.1.2.2 644)) (WWW/Library/Implementation/SGML.c (Lynx/h/12_SGML.c 1.1.1.1.1.1.2.4.1.4 644)) - (WWW/Library/Implementation/HTTCP.c (Lynx/h/13_HTTCP.c 1.2.3.1.1.2 644)) + (WWW/Library/Implementation/HTTCP.c (Lynx/h/13_HTTCP.c 1.2.3.1.1.3 644)) (WWW/Library/Implementation/HTFTP.c (Lynx/h/14_HTFTP.c 1.6 644)) (WWW/Library/Implementation/HTBTree.c (Lynx/h/15_HTBTree.c 1.1 644)) - (WWW/Library/Implementation/HTTP.c (Lynx/h/16_HTTP.c 1.1.1.1.1.1.1.1.1.3 644)) + (WWW/Library/Implementation/HTTP.c (Lynx/h/16_HTTP.c 1.1.1.1.1.1.1.1.1.2.1.2 644)) (WWW/Library/Implementation/HTAccess.c (Lynx/h/17_HTAccess.c 1.5.2.2 644)) (WWW/Library/Implementation/HTParse.c (Lynx/h/18_HTParse.c 1.3 644)) (WWW/Library/Implementation/tcp.h (Lynx/h/19_tcp.h 1.8 644)) @@ -316,7 +316,7 @@ (WWW/Library/Implementation/HTTelnet.c (Lynx/h/24_HTTelnet.c 1.4 644)) (WWW/Library/Implementation/HTNews.c (Lynx/h/25_HTNews.c 1.1.2.2 644)) (WWW/Library/Implementation/HTMLDTD.c (Lynx/h/26_HTMLDTD.c 1.1.2.7 644)) - (WWW/Library/Implementation/HTFile.c (Lynx/h/27_HTFile.c 1.1.3.6 644)) + (WWW/Library/Implementation/HTFile.c (Lynx/h/27_HTFile.c 1.1.3.1.1.3 644)) (WWW/Library/Implementation/HTAuth.c (Lynx/h/28_HTAuth.c 1.1 644)) (VMSWAIS.announce (Lynx/h/29_VMSWAIS.an 1.1 644)) (VMSPrint.com (Lynx/h/30_VMSPrint.c 1.1 644)) @@ -325,8 +325,8 @@ (RELEASE_STATEMENT (Lynx/h/33_RELEASE_ST 1.2 644)) (README (Lynx/h/34_README 1.1 644)) (PROBLEMS (Lynx/h/35_PROBLEMS 1.3 644)) - (Makefile.old (Lynx/h/36_Makefile 1.1.1.1.1.1.1.2.3.4 644)) - (LYMessages_en.h (Lynx/h/37_LYMessages 1.4.1.4.1.2.1.1.1.1.1.1.3.2 644)) + (Makefile.old (Lynx/h/36_Makefile 1.1.1.1.1.1.1.2.3.1.3.2 644)) + (LYMessages_en.h (Lynx/h/37_LYMessages 1.4.1.4.1.2.1.1.1.1.1.1.3.1.1.2 644)) (INSTALLATION (Lynx/h/38_INSTALLATI 1.1 644)) (IBMPC-charsets.announce (Lynx/h/39_IBMPC-char 1.1 644)) (FM.announce (Lynx/h/40_FM.announc 1.1 644)) @@ -390,7 +390,7 @@ ;; Files added by populate at Mon, 03 Mar 1997 06:05:56 -0600: - (CHANGES.new (Lynx/6_CHANGES.ne 1.18.1.4.1.1.2.1.1.2.2.2.1.2.1.1.1.1.1.4.2.7.1.3.1.4.1.7 644)) + (CHANGES.new (Lynx/6_CHANGES.ne 1.18.1.4.1.1.2.1.1.2.2.2.1.2.1.1.1.1.1.4.2.7.1.3.1.4.1.8 644)) ;; Files added by populate at Tue, 11 Mar 1997 04:22:39 -0600: @@ -448,5 +448,21 @@ (src/chrtrans/build-header.com (Lynx/c/0_build-head 1.1 644)) (src/chrtrans/cp1251_uni.tbl (Lynx/b/0_cp1251_uni 1.1 644))) -(Merge-Parents) +(Merge-Parents + (2.7.1fm-0.37 incomplete + (Makefile.old Makefile Makefile m) + ) + (2.7.1fm-0.37 complete + (userdefs.h userdefs.h userdefs.h m) (src/LYCookie.c src/LYCookie.c src/LYCookie.c m) + (src/HTFWriter.c src/HTFWriter.c src/HTFWriter.c m) (src/LYGlobalDefs.h src/LYGlobalDefs.h src/LYGlobalDefs.h m) + (src/LYUpload.c src/LYUpload.c src/LYUpload.c m) (src/LYReadCFG.c src/LYReadCFG.c src/LYReadCFG.c m) + (src/LYOptions.c src/LYOptions.c src/LYOptions.c m) (src/LYMain.c src/LYMain.c src/LYMain.c m) + (src/LYMail.c src/LYMail.c src/LYMail.c m) (src/LYGetFile.c src/LYGetFile.c src/LYGetFile.c m) + (src/GridText.c src/GridText.c src/GridText.c m) (samples/lynx.cfg samples/lynx.cfg samples/lynx.cfg m) + (lynx_help/Lynx_users_guide.html lynx_help/Lynx_users_guide.html lynx_help/Lynx_users_guide.html m) (lynx.man lynx.man lynx.man m) + (lynx.hlp lynx.hlp lynx.hlp m) (lynx.cfg lynx.cfg lynx.cfg m) + (WWW/Library/Implementation/HTFormat.c WWW/Library/Implementation/HTFormat.c WWW/Library/Implementation/HTFormat.c m) (WWW/Library/Implementation/HTTP.c WWW/Library/Implementation/HTTP.c WWW/Library/Implementation/HTTP.c m) + (WWW/Library/Implementation/HTFile.c WWW/Library/Implementation/HTFile.c WWW/Library/Implementation/HTFile.c m) (LYMessages_en.h LYMessages_en.h LYMessages_en.h m) + (() FOTEMODS FOTEMODS n) (() 00README 00README n)) +) (New-Merge-Parents) diff --git a/Makefile.old b/Makefile.old index 3b801902..ecdaba32 100644 --- a/Makefile.old +++ b/Makefile.old @@ -785,18 +785,20 @@ solaris2-slangcc: SLANGINC="$(SLANGINC)" osf: - cd WWW/Library/osf; $(MAKE) LYFLAGS="-Olimit 2000 $(SITE_LYDEFS)" + cd WWW/Library/osf; $(MAKE) LYFLAGS="-Olimit 2000 -DNSL_FORK \ + $(SITE_LYDEFS)" cd src; $(MAKE) all CC="cc" MCFLAGS="-O -Olimit 4000 -DUNIX \ - -DFANCY_CURSES $(ADDFLAGS) \ + -DFANCY_CURSES -DNO_TTYTYPE $(ADDFLAGS) \ -I../$(WWWINC) $(SITE_DEFS)" \ LIBS="-lcurses -ltermcap \ $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ WWWLIB="../WWW/Library/osf/libwww.a" osf-slang: - cd WWW/Library/osf; $(MAKE) LYFLAGS="-Olimit 2000 $(SITE_LYDEFS)" + cd WWW/Library/osf; $(MAKE) LYFLAGS="-Olimit 2000 -DNSL_FORK \ + $(SITE_LYDEFS)" cd src; $(MAKE) all CC="cc" MCFLAGS="-O -Olimit 4000 -DUNIX \ - -DUSE_SLANG $(ADDFLAGS) \ + -DUSE_SLANG -DNO_TTYTYPE $(ADDFLAGS) \ -I../$(WWWINC) $(SITE_DEFS)" \ LIBS="-lcurses -ltermcap \ $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ diff --git a/WWW/Library/Implementation/HTFile.c b/WWW/Library/Implementation/HTFile.c index 60c71e9a..99f0cc41 100644 --- a/WWW/Library/Implementation/HTFile.c +++ b/WWW/Library/Implementation/HTFile.c @@ -446,6 +446,8 @@ PRIVATE void do_readme ARGS2(HTStructured *, target, CONST char *, localname) FILE * fp; char * readme_file_name = malloc(strlen(localname)+ 1 + strlen(HT_DIR_README_FILE) + 1); + if (readme_file_name == NULL) + outofmem(__FILE__, "do_readme"); strcpy(readme_file_name, localname); strcat(readme_file_name, "/"); strcat(readme_file_name, HT_DIR_README_FILE); @@ -1413,6 +1415,7 @@ PUBLIC int HTLoadFile ARGS4( char * nodename = NULL; char * newname = NULL; /* Simplified name of file */ HTAtom * encoding; /* @@ not used yet */ + int status; #ifdef VMS struct stat stat_info; #else @@ -1489,6 +1492,8 @@ PUBLIC int HTLoadFile ARGS4( char * enable_file_name = malloc(strlen(filename)+ 1 + strlen(HT_DIR_ENABLE_FILE) + 1); + if (enable_file_name == NULL) + outofmem(__FILE__, "HTLoadFile"); strcpy(enable_file_name, filename); strcat(enable_file_name, "/"); strcat(enable_file_name, HT_DIR_ENABLE_FILE); @@ -1593,7 +1598,7 @@ PUBLIC int HTLoadFile ARGS4( FREE(nodename); status = HTParseFile(format, format_out, anchor, fp, sink); fclose(fp); - return status; + return status; } /* If successfull open */ FREE(filename); } @@ -1756,6 +1761,8 @@ forget_multi: char * enable_file_name = malloc(strlen(localname)+ 1 + strlen(HT_DIR_ENABLE_FILE) + 1); + if (enable_file_name == NULL) + outofmem(__FILE__, "HTLoadFile"); strcpy(enable_file_name, localname); strcat(enable_file_name, "/"); strcat(enable_file_name, HT_DIR_ENABLE_FILE); diff --git a/WWW/Library/Implementation/HTFormat.c b/WWW/Library/Implementation/HTFormat.c index 527ae13c..c8bda5de 100644 --- a/WWW/Library/Implementation/HTFormat.c +++ b/WWW/Library/Implementation/HTFormat.c @@ -13,6 +13,7 @@ #include "HTUtils.h" #include "tcp.h" +#include "HTAccess.h" /* Implements: */ @@ -589,9 +590,9 @@ PUBLIC int HTFileCopy ARGS2( FILE *, fp, HTStream*, sink) { - HTStreamClass targetClass; + HTStreamClass targetClass; char line[256]; - int bytes = 0, nreads = 0, nprogr = 0; + int status, bytes = 0, nreads = 0, nprogr = 0; int rv = HT_OK; /* Push the data down the stream @@ -601,9 +602,8 @@ PUBLIC int HTFileCopy ARGS2( /* Push binary from socket down sink */ for (;;) { - int status = fread(input_buffer, 1, INPUT_BUFFER_SIZE, fp); - nreads ++; - + status = fread(input_buffer, 1, INPUT_BUFFER_SIZE, fp); + nreads++; if (status == 0) { /* EOF or error */ if (ferror(fp) == 0) { rv = HT_LOADED; @@ -613,7 +613,11 @@ PUBLIC int HTFileCopy ARGS2( fprintf(stderr, "HTFormat: Read error, read returns %d\n", ferror(fp)); - rv = HT_PARTIAL_CONTENT; + if (bytes) { + rv = HT_PARTIAL_CONTENT; + } else { + rv = -1; + } break; } (*targetClass.put_block)(sink, input_buffer, status); @@ -621,27 +625,28 @@ PUBLIC int HTFileCopy ARGS2( bytes += status; if (nreads >= 100) { /* - * Show progres messages for local files, and check for - * user interruption. - * Start doing so only after a certain number of reads - * have been done, and don't update it on every read - - * normally reading in a local file should be speedy. - */ + ** Show progress messages for local files, and check for + ** user interruption. Start doing so only after a certain + ** number of reads have been done, and don't update it on + ** every read (normally reading in a local file should be + ** speedy). - KW + */ if (nprogr == 0) { - if (bytes < 1024000) { + if (bytes < 1024000) { sprintf(line, "Read %d bytes of data.", bytes); } else { sprintf(line, "Read %d KB of data. %s", - bytes/1024, + bytes/1024, "(Press 'z' if you want to abort loading.)"); } HTProgress(line); if (HTCheckForInterrupt()) { _HTProgress ("Data transfer interrupted."); - if (bytes) + if (bytes) { rv = HT_INTERRUPTED; - else - rv = HT_PARTIAL_CONTENT; + } else { + rv = -1; + } break; } nprogr++; @@ -788,14 +793,18 @@ PUBLIC int HTParseFile ARGS5( */ targetClass = *(stream->isa); /* Copy pointers to procedures */ rv = HTFileCopy(fp, stream); - if (rv == -1 || rv == HT_INTERRUPTED) + if (rv == -1 || rv == HT_INTERRUPTED) { (*targetClass._abort)(stream, NULL); - else + } else { (*targetClass._free)(stream); + } - if (rv == HT_INTERRUPTED || (rv > 0 && rv != HT_LOADED)) + if (rv == -1) + return HT_NO_DATA; + else if (rv == HT_INTERRUPTED || (rv > 0 && rv != HT_LOADED)) return HT_PARTIAL_CONTENT; - return HT_LOADED; + else + return HT_LOADED; } /* Converter stream: Network Telnet to internal character text diff --git a/WWW/Library/Implementation/HTMIME.c b/WWW/Library/Implementation/HTMIME.c index 6e34c16b..2b9e31e4 100644 --- a/WWW/Library/Implementation/HTMIME.c +++ b/WWW/Library/Implementation/HTMIME.c @@ -86,7 +86,6 @@ typedef enum _MIME_state { miPUBLIC, miRETRY_AFTER, miS, - miSA, miSAFE, miSE, miSERVER, @@ -977,9 +976,11 @@ PRIVATE void HTMIME_put_character ARGS2( switch (c) { case 'a': case 'A': - me->state = miSAFE; + me->check_pointer = "fe:"; + me->if_ok = miSAFE; + me->state = miCHECK; if (TRACE) - fprintf(stderr, "HTMIME: Was S, found A, state now SAFE'\n"); + fprintf(stderr, "HTMIME: Was S, found A, checking for 'fe:'\n"); break; case 'e': diff --git a/WWW/Library/Implementation/HTStyle.h b/WWW/Library/Implementation/HTStyle.h index 100162d2..837251aa 100644 --- a/WWW/Library/Implementation/HTStyle.h +++ b/WWW/Library/Implementation/HTStyle.h @@ -67,7 +67,7 @@ typedef struct _color { } HTColor; #else -typedef float HTCoord; +typedef int HTCoord; /* changed from float to int - kw */ typedef struct _HTParagraphStyle { HTCoord left_indent; /* @@@@ junk! etc etc*/ diff --git a/WWW/Library/Implementation/HTTCP.c b/WWW/Library/Implementation/HTTCP.c index 62c38095..98d21800 100644 --- a/WWW/Library/Implementation/HTTCP.c +++ b/WWW/Library/Implementation/HTTCP.c @@ -417,7 +417,8 @@ PUBLIC int HTParseInet ARGS2( /* ** Pipe, child pid, and status buffers. */ - int pfd[2], fpid, cstat, cst1; + pid_t fpid, waitret = (pid_t)0; + int pfd[2], cstat, cst1 = 0; pipe(pfd); @@ -454,8 +455,9 @@ PUBLIC int HTParseInet ARGS2( /* ** Exit if child exited. */ - if (waitpid(fpid, &cst1, WNOHANG) > 0) + if ((waitret = waitpid(fpid, &cst1, WNOHANG)) > 0) { break; + } /* ** Abort if interrupt key pressed. */ @@ -473,19 +475,56 @@ PUBLIC int HTParseInet ARGS2( */ sleep(1); } - waitpid(fpid, &cst1, WNOHANG); + if (waitret <= 0) + waitret = waitpid(fpid, &cst1, WNOHANG); + if (TRACE) { + if (WIFEXITED(cst1)) { + fprintf(stderr, + "NSL_FORK: Child %d exited, status 0x%x.\n", + (int)waitret, cst1); + } else if (WIFSIGNALED(cst1)) { + fprintf(stderr, + "NSL_FORK: Child %d got signal, status 0x%x!\n", + (int)waitret, cst1); +#ifdef WCOREDUMP + if (WCOREDUMP(cst1)) { + fprintf(stderr, + "NSL_FORK: Child %d dumped core!\n",(int)waitret); + } +#endif + } else if (WIFSTOPPED(cst1)) { + fprintf(stderr, + "NSL_FORK: Child %d is stopped, status 0x%x!\n", + (int)waitret, cst1); + } + } /* ** Read as much as we can - should be the address. */ IOCTL(pfd[0], FIONREAD, &cstat); - if (cstat < 4) + if (cstat < 4) { + if (TRACE) + fprintf(stderr, + "NSL_FORK: Child returns only %d bytes, \ +trying again without forking...\n", cstat); + phost = gethostbyname(host); /* See netdb.h */ + if (!phost) { + if (TRACE) + fprintf(stderr, + "HTParseInet: Can't find internet node name `%s'.\n",host); + memset((void *)&sin->sin_addr, 0, sizeof(sin->sin_addr)); + } else { + memcpy((void *)&sin->sin_addr, phost->h_addr, phost->h_length); + } +#if 0 cstat = read(pfd[0], (void *)&sin->sin_addr , 4); - else +#endif + } else { cstat = read(pfd[0], (void *)&sin->sin_addr , cstat); + } close(pfd[0]); close(pfd[1]); } - if (sin->sin_addr.s_addr == 0) { if (TRACE) fprintf(stderr, diff --git a/WWW/Library/Implementation/HTTP.c b/WWW/Library/Implementation/HTTP.c index 980b8f6e..0bcc2c62 100644 --- a/WWW/Library/Implementation/HTTP.c +++ b/WWW/Library/Implementation/HTTP.c @@ -485,7 +485,23 @@ try_again: ** If we do have a cookie set, add it to the request buffer. - FM */ if (cookie != NULL) { + if (*cookie != '$') { + /* + ** It's a historical cookie, so signal to the + ** server that we support modern cookies. - FM + */ + StrAllocCat(command, "Cookie2: $Version=\"1\""); + StrAllocCat(command, crlf); + if (TRACE) + fprintf(stderr, + "HTTP: Sending Cookie2: $Version =\"1\"\n"); + } if (*cookie != '\0') { + /* + ** It's not a zero-length string, so add the header. + ** Note that any folding of long strings has been + ** done already in LYCookie.c. - FM + */ StrAllocCat(command, "Cookie: "); StrAllocCat(command, cookie); StrAllocCat(command, crlf); diff --git a/lynx.cfg b/lynx.cfg index 2e2f430e..495208dc 100644 --- a/lynx.cfg +++ b/lynx.cfg @@ -1584,6 +1584,20 @@ MINIMAL_COMMENTS:TRUE #DIRED_MENU:TAG::Remove all tagged files and directories.::LYNXDIRED://REMOVE_TAGGED #DIRED_MENU:TAG::Untag all tagged items.::LYNXDIRED://CLEAR_TAGGED +# Unix ONLY: +#=========== +# If NO_FORCED_CORE_DUMP is set to TRUE, Lynx will not force +# core dumps via abort() calls on fatal errors or assert() +# calls to check potentially fatal errors. The compilation +# default normally is FALSE, and can be changed here. The +# compilation or configuration default can be toggled via +# the -core command line switch. +# Note that this setting cannot be used to prevent core dumps +# with certainty. If this is important, means provided by the +# operating system or kernel should be used. +# +#NO_FORCED_CORE_DUMP:FALSE + # COLORS (only available if compiled with SVr4 curses or slang) # # The line must be of the form: diff --git a/lynx.hlp b/lynx.hlp index 0e561bce..150cedf9 100644 --- a/lynx.hlp +++ b/lynx.hlp @@ -187,6 +187,11 @@ -nobrowse disable directory browsing. + -nocc + disable Cc: prompts for self copies of mailings. Note + that this does not disable any CCs which are incorporated + within a mailto URL or form ACTION. + -nocolor force color mode off, overriding terminal capabilities and any -color flags, COLORTERM variable, and saved .lynxrc settings. diff --git a/lynx.man b/lynx.man index 317249fe..a5a6e052 100644 --- a/lynx.man +++ b/lynx.man @@ -122,6 +122,9 @@ in .lynxrc on startup is overridden by this flag. .B -cookies toggles handling of Set-Cookie headers. .TP +.B -core +toggles forced core dumps on fatal errors. +.TP .B -crawl with -traversal, output each page to a file. with -dump, format output as with -traversal, but to stdout. @@ -215,6 +218,11 @@ maximum news articles in listings before chunking. .B -nobrowse disable directory browsing. .TP +.B -nocc +disable Cc: prompts for self copies of mailings. Note +that this does not disable any CCs which are incorporated +within a mailto URL or form ACTION. +.TP .B -nocolor force color mode off, overriding terminal capabilities and any -color flags, COLORTERM variable, and saved .lynxrc settings. diff --git a/lynx_help/Lynx_users_guide.html b/lynx_help/Lynx_users_guide.html index b13a48a2..efdf884e 100644 --- a/lynx_help/Lynx_users_guide.html +++ b/lynx_help/Lynx_users_guide.html @@ -1884,6 +1884,8 @@ where in .lynxrc on startup is overridden by this flag. <dt><code>-cookies</code> <dd>toggles handling of Set-Cookie headers. + <dt><code>-core</code> + <dd>toggles forced core dumps on fatal errors. (Unix only) <dt><code>-crawl</code> <dd>with <em>-traversal</em>, output each page to a file.<br> with <em>-dump</em>, format output as with @@ -1965,6 +1967,10 @@ where <dd>maximum news articles in listings before chunking. <dt><code>-nobrowse</code> <dd>disable directory browsing. + <dt><code>-nocc</code> + <dd>disable Cc: prompts for self copies of mailings. Note + that this does not disable any CCs which are incorporated + within a mailto URL or form ACTION. <dt><code>-nocolor</code> <dd>force color mode off, overriding terminal capabilities and any <em>-color</em> flags, <em>COLORTERM</em> variable, and saved .lynxrc settings. diff --git a/samples/lynx.cfg b/samples/lynx.cfg index 17a790b2..d760fb93 100644 --- a/samples/lynx.cfg +++ b/samples/lynx.cfg @@ -1583,6 +1583,20 @@ MINIMAL_COMMENTS:TRUE #DIRED_MENU:TAG::Remove all tagged files and directories.::LYNXDIRED://REMOVE_TAGGED #DIRED_MENU:TAG::Untag all tagged items.::LYNXDIRED://CLEAR_TAGGED +# Unix ONLY: +#=========== +# If NO_FORCED_CORE_DUMP is set to TRUE, Lynx will not force +# core dumps via abort() calls on fatal errors or assert() +# calls to check potentially fatal errors. The compilation +# default normally is FALSE, and can be changed here. The +# compilation or configuration default can be toggled via +# the -core command line switch. +# Note that this setting cannot be used to prevent core dumps +# with certainty. If this is important, means provided by the +# operating system or kernel should be used. +# +#NO_FORCED_CORE_DUMP:FALSE + # COLORS (only available if compiled with SVr4 curses or slang) # # The line must be of the form: diff --git a/src/GridText.c b/src/GridText.c index 493e66cc..e057c95f 100644 --- a/src/GridText.c +++ b/src/GridText.c @@ -932,8 +932,25 @@ PRIVATE void display_page ARGS3( for (i = 0, line = text->last_line->next; /* Find line */ i < line_number && (line != text->last_line); - i++, line = line->next) /* Loop */ + i++, line = line->next) { /* Loop */ +#ifndef VMS + if (!LYNoCore) { + assert(line->next != NULL); + } else if (line->next == NULL) { + if (enable_scrollback) { + addch('*'); + refresh(); + clear(); + } + addstr("\n\nError drawing page!\nBad HText structure!\n"); + refresh(); + nlinks = 0; /* set number of links to 0 */ + return; + } +#else assert(line->next != NULL); +#endif /* !VMS */ + } #ifdef EXP_CHARTRANS if (LYlowest_eightbit[current_char_set] <= 255 && @@ -997,7 +1014,23 @@ PRIVATE void display_page ARGS3( /* * Verify and display each line. */ +#ifndef VMS + if (!LYNoCore) { + assert(line != NULL); + } else if (line == NULL) { + if (enable_scrollback) { + addch('*'); + refresh(); + clear(); + } + addstr("\n\nError drawing page!\nBad HText structure!\n"); + refresh(); + nlinks = 0; /* set number of links to 0 */ + return; + } +#else assert(line != NULL); +#endif /* !VMS */ display_line(line, text); #if defined(FANCY_CURSES) || defined(USE_SLANG) @@ -1466,6 +1499,8 @@ PRIVATE void split_line ARGS2( int ctrl_chars_on_previous_line = 0; char * cp; HTLine * line = (HTLine *)calloc(1, LINE_SIZE(MAX_LINE)); + if (line == NULL) + outofmem(__FILE__, "split_line"); ctrl_chars_on_this_line = 0; /*reset since we are going to a new line*/ text->LastChar = ' '; @@ -1473,8 +1508,6 @@ PRIVATE void split_line ARGS2( if (TRACE) fprintf(stderr,"GridText: split_line called\n"); - if (line == NULL) - outofmem(__FILE__, "split_line"); text->Lines++; previous->next->prev = line; @@ -2459,7 +2492,7 @@ PUBLIC void HText_endAnchor ARGS2( * without needing to close any anchor with an HREF * within which that link might be embedded. - FM */ - if (number <= 0 || text->last_anchor->number == number) { + if (number <= 0 || number == text->last_anchor->number) { a = text->last_anchor; } else { for (a = text->first_anchor; a; a = a->next) { diff --git a/src/HTFWriter.c b/src/HTFWriter.c index 711774b1..93e75a68 100644 --- a/src/HTFWriter.c +++ b/src/HTFWriter.c @@ -180,7 +180,7 @@ PRIVATE void HTFWriter_free ARGS1(HTStream *, me) /* * Tell user what's happening. - FM */ - _HTProgress(me->end_command); + _HTProgress(me->end_command); } /* * Uncompress it. - FM @@ -235,6 +235,12 @@ PRIVATE void HTFWriter_free ARGS1(HTStream *, me) * Now have HTLoadFile() handle the uncompressed * file as if it were the original reply. - FM */ + if (!dump_output_immediately) { + /* + * Tell user what's happening. - FM + */ + _user_message(WWW_USING_MESSAGE, addr); + } status = HTLoadFile(addr, me->anchor, me->output_format, diff --git a/src/LYCookie.c b/src/LYCookie.c index 008797e3..07d51595 100644 --- a/src/LYCookie.c +++ b/src/LYCookie.c @@ -611,9 +611,9 @@ PRIVATE char * scan_cookie_sublist ARGS6( len += (strlen(co->name) + strlen(co->value) + 1); /* * For Version 1 (or greater) cookies, add - * $PATH and/or $DOMAIN attributes for the - * cookie if they were specified via a server - * reply header. - FM + * $PATH, $PORT and/or $DOMAIN attributes for + * the cookie if they were specified via a + * server reply header. - FM */ if (co->version > 0) { if (co->path && (co->flags & COOKIE_FLAG_PATH_SET)) { @@ -623,7 +623,16 @@ PRIVATE char * scan_cookie_sublist ARGS6( StrAllocCat(header, "; $Path=\""); StrAllocCat(header, co->path); StrAllocCat(header, "\""); - len != (strlen(co->path) + 8); + len += (strlen(co->path) + 10); + } + if (co->PortList && isdigit((unsigned char)*co->PortList)) { + /* + * Append the port attribute. - FM + */ + StrAllocCat(header, "; $Port=\""); + StrAllocCat(header, co->PortList); + StrAllocCat(header, "\""); + len += (strlen(co->PortList) + 10); } if (co->domain && (co->flags & COOKIE_FLAG_DOMAIN_SET)) { /* @@ -632,7 +641,7 @@ PRIVATE char * scan_cookie_sublist ARGS6( StrAllocCat(header, "; $Domain=\""); StrAllocCat(header, co->domain); StrAllocCat(header, "\""); - len != (strlen(co->domain) + 10); + len += (strlen(co->domain) + 12); } } } @@ -672,15 +681,22 @@ PRIVATE void LYProcessSetCookies ARGS6( } /* - * If we have both Set-Cookie and Set-Cookie2 headers, - * and must combine them because the Set-Cookie2 headers - * are not required to have complete cookies if Set-Cookie - * headers are present. So set up a list for the cookies - * we process out of the header(s). Note that if more than - * one instance of a valued attribute for the same cookie - * is encountered, the value for the first instance is - * retained, with preference to that in a Set-Cookie2 - * header. We only accept up to 50 cookies from either + * If we have both Set-Cookie and Set-Cookie2 headers. + * process the Set-Cookie2 header, then the Set-Cookie + * header. The most current draft has abandoned the + * the earlier requirement to combine them, but we'll + * keep doing that for now, until we're sure that holds + * up, since we never replace anything that was in the + * Set-Cookie2 headers with it's equivalent in the + * Set-Cookie header. If we have only a Set-Cookie2 + * or only a Set-Cookie header, that's what we use. So + * set up a list for the cookies we process out of the + * header(s). Note that if more than one instance of a + * valued attribute for the same cookie is encountered, + * even within the same header, the value for the first + * instance is retained, with consequent preference to + * that in a Set-Cookie2 header, since that was processed + * first. We only accept up to 50 cookies from either * header, and only if a cookie's values do not exceed * the 4096 byte limit on overall size. - FM */ @@ -688,7 +704,7 @@ PRIVATE void LYProcessSetCookies ARGS6( /* * First process the Set-Cookie2 header, if present, adding - * each cookie to the CombinedCoookies list. - FM + * each cookie to the CombinedCookies list. - FM */ p = (SetCookie2 ? SetCookie2 : ""); while (NumCookies <= 50 && *p) { @@ -712,7 +728,11 @@ PRIVATE void LYProcessSetCookies ARGS6( * Check for an '=' delimiter, or an 'expires' name followed * by white, since Netscape's bogus parser doesn't require * an '=' delimiter, and 'expires' attributes are being - * encountered without them. - FM + * encountered without them. These shouldn't be in a + * Set-Cookie2 header, but we'll assume it's an expires + * attribute rather a cookie with that name, since the + * attribute mistake rather than name mistake seems more + * likely to be made by providers. - FM */ if (*p == '=' || !strncasecomp(attr_start, "Expires", 7)) { @@ -1393,11 +1413,13 @@ PRIVATE void LYProcessSetCookies ARGS6( address, PARSE_ALL); /* - * Accept only URLs for servers. - FM + * Accept only URLs for servers. The most + * recent draft says just http, so the others + * are commented out here. - FM */ if ((url_type = is_url(cur_cookie->commentURL)) && (url_type == HTTP_URL_TYPE || - url_type == HTTPS_URL_TYPE || + url_type == HTTPS_URL_TYPE/* || url_type == FTP_URL_TYPE || url_type == GOPHER_URL_TYPE || url_type == HTML_GOPHER_URL_TYPE || @@ -1407,7 +1429,7 @@ PRIVATE void LYProcessSetCookies ARGS6( url_type == SNEWS_URL_TYPE || url_type == WAIS_URL_TYPE || url_type == CSO_URL_TYPE || - url_type == FINGER_URL_TYPE)) { + url_type == FINGER_URL_TYPE */)) { length += strlen(cur_cookie->commentURL); } else { FREE(cur_cookie->commentURL); @@ -1570,7 +1592,7 @@ PRIVATE void LYProcessSetCookies ARGS6( (cur_cookie->flags & COOKIE_FLAG_PATH_SET)) { StrAllocCopy(co->path, cur_cookie->path); co->pathlen = cur_cookie->pathlen; - co->flags |= COOKIE_FLAG_DOMAIN_SET; + co->flags |= COOKIE_FLAG_PATH_SET; } /* * If the Set-Cookie2 header didn't include @@ -1711,7 +1733,7 @@ PRIVATE void LYProcessSetCookies ARGS6( (cur_cookie->flags & COOKIE_FLAG_PATH_SET)) { StrAllocCopy(co->path, cur_cookie->path); co->pathlen = cur_cookie->pathlen; - co->flags |= COOKIE_FLAG_DOMAIN_SET; + co->flags |= COOKIE_FLAG_PATH_SET; } /* * If the Set-Cookie2 header didn't include diff --git a/src/LYGetFile.c b/src/LYGetFile.c index e51f714f..f58fcd84 100644 --- a/src/LYGetFile.c +++ b/src/LYGetFile.c @@ -47,6 +47,7 @@ PRIVATE int fix_http_urls PARAMS((document *doc)); extern char * WWW_Download_File; +extern char LYCancelDownload; #ifdef VMS extern BOOLEAN LYDidRename; #endif /* VMS */ @@ -94,6 +95,16 @@ PUBLIC BOOLEAN getfile ARGS1( char *temp = NULL; DocAddress WWWDoc; /* a WWW absolute doc address struct */ + /* + * Reset LYCancelDownload to prevent unwanted delayed effect. - KW + */ + if (LYCancelDownload) { + if (TRACE) + fprintf(stderr, + "getfile: resetting LYCancelDownload to FALSE\n"); + LYCancelDownload = FALSE; + } + Try_Redirected_URL: /* * Load the WWWDoc struct in case we need to use it. @@ -131,10 +142,15 @@ Try_Redirected_URL: if ((cp1 = strchr(temp, '@')) == NULL) cp1 = temp; if ((cp = strrchr(cp1, ':')) != NULL) { - int value; + long int value; cp++; - if (sscanf(cp, "%d", &value) == 1) { + if (sscanf(cp, "%ld", &value) == 1) { + if (value > 65535 || value < 0) { + HTAlert(PORT_INVALID); + FREE(temp); + return(NULLFILE); + } if (value == 19) { HTAlert(PORT_NINETEEN_INVALID); FREE(temp); @@ -767,7 +783,7 @@ Try_Redirected_URL: */ HTAlert(ILLEGAL_REDIRECTION_URL); if (LYCursesON) { - _user_message("Illegal URL: %s", + _user_message(WWW_ILLEGAL_URL_MESSAGE, use_this_url_instead); sleep(AlertSecs); } else { @@ -780,7 +796,8 @@ Try_Redirected_URL: } if (TRACE) sleep(MessageSecs); - _user_message("Using %s", use_this_url_instead); + _user_message(WWW_USING_MESSAGE, + use_this_url_instead); sleep(InfoSecs); if (TRACE) fprintf(stderr, "\n"); @@ -909,7 +926,7 @@ Try_Redirected_URL: } else { if (TRACE) sleep(MessageSecs); - _user_message("Badly formed address %s",doc->address); + _user_message(WWW_BAD_ADDR_MESSAGE, doc->address); if (TRACE) fprintf(stderr,"\n"); sleep(MessageSecs); diff --git a/src/LYGlobalDefs.h b/src/LYGlobalDefs.h index 81ffbfa2..d811b74f 100644 --- a/src/LYGlobalDefs.h +++ b/src/LYGlobalDefs.h @@ -318,5 +318,10 @@ extern BOOLEAN LYSeekFragMAPinCur; extern BOOLEAN LYSeekFragAREAinCur; extern BOOLEAN LYStripDotDotURLs; /* Try to fix ../ in some URLs? */ extern BOOLEAN LYForceSSLCookiesSecure; +extern BOOLEAN LYNoCc; + +#ifndef VMS +extern BOOLEAN LYNoCore; +#endif /* !VMS */ #endif /* LYGLOBALDEFS_H */ diff --git a/src/LYMail.c b/src/LYMail.c index 474f1a3a..849bb5d7 100644 --- a/src/LYMail.c +++ b/src/LYMail.c @@ -145,8 +145,7 @@ PUBLIC void mailform ARGS4( } /* - * Allow user to edit the default Subject - * and enter a cc to self. - FM + * Allow user to edit the default Subject - FM */ if (subject[0] == '\0') { if (mailto_subject && *mailto_subject) { @@ -167,18 +166,25 @@ PUBLIC void mailform ARGS4( FREE(address); return; } - sprintf(self,"%.79s", (personal_mail_address ? - personal_mail_address : "")); - self[79] = '\0'; - _statusline("Cc: "); - if ((ch = LYgetstr(self, VISIBLE, sizeof(self), NORECALL)) < 0) { - /* - * User cancelled via ^G. - FM - */ - _statusline(FORM_MAILTO_CANCELLED); - sleep(InfoSecs); - FREE(address); - return; + + /* + * Allow user to specify a self copy via a CC: + * entry, if permitted. - FM + */ + if (!LYNoCc) { + sprintf(self,"%.79s", (personal_mail_address ? + personal_mail_address : "")); + self[79] = '\0'; + _statusline("Cc: "); + if ((ch = LYgetstr(self, VISIBLE, sizeof(self), NORECALL)) < 0) { + /* + * User cancelled via ^G. - FM + */ + _statusline(FORM_MAILTO_CANCELLED); + sleep(InfoSecs); + FREE(address); + return; + } } #if defined(VMS) || defined(DOSPATH) @@ -901,26 +907,31 @@ PUBLIC void reply_by_mail ARGS3( #endif /* VMS */ /* - * Offer a CC line. + * Offer a CC line, if permitted. - FM */ - addstr(ENTER_ADDRESS_FOR_CC); - if (personal_mail_address) - addstr(CTRL_U_TO_ERASE); - addstr(BLANK_FOR_NO_COPY); - addstr("Cc: "); - /* Add the mail address if there is one. */ - sprintf(user_input,"%s", (personal_mail_address ? - personal_mail_address : "")); - if (LYgetstr(user_input, VISIBLE, sizeof(user_input), NORECALL) < 0 || - term_letter) { + user_input[0] = '\0'; + if (!LYNoCc) { + addstr(ENTER_ADDRESS_FOR_CC); + if (personal_mail_address) + addstr(CTRL_U_TO_ERASE); + addstr(BLANK_FOR_NO_COPY); + addstr("Cc: "); + /* + * Add the mail address if there is one. + */ + sprintf(user_input,"%s", (personal_mail_address ? + personal_mail_address : "")); + if (LYgetstr(user_input, VISIBLE, sizeof(user_input), NORECALL) < 0 || + term_letter) { + addstr("\n"); + _statusline(COMMENT_REQUEST_CANCELLED); + sleep(InfoSecs); + fclose(fd); /* Close the tmpfile. */ + scrollok(stdscr,FALSE); /* Stop scrolling. */ + goto cleanup; + } addstr("\n"); - _statusline(COMMENT_REQUEST_CANCELLED); - sleep(InfoSecs); - fclose(fd); /* Close the tmpfile. */ - scrollok(stdscr,FALSE); /* Stop scrolling. */ - goto cleanup; } - addstr("\n"); remove_tildes(user_input); #if defined (VMS) || defined (DOSPATH) if (*user_input) { diff --git a/src/LYMain.c b/src/LYMain.c index b939f01d..ff473d5d 100644 --- a/src/LYMain.c +++ b/src/LYMain.c @@ -359,6 +359,7 @@ PUBLIC BOOLEAN LYSeekFragAREAinCur = TRUE; PUBLIC BOOLEAN LYStripDotDotURLs = TRUE; /* Try to fix ../ in some URLs? */ PUBLIC BOOLEAN LYForceSSLCookiesSecure = FALSE; +PUBLIC BOOLEAN LYNoCc = FALSE; /* These are declared in cutil.h for current freeWAIS libraries. - FM */ #ifdef DECLARE_WAIS_LOGFILES @@ -379,6 +380,7 @@ PRIVATE HTList *LYStdinArgs = NULL; PRIVATE void parse_arg PARAMS((char **arg, int *i, int argc)); #ifndef VMS +PUBLIC BOOLEAN LYNoCore = NO_FORCED_CORE_DUMP; PRIVATE void FatalProblem PARAMS((int sig)); #endif /* !VMS */ @@ -1894,6 +1896,14 @@ PRIVATE void parse_arg ARGS3( else LYSetCookies = TRUE; +#ifndef VMS + } else if (strncmp(argv[0], "-core", 5) == 0) { + if (LYNoCore) + LYNoCore = FALSE; + else + LYNoCore = TRUE; +#endif /* !VMS */ + } else { goto Output_Error_and_Help_List; } @@ -2187,6 +2197,9 @@ PRIVATE void parse_arg ARGS3( } else if (strncmp(argv[0], "-nobrowse", 9) == 0) { HTDirAccess = HT_DIR_FORBID; + } else if (strncmp(argv[0], "-nocc", 5) == 0) { + LYNoCc = TRUE; + } else if (strncmp(argv[0], "-nocolor", 8) == 0) { LYShowColor = SHOW_COLOR_NEVER; #ifdef USE_SLANG @@ -2606,6 +2619,9 @@ Output_Help_List: printf(" -blink force high intensity bg colors in color mode\n"); #endif /* USE_SLANG */ printf(" -cookies toggles handling of Set-Cookie headers\n"); +#ifndef VMS + printf(" -core toggles forced core dumps on fatal errors\n"); +#endif /* !VMS */ printf(" -crawl with -traversal, output each page to a file\n"); printf(" with -dump, format output as with -traversal, but to stdout\n"); printf(" -display=DISPLAY set the display variable for X execed programs\n"); @@ -2649,6 +2665,7 @@ Output_Help_List: printf(" -newschunksize=NUMBER number of articles in chunked news listings\n"); printf(" -newsmaxchunk=NUMBER maximum news articles in listings before chunking\n"); printf(" -nobrowse disable directory browsing\n"); + printf(" -nocc disable Cc: prompts for self copies of mailings\n"); printf(" -nofilereferer disable transmissions of Referer headers for file URLs\n"); printf(" -nolist disable the link list feature in dumps\n"); printf(" -nolog disable mailing of error messages to document owners\n"); @@ -2771,8 +2788,11 @@ Do NOT mail the core file if one was generated.\r\n"); Lynx now exiting with signal: %d\r\n\r\n", sig); /* - * Exit and dump core. + * Exit and possibly dump core. */ + if (LYNoCore) { + exit(-1); + } abort(); } else { diff --git a/src/LYMainLoop.c b/src/LYMainLoop.c index b8ecfb02..cdaedb29 100644 --- a/src/LYMainLoop.c +++ b/src/LYMainLoop.c @@ -4643,7 +4643,7 @@ check_add_bookmark_to_self: */ if ((curdoc.post_data != NULL && curdoc.safe != TRUE) && - HTConfirm(CONFIRM_POST_RESUBMISSION) == FALSE) { + HTConfirm(CONFIRM_POST_DOC_HEAD) == FALSE) { _statusline(CANCELLED); sleep(InfoSecs); break; @@ -4653,6 +4653,8 @@ check_add_bookmark_to_self: if (HTLoadedDocumentIsHEAD()) { HTuncache_current_document(); FREE(curdoc.address); + } else { + StrAllocCat(newdoc.title, " - HEAD"); } } break; @@ -4673,9 +4675,15 @@ check_add_bookmark_to_self: "http", 4)) { _statusline(FORM_ACTION_NOT_HTTP_URL); sleep(MessageSecs); + } else if (links[curdoc.link].type == WWW_FORM_LINK_TYPE && + links[curdoc.link].form->submit_method == URL_POST_METHOD && + HTConfirm(CONFIRM_POST_LINK_HEAD) == FALSE) { + _statusline(CANCELLED); + sleep(InfoSecs); } else { HEAD_request = TRUE; LYforce_no_cache = TRUE; + StrAllocCat(newdoc.title, " - HEAD"); cmd = LYK_ACTIVATE; goto new_cmd; } @@ -4689,12 +4697,11 @@ check_add_bookmark_to_self: */ if ((curdoc.post_data != NULL && curdoc.safe != TRUE) && - HTConfirm(CONFIRM_POST_RESUBMISSION) == FALSE) { + HTConfirm(CONFIRM_POST_DOC_HEAD) == FALSE) { _statusline(CANCELLED); sleep(InfoSecs); break; - } - if (nlinks > 0) { + } else if (nlinks > 0) { _statusline(HEAD_D_OR_CANCEL); c = LYgetch(); } else { @@ -4710,6 +4717,8 @@ check_add_bookmark_to_self: if (HTLoadedDocumentIsHEAD()) { HTuncache_current_document(); FREE(curdoc.address); + } else { + StrAllocCat(newdoc.title, " - HEAD"); } } } diff --git a/src/LYReadCFG.c b/src/LYReadCFG.c index 18f0c1d5..60f80410 100644 --- a/src/LYReadCFG.c +++ b/src/LYReadCFG.c @@ -987,6 +987,11 @@ PUBLIC void read_cfg ARGS1( } else if (!strncasecomp(buffer, "NO_FILE_REFERER:", 16)) { no_filereferer = is_true(buffer+16); +#ifndef VMS + } else if (!strncasecomp(buffer, "NO_FORCED_CORE_DUMP:", 20)) { + LYNoCore = is_true(buffer+20); +#endif /* !VMS */ + } else if (!strncasecomp(buffer, "NO_FROM_HEADER:", 15)) { LYNoFromHeader = is_true(buffer+15); diff --git a/src/LYShowInfo.c b/src/LYShowInfo.c index 7c17df72..156e4baf 100644 --- a/src/LYShowInfo.c +++ b/src/LYShowInfo.c @@ -295,7 +295,7 @@ PUBLIC int showinfo ARGS4( fprintf(fp0, "<dt> <em>mode:</em> %s%s%s\n", (lynx_mode == FORMS_LYNX_MODE ? "forms mode" : "normal"), - ((lynx_mode == FORMS_LYNX_MODE && doc->safe) ? ", safe" : ""), + (doc->safe ? ", safe" : ""), (doc->internal_link ? ", internal link" : "") ); diff --git a/userdefs.h b/userdefs.h index 72fa9227..3ebd912a 100644 --- a/userdefs.h +++ b/userdefs.h @@ -374,6 +374,16 @@ */ #define LIST_FORMAT " %p %4l %-8.8o %-8.8g %7s %-12.12d %a" +/* + * If NO_FORCED_CORE_DUMP is set to TRUE, Lynx will not force + * core dumps via abort() calls on fatal errors or assert() + * calls to check potentially fatal errors. The default defined + * here can be changed in lynx.cfg, and the compilation or + * configuration default can be toggled via the -core command + * line switch. + */ +#define NO_FORCED_CORE_DUMP FALSE + #endif /* VMS OR UNIX */ /************************************************************* @@ -1250,7 +1260,7 @@ * the version definition with the Project Version on checkout. Just * ignore it. - kw */ /* $Format: "#define LYNX_VERSION \"$ProjectVersion$\""$ */ -#define LYNX_VERSION "2.7.1ac-0.45" +#define LYNX_VERSION "2.7.1ac-0.46" /**************************************************************** * The LYMessages_en.h header defines default, English strings |