CVS update: /ccvs/doc/
[email protected] 14 Apr 2005 15:43:15 -0000
| Newsgroups | gmane.comp.version-control.cvs.cvs |
|---|---|
| Message-ID | <[email protected]> |
User: dprice Date: 05/04/14 08:43:15 Modified: /ccvs/doc/ ChangeLog, Makefile.am, Makefile.in, cvs.texinfo, stamp-vti, version.texi Log: Merge changes from 1.11.x. File Changes: Directory: /ccvs/doc/ ===================== File [changed]: ChangeLog Url: https://ccvs.cvshome.org/source/browse/ccvs/doc/ChangeLog?r1=1.899&r2=1.900 Delta lines: +15 -0 -------------------- --- ChangeLog 7 Apr 2005 16:18:39 -0000 1.899 +++ ChangeLog 14 Apr 2005 15:43:12 -0000 1.900 @@ -1,3 +1,13 @@ +2005-04-14 Derek Price <[email protected]> + + * cvs.texinfo (Administrative files): Rename "script hooks" node as + "Trigger Scripts". + (script hooks): Rename as... + (Trigger Scripts): ...this and add some clarifying text. + (Trigger Script Security): New node. + (-many *info nodes-): Rewrite to reference to Trigger Script node. + Add and/or rewrite index entries and cross-references. + 2005-04-07 Derek Price <[email protected]> * Makefile.am: Make $(srcdir)/cvs.info, not cvs.info, dependent on @@ -12,6 +22,11 @@ * Makefile.am (DISTCLEANFILES): Move getdate-cvs.tmp to... (MOSTLYCLEANFILES): ...here. +2005-04-06 Derek Price <[email protected]> + + * Makefile.am (cvs.1): Create intermediate file so that the original + isn't emptied on error. + 2005-03-29 Mark D. Baushke <[email protected]> * mdate-sh, texinfo.tex: Update from GNULIB. File [changed]: Makefile.am Url: https://ccvs.cvshome.org/source/browse/ccvs/doc/Makefile.am?r1=1.32&r2=1.33 Delta lines: +3 -1 ------------------- --- Makefile.am 7 Apr 2005 16:18:39 -0000 1.32 +++ Makefile.am 14 Apr 2005 15:43:12 -0000 1.33 @@ -88,7 +88,9 @@ # Targets to build a man page from cvs.texinfo. cvs.1: @MAINTAINER_MODE_TRUE@ mkman cvs.man.header cvs.texinfo cvs.man.footer $(PERL) ./mkman $(srcdir)/cvs.man.header $(srcdir)/cvs.texinfo \ - $(srcdir)/cvs.man.footer >$(srcdir)/$@ + $(srcdir)/cvs.man.footer >cvs.tmp + cp cvs.tmp $(srcdir)/$@ + -@rm -f cvs.tmp MAINTAINERCLEANFILES += $(srcdir)/cvs.1 cvs.dvi cvs.html $(srcdir)/cvs.info cvs.pdf cvs.ps cvs.txt: getdate-cvs.texi File [changed]: Makefile.in Url: https://ccvs.cvshome.org/source/browse/ccvs/doc/Makefile.in?r1=1.112&r2=1.113 Delta lines: +3 -1 ------------------- --- Makefile.in 7 Apr 2005 16:18:39 -0000 1.112 +++ Makefile.in 14 Apr 2005 15:43:12 -0000 1.113 @@ -930,7 +930,9 @@ # Targets to build a man page from cvs.texinfo. cvs.1: @MAINTAINER_MODE_TRUE@ mkman cvs.man.header cvs.texinfo cvs.man.footer $(PERL) ./mkman $(srcdir)/cvs.man.header $(srcdir)/cvs.texinfo \ - $(srcdir)/cvs.man.footer >$(srcdir)/$@ + $(srcdir)/cvs.man.footer >cvs.tmp + cp cvs.tmp $(srcdir)/$@ + -@rm -f cvs.tmp cvs.dvi cvs.html $(srcdir)/cvs.info cvs.pdf cvs.ps cvs.txt: getdate-cvs.texi getdate-cvs.texi: stamp-gdt File [changed]: cvs.texinfo Url: https://ccvs.cvshome.org/source/browse/ccvs/doc/cvs.texinfo?r1=1.637&r2=1.638 Delta lines: +71 -30 --------------------- --- cvs.texinfo 25 Feb 2005 17:54:32 -0000 1.637 +++ cvs.texinfo 14 Apr 2005 15:43:12 -0000 1.638 @@ -3086,7 +3086,7 @@ Primary servers will not automatically push changes to secondaries. This must be configured via @file{loginfo}, @file{postadmin}, @file{posttag}, & -@file{postwatch} scripts (@pxref{script hooks}) like the following: +@file{postwatch} scripts (@pxref{Trigger Scripts}) like the following: @example ALL rsync -gopr -essh ./ secondary:/cvsroot/%p & @@ -12500,7 +12500,7 @@ @menu * modules:: Defining modules * Wrappers:: Specify binary-ness based on file name -* script hooks:: Launch scripts in response to server events +* Trigger Scripts:: Launch scripts in response to server events * rcsinfo:: Templates for the log messages * cvsignore:: Ignoring files via cvsignore * checkoutlist:: Adding your own administrative files @@ -12995,8 +12995,11 @@ @c (probably a CVS bug, although I haven't thought it out). @c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@node script hooks -@appendixsec The scripting hooks +@node Trigger Scripts +@appendixsec The Trigger Scripts +@cindex info files +@cindex trigger scripts +@cindex script hooks @c FIXME @c Somewhere there needs to be a more "how-to" guide to writing these. @@ -13005,12 +13008,20 @@ @c should probably remain outside the scope of this document, but at least @c _that_ much could be referenced, perhaps with links to other sources. -Script hooks are used to launch external programs at various points during +Several of the administrative files support triggers, or the launching external +scripts or programs at specific times before or after particular events, during the execution of @sc{cvs} commands. These hooks can be used to prevent certain actions, log them, and/or maintain anything else you deem practical. +All the trigger scripts are launched in a copy of the user sandbox being +committed, on the server, in client-server mode. In local mode, the scripts +are actually launched directly from the user sandbox directory being committed. +For most intents and purposes, the same scripts can be run in both locations +without alteration. + @menu * syntax:: The common syntax +* Trigger Script Security:: Trigger script security * commit files:: The commit support files (commitinfo, verifymsg, loginfo) @@ -13032,9 +13043,10 @@ @c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @node syntax @appendixsubsec The common syntax -@cindex Info files (syntax) -@cindex Syntax of info files -@cindex Common syntax of info files +@cindex info files, common syntax +@cindex script hooks, common syntax +@cindex trigger script hooks, common syntax +@cindex syntax of trigger script hooks @c FIXME: having this so totally separate from the @c Variables node is rather bogus. @@ -13057,7 +13069,7 @@ @samp{DEFAULT} keywords, this is a basic regular expression in the syntax used by GNU emacs. See the descriptions of the individual script hooks for information on whether the @samp{ALL} keyword is supported -(@pxref{script hooks}). +(@pxref{Trigger Scripts}). @c FIXME: What we probably should be saying is "POSIX Basic @c Regular Expression with the following extensions (`\(' @c `\|' '+' etc)" @@ -13090,11 +13102,11 @@ used for the hooks which support the @samp{ALL} keyword. The rest of the line is used as a file name or command-line template as appropriate. See the descriptions of the individual script hooks for information on whether the -@samp{ALL} keyword is supported (@pxref{script hooks}). +@samp{ALL} keyword is supported (@pxref{Trigger Scripts}). @cindex format strings @cindex format strings, common syntax -@cindex Info files, common syntax, format strings +@cindex info files, common syntax, format strings @cindex Common syntax of info files, format strings @noindent @emph{Note: The following information on format strings is valid @@ -13165,7 +13177,7 @@ Other format strings are file specific. See the docs on the particular script hooks for more information -(@pxref{script hooks}). +(@pxref{Trigger Scripts}). As an example, the following line in a @file{loginfo} file would match only the directory @file{module} and any subdirectories of @@ -13192,6 +13204,33 @@ Log Message: A log message. @end example + +@c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +@node Trigger Script Security +@appendixsubsec Security and the Trigger Scripts +@cindex info files, security +@cindex script hooks, security +@cindex trigger scripts, security + +Security is a huge subject, and implementing a secure system is a non-trivial +task. This section will barely touch on all the issues involved, but it is +well to note that, as with any script you will be allowing an untrusted +user to run on your server, there are measures you can take to help prevent +your trigger scripts from being abused. + +For instance, since the CVS trigger scripts all run in a copy of the user's +sandbox on the server, a naively coded Perl trigger script which attempts to +use a Perl module that is not installed on the system can be hijacked by any +user with commit access who is checking in a file with the correct name. Other +scripting languages may be vulnerable to similar hacks. + +One way to make a script more secure, at least with Perl, is to use scripts +which invoke the @code{-T}, or "taint-check" switch on their @code{#!} line. +In the most basic terms, this causes Perl to avoid running code that may have +come from an external source. Please run the @code{perldoc perlsec} command +for more on Perl security. Again, other languages may implement other security +verification hooks which look more or less like Perl's "taint-check" mechanism. + @c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . @node commit files @appendixsubsec The commit support files @@ -13240,7 +13279,7 @@ @c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . @node Updating Commit Files @appendixsubsubsec Updating legacy repositories to stop using deprecated command line template formats -@cindex Info files (syntax), updating legacy repositories +@cindex info files, common syntax, updating legacy repositories @cindex Syntax of info files, updating legacy repositories @cindex Common syntax of info files, updating legacy repositories New repositories are created set to use the new format strings by default, so @@ -13338,8 +13377,12 @@ @cindex @file{commitinfo} @cindex Commits, precommit verification of @cindex commitinfo (admin file) -@cindex Info files, commitinfo -@cindex Info files, precommit verification of commits +@cindex info files, commitinfo +@cindex script hooks, commitinfo +@cindex trigger scripts, commitinfo +@cindex info files, precommit verification of commits +@cindex script hooks, precommit verification of commits +@cindex trigger scripts, precommit verification of commits The @file{commitinfo} file defines programs to execute whenever @samp{cvs commit} is about to execute. These @@ -13350,8 +13393,8 @@ to your site's standards for coding practice. The @file{commitinfo} file has the standard form for script hooks -(@pxref{script hooks}), where each line is a regular expression followed by a -command to execute. It supports only the DEFAULT keywords. +(@pxref{Trigger Scripts}), where each line is a regular expression followed by +a command to execute. It supports only the DEFAULT keywords. @cindex format strings, commitinfo admin file In addition to the common format strings (@pxref{syntax}), @@ -13434,8 +13477,8 @@ specify a log message template (@pxref{rcsinfo}). The @file{verifymsg} file has the standard form for script hooks -(@pxref{script hooks}), where each line is a regular expression followed by a -command to execute. It supports only the DEFAULT keywords. +(@pxref{Trigger Scripts}), where each line is a regular expression followed by +a command to execute. It supports only the DEFAULT keywords. @cindex format strings, verifymsg admin file In addition to the common format strings (@pxref{syntax}), @@ -13595,8 +13638,8 @@ command. The @file{loginfo} file has the standard form for script hooks -(@pxref{script hooks}), where each line is a regular expression followed by a -command to execute. It supports the ALL and DEFAULT keywords. +(@pxref{Trigger Scripts}), where each line is a regular expression followed by +a command to execute. It supports the ALL and DEFAULT keywords. Any specified scripts are called: @@ -13761,7 +13804,7 @@ The @file{postadmin} file defines programs to execute after an @code{admin} command modifies files. The @file{postadmin} file has the standard form -for script hooks (@pxref{script hooks}), where each line is a regular +for script hooks (@pxref{Trigger Scripts}), where each line is a regular expression followed by a command to execute. It supports the ALL and DEFAULT keywords. @@ -13781,7 +13824,7 @@ The @file{taginfo} file defines programs to execute when someone executes a @code{tag} or @code{rtag} command. The @file{taginfo} file has the standard form -for script hooks (@pxref{script hooks}), where each line +for script hooks (@pxref{Trigger Scripts}), where each line is a regular expression followed by a command to execute. It supports the ALL and DEFAULT keywords. @@ -13854,7 +13897,7 @@ The @file{posttag} file defines programs to execute after a @code{tag} or @code{rtag} command modifies files. The @file{posttag} file has the standard -form for script hooks (@pxref{script hooks}), where each line is a regular +form for script hooks (@pxref{Trigger Scripts}), where each line is a regular expression followed by a command to execute. It supports the ALL and DEFAULT keywords. @@ -13875,8 +13918,8 @@ instance, @code{watch}, @code{edit}, @code{unedit}, or @code{commit}) modifies any @file{CVS/fileattr} file in the repository (@pxref{Watches}). The @file{postwatch} file has the standard form for script hooks -(@pxref{script hooks}), where each line is a regular expression followed by a -command to execute. It supports the ALL and DEFAULT keywords. +(@pxref{Trigger Scripts}), where each line is a regular expression followed by +a command to execute. It supports the ALL and DEFAULT keywords. @cindex format strings, postwatch admin file The @file{postwatch} file supports no format strings other than the common @@ -13907,7 +13950,7 @@ the client. The @file{preproxy} file has the standard form -for script hooks (@pxref{script hooks}), where each line is a regular +for script hooks (@pxref{Trigger Scripts}), where each line is a regular expression followed by a command to execute. It supports the ALL and DEFAULT keywords. @@ -13945,7 +13988,7 @@ @file{postproxy} scripts are called once per directory. The @file{postproxy} file has the standard form -for script hooks (@pxref{script hooks}), where each line is a regular +for script hooks (@pxref{Trigger Scripts}), where each line is a regular expression followed by a command to execute. It supports the ALL and DEFAULT keywords. @@ -14020,8 +14063,6 @@ client may be used and the @file{CVS/Template} will be updated from the server. - - @c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @node cvsignore @appendixsec Ignoring files via cvsignore File [changed]: stamp-vti Url: https://ccvs.cvshome.org/source/browse/ccvs/doc/stamp-vti?r1=1.139&r2=1.140 Delta lines: +2 -2 ------------------- --- stamp-vti 5 Apr 2005 20:43:29 -0000 1.139 +++ stamp-vti 14 Apr 2005 15:43:12 -0000 1.140 @@ -1,4 +1,4 @@ -@set UPDATED 19 March 2005 -@set UPDATED-MONTH March 2005 +@set UPDATED 14 April 2005 +@set UPDATED-MONTH April 2005 @set EDITION 1.12.11.1 @set VERSION 1.12.11.1 File [changed]: version.texi Url: https://ccvs.cvshome.org/source/browse/ccvs/doc/version.texi?r1=1.140&r2=1.141 Delta lines: +2 -2 ------------------- --- version.texi 5 Apr 2005 20:43:29 -0000 1.140 +++ version.texi 14 Apr 2005 15:43:12 -0000 1.141 @@ -1,4 +1,4 @@ -@set UPDATED 19 March 2005 -@set UPDATED-MONTH March 2005 +@set UPDATED 14 April 2005 +@set UPDATED-MONTH April 2005 @set EDITION 1.12.11.1 @set VERSION 1.12.11.1