Annotation of src/usr.bin/cvs/cvsd.conf.5, Revision 1.3
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.
1.3 ! jmc 45: Comments can be inserted anywhere in the file by putting a
! 46: .Sq #
! 47: character before them and span to the end of the line.
1.2 jfb 48: .Sh MACROS
1.1 jfb 49: To simplify maintenance of the configuration, the format allows for the
50: definition of variables that can later be used for interpolation throughout
1.3 ! jmc 51: the configuration file by preceding them with the
! 52: .Sq $
! 53: character.
1.2 jfb 54: These variables are refered to as macros throughout the rest of the document.
1.3 ! jmc 55: A macro name must start with a letter and can be composed of letters, digits,
1.2 jfb 56: and underscores.
57: .Pp
58: Here is an example of macro usage:
59: .Bd -literal -offset indent
60: rootdir = /usr/local/cvs
61:
62: cvsroot $rootdir
63:
64: reqsock $rootdir/CVSROOT/cvsd.sock
65: .Ed
66: .Pp
67: To assign a value containing spaces to a macro, the whole value string must
68: be quoted using double quotes.
1.1 jfb 69: .Sh DIRECTIVES
70: The following directives are supported by the server:
71: .Bl -tag -width xxxxx
72: .It Sy cvsroot Ar path
73: Set the server's CVS root directory to
74: .Ar path .
75: .It Sy listen Ar addr
76: Add the address
77: .Ar addr
78: to the list of addresses on which the server will listen for incoming
79: connections.
80: This is currently parsed but ignored, as the CVS daemon doesn't support
81: direct TCP connections yet.
1.3 ! jmc 82: .It Sy maxchild Ar num
! 83: Set the server's maximum number of child processes to
! 84: .Ar num .
1.1 jfb 85: .It Sy minchild Ar num
86: Set the server's minimum number of child processes to
87: .Ar num .
88: .It Sy reqsock Ar path
89: Set the server's local socket path to
90: .Ar path .
91: In order for this to work, the
92: .Xr cvs 1
93: client must be aware of the socket's path.
94: .El
95: .Sh ACL GRAMMAR
96: The Access Control Lists grammar is expressed in BNF (Backus-Naur Form)
97: notation.
98: In this representation, terminals are displayed as normal text and nonterminals
99: are in bold.
100: .Po
101: .Ql [
102: and
103: .Ql \&]
104: .Pc
105: is optional.
106: The pipe character
107: .Pq Ql \&|
108: is used to separate multiple choices.
109: .Pp
110: Here is the BNF syntax for
111: .Nm
112: rules:
113: .Bl -tag -width "this is a test"
1.3 ! jmc 114: .It Ic action
! 115: ::= allow | deny
1.1 jfb 116: .It Ic line
117: ::=
1.3 ! jmc 118: .It Ic op
! 119: ::= add | commit | tag | update
! 120: .It Ic option
! 121: ::= quick | log
! 122: .It Ic optlist
! 123: ::=
! 124: .Ic option
! 125: |
! 126: .Ic optlist ,
! 127: .Ic option
1.1 jfb 128: .It Ic rule
129: ::=
130: .Ic action
131: .Bo
132: .Ic optlist
133: .Bc
134: .Ic op
135: [ branch
136: .Ic branch
137: ]
138: .Pp
139: [ from
140: .Ic userlist
141: ]
142: .It Ic userlist
143: ::=
144: .El
145: .Sh EXAMPLES
146: The following rule denies all operations:
1.3 ! jmc 147: .Bd -literal -offset indent
! 148: deny quick any
1.1 jfb 149: .Ed
150: .Sh FILES
151: .Bl -tag -width /etc/cvsd.conf -compact
152: .It Pa /etc/cvsd.conf
153: Default configuration file for
154: .Xr cvsd 8 .
155: .El
156: .Sh SEE ALSO
157: .Xr cvs 1 ,
158: .Xr rcsfile 5 ,
159: .Xr cvsd 8
160: .Sh HISTORY
161: The
162: .Nm
163: file format was introduced along with the CVS daemon as part of the
164: OpenCVS project.
165: .Sh AUTHORS
166: .An Jean-Francois Brousseau