/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to mandos.conf.xml

  • Committer: Teddy Hogeborn
  • Date: 2008-08-16 03:29:08 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080816032908-ihw7c05r2mnyk389
Add feature to specify custom environment variables for plugins.

* plugin-runner.c (plugin): New members "environ" and "envc" to
                            contain possible custom environment.
  (getplugin): Return NULL on failure instead of doing exit(); all
               callers changed.
  (add_to_char_array): New helper function for "add_argument" and
                       "add_environment".
  (addargument): Renamed to "add_argument".  Return bool.  Call
                 "add_to_char_array" to actually do things.
  (add_environment): New; analogous to "add_argument".
  (addcustomargument): Renamed to "add_to_argv" to avoid confusion
                       with "add_argument".
  (main): New options "--global-envs" and "--envs-for" to specify
          custom environment for plugins.  Print environment for
          plugins in debug mode.  Use asprintf instead of strcpy and
          strcat.  Use execve() for plugins with custom environments.
          Free environment for plugin when freeing plugin list.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?xml version="1.0" encoding="UTF-8"?>
 
1
<?xml version='1.0' encoding='UTF-8'?>
 
2
<?xml-stylesheet type="text/xsl"
 
3
        href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"?>
2
4
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3
5
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4
6
<!ENTITY VERSION "1.0">
5
7
<!ENTITY CONFNAME "mandos.conf">
6
8
<!ENTITY CONFPATH "<filename>/etc/mandos/mandos.conf</filename>">
7
 
<!ENTITY TIMESTAMP "2008-08-31">
8
9
]>
9
10
 
10
 
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
 
11
<refentry>
11
12
  <refentryinfo>
12
 
    <title>Mandos Manual</title>
13
 
    <!-- NWalsh’s docbook scripts use this to generate the footer: -->
14
 
    <productname>Mandos</productname>
 
13
    <title>&CONFNAME;</title>
 
14
    <!-- NWalsh's docbook scripts use this to generate the footer: -->
 
15
    <productname>&CONFNAME;</productname>
15
16
    <productnumber>&VERSION;</productnumber>
16
 
    <date>&TIMESTAMP;</date>
17
17
    <authorgroup>
18
18
      <author>
19
19
        <firstname>Björn</firstname>
32
32
    </authorgroup>
33
33
    <copyright>
34
34
      <year>2008</year>
35
 
      <holder>Teddy Hogeborn</holder>
36
 
      <holder>Björn Påhlsson</holder>
 
35
      <holder>Teddy Hogeborn &amp; Björn Påhlsson</holder>
37
36
    </copyright>
38
 
    <xi:include href="legalnotice.xml"/>
 
37
    <legalnotice>
 
38
      <para>
 
39
        This manual page is free software: you can redistribute it
 
40
        and/or modify it under the terms of the GNU General Public
 
41
        License as published by the Free Software Foundation,
 
42
        either version 3 of the License, or (at your option) any
 
43
        later version.
 
44
      </para>
 
45
 
 
46
      <para>
 
47
        This manual page is distributed in the hope that it will
 
48
        be useful, but WITHOUT ANY WARRANTY; without even the
 
49
        implied warranty of MERCHANTABILITY or FITNESS FOR A
 
50
        PARTICULAR PURPOSE.  See the GNU General Public License
 
51
        for more details.
 
52
      </para>
 
53
 
 
54
      <para>
 
55
        You should have received a copy of the GNU General Public
 
56
        License along with this program; If not, see
 
57
        <ulink url="http://www.gnu.org/licenses/"/>.
 
58
      </para>
 
59
    </legalnotice>
39
60
  </refentryinfo>
40
61
 
41
62
  <refmeta>
46
67
  <refnamediv>
47
68
    <refname><filename>&CONFNAME;</filename></refname>
48
69
    <refpurpose>
49
 
      Configuration file for the Mandos server
 
70
      Configuration file for Mandos
50
71
    </refpurpose>
51
72
  </refnamediv>
52
73
 
53
74
  <refsynopsisdiv>
54
 
    <synopsis>&CONFPATH;</synopsis>
 
75
    <synopsis>
 
76
      &CONFPATH;
 
77
    </synopsis>
55
78
  </refsynopsisdiv>
56
79
 
57
80
  <refsect1 id="description">
58
81
    <title>DESCRIPTION</title>
59
82
    <para>
60
 
      The file &CONFPATH; is a simple configuration file for
61
 
      <citerefentry><refentrytitle>mandos</refentrytitle>
62
 
      <manvolnum>8</manvolnum></citerefentry>, and is read by it at
63
 
      startup.  The configuration file starts with <quote><literal
64
 
      >[DEFAULT]</literal></quote> on a line by itself, followed by
65
 
      any number of <quote><varname><replaceable>option</replaceable
66
 
      ></varname>=<replaceable>value</replaceable></quote> entries,
67
 
      with continuations in the style of RFC 822.  <quote><varname
68
 
      ><replaceable>option</replaceable></varname>: <replaceable
69
 
      >value</replaceable></quote> is also accepted.  Note that
70
 
      leading whitespace is removed from values.  Lines beginning with
