$FreeBSD$ 2002-05-21 Akinori MUSHA * cvsweb.cgi: Read configuration files with `do' instead of `require' to unbreak mod_perl support. [Submitted by: "Khachaturov, Vassilii" ] * cvsweb.cgi: Cosmetic fixes. Use and/or rather than &&/|| to connect sentences. * cvsweb.cgi: Exit with -1 if exec() fails. 2002-05-11 Akinori MUSHA * cvsweb.cgi: There are no spaces at EOL in modern rlog output. [Submitted by: "Khachaturov, Vassilii" ] 2002-05-08 Motoyuki Konno * cvsweb.cgi: Fix a cross-site scripting vulnerablity. 2002-05-07 Akinori MUSHA * cvsweb.conf-netbsd, cvsweb.conf-openbsd: NetBSD and OpenBSD don't use $CVSHeader$ but $Id: ChangeLog,v 3.32 2002/05/21 15:49:21 knu Exp $. [Submitted by: motoyuki@FreeBSD.org] * cvsweb.cgi: Work around a bug of cvs -p; expand symlinks in a cvsroot. [Submitted by: motoyuki@FreeBSD.org] * cvsweb.cgi: Fix parsing in 'tags' state. [Submitted by: "Khachaturov, Vassilii" ] 2002-04-11 Akinori MUSHA * cvsweb.cgi, cvsweb.conf: Perform an HTML cleanup. [Submitted by: Ville Skyttä ] * cvsweb.cgi: Call this version FreeBSD-cvsweb 2.0.1. 2002-04-05 Akinori MUSHA * INSTALL: Somehow description configuration doesn't work if you put trailing /'s in module names, so fix the document for the moment. [Submitted by: Mario Sergio Fujikawa Ferreira ] 2002-02-06 Akinori MUSHA * cvsweb.cgi: Use TMPDIR instead of the hardcoded /tmp. * cvsweb.cgi: Never pass 'MAIN' to cvs(1). 'HEAD' is the valid tag. 2001-11-08 Akinori MUSHA * cvsweb.conf-freebsd: Allow downloading a tarball of a project directory as well as a port directory. * cvsweb.cgi: Call this version FreeBSD-cvsweb 2.0.0. 2001-10-11 Akinori MUSHA * cvsweb.cgi, cvsweb.conf: Introduce optional output filter. [Requested by: Shigeyuki Fukushima ] * ChangeLog, README.knu, TODO.knu, cvsweb.cgi, cvsweb.conf, cvsweb.conf-freebsd, cvsweb.conf-netbsd, cvsweb.conf-openbsd, cvsweb.conf-ruby: Add FreeBSD tags and adjust my vendor tags. 2001-10-08 Akinori MUSHA * cvsweb.cgi: Fix a bug where it produces wrong download links when cvsweb.cgi is placed right under the document root. [Reported by: Arnaud on EFnet] 2001-08-01 Akinori MUSHA * cvsweb.cgi: perltidy -i=8 -t -pt=2 -bt=2 -sbt=2 -ci=4 -noll -sfs -nasc -ce * cvsweb.conf, cvsweb.conf-freebsd, cvsweb.conf-netbsd, cvsweb.conf-openbsd, cvsweb.conf-ruby: perltidy -i=8 -t -pt=2 -bt=2 -sbt=2 -ci=4 -noll -sfs -nasc -ce * cvsweb.cgi, cvsweb.conf: MFZ 1.111, but introduce @ForbiddenFiles instead of @DissallowRead to forbid user to cvs checkout/diff/annotate specified files. * cvsweb.cgi: MFZ 1.112: A couple of trivial fixes. 2001-07-26 Akinori MUSHA * cvsweb.cgi: Chdir to TMPDIR so it works even when the cgi-bin directory is unreadable. [Submitted by: Dmitry Morozovsky ] * cvsweb.cgi: Let the module/path box appear and work properly when there is only one repository. [Submitted by: Dmitry Morozovsky ] 2001-07-06 Akinori MUSHA * cvsweb.cgi, cvsweb.conf: Support "zip" as an additional archiver. * cvsweb.cgi: MFZ 1.110. But the bug had already been fixed in knu-cvsweb. 2001-06-22 Akinori MUSHA * cvsweb.cgi: Get rid of a potential "uninitialized variable usage" warning. [Submitted by: Bill Fenner ] 2001-06-08 Akinori MUSHA * cvsweb.cgi: MFZ 1.109. Preset the global variable the stores the per file cvs info to avoid accumulating cruft under modperl. 2001-06-05 Akinori MUSHA * cvsweb.cgi: Change "Previous Directory" to "Parent Directory". * cvsweb.cgi: Properly HTML-quote function names in the colored diff view. [Submitted by: Ian Whalley ] 2001-05-18 Akinori MUSHA * cvsweb.cgi: Avoid localizing @_ to make threaded Perl happy. [FreeBSD PR: 26851] [Submitted by: David Wolfskill ] 2001-05-10 Akinori MUSHA * cvsweb.cgi: Correct a link in the navigation header. [Submitted by: Tanaka Akira ] 2001-05-08 Akinori MUSHA * cvsweb.cgi: Fix a typo and get diff -F RE to really work. 2001-04-25 Akinori MUSHA * cvsweb.conf: Introduce the new knu-cvsweb site: http://www.idaemons.org/~knu/cvsweb/ * ChangeLog: Update and reformat. 2001-03-28 02:20 knu * cvsweb.cgi: Re-fix the bogus fix for the previous colons-in-a-filename problem. [Noted by: Yar Tikhiy ] 2001-03-28 01:39 knu * cvsweb.cgi: Conform cvsweb-markup pages to HTML 4.0 Transitional. [Submitted by: Will Andrews ] [Validated by: http://validator.w3.org/] 2001-03-23 04:46 knu * cvsweb.cgi: MFZ: 1.106. Do closedir() properly. 2001-03-23 04:36 knu * ChangeLog: Add a log missed on 2001-02-01. 2001-03-23 04:29 knu * ChangeLog: Encode colons in file names properly. [FreeBSD PR: 25963] [Submitted by: Marc van Woerkom <3d@FreeBSD.org>] 2001-03-23 04:27 knu * cvsweb.cgi: Encode colons in file names properly. [FreeBSD PR: 25963] [Submitted by: Marc van Woerkom <3d@FreeBSD.org>] 2001-02-02 06:39 knu * cvsweb.cgi: Use a fixed-width font in the colored diff view. [Requested by: Julian Elischer ] 2001-01-29 12:54 knu * cvsweb.cgi: Remove an obsolete notice: CVSWEB_CONFIG is disused. One leftover substitution: "cvs" -> $CMD{cvs} 2001-01-14 18:04 knu * cvsweb.conf: s/at here/here/ 2001-01-13 16:48 knu * ChangeLog, README.knu, TODO.knu, cvsweb.cgi, cvsweb.conf, cvsweb.conf-freebsd, cvsweb.conf-netbsd, cvsweb.conf-openbsd, cvsweb.conf-ruby: Add some knu-cvsweb info. * cvsweb.cgi: MFZ: 1.105. * README.knu, TODO.knu, cvsweb.cgi, cvsweb.conf, cvsweb.conf-freebsd, cvsweb.conf-netbsd, cvsweb.conf-openbsd, cvsweb.conf-ruby: Change CVS tags: "Id" -> "Idaemons". 2001-01-12 16:48 knu * ChangeLog: Add ChangeLog. 2001-01-12 08:42 knu * cvsweb.cgi: Clean up URI parser. * cvsweb.cgi: Workaround thttpd's buggy SCRIPT_NAME / PATH_INFO parser. [Requested by: Makoto MATSUSHITA ] * cvsweb.conf-freebsd, cvsweb.conf-netbsd, cvsweb.conf-openbsd: Allow downloading a single port/pkgsrc in tarball by default. 2001-01-12 03:17 knu * cvsweb.cgi, cvsweb.conf: D'oh, forgot to chomp the result of `uname`. [Submitted by: Christian Weisgerber ] 2001-01-11 11:00 knu * cvsweb.cgi, cvsweb.conf: Oops. 2001-01-11 10:52 knu * cvsweb.cgi, cvsweb.conf, cvsweb.conf-freebsd, cvsweb.conf-netbsd, cvsweb.conf-openbsd: Run "tar cf - ... | gzip -c" rather than "tar zcf - ..." to avoid tar(1)'s automatic padding of nulls to align with the block size, which is just garbage for a receiver. [Noted by: Katsuyuki Komatsu ] * cvsweb.cgi: Have $uname variable to hold the OS implementation name. * cvsweb.conf: Move %CMD's initialization part to the beginning of cvsweb.conf so it can use $uname and configure properly for the OS. * cvsweb.conf, cvsweb.conf-freebsd, cvsweb.conf-netbsd, cvsweb.conf-openbsd: Wrap FreeBSD or OpenBSD specific features in conditional blocks using $uname. * cvsweb.cgi: Fix some open() calls in good manners. 2001-01-05 09:00 knu * cvsweb.cgi: Delete $ENV{PATH} before everything. (against -T paranoia) It's nothing to worry since cvsweb.cgi always invokes executables by full paths, though. * cvsweb.cgi: Correct the error messages regarding $command_path. 2001-01-03 17:57 knu * cvsweb.cgi, cvsweb.conf: Don't rely on perl's $ENV{PATH} search. Search commands for itself and specify them by full paths. 2001-01-03 11:55 knu * README.knu, cvsweb.cgi: Don't forget to add $query to the URL when redirecting. Now module alias redirection and Attic redirection work with all sticky variables preserved. (Previously they didn't work against a non-default cvsroot) * cvsweb.cgi: Put a text field on each directory view that allows user to jump directly to an arbitrary module, which can be specified either by a full module/file path or by a module alias. 2001-01-03 08:34 knu * README.knu, cvsweb.cgi, cvsweb.conf: List CVS repository entries in the specified order, not alphabetical. * README.knu, cvsweb.cgi, cvsweb.conf: Now /usr/local/etc/cvsweb/ is the default directory for configuration files. 2001-01-02 21:23 knu * cvsweb.cgi, cvsweb.conf: Get cvsweb.cgi to run under perl -T. * cvsweb.cgi: Change perl command line: Change perl5 to perl and just declare `require 5.000'. Remove -s option that was intended for debug use. Add -T option to perform security checks. * cvsweb.cgi: Change search paths for cvsweb.conf: Don't adopt the value of $ENV{CVSWEB_CONFIG} that was intended for debug use. Search the same directory that cvsweb.cgi is in instead of the current directory. * cvsweb.cgi: Invoking `last' in `do { ... } while (0);' is wrong. Change the loop to `while (1) { ... last; }'. * cvsweb.cgi, cvsweb.conf: Don't do chdir. Instead, use tar(1)'s -C option and cvs(1) export's -d option. * cvsweb.cgi: Explicitly define $ENV{PATH}. * cvsweb.conf: Turn $allow_compress off by default so user can debug cvsweb.cgi easily. 2001-01-02 08:15 knu * cvsweb.cgi: Add $prkeyword variable to allow user to use (e.g.) `Bug' instead of `PR' as the bug report identifier. * cvsweb.conf, cvsweb.conf-freebsd, cvsweb.conf-netbsd, cvsweb.conf-openbsd, cvsweb.conf-ruby: Add cvsweb.conf-{freebsd,openbsd,netbsd,ruby} files, and move rather FreeBSD specific configuration values to cvsweb.conf-freebsd. * cvsweb.conf: Add a %funcline_regexp entry for Ruby. (*.rb) 2001-01-02 06:24 knu * cvsweb.conf: Add `pending' to the list of PR categories. 2001-01-02 05:57 knu * cvsweb.cgi: Reduce 'Use of uninitialized value' warnings. [Noticed by: Wolfram Schneider ] 2000-12-30 08:56 knu * cvsweb.cgi: Oops, I forgot "cvs export" always need a -r/-D. Specify -rHEAD when no tag/branch is defaulted. 2000-12-30 08:35 knu * cvsweb.cgi, cvsweb.conf: Add $preformat_in_markup variable and turn it off by default. This option should be turned off when you have files in the repository that are in a multibyte encoding which uses HTML special characters ([<>&"]) as part of a multi-byte character. (such as iso-2022-jp, ShiftJIS, etc.) Otherwise those files will get screwed up in markup. * cvsweb.conf: Fix for those systems which tar(1)'s are not GNU tar(1): Add @tar_options variable and make the --ignore-failed-read flag optional. Use cvs export instead of cvs checkout, so the --exclude 'CVS' flag isn't needed. [Noticed by: Christian Weisgerber ] * cvsweb.conf: Fix for those systems which cvs(1)'s don't support -R option (Actually, only FreeBSD's and OpenBSD's cvs(1) support it): Add @cvs_options and make the -R flag optional. 2000-12-29 22:29 knu * cvsweb.cgi: Add charset to all text/* output, including diffs. [Submitted by: Alexey Zelkin ] 2000-12-29 18:12 knu * cvsweb.cgi: The use of `do "file"' is obsolete. Use require instead. 2000-12-29 17:47 knu * cvsweb.cgi: Add the prototype declaration for hrefquote(). 2000-12-29 03:17 knu * README.knu: Mention automatic tarball generation feature. 2000-12-29 03:16 knu * TODO.knu: Directory sorting was fixed at the same time that "show only tags" feature was fixed. 2000-12-29 03:07 knu * cvsweb.cgi: Specify --ignore-failed-read on invoking tar(1). 2000-12-29 02:49 knu * cvsweb.cgi, cvsweb.conf: Add "automatic tarball generation" feature. You can check out a whole directory in gzipped tarball. [Obtained from: Debian package: cvsweb_1.93-1] * cvsweb.cgi: Allow space characters in file names. (not tested yet) 2000-12-18 13:25 knu * TODO.knu, cvsweb.cgi: Revert MFZ: 1.103 -> 1.104 which introduced a bogus bug. As noone seems to need to use 0.X revisions, I'd just drop it. This should fix the "show only tags" feature. 2000-12-18 12:47 knu * cvsweb.cgi: Silence the warnings. 2000-12-18 11:48 knu * cvsweb.cgi: Add meta tags to prevent WWW robots from crawling over the cvsweb. [Submitted by: Wolfram Schneider ] 2000-12-08 00:11 knu * cvsweb.cgi: Silence `Use of uninitialized value' warnings. (again) 2000-12-07 03:20 knu * TODO.knu: Mention "show only tags" feature breakage. 2000-12-07 03:19 knu * cvsweb.cgi: Emit a rather better error message when a user requests to check out a deleted file. [Pointed out by: Chris Faulhaber ] * cvsweb.cgi: Cut an out-of-date error message. (adding -R and -l options to the cvs command line should have obsoleted it) * cvsweb.cgi: Optimize, clean up. 2000-11-23 04:26 knu * cvsweb.cgi, cvsweb.conf: Add a new variable $charset to specify the charset for HTML output. [Submitted by: SADA Kenji ] 2000-11-05 00:32 knu * cvsweb.cgi: Silence `Use of uninitialized value' warnings. 2000-11-03 02:36 knu * README.knu: Mention cat.1 is hyperlinked as well as cat(1). 2000-11-03 02:34 knu * cvsweb.cgi: MFZ: 1.104: ("Allow for 0.X versions. CVS accepts such version numbers in import -b even if not strictly legal...") 2000-11-03 02:33 knu * cvsweb.conf: Set the default diff type to unidiff for all browsers, not only text-based ones. 2000-10-21 00:46 knu * cvsweb.cgi: Always give options to click on a non-colored diff _and_ a colored diff. [Requested by: SO many people :>] 2000-10-20 22:59 knu * TODO.knu: Hyperlinking was properly fixed. 2000-10-20 21:28 knu * TODO.knu, cvsweb.cgi: Fix htmllify so that ... won't nest. :) * cvsweb.cgi: Do not show additional "(colored)" diff links when long colored diff is the default. * cvsweb.cgi: Reduce the use of `.' operator that is known to be expensive. Fix indent, clean up. 2000-10-11 06:14 knu * cvsweb.cgi: Introduce a new function: htmlquote(). * cvsweb.cgi: Clean up hyperlink tags. * cvsweb.cgi: Use &link() instead of .... * cvsweb.cgi: Do urlencode() or htmlquote() as appropriate. 2000-10-11 03:48 knu * cvsweb.cgi: - Recognize "links" as another text mode browser. - Fix the revision links in the annotation view of a file. [Submitted by: Christian Weisgerber ] 2000-10-07 16:44 knu * cvsweb.cgi: Fix &link() not to put a redundant trailing LF. * cvsweb.cgi: Improve manpage linking to support "foo.1" as well as "foo(1)". 2000-10-07 16:35 knu * cvsweb.cgi: Fix screwups in the last commit. * cvsweb.cgi: Parse rlog's output explicitly. Recognize 77 ='s as a file separator, and 28 -'s as revision separator. [Submitted by: Makoto MATSUSHITA ] 2000-10-03 04:07 knu * cvsweb.cgi: Cleanup $barequery generation. Undefine "my" variables when they are done. 2000-10-01 05:10 knu * cvsweb.cgi: Fix annotation bugs. * cvsweb.cgi: Do not pass gzip'ed directives to cvs. (it never worked, sigh) * cvsweb.cgi: Fix mis-spacing. Now it should look pretty well. 2000-10-01 03:48 knu * INSTALL, cvsweb.cgi: Specify -R (Read-only mode) and -l (Do not log in history) flags when doing a cvs annotation so that one does not need to turn on the write permission on CVSROOT/history for the user which httpd runs cvsweb.cgi as. (typically "nobody") 2000-10-01 03:27 knu * cvsweb.cgi: Fix the comment to make how to set $config clear. [Inspired by: "Dan Langille" ] 2000-09-29 03:06 knu * cvsweb.cgi: Trap errors in the configuration files on loading and show error messages. (Previously it failed silently) [Submitted by: Sean Scarff ] 2000-09-22 20:13 knu * cvsweb.cgi, cvsweb.conf: Remove $backcolor and introduce $body_tag_for_src to allow to set the foreground color. [Noticed by: dcs@FreeBSD.org] 2000-09-22 00:30 knu * cvsweb.cgi: MFZ: 1.103. 2000-09-20 05:07 knu * cvsweb.cgi: Follow tab-width/tabstop/ts directives when expanding tabs into spaces. Currently, only first 10 lines are scanned for the directives. 2000-09-20 04:57 knu * cvsweb.cgi: MFZ: 1.101. * cvsweb.cgi: Fix a few bugs under mod_perl. * cvsweb.cgi: Use the Compress::Zlib module if available. * cvsweb.cgi: Embed PDF files inside the cvs markup view. 2000-09-20 03:35 knu * cvsweb.cgi: s/ts/tabstop/ that I forgot to substitute in the last update. 2000-09-12 02:11 knu * cvsweb.cgi: Allow one to set the default diff type. [Inspired by: Makoto MATSUSHITA ] 2000-09-10 20:54 knu * cvsweb.cgi: Clean up spacedHtmlText(). 2000-09-05 00:55 knu * README.knu: Mention revision numbers hyperlinking in annotation. 2000-09-05 00:53 knu * cvsweb.cgi: Get the revision numbers in annotation available as hyperlinks. [Requested by: Josef Karthauser ] 2000-09-04 23:50 knu * cvsweb.cgi: Fix previously introduced incorrect fix. s/\s+\n$//; --> s/\s+$/\n/; [FreeBSD PR: misc/20989] [Submitted by: Tony Finch ] 2000-09-04 03:25 knu * README.knu, cvsweb.cgi, cvsweb.conf: Introduce manpage hyperlinking. 2000-09-04 02:33 knu * cvsweb.cgi: Get all mail URLs and addresses as hyperlinks, not just the first one. (s/// --> s///g) 2000-08-25 18:01 knu * cvsweb.cgi: Get side-by-side diff working when $showfunc is true, noting that `-p' option of diff(1) can only be used with context and unified diffs. [Submitted by: Roger Hardiman ] * cvsweb.cgi: Allow to specify CVS tags or branch names (including `.' and `HEAD') on cvs checkout. (e.g. http://foo/cvsweb.cgi/bar/dood.c?rev=. http://foo/cvsweb.cgi/bar/dood.c?rev=RELENG_4 http://foo/cvsweb.cgi/bar/dood.c?rev=RELENG_4_1_0_RELEASE) Not for diff currently, as rcsdiff does not grok CVS tags. [Inspired by: Folks at the FreeBSD cvs-all list.] * cvsweb.cgi: Specify `-R' (turn on read-only repository mode) and `-l' (do not log in the command history) on cvs checkout, so that one does not need a write permission with the repository. 2000-08-25 00:53 knu * cvsweb.cgi: MFZ 1.94. 2000-08-16 05:39 knu * cvsweb.conf: Turn evil $hr_ignwhite off. 2000-08-15 17:35 knu * cvsweb.cgi: Fix cvsweb.cgi's hidden bug: s/\s+$//; --> s/\s+\n$//; Whitespace cleanup. 2000-08-15 15:54 knu * cvsweb.cgi: Declare prototypes and shut up warnings. * cvsweb.cgi: Remove redundant white space at the end of lines. 2000-08-14 03:58 knu * cvsweb.cgi: Use cvsweb.conf* in the current directory when they don't exist in /usr/local/etc/. 2000-08-01 21:42 knu * cvsweb.cgi: #!/usr/bin/perl -> #!/usr/bin/perl5 2000-07-29 21:41 knu * cvsweb.cgi: Resurrect $Revision: 3.32 $ tags of Zeller's version. 2000-07-29 21:10 knu * cvsweb.cgi: Change $prcgi to include `?pr=' part for such as NetBSD. 2000-07-29 21:04 knu * cvsweb.conf: Change $prcgi to include `?pr=' part for such as NetBSD. 2000-07-29 20:16 knu * README.knu: Add an RCS tag. 2000-07-29 20:07 knu * README.knu: Add README.knu to document the enhancements over Zeller's version. 2000-07-29 18:24 knu * cvsweb.cgi: Another STDERR bit. (I only did 1/2 previously..) 2000-07-29 06:38 knu * cvsweb.cgi: D'oh. Correct @stickyvars. 2000-07-29 04:38 knu * cvsweb.cgi: Output diffs in unidiff format for text-based browsers. (by default) * cvsweb.conf: Convert freebsd.org to FreeBSD.org. 2000-07-29 02:24 knu * cvsweb.cgi: Merge From Zeller: 1.93 * cvsweb.cgi: Use CR LF in HTTP header. * cvsweb.cgi: Redirect STDERR to /dev/null before executing rlog instead of closing it. 2000-07-28 01:16 knu * cvsweb.cgi, cvsweb.conf: Clean up. * cvsweb.cgi, cvsweb.conf: Replace $hr_funout with $showfunc and always show function names if defined. (It has been only for human readable format until this change) 2000-07-20 20:52 knu * cvsweb.cgi: Allow to use `!!CVSROOTdescr!!' in $long_intro to embed per CVSROOT description. 2000-07-20 20:14 knu * cvsweb.conf: Make $hr_funout default. 2000-07-20 20:06 knu * cvsweb.conf: Display my mail address instead of Zeller's. 2000-07-20 06:59 knu * INSTALL, README, TODO, cvsweb.cgi, cvsweb.conf, icons/back.gif, icons/dir.gif, icons/miniback.gif, icons/minidir.gif, icons/minitext.gif, icons/text.gif: Start point.