/mandos/release

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

« back to all changes in this revision

Viewing changes to mandos-clients.conf.xml

Convert some programs to use the exit codes from <sysexits.h>.  Change
all programs using the "argp" parsing functions to use them correctly;
checking return value, using argp_error() to report parse errors etc.

* plugin-runner.c: Use <sysexits.h> exit codes.  Always use fallback,
                   even on option errors, except for "--help", etc.
  (getplugin): Make sure "errno" is set correctly on return.
  (main): Declare our own "--help", "--usage", and "--version"
          options which do not cause the fallback to be invoked.
          In all other options, use fallback on any error.
  (parse_opt, parse_opt_config_file): Reset errno at start and return
                                      errno.  No need to check "arg"
                                      for NULL.  New "--help",
                                      "--usage", and "--version"
                                      options.
  (parse_opt): Accept empty string as global option.  Do not print
               errors which will be detected and reported later.  Do
               "argp_error()" on parse error or empty plugin names.
* plugins.d/mandos-client.c: Use <sysexits.h> exit codes.  Do not
                             return successful exit code on "--help",
                             etc. since this would give the wrong
                             message to "plugin-runner".
  (main): Declare our own "--help", "--usage", and "--version"
          options which do not return a successful exit code.
  (parse_opt): Reset errno at start and return errno.  Do
               "argp_error()" on parse errors.  New "--help",
               "--usage", and "--version" options.
* plugins.d/password-prompt.c: Use exit codes from <sysexits.h>.  Do
                               not return successful exit code on
                               "--help", etc. since this would give
                               the wrong message to "plugin-runner".
  (main): Declare our own "--help", "--usage", and "--version" options
          which do not return a successful exit code.  Do
          close(STDOUT_FILENO) after writing to check its return code.
  (parse_opt): Reset errno at start and return errno.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<?xml version="1.0" encoding="UTF-8"?>
2
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3
3
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4
 
<!ENTITY VERSION "1.0">
5
4
<!ENTITY CONFNAME "mandos-clients.conf">
6
5
<!ENTITY CONFPATH "<filename>/etc/mandos/clients.conf</filename>">
7
 
<!ENTITY TIMESTAMP "2008-09-04">
 
6
<!ENTITY TIMESTAMP "2009-09-17">
 
7
<!ENTITY % common SYSTEM "common.ent">
 
8
%common;
8
9
]>
9
10
 
10
11
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
12
13
    <title>Mandos Manual</title>
13
14
    <!-- NWalsh’s docbook scripts use this to generate the footer: -->
14
15
    <productname>Mandos</productname>
15
 
    <productnumber>&VERSION;</productnumber>
 
16
    <productnumber>&version;</productnumber>
16
17
    <date>&TIMESTAMP;</date>
17
18
    <authorgroup>
18
19
      <author>
32
33
    </authorgroup>
33
34
    <copyright>
34
35
      <year>2008</year>
 
36
      <year>2009</year>
35
37
      <holder>Teddy Hogeborn</holder>
36
38
      <holder>Björn Påhlsson</holder>
37
39
    </copyright>
38
40
    <xi:include href="legalnotice.xml"/>
39
41
  </refentryinfo>
40
 
 
 
42
  
41
43
  <refmeta>
42
44
    <refentrytitle>&CONFNAME;</refentrytitle>
43
45
    <manvolnum>5</manvolnum>
49
51
      Configuration file for the Mandos server
50
52
    </refpurpose>
51
53
  </refnamediv>
52
 
 
 
54
  
53
55
  <refsynopsisdiv>
54
56
    <synopsis>&CONFPATH;</synopsis>
55
57
  </refsynopsisdiv>
56
 
 
 
58
  
57
59
  <refsect1 id="description">
58
60
    <title>DESCRIPTION</title>
59
61
    <para>
95
97
    <para>
96
98
      Unknown options are ignored.  The used options are as follows:
97
99
    </para>
