man: More accurately describe features of the new parser in ipsec.conf(5)

This commit is contained in:
Tobias Brunner
2015-03-20 18:37:22 +01:00
parent d148c7ab6c
commit a83d1245d8
+34 -46
View File
@@ -23,8 +23,7 @@ as are empty lines which are not within a section.
A line which contains A line which contains
.B include .B include
and a file name, separated by white space, and a file name, separated by white space,
is replaced by the contents of that file, is replaced by the contents of that file.
preceded and followed by empty lines.
If the file name is not a full pathname, If the file name is not a full pathname,
it is considered to be relative to the directory containing the it is considered to be relative to the directory containing the
including file. including file.
@@ -61,12 +60,9 @@ indicates what type of section follows, and
.I name .I name
is an arbitrary name which distinguishes the section from others is an arbitrary name which distinguishes the section from others
of the same type. of the same type.
Names must start with a letter and may contain only
letters, digits, periods, underscores, and hyphens.
All subsequent non-empty lines All subsequent non-empty lines
which begin with white space are part of the section; which begin with white space are part of the section.
comments within a section must begin with white space too. Sections of the same type that share the same name are merged.
There may be only one section of a given type with a given name.
.PP .PP
Lines within the section are generally of the form Lines within the section are generally of the form
.PP .PP
@@ -75,24 +71,30 @@ Lines within the section are generally of the form
(note the mandatory preceding white space). (note the mandatory preceding white space).
There can be white space on either side of the There can be white space on either side of the
.BR = . .BR = .
Parameter names follow the same syntax as section names, Parameter names are specific to a section type.
and are specific to a section type.
Unless otherwise explicitly specified,
no parameter name may appear more than once in a section.
.PP .PP
An empty An empty
.I value .I value
stands for the system default value (if any) of the parameter, stands for the system default value (if any) of the parameter,
i.e. it is roughly equivalent to omitting the parameter line entirely. i.e. it is roughly equivalent to omitting the parameter line entirely. This may
be useful to clear a setting inherited from a
.B %default
section or via
.B also
parameter (see below).
A A
.I value .I value
may contain white space only if the entire may contain single spaces (additional white space is reduced to one space).
To preserve white space as written enclose the entire
.I value .I value
is enclosed in double quotes (\fB"\fR); in double quotes (\fB"\fR); in such values double quotes themselves may be
a escaped by prefixing them with
.I value .B \\\\
cannot itself contain a double quote, characters. A double-quoted string may span multiple lines by ending them with
nor may it be continued across more than one line. .B \\\\
characters (following lines don't have to begin with white space, as that will
be preserved). Additionally, the following control characters may be encoded in
double-quoted strings: \\n, \\r, \\t, \\b, \\f.
.PP .PP
Numeric values are specified to be either an ``integer'' Numeric values are specified to be either an ``integer''
(a sequence of digits) or a ``decimal number'' (a sequence of digits) or a ``decimal number''
@@ -102,38 +104,24 @@ There is currently one parameter which is available in any type of
section: section:
.TP .TP
.B also .B also
the value is a section name; the value is a section name; the parameters of that section are inherited by
the parameters of that section are appended to this section, the current section. Parameters in the current section always override inherited
as if they had been written as part of it. parameters, even if an
The specified section must exist, must follow the current one,
and must have the same section type.
(Nesting is permitted,
and there may be more than one
.B also .B also
in a single section, follows after them.
although it is forbidden to append the same section more than once.) The specified section must exist and must have the same section type; it doesn't
if it is defined before or after the current section.
Nesting is permitted, and there may be more than one
.B also
in a single section (parameters from referenced sections are inherited and
overridden in the order of these
.B also
parameters).
.PP .PP
A section with name A section with name
.B %default .B %default
specifies defaults for sections of the same type. specifies defaults for sections of the same type. All parameters in it, are
For each parameter in it, inherited by all other sections of that type.
any section of that type which does not have a parameter of the same name
gets a copy of the one from the
.B %default
section.
There may be multiple
.B %default
sections of a given type,
but only one default may be supplied for any specific parameter name,
and all
.B %default
sections of a given type must precede all non-\c
.B %default
sections of that type.
.B %default
sections may not contain the
.B also
parameter.
.PP .PP
Currently there are three types of sections: Currently there are three types of sections:
a a