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