Annotation of src/usr.bin/cvs/cvsd.conf.5, Revision 1.1
1.1 ! jfb 1: .\" $OpenBSD$
! 2: .\"
! 3: .\" Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org>
! 4: .\"
! 5: .\" Redistribution and use in source and binary forms, with or without
! 6: .\" modification, are permitted provided that the following conditions
! 7: .\" are met:
! 8: .\" 1. Redistributions of source code must retain the above copyright
! 9: .\" notice, this list of conditions and the following disclaimer.
! 10: .\" 2. Redistributions in binary form must reproduce the above copyright
! 11: .\" notice, this list of conditions and the following disclaimer in the
! 12: .\" documentation and/or other materials provided with the distribution.
! 13: .\" 3. The name of the author may not be used to endorse or promote products
! 14: .\" derived from this software without specific prior written permission.
! 15: .\"
! 16: .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
! 17: .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
! 18: .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
! 19: .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
! 20: .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
! 21: .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
! 22: .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
! 23: .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
! 24: .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
! 25: .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
! 26: .\"
! 27: .Dd July 20, 2004
! 28: .Dt CVSD.CONF 5
! 29: .Os
! 30: .Sh NAME
! 31: .Nm cvsd.conf
! 32: .Nd CVS daemon configuration file format
! 33: .Sh DESCRIPTION
! 34: The
! 35: .Nm
! 36: configuration file format is used by the
! 37: .Xr cvsd 8
! 38: server.
! 39: The server's configuration file is read upon startup and reparsed on every
! 40: server restart.
! 41: .Pp
! 42: It is a human-readable text file consisting of one-line directives that
! 43: the server handles to modify its configuration and Access Control List rules
! 44: to control operations on the repository.
! 45: Comments can be inserted anywhere in the file by putting a '#' character
! 46: before them and span to the end of the line.
! 47: .Pp
! 48: To simplify maintenance of the configuration, the format allows for the
! 49: definition of variables that can later be used for interpolation throughout
! 50: the configuration file by preceding them with the '$' character.
! 51: These variables are refered to as macros.
! 52: .Sh DIRECTIVES
! 53: The following directives are supported by the server:
! 54: .Bl -tag -width xxxxx
! 55: .It Sy cvsroot Ar path
! 56: Set the server's CVS root directory to
! 57: .Ar path .
! 58: .It Sy listen Ar addr
! 59: Add the address
! 60: .Ar addr
! 61: to the list of addresses on which the server will listen for incoming
! 62: connections.
! 63: This is currently parsed but ignored, as the CVS daemon doesn't support
! 64: direct TCP connections yet.
! 65: .It Sy minchild Ar num
! 66: Set the server's minimum number of child processes to
! 67: .Ar num .
! 68: .It Sy maxchild Ar num
! 69: Set the server's maximum number of child processes to
! 70: .Ar num .
! 71: .It Sy reqsock Ar path
! 72: Set the server's local socket path to
! 73: .Ar path .
! 74: In order for this to work, the
! 75: .Xr cvs 1
! 76: client must be aware of the socket's path.
! 77: .El
! 78: .Sh ACL GRAMMAR
! 79: The Access Control Lists grammar is expressed in BNF (Backus-Naur Form)
! 80: notation.
! 81: In this representation, terminals are displayed as normal text and nonterminals
! 82: are in bold.
! 83: .Po
! 84: .Ql [
! 85: and
! 86: .Ql \&]
! 87: .Pc
! 88: is optional.
! 89: The pipe character
! 90: .Pq Ql \&|
! 91: is used to separate multiple choices.
! 92: .Pp
! 93: Here is the BNF syntax for
! 94: .Nm
! 95: rules:
! 96: .Bl -tag -width "this is a test"
! 97: .It Ic line
! 98: ::=
! 99: .It Ic rule
! 100: ::=
! 101: .Ic action
! 102: .Bo
! 103: .Ic optlist
! 104: .Bc
! 105: .Ic op
! 106: [ branch
! 107: .Ic branch
! 108: ]
! 109: .Pp
! 110: [ from
! 111: .Ic userlist
! 112: ]
! 113: .It Ic action
! 114: ::= allow | deny
! 115: .It Ic option
! 116: ::= quick | log
! 117: .It Ic optlist
! 118: ::=
! 119: .Ic option
! 120: |
! 121: .Ic optlist ,
! 122: .Ic option
! 123: .It Ic op
! 124: ::= add | commit | tag | update
! 125: .It Ic userlist
! 126: ::=
! 127: .El
! 128: .Pp
! 129: .Sh EXAMPLES
! 130: The following rule denies all operations:
! 131: .Bd -literal
! 132: deny quick any
! 133: .Ed
! 134: .Sh FILES
! 135: .Bl -tag -width /etc/cvsd.conf -compact
! 136: .It Pa /etc/cvsd.conf
! 137: Default configuration file for
! 138: .Xr cvsd 8 .
! 139: .El
! 140: .Sh SEE ALSO
! 141: .Xr cvs 1 ,
! 142: .Xr rcsfile 5 ,
! 143: .Xr cvsd 8
! 144: .Sh HISTORY
! 145: The
! 146: .Nm
! 147: file format was introduced along with the CVS daemon as part of the
! 148: OpenCVS project.
! 149: .Sh AUTHORS
! 150: .An Jean-Francois Brousseau