chiark / gitweb /
svc/watch.in: Rename some of the functions.
[tripe] / peerdb / peers.in.5.in
CommitLineData
6005ef9b
MW
1.\" -*-nroff-*-
2.\".
3.\" Manual for the peer configuration file
4.\"
5.\" (c) 2008 Straylight/Edgeware
6.\"
7.
8.\"----- Licensing notice ---------------------------------------------------
9.\"
10.\" This file is part of Trivial IP Encryption (TrIPE).
11.\"
12.\" TrIPE is free software; you can redistribute it and/or modify
13.\" it under the terms of the GNU General Public License as published by
14.\" the Free Software Foundation; either version 2 of the License, or
15.\" (at your option) any later version.
16.\"
17.\" TrIPE is distributed in the hope that it will be useful,
18.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
19.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20.\" GNU General Public License for more details.
21.\"
22.\" You should have received a copy of the GNU General Public License
23.\" along with TrIPE; if not, write to the Free Software Foundation,
24.\" Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25.
26.\"--------------------------------------------------------------------------
27.so ../defs.man.in \"@@@PRE@@@
28.
29.\"--------------------------------------------------------------------------
30.TH peers.in 5 "27 March 2008" "Straylight/Edgeware" "TrIPE: Trivial IP Encryption"
31.
32.\"--------------------------------------------------------------------------
33.SH "NAME"
34.
35peers.in \- source form for TrIPE peer database
36.
37.\"--------------------------------------------------------------------------
38.SH "DESCRIPTION"
39.
40The
41.B peers.in
42file is a plain text configuration file. It is read by
43.BR tripe-newpeers (8)
44in order to produce the
45.BR tripe.cdb (8)
46database used by services and other tools.
47.SS "General structure"
48The configuration file is line-oriented. Blank lines are ignored; lines
49beginning with a hash
50.RB ` # '
51or semicolon
52.RB ` ; '
53are ignored. The file is divided into sections by section headers,
54which are lines of the form
55.IP
56.BI [ name ]
57.PP
58Within each section are a number of assignments, of the form
59.IP
60.IB key " = " value
61.PP
62or (entirely equivalent)
63.IP
64.IB key ": " value
65.PP
66The
67.I key
68must start in the left hand column. The
69.I value
70may span multiple lines if subsequent lines begin with whitespace, in
71the manner of RFC822 headers.
72.PP
73There is a special case to be aware of: if a section doesn't specify a
74value for the key
75.B name
76then the section's own name is used as a default.
77.PP
78The following substitutions are made in the body of a value.
79.hP \*o
80An occurrence of
81.BI $( key )
82is replaced by the value assigned to the given
83.IR key .
84.hP \*o
85An occurrence of
86.BI $[ host ]
87is replaced by the IP address of the named
88.IR host .
89Note that
90.I host
91may itself contain
92.BI $( key )
93substitutions.
94.PP
95There is a simple concept of
96.I inheritance
97for sections. If a section contains an assignment
98.IP
99.BI "@inherits = " parent
100.PP
101then any lookups which can't be satisfied in that section will be
102satisfied instead from the
103.I parent
104section (and, if necessary, its parent in turn, and so on). Note that
105.BI $( key )
106substitutions in the resulting value will be satisfied from the original
107section (though falling back to scanning the parent section). For
108example, given the sections
109.VS
110[parent]
111detail = in parent
112blurb = expand $(detail)
2273401c 113.VE
6005ef9b
MW
114Apart from its effect on lookups, as just described, the
115.B @inherits
116key is entirely ignored. In particular, it is never written to the
117database.
118.SS "Standard keys and their meanings"
119The following keys have meanings to programs in the TrIPE suite. Other
120keys may be used by separately distributed extensions or for local use.
121The descriptions given are summaries only; see the references for
122details.
123.TP
124.B auto
125If true, include the peer in the
126.B %AUTO
127record. Used by
a62f8e8a
MW
128.BR connect (8)
129and
6005ef9b
MW
130.BR tripe-newpeers (8);
131described below.
132.TP
a62f8e8a
MW
133.B connect
134Shell command for initiating connection to this peer. Used by
135.BR watch (8).
136.TP
137.B cork
6411163d 138Don't initiate immediate key exchange. Used by
a62f8e8a
MW
139.BR connect (8).
140.TP
d3731285
MW
141.B disconnect
142Shell command for closing down connection to this peer. Used by
143.BR watch (8).
144.TP
a62f8e8a
MW
145.B every
146Interval for checking that the peer is still alive and well. Used by
147.BR watch (8).
148.TP
149.B ifdown
150Script to bring down tunnel interface connected to the peer. Used by
151.BR watch (8).
152.TP
153.B ifname
154Interface name to set for the tunnel interface to the peer. Used by
155.BR tripe-ifup (8).
156.TP
157.B ifup
158Script to bring up tunnel interface connected to the peer. Used by
159.BR watch (8).
160.TP
161.B ifupextra
162Script containing additional interface setup. Used by
163.BR tripe-ifup (8).
164.TP
165.B laddr
166Local address for the tunnel interface to the peer. Used by
167.BR tripe-ifup (8).
168.TP
169.B keepalive
170Interval for sending keepalive pings. Used by
171.BR connect (8).
172.TP
48b84569
MW
173.B key
174Key tag to use to authenticate the peer. Used by
175.BR connect (8).
176.TP
6411163d
MW
177.B mobile
178Peer's IP address is highly volatile. Used by
179.BR connect (8).
180.TP
a62f8e8a
MW
181.B mtu
182Maximum transmission unit for the tunnel interface. Used by
183.BR tripe-ifup (8).
184.TP
185.B nets
186Networks to be routed over the tunnel interface. Used by
187.BR tripe-ifup (8).
188.TP
189.B peer
190Network address for this peer, or
191.BR PASSIVE .
192Used by
193.BR connect (8).
194.TP
fe2a5dcf
MW
195.B priv
196Tag of the private key to use when communicating with the peer.
197.TP
a62f8e8a
MW
198.B raddr
199Remote address for the tunnel interface to the peer. Used by
200.BR tripe-ifup (8).
201.TP
202.B retries
203Number of failed ping attempts before attempting reconnection. Used by
204.BR watch (8).
205.TP
206.B timeout
207Timeout for ping probes. Used by
208.BR watch (8).
209.TP
210.B tunnel
211Tunnel driver to use when adding the peer. Used by
212.BR connect (8)).
213.TP
6005ef9b
MW
214.B user
215Peer will make active connection as
216.IR user .
217Used by
a62f8e8a
MW
218.BR connect (8)
219and
6005ef9b
MW
220.BR tripe-newpeers (8);
221described below.
222.SS "Conversion"
223This section describes how the textual
224.B peers.in
225file is converted into the
226.BR peers.cdb (5)
227database.
228.PP
229The handling of each section depends on its name.
230.hP \*o
231Sections whose names have the form
232.BI @ whatever
233are ignored (though their contents may be relevant if the section is
234named in another section's
235.B @inherits
236key).
237.hP \*o
238Sections whose names have the form
239.BI $ whatever
240are written to local-type database records with the same name. The keys
241and values defined in the section (and its parent section, if it
242contains an
243.B @inherits
244key) are stored in the record using
245.B form-urlencoding
246as defined in RFC1822, except that the key-value pairs are separated by
247semicolons
248.RB ` ; '
249rather than ampersands
250.RB ` & '.
251The
252.B @inherits
253key-value pair is not written to the database.
254.hP \*o
255Other sections are written to peer-type database records, named
256.BI P name \fR,
257in exactly the same way as for local-type records. However, two special
258actions are also taken.
259.IP
260Firstly, if there is a key
261.B auto
262in the section (or in its parent, etc.), and the value is
263.BR y ,
264.BR yes .
265.BR t ,
266.BR true ,
267.BR 1 ,
268or
269.BR on ,
270then the section's name is added in the special
271.B %AUTO
272record.
273.IP
274Secondly, if there is a key
275.B user
276in the section (or in its parent, etc.), then a user record
277.BI U user
278is created whose contents is the section name.
279.
280.\"--------------------------------------------------------------------------
281.SH "SEE ALSO"
282.
283.BR cdb (5),
284.BR tripe (8).
285.PP
286.BR tripe-newpeers (8),
287.BR peers.cdb (5),
a62f8e8a
MW
288.BR connect (8),
289.BR watch (8),
6005ef9b
MW
290.BR tripe-ifup (8).
291.
292.\"--------------------------------------------------------------------------
293.SH "AUTHOR"
294.
295Mark Wooding, <mdw@distorted.org.uk>
296.
297.\"----- That's all, folks --------------------------------------------------