71
 
      <quote>#</quote> or <quote>;</quote> are ignored and may be used
72
 
      to provide comments.
73
 
    </para>
74
 
 
75
 
  </refsect1>
76
 
  <refsect1>
77
 
    <title>OPTIONS</title>
78
 
    
 
83
      The file &CONFPATH; is a simple configuration file for mandos
 
84
      and is looked on at startup of the service. The configuration
 
85
      file must start with <literal>[server]</literal>. The format for
 
86
      the rest is a simple VAR = VALUE pair. Values may not be empty.
 
87
    </para>
 
88
 
 
89
    <para>
 
90
      The paramters are:
 
91
    </para>
 
92
 
79
93
    <variablelist>
80
94
      <varlistentry>
81
 
        <term><option>interface<literal> = </literal><replaceable
82
 
        >NAME</replaceable></option></term>
83
 
        <listitem>
84
 
          <xi:include href="mandos-options.xml" xpointer="interface"/>
85
 
        </listitem>
86
 
      </varlistentry>
87
 
 
88
 
      <varlistentry>
89
 
        <term><option>address<literal> = </literal><replaceable
90
 
          >ADDRESS</replaceable></option></term>
91
 
        <listitem>
92
 
          <xi:include href="mandos-options.xml" xpointer="address"/>
93
 
        </listitem>
94
 
      </varlistentry>
95
 
 
96
 
      <varlistentry>
97
 
        <term><option>port<literal> = </literal><replaceable
98
 
        >NUMBER</replaceable></option></term>
99
 
        <listitem>
100
 
          <xi:include href="mandos-options.xml" xpointer="port"/>
101
 
        </listitem>
102
 
      </varlistentry>
103
 
 
104
 
      <varlistentry>
105
 
        <term><option>debug<literal> = </literal>{ <literal
106
 
          >1</literal> | <literal>yes</literal> | <literal
107
 
          >true</literal> | <literal>on</literal> | <literal
108
 
          >0</literal> | <literal>no</literal> | <literal
109
 
          >false</literal> | <literal>off</literal> }</option></term>
110
 
        <listitem>
111
 
          <xi:include href="mandos-options.xml" xpointer="debug"/>
112
 
        </listitem>
113
 
      </varlistentry>
114
 
 
115
 
      <varlistentry>
116
 
        <term><option>priority<literal> = </literal><replaceable
117
 
        >STRING</replaceable></option></term>
118
 
        <listitem>
119
 
          <xi:include href="mandos-options.xml" xpointer="priority"/>
120
 
        </listitem>
121
 
      </varlistentry>
122
 
 
123
 
      <varlistentry>
124
 
        <term><option>servicename<literal> = </literal
125
 
        ><replaceable>NAME</replaceable></option></term>
126
 
        <listitem>
127
 
          <xi:include href="mandos-options.xml"
128
 
                      xpointer="servicename"/>
 
95
        <term><literal>interface</literal></term>
 
96
        <listitem>
 
97
          <para>
 
98
            This option allows you to override the default network
 
99
            interfaces. By default mandos will not bind to any
 
100
            specific interface but instead use default avahi-server
 
101
            behaviour.
 
102
          </para>
 
103
        </listitem>
 
104
      </varlistentry>
 
105
 
 
106
      <varlistentry>
 
107
        <term><literal>address</literal></term>
 
108
        <listitem>
 
109
          <para>
 
110
            This option allows you to override the default network
 
111
            address. By default mandos will not bind to any
 
112
            specific address but instead use default avahi-server
 
113
            behaviour.
 
114
          </para>
 
115
        </listitem>
 
116
      </varlistentry>      
 
117
 
 
118
      <varlistentry>
 
119
        <term><literal>port</literal></term>
 
120
        <listitem>
 
121
          <para>
 
122
            This option allows you to override the default port to
 
123
            listen on. By default mandos will not specify any specific
 
124
            port and instead use a random port given by the OS from
 
125
            the use of INADDR_ANY.
 
126
          </para>
 
127
        </listitem>
 
128
      </varlistentry>
 
129
 
 
130
      <varlistentry>
 
131
        <term><literal>debug</literal></term>
 
132
        <listitem>
 
133
          <para>
 
134
            This option allows you to modify debug mode with a true/false
 
135
            boolean value. By default is debug set to <literal>false</literal>.
 
136
          </para>
 
137
        </listitem>
 
138
      </varlistentry>      
 
139
 
 
140
      <varlistentry>
 
141
        <term><literal>priority</literal></term>
 
142
        <listitem>
 
143
          <para>
 
144
            This option allows you to override the default gnutls
 
145
            priority that will be used in gnutls session. See
 
146
            <citerefentry><refentrytitle>gnutls_priority_init
 
147
            </refentrytitle><manvolnum>3</manvolnum></citerefentry>for
 
148
            more information on gnutls priority strings.
 
149
          </para>         
 
150
        </listitem>
 
151
      </varlistentry>
 
152
 
 
153
      <varlistentry>
 
154
        <term><literal>servicename</literal></term>
 
155
        <listitem>
 
