Annotation of embedaddon/strongswan/conf/strongswan.conf.5.head.in, revision 1.1
1.1 ! misho 1: .TH STRONGSWAN.CONF 5 "" "@PACKAGE_VERSION@" "strongSwan"
! 2: .SH NAME
! 3: strongswan.conf \- strongSwan configuration file
! 4: .SH DESCRIPTION
! 5: While the
! 6: .IR ipsec.conf (5)
! 7: configuration file is well suited to define IPsec related configuration
! 8: parameters, it is not useful for other strongSwan applications to read options
! 9: from this file.
! 10: The file is hard to parse and only
! 11: .I ipsec starter
! 12: is capable of doing so. As the number of components of the strongSwan project
! 13: is continually growing, a more flexible configuration file was needed, one that
! 14: is easy to extend and can be used by all components. With strongSwan 4.2.1
! 15: .IR strongswan.conf (5)
! 16: was introduced which meets these requirements.
! 17:
! 18: .SH SYNTAX
! 19: The format of the strongswan.conf file consists of hierarchical
! 20: .B sections
! 21: and a list of
! 22: .B key/value pairs
! 23: in each section. Each section has a name, followed by C-Style curly brackets
! 24: defining the section body. Each section body contains a set of subsections
! 25: and key/value pairs:
! 26: .PP
! 27: .EX
! 28: settings := (section|keyvalue)*
! 29: section := name { settings }
! 30: keyvalue := key = value\\n
! 31: .EE
! 32: .PP
! 33: Values must be terminated by a newline.
! 34: .PP
! 35: Comments are possible using the \fB#\fP-character.
! 36: .PP
! 37: Section names and keys may contain any printable character except:
! 38: .PP
! 39: .EX
! 40: . , : { } = " # \\n \\t space
! 41: .EE
! 42: .PP
! 43: An example file in this format might look like this:
! 44: .PP
! 45: .EX
! 46: a = b
! 47: section-one {
! 48: somevalue = asdf
! 49: subsection {
! 50: othervalue = xxx
! 51: }
! 52: # yei, a comment
! 53: yetanother = zz
! 54: }
! 55: section-two {
! 56: x = 12
! 57: }
! 58: .EE
! 59: .PP
! 60: Indentation is optional, you may use tabs or spaces.
! 61:
! 62:
! 63: .SH REFERENCING OTHER SECTIONS
! 64: It is possible to inherit settings and sections from another section. This
! 65: feature is mainly useful in swanctl.conf (which uses the same file format).
! 66: The syntax is as follows:
! 67: .PP
! 68: .EX
! 69: section := name : references { settings }
! 70: references := absname[, absname]*
! 71: absname := name[.name]*
! 72: .EE
! 73: .PP
! 74: All key/value pairs and all subsections of the referenced sections will be
! 75: inherited by the section that references them via their absolute name. Values
! 76: may be overridden in the section or any of its sub-sections (use an empty
! 77: assignment to clear a value so its default value, if any, will apply). It is
! 78: currently not possible to limit the inclusion level or clear/remove inherited
! 79: sub-sections.
! 80:
! 81: If the order is important (e.g. for auth rounds in a connection, if \fIround\fR
! 82: is not used), it should be noted that inherited settings/sections will follow
! 83: those defined in the current section (if multiple sections are referenced, their
! 84: settings are enumerated left to right).
! 85:
! 86: References are evaluated dynamically at runtime, so referring to sections later
! 87: in the config file or included via other files is no problem.
! 88:
! 89: Here is an example of how this might look like:
! 90: .PP
! 91: .EX
! 92: conn-defaults {
! 93: # default settings for all conns (e.g. a cert, or IP pools)
! 94: }
! 95: eap-defaults {
! 96: # defaults if eap is used (e.g. a remote auth round)
! 97: }
! 98: child-defaults {
! 99: # defaults for child configs (e.g. traffic selectors)
! 100: }
! 101: connections {
! 102: conn-a : conn-defaults, eap-defaults {
! 103: # set/override stuff specific to this connection
! 104: children {
! 105: child-a : child-defaults {
! 106: # set/override stuff specific to this child
! 107: }
! 108: }
! 109: }
! 110: conn-b : conn-defaults {
! 111: # set/override stuff specific to this connection
! 112: children {
! 113: child-b : child-defaults {
! 114: # set/override stuff specific to this child
! 115: }
! 116: }
! 117: }
! 118: conn-c : connections.conn-a {
! 119: # everything is inherited, including everything conn-a
! 120: # already inherits from the sections it and its
! 121: # sub-section reference
! 122: }
! 123: }
! 124: .EE
! 125: .PP
! 126:
! 127: .SH INCLUDING FILES
! 128: Using the
! 129: .B include
! 130: statement it is possible to include other files into strongswan.conf, e.g.
! 131: .PP
! 132: .EX
! 133: include /some/path/*.conf
! 134: .EE
! 135: .PP
! 136: If the file name is not an absolute path, it is considered to be relative
! 137: to the directory of the file containing the include statement. The file name
! 138: may include shell wildcards (see
! 139: .IR sh (1)).
! 140: Also, such inclusions can be nested.
! 141: .PP
! 142: Sections loaded from included files
! 143: .I extend
! 144: previously loaded sections; already existing values are
! 145: .IR replaced .
! 146: It is important to note that settings are added relative to the section the
! 147: include statement is in.
! 148: .PP
! 149: As an example, the following three files result in the same final
! 150: config as the one given above:
! 151: .PP
! 152: .EX
! 153: a = b
! 154: section-one {
! 155: somevalue = before include
! 156: include include.conf
! 157: }
! 158: include other.conf
! 159:
! 160: include.conf:
! 161: # settings loaded from this file are added to section-one
! 162: # the following replaces the previous value
! 163: somevalue = asdf
! 164: subsection {
! 165: othervalue = yyy
! 166: }
! 167: yetanother = zz
! 168:
! 169: other.conf:
! 170: # this extends section-one and subsection
! 171: section-one {
! 172: subsection {
! 173: # this replaces the previous value
! 174: othervalue = xxx
! 175: }
! 176: }
! 177: section-two {
! 178: x = 12
! 179: }
! 180: .EE
! 181:
! 182: .SH READING VALUES
! 183: Values are accessed using a dot-separated section list and a key.
! 184: With reference to the example above, accessing
! 185: .B section-one.subsection.othervalue
! 186: will return
! 187: .BR xxx .
! 188:
! 189: .SH DEFINED KEYS
! 190: The following keys are currently defined (using dot notation). The default
! 191: value (if any) is listed in brackets after the key.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>