98
 
 
 
100
    
99
101
    <variablelist>
100
 
 
 
102
      
101
103
      <varlistentry>
102
104
        <term><option>timeout<literal> = </literal><replaceable
103
105
        >TIME</replaceable></option></term>
106
108
            This option is <emphasis>optional</emphasis>.
107
109
          </para>
108
110
          <para>
109
 
            The timeout is how long the server will wait for a
110
 
            successful checker run until a client is considered
111
 
            invalid - that is, ineligible to get the data this server
112
 
            holds.  By default Mandos will use 1 hour.
 
111
            The timeout is how long the server will wait (for either a
 
112
            successful checker run or a client receiving its secret)
 
113
            until a client is considered invalid - that is, ineligible
 
114
            to get the data this server holds.  By default Mandos will
 
115
            use 1 hour.
113
116
          </para>
114
117
          <para>
115
118
            The <replaceable>TIME</replaceable> is specified as a
126
129
          </para>
127
130
        </listitem>
128
131
      </varlistentry>
129
 
 
 
132
      
130
133
      <varlistentry>
131
134
        <term><option>interval<literal> = </literal><replaceable
132
135
        >TIME</replaceable></option></term>
149
152
          </para>
150
153
        </listitem>
151
154
      </varlistentry>
152
 
 
 
155
      
153
156
      <varlistentry>
154
157
        <term><option>checker<literal> = </literal><replaceable
155
158
        >COMMAND</replaceable></option></term>
168
171
            <varname>PATH</varname> will be searched.  The default
169
172
            value for the checker command is <quote><literal
170
173
            ><command>fping</command> <option>-q</option> <option
171
 
            >--</option> %(host)s</literal></quote>.
 
174
            >--</option> %%(host)s</literal></quote>.
172
175
          </para>
173
176
          <para>
174
177
            In addition to normal start time expansion, this option
223
226
          </para>
224
227
        </listitem>
225
228
      </varlistentry>
226
 
 
 
229
      
227
230
      <varlistentry>
228
231
        <term><option>secfile<literal> = </literal><replaceable
229
232
        >FILENAME</replaceable></option></term>
239
242
            should <emphasis>not</emphasis> be base64-encoded, but
240
243
            will be sent to clients verbatim.
241
244
          </para>
 
245
          <para>
 
246
            File names of the form <filename>~user/foo/bar</filename>
 
247
            and <filename>$<envar>ENVVAR</envar>/foo/bar</filename>
 
248
            are supported.
 
249
          </para>
242
250
        </listitem>
243
251
      </varlistentry>
244
 
 
 
252
      
245
253
      <varlistentry>
246
254
        <term><option><literal>host = </literal><replaceable
247
255
        >STRING</replaceable></option></term>
250
258
            This option is <emphasis>optional</emphasis>, but highly
251
259
            <emphasis>recommended</emphasis> unless the
252
260
            <option>checker</option> option is modified to a
253
 
            non-standard value without <quote>%(host)s</quote> in it.
 
261
            non-standard value without <quote>%%(host)s</quote> in it.
254
262
          </para>
255
263
          <para>
256
264
            Host name for this client.  This is not used by the server
313
321
        mode is needed to expose an error of this kind.
314
322
      </para>
315
323
    </refsect2>
316
 
 
 
324
    
317
325
  </refsect1>
318
326
  
319
327
  <refsect1 id="files">
344
352
[DEFAULT]
345
353
timeout = 1h
346
354
interval = 5m
347
 
checker = fping -q -- %(host)s
 
355
checker = fping -q -- %%(host)s
348
356
 
349
357
# Client "foo"
350
358
[foo]
373
381
fingerprint = 3e393aeaefb84c7e89e2f547b3a107558fca3a27
374
382
secfile = /etc/mandos/bar-secret
375
383
timeout = 15m
376
 
 
377
384
      </programlisting>
378
385
    </informalexample>
379
386
  </refsect1>