156
          <para>
 
157
            This option allows you to override the default Zeroconf
 
158
            service name use to announce mandos as a avahi service. By
 
159
            default mandos will use "Mandos".
 
160
          </para>
129
161
        </listitem>
130
162
      </varlistentry>
131
163
      
132
164
    </variablelist>
133
165
  </refsect1>
 
166
 
 
167
  <refsect1 id="examples">
 
168
    <title>EXAMPLES</title>
 
169
    <informalexample>
 
170
      <programlisting>
 
171
        [server]
 
172
        # A configuration example
 
173
        interface = eth0 
 
174
        address = 2001:DB8:
 
175
        port = 1025 
 
176
        debug = true 
 
177
        priority = SECURE256:!CTYPE-X.509:+CTYPE-OPENPGP
 
178
        servicename = Mandos
 
179
      </programlisting>
 
180
    </informalexample>
 
181
  </refsect1>  
134
182
  
135
183
  <refsect1 id="files">
136
184
    <title>FILES</title>
138
186
      The file described here is &CONFPATH;
139
187
    </para>
140
188
  </refsect1>
141
 
  
142
 
  <refsect1 id="bugs">
143
 
    <title>BUGS</title>
144
 
    <para>
145
 
      The <literal>[DEFAULT]</literal> is necessary because the Python
146
 
      built-in module <systemitem class="library">ConfigParser</systemitem>
147
 
      requres it.
148
 
    </para>
149
 
  </refsect1>
150
 
  
151
 
  <refsect1 id="example">
152
 
    <title>EXAMPLE</title>
153
 
    <informalexample>
154
 
      <para>
155
 
        No options are actually required:
156
 
      </para>
157
 
      <programlisting>
158
 
[DEFAULT]
159
 
      </programlisting>
160
 
    </informalexample>
161
 
    <informalexample>
162
 
      <para>
163
 
        An example using all the options:
164
 
      </para>
165
 
      <programlisting>
166
 
[DEFAULT]
167
 
# A configuration example
168
 
interface = eth0
169
 
address = 2001:db8:f983:bd0b:30de:ae4a:71f2:f672
170
 
port = 1025
171
 
debug = true
172
 
priority = SECURE256:!CTYPE-X.509:+CTYPE-OPENPGP
173
 
servicename = Daena
174
 
      </programlisting>
175
 
    </informalexample>
176
 
  </refsect1>
177
 
  
178
 
  <refsect1 id="see_also">
179
 
    <title>SEE ALSO</title>
180
 
    <para>
181
 
      <citerefentry><refentrytitle>gnutls_priority_init</refentrytitle
182
 
      ><manvolnum>3</manvolnum></citerefentry>,
183
 
      <citerefentry><refentrytitle>mandos</refentrytitle>
184
 
      <manvolnum>8</manvolnum></citerefentry>,
185
 
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
186
 
      <manvolnum>5</manvolnum></citerefentry>
187
 
    </para>
188
 
 
189
 
    <variablelist>
190
 
      <varlistentry>
191
 
        <term>
192
 
          RFC 4291: <citetitle>IP Version 6 Addressing
193
 
          Architecture</citetitle>
194
 
        </term>
195
 
        <listitem>
196
 
          <variablelist>
197
 
            <varlistentry>
198
 
              <term>Section 2.2: <citetitle>Text Representation of
199
 
              Addresses</citetitle></term>
200
 
              <listitem><para/></listitem>
201
 
            </varlistentry>
202
 
            <varlistentry>
203
 
              <term>Section 2.5.5.2: <citetitle>IPv4-Mapped IPv6
204
 
              Address</citetitle></term>
205
 
              <listitem><para/></listitem>
206
 
            </varlistentry>
207
 
            <varlistentry>
208
 
            <term>Section 2.5.6, <citetitle>Link-Local IPv6 Unicast
209
 
            Addresses</citetitle></term>
210
 
            <listitem>
211
 
              <para>
212
 
                The clients use IPv6 link-local addresses, which are
213
 
                immediately usable since a link-local addresses is
214
 
                automatically assigned to a network interfaces when it
215
 
                is brought up.
216
 
              </para>
217
 
            </listitem>
218
 
            </varlistentry>
219
 
          </variablelist>
220
 
        </listitem>
221
 
      </varlistentry>
222
 
      <varlistentry>
223
 
        <term>
224
 
          <ulink url="http://www.zeroconf.org/">Zeroconf</ulink>
225
 
        </term>
226
 
        <listitem>
227
 
          <para>
228
 
            Zeroconf is the network protocol standard used by clients
229
 
            for finding the Mandos server on the local network.
230
 
          </para>
231
 
        </listitem>
232
 
      </varlistentry>
233
 
    </variablelist>
234
 
  </refsect1>
235
189
</refentry>
236
 
<!-- Local Variables: -->
237
 
<!-- time-stamp-start: "<!ENTITY TIMESTAMP [\"']" -->
238
 
<!-- time-stamp-end: "[\"']>" -->
239
 
<!-- time-stamp-format: "%:y-%02m-%02d" -->
240
 
<!-- End: -->