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>