/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-keygen.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:
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-keygen">
5
 
<!ENTITY TIMESTAMP "2016-03-05">
 
5
<!ENTITY TIMESTAMP "2009-01-04">
6
6
<!ENTITY % common SYSTEM "common.ent">
7
7
%common;
8
8
]>
19
19
        <firstname>Björn</firstname>
20
20
        <surname>Påhlsson</surname>
21
21
        <address>
22
 
          <email>belorn@recompile.se</email>
 
22
          <email>belorn@fukt.bsnet.se</email>
23
23
        </address>
24
24
      </author>
25
25
      <author>
26
26
        <firstname>Teddy</firstname>
27
27
        <surname>Hogeborn</surname>
28
28
        <address>
29
 
          <email>teddy@recompile.se</email>
 
29
          <email>teddy@fukt.bsnet.se</email>
30
30
        </address>
31
31
      </author>
32
32
    </authorgroup>
33
33
    <copyright>
34
34
      <year>2008</year>
35
35
      <year>2009</year>
36
 
      <year>2010</year>
37
 
      <year>2011</year>
38
 
      <year>2012</year>
39
 
      <year>2013</year>
40
 
      <year>2014</year>
41
 
      <year>2015</year>
42
 
      <year>2016</year>
43
36
      <holder>Teddy Hogeborn</holder>
44
37
      <holder>Björn Påhlsson</holder>
45
38
    </copyright>
124
117
        <replaceable>TIME</replaceable></option></arg>
125
118
      </group>
126
119
      <sbr/>
127
 
      <group>
128
 
        <arg choice="plain"><option>--force</option></arg>
129
 
        <arg choice="plain"><option>-f</option></arg>
130
 
      </group>
 
120
      <arg><option>--force</option></arg>
131
121
    </cmdsynopsis>
132
122
    <cmdsynopsis>
133
123
      <command>&COMMANDNAME;</command>
153
143
        <arg choice="plain"><option>-n
154
144
        <replaceable>NAME</replaceable></option></arg>
155
145
      </group>
156
 
      <group>
157
 
        <arg choice="plain"><option>--no-ssh</option></arg>
158
 
        <arg choice="plain"><option>-S</option></arg>
159
 
      </group>
160
146
    </cmdsynopsis>
161
147
    <cmdsynopsis>
162
148
      <command>&COMMANDNAME;</command>
227
213
        <listitem>
228
214
          <para>
229
215
            Target directory for key files.  Default is
230
 
            <filename class="directory">/etc/mandos</filename>.
 
216
            <filename>/etc/mandos</filename>.
231
217
          </para>
232
218
        </listitem>
233
219
      </varlistentry>
239
225
        <replaceable>TYPE</replaceable></option></term>
240
226
        <listitem>
241
227
          <para>
242
 
            Key type.  Default is <quote>RSA</quote>.
 
228
            Key type.  Default is <quote>DSA</quote>.
243
229
          </para>
244
230
        </listitem>
245
231
      </varlistentry>
251
237
        <replaceable>BITS</replaceable></option></term>
252
238
        <listitem>
253
239
          <para>
254
 
            Key length in bits.  Default is 4096.
 
240
            Key length in bits.  Default is 2048.
255
241
          </para>
256
242
        </listitem>
257
243
      </varlistentry>
263
249
        <replaceable>KEYTYPE</replaceable></option></term>
264
250
        <listitem>
265
251
          <para>
266
 
            Subkey type.  Default is <quote>RSA</quote> (Elgamal
 
252
            Subkey type.  Default is <quote>ELG-E</quote> (Elgamal
267
253
            encryption-only).
268
254
          </para>
269
255
        </listitem>
276
262
        <replaceable>BITS</replaceable></option></term>
277
263
        <listitem>
278
264
          <para>
279
 
            Subkey length in bits.  Default is 4096.
 
265
            Subkey length in bits.  Default is 2048.
280
266
          </para>
281
267
        </listitem>
282
268
      </varlistentry>
300
286
        <replaceable>TEXT</replaceable></option></term>
301
287
        <listitem>
302
288
          <para>
303
 
            Comment field for key.  Default is empty.
 
289
            Comment field for key.  The default value is
 
290
            <quote><literal>Mandos client key</literal></quote>.
304
291
          </para>
305
292
        </listitem>
306
293
      </varlistentry>
358
345
          </para>
359
346
        </listitem>
360
347
      </varlistentry>
361
 
      <varlistentry>
362
 
        <term><option>--no-ssh</option></term>
363
 
        <term><option>-S</option></term>
364
 
        <listitem>
365
 
          <para>
366
 
            When <option>--password</option> or
367
 
            <option>--passfile</option> is given, this option will
368
 
            prevent <command>&COMMANDNAME;</command> from calling
369
 
            <command>ssh-keyscan</command> to get an SSH fingerprint
370
 
            for this host and, if successful, output suitable config
371
 
            options to use this fingerprint as a
372
 
            <option>checker</option> option in the output.  This is
373
 
            otherwise the default behavior.
374
 
          </para>
375
 
        </listitem>
376
 
      </varlistentry>
377
348
    </variablelist>
378
349
  </refsect1>
379
350
  
439
410
        </listitem>
440
411
      </varlistentry>
441
412
      <varlistentry>
442
 
        <term><filename class="directory">/tmp</filename></term>
 
413
        <term><filename>/tmp</filename></term>
443
414
        <listitem>
444
415
          <para>
445
416
            Temporary files will be written here if
450
421
    </variablelist>
451
422
  </refsect1>
452
423
  
453
 
  <refsect1 id="bugs">
454
 
    <title>BUGS</title>
455
 
    <xi:include href="bugs.xml"/>
456
 
  </refsect1>
 
424
<!--   <refsect1 id="bugs"> -->
 
425
<!--     <title>BUGS</title> -->
 
426
<!--     <para> -->
 
427
<!--     </para> -->
 
428
<!--   </refsect1> -->
457
429
  
458
430
  <refsect1 id="example">
459
431
    <title>EXAMPLE</title>
479
451
    </informalexample>
480
452
    <informalexample>
481
453
      <para>
482
 
        Prompt for a password, encrypt it with the key in <filename
483
 
        class="directory">/etc/mandos</filename> and output a section
484
 
        suitable for <filename>clients.conf</filename>.
 
454
        Prompt for a password, encrypt it with the key in
 
455
        <filename>/etc/mandos</filename> and output a section suitable
 
456
        for <filename>clients.conf</filename>.
485
457
      </para>
486
458
      <para>
487
459
        <userinput>&COMMANDNAME; --password</userinput>
520
492
  <refsect1 id="see_also">
521
493
    <title>SEE ALSO</title>
522
494
    <para>
523
 
      <citerefentry><refentrytitle>intro</refentrytitle>
524
 
      <manvolnum>8mandos</manvolnum></citerefentry>,
525
495
      <citerefentry><refentrytitle>gpg</refentrytitle>
526
496
      <manvolnum>1</manvolnum></citerefentry>,
527
497
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
529
499
      <citerefentry><refentrytitle>mandos</refentrytitle>
530
500
      <manvolnum>8</manvolnum></citerefentry>,
531
501
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
532
 
      <manvolnum>8mandos</manvolnum></citerefentry>,
533
 
      <citerefentry><refentrytitle>ssh-keyscan</refentrytitle>
534
 
      <manvolnum>1</manvolnum></citerefentry>
 
502
      <manvolnum>8mandos</manvolnum></citerefentry>
535
503
    </para>
536
504
  </refsect1>
537
505