/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-keygen.xml

  • Committer: Teddy Hogeborn
  • Date: 2016-03-17 20:40:55 UTC
  • Revision ID: teddy@recompile.se-20160317204055-bhsh5xsidq7w5cxu
Client: Fix plymouth agent; broken since 1.7.2.

Fix an very old memory bug in the plymouth agent (which has been
present since its apperance in version 1.2), but which was only
recently detected at run time due to the new -fsanitize=address
compile- time flag, which has been used since version 1.7.2.  This
detection of a memory access violation causes the program to abort,
making the Plymouth graphical boot system unable to accept interactive
input of passwords when using the Mandos client.

* plugins.d/plymouth.c (exec_and_wait): Fix memory allocation bug when
  allocating new_argv.  Also tolerate a zero-length argv.

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 "2019-07-18">
 
5
<!ENTITY TIMESTAMP "2016-03-05">
6
6
<!ENTITY % common SYSTEM "common.ent">
7
7
%common;
8
8
]>
40
40
      <year>2014</year>
41
41
      <year>2015</year>
42
42
      <year>2016</year>
43
 
      <year>2017</year>
44
 
      <year>2018</year>
45
 
      <year>2019</year>
46
43
      <holder>Teddy Hogeborn</holder>
47
44
      <holder>Björn Påhlsson</holder>
48
45
    </copyright>
128
125
      </group>
129
126
      <sbr/>
130
127
      <group>
131
 
        <arg choice="plain"><option>--tls-keytype
132
 
        <replaceable>KEYTYPE</replaceable></option></arg>
133
 
        <arg choice="plain"><option>-T
134
 
        <replaceable>KEYTYPE</replaceable></option></arg>
135
 
      </group>
136
 
      <sbr/>
137
 
      <group>
138
128
        <arg choice="plain"><option>--force</option></arg>
139
129
        <arg choice="plain"><option>-f</option></arg>
140
130
      </group>
188
178
    <title>DESCRIPTION</title>
189
179
    <para>
190
180
      <command>&COMMANDNAME;</command> is a program to generate the
191
 
      TLS and OpenPGP keys used by
 
181
      OpenPGP key used by
192
182
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
193
 
      <manvolnum>8mandos</manvolnum></citerefentry>.  The keys are
194
 
      normally written to /etc/keys/mandos for later installation into
195
 
      the initrd image, but this, and most other things, can be
196
 
      changed with command line options.
 
183
      <manvolnum>8mandos</manvolnum></citerefentry>.  The key is
 
184
      normally written to /etc/mandos for later installation into the
 
185
      initrd image, but this, and most other things, can be changed
 
186
      with command line options.
197
187
    </para>
198
188
    <para>
199
189
      This program can also be used with the
236
226
        <replaceable>DIRECTORY</replaceable></option></term>
237
227
        <listitem>
238
228
          <para>
239
 
            Target directory for key files.  Default is <filename
240
 
            class="directory">/etc/keys/mandos</filename>.
 
229
            Target directory for key files.  Default is
 
230
            <filename class="directory">/etc/mandos</filename>.
241
231
          </para>
242
232
        </listitem>
243
233
      </varlistentry>
249
239
        <replaceable>TYPE</replaceable></option></term>
250
240
        <listitem>
251
241
          <para>
252
 
            OpenPGP key type.  Default is <quote>RSA</quote>.
 
242
            Key type.  Default is <quote>RSA</quote>.
253
243
          </para>
254
244
        </listitem>
255
245
      </varlistentry>
261
251
        <replaceable>BITS</replaceable></option></term>
262
252
        <listitem>
263
253
          <para>
264
 
            OpenPGP key length in bits.  Default is 4096.
 
254
            Key length in bits.  Default is 4096.
265
255
          </para>
266
256
        </listitem>
267
257
      </varlistentry>
273
263
        <replaceable>KEYTYPE</replaceable></option></term>
274
264
        <listitem>
275
265
          <para>
276
 
            OpenPGP subkey type.  Default is <quote>RSA</quote>
 
266
            Subkey type.  Default is <quote>RSA</quote> (Elgamal
 
267
            encryption-only).
277
268
          </para>
278
269
        </listitem>
279
270
      </varlistentry>
285
276
        <replaceable>BITS</replaceable></option></term>
286
277
        <listitem>
287
278
          <para>
288
 
            OpenPGP subkey length in bits.  Default is 4096.
 
279
            Subkey length in bits.  Default is 4096.
289
280
          </para>
290
281
        </listitem>
291
282
      </varlistentry>
329
320
      </varlistentry>
330
321
      
331
322
      <varlistentry>
332
 
        <term><option>--tls-keytype
333
 
        <replaceable>KEYTYPE</replaceable></option></term>
334
 
        <term><option>-T
335
 
        <replaceable>KEYTYPE</replaceable></option></term>
336
 
        <listitem>
337
 
          <para>
338
 
            TLS key type.  Default is <quote>ed25519</quote>
339
 
          </para>
