/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 plugins.d/mandos-client.xml

  • Committer: Teddy Hogeborn
  • Date: 2009-10-24 19:17:52 UTC
  • Revision ID: teddy@fukt.bsnet.se-20091024191752-7g6xlf6wpp2pdexb
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:
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
4
<!ENTITY COMMANDNAME "mandos-client">
5
 
<!ENTITY TIMESTAMP "2009-01-24">
 
5
<!ENTITY TIMESTAMP "2009-02-09">
6
6
<!ENTITY % common SYSTEM "../common.ent">
7
7
%common;
8
8
]>
93
93
      </arg>
94
94
      <sbr/>
95
95
      <arg>
 
96
        <option>--delay <replaceable>SECONDS</replaceable></option>
 
97
      </arg>
 
98
      <sbr/>
 
99
      <arg>
96
100
        <option>--debug</option>
97
101
      </arg>
98
102
    </cmdsynopsis>
191
195
      </varlistentry>
192
196
      
193
197
      <varlistentry>
194
 
        <term><option>--interface=
195
 
        <replaceable>NAME</replaceable></option></term>
 
198
        <term><option>--interface=<replaceable
 
199
        >NAME</replaceable></option></term>
196
200
        <term><option>-i
197
201
        <replaceable>NAME</replaceable></option></term>
198
202
        <listitem>
199
203
          <para>
200
204
            Network interface that will be brought up and scanned for
201
 
            Mandos servers to connect to.  The default it
 
205
            Mandos servers to connect to.  The default is
202
206
            <quote><literal>eth0</literal></quote>.
203
207
          </para>
204
208
          <para>
215
219
            until much later in the boot process, and can not be used
216
220
            by this program.
217
221
          </para>
 
222
          <para>
 
223
            <replaceable>NAME</replaceable> can be the empty string;
 
224
            this will not use any specific interface, and will not
 
225
            bring up an interface on startup.  This is not
 
226
            recommended, and only meant for advanced users.
 
227
          </para>
218
228
        </listitem>
219
229
      </varlistentry>
220
230
      
265
275
          </para>
266
276
        </listitem>
267
277
      </varlistentry>
 
278
 
 
279
      <varlistentry>
 
280
        <term><option>--delay=<replaceable
 
281
        >SECONDS</replaceable></option></term>
 
282
        <listitem>
 
283
          <para>
 
284
            After bringing the network interface up, the program waits
 
285
            for the interface to arrive in a <quote>running</quote>
 
286
            state before proceeding.  During this time, the kernel log
 
287
            level will be lowered to reduce clutter on the system
 
288
            console, alleviating any other plugins which might be
 
289
            using the system console.  This option sets the upper
 
290
            limit of seconds to wait.  The default is 2.5 seconds.
 
291
          </para>
 
292
        </listitem>
 
293
      </varlistentry>
268
294
      
269
295
      <varlistentry>
270
296
        <term><option>--debug</option></term>
426
452
    <informalexample>
427
453
      <para>
428
454
        Run in debug mode, with a custom key, and do not use Zeroconf
429
 
        to locate a server; connect directly to the IPv6 address
430
 
        <quote><systemitem class="ipaddress"
431
 
        >2001:db8:f983:bd0b:30de:ae4a:71f2:f672</systemitem></quote>,
432
 
        port 4711, using interface eth2:
 
455
        to locate a server; connect directly to the IPv6 link-local
 
456
        address <quote><systemitem class="ipaddress"
 
457
        >fe80::aede:48ff:fe71:f6f2</systemitem></quote>, port 4711,
 
458
        using interface eth2:
433
459
      </para>
434
460
      <para>
435
461
 
436
462
<!-- do not wrap this line -->
437
 
<userinput>&COMMANDNAME; --debug --pubkey keydir/pubkey.txt --seckey keydir/seckey.txt --connect 2001:db8:f983:bd0b:30de:ae4a:71f2:f672:4711 --interface eth2</userinput>
 
463
<userinput>&COMMANDNAME; --debug --pubkey keydir/pubkey.txt --seckey keydir/seckey.txt --connect fe80::aede:48ff:fe71:f6f2:4711 --interface eth2</userinput>
438
464
 
439
465
      </para>
440
466
    </informalexample>