340
 
        </listitem>
341
 
      </varlistentry>
342
 
      
343
 
      <varlistentry>
344
323
        <term><option>--force</option></term>
345
324
        <term><option>-f</option></term>
346
325
        <listitem>
355
334
        <listitem>
356
335
          <para>
357
336
            Prompt for a password and encrypt it with the key already
358
 
            present in either <filename>/etc/keys/mandos</filename> or
359
 
            the directory specified with the <option>--dir</option>
 
337
            present in either <filename>/etc/mandos</filename> or the
 
338
            directory specified with the <option>--dir</option>
360
339
            option.  Outputs, on standard output, a section suitable
361
340
            for inclusion in <citerefentry><refentrytitle
362
341
            >mandos-clients.conf</refentrytitle><manvolnum
363
342
            >8</manvolnum></citerefentry>.  The host name or the name
364
343
            specified with the <option>--name</option> option is used
365
344
            for the section header.  All other options are ignored,
366
 
            and no key is created.  Note: white space is stripped from
367
 
            the beginning and from the end of the password; See <xref
368
 
            linkend="bugs"/>.
 
345
            and no key is created.
369
346
          </para>
370
347
        </listitem>
371
348
      </varlistentry>
377
354
        <listitem>
378
355
          <para>
379
356
            The same as <option>--password</option>, but read from
380
 
            <replaceable>FILE</replaceable>, not the terminal, and
381
 
            white space is not stripped from the password in any way.
 
357
            <replaceable>FILE</replaceable>, not the terminal.
382
358
          </para>
383
359
        </listitem>
384
360
      </varlistentry>
405
381
    <title>OVERVIEW</title>
406
382
    <xi:include href="overview.xml"/>
407
383
    <para>
408
 
      This program is a small utility to generate new TLS and OpenPGP
409
 
      keys for new Mandos clients, and to generate sections for
410
 
      inclusion in <filename>clients.conf</filename> on the server.
 
384
      This program is a small utility to generate new OpenPGP keys for
 
385
      new Mandos clients, and to generate sections for inclusion in
 
386
      <filename>clients.conf</filename> on the server.
411
387
    </para>
412
388
  </refsect1>
413
389
  
445
421
    </para>
446
422
    <variablelist>
447
423
      <varlistentry>
448
 
        <term><filename>/etc/keys/mandos/seckey.txt</filename></term>
 
424
        <term><filename>/etc/mandos/seckey.txt</filename></term>
449
425
        <listitem>
450
426
          <para>
451
427
            OpenPGP secret key file which will be created or
454
430
        </listitem>
455
431
      </varlistentry>
456
432
      <varlistentry>
457
 
        <term><filename>/etc/keys/mandos/pubkey.txt</filename></term>
 
433
        <term><filename>/etc/mandos/pubkey.txt</filename></term>
458
434
        <listitem>
459
435
          <para>
460
436
            OpenPGP public key file which will be created or
463
439
        </listitem>
464
440
      </varlistentry>
465
441
      <varlistentry>
466
 
        <term><filename>/etc/keys/mandos/tls-privkey.pem</filename></term>
467
 
        <listitem>
468
 
          <para>
469
 
            Private key file which will be created or overwritten.
470
 
          </para>
471
 
        </listitem>
472
 
      </varlistentry>
473
 
      <varlistentry>
474
 
        <term><filename>/etc/keys/mandos/tls-pubkey.pem</filename></term>
475
 
        <listitem>
476
 
          <para>
477
 
            Public key file which will be created or overwritten.
478
 
          </para>
479
 
        </listitem>
480
 
      </varlistentry>
481
 
      <varlistentry>
482
442
        <term><filename class="directory">/tmp</filename></term>
483
443
        <listitem>
484
444
          <para>
492
452
  
493
453
  <refsect1 id="bugs">
494
454
    <title>BUGS</title>
495
 
    <para>
496
 
      The <option>--password</option>/<option>-p</option> option
497
 
      strips white space from the start and from the end of the
498
 
      password before using it.  If this is a problem, use the
499
 
      <option>--passfile</option> option instead, which does not do
500
 
      this.
501
 
    </para>
502
455
    <xi:include href="bugs.xml"/>
503
456
  </refsect1>
504
457
  
526
479
    </informalexample>
527
480
    <informalexample>
528
481
      <para>
529
 
        Prompt for a password, encrypt it with the keys in <filename
530
 
        class="directory">/etc/keys/mandos</filename> and output a
531
 
        section suitable for <filename>clients.conf</filename>.
 
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>.
532
485
      </para>
533
486
      <para>
534
487
        <userinput>&COMMANDNAME; --password</userinput>
536
489
    </informalexample>
537
490
    <informalexample>
538
491
      <para>
539
 
        Prompt for a password, encrypt it with the keys in the
 
492
        Prompt for a password, encrypt it with the key in the
540
493
        <filename>client-key</filename> directory and output a section
541
494
        suitable for <filename>clients.conf</filename>.
542
495
      </para>