/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: 2015-08-10 09:00:23 UTC
  • Revision ID: teddy@recompile.se-20150810090023-fz6vjqr7zf33e2tf
Support the standard org.freedesktop.DBus.ObjectManager interface.

Now that the D-Bus standard has an interface to keep track of new and
removed objects, use that instead of our own methods.  This deprecates
our D-Bus methods "GetAllClients" and "GetAllClientsWithProperties"
and the signals "ClientAdded" and "ClientRemoved", all on the server
interface "se.recompile.Mandos".

* DBUS-API: Removed references to deprecated methods and signals;
  insert reference to the org.freedesktop.DBus.ObjectManager
  interface.
* mandos (DBusObjectWithProperties._get_all_interface_names): New.
  (dbus.OBJECT_MANAGER_IFACE): If not present, monkey patch.
  (DBusObjectWithObjectManager): New.
  (main/MandosDBusService): Inherit from DBusObjectWithObjectManager.
  (main/MandosDBusService.ClientRemoved): Annotate as deprecated.
  (main/MandosDBusService.GetAllClients): - '' -
  (main/MandosDBusService.GetAllClientsWithProperties): Annotate as
                                                        deprecated.
                                                        Also only
                                                        return
                                                        properties on
                                                        client
                                                        interface.
  (main/MandosDBusService.RemoveClient): Call client_removed_signal
                                         instead of ClientRemoved.
  (main/MandosDBusService.GetManagedObjects): New.
  (main/MandosDBusService.client_added_signal): New.
  (main/MandosDBusService.client_removed_signal): - '' -
  (main/cleanup): Call "client_removed_signal" instead of sending
                  "ClientRemoved" signal directly.
  (main): Call "client_added_signal" instead of sending "ClientAdded"
          signal directly.
* mandos-ctl: Use GetManagedObjects instead of
              GetAllClientsWithProperties.  Also, show better error
              message in case of failure to connect to the D-Bus

* mandos-monitor (MandosClientPropertyCache.properties_changed):
  Bug fix; only update properties on client interface.
  (UserInterface.find_and_remove_client): Change to accept arguments
                                          from InterfacesRemoved
                                          signal.  Also, bug fix:
                                          working error message when
                                          removing unknown client.
  (UserInterface.add_new_client): Change to accept arguments from
                                  InterfacesRemoved signal.  Pass
                                  properties to MandosClientWidget
                                  constructor.
  (UserInterface.run): Connect find_and_remove_client method to
                       InterfacesRemoved signal and the add_new_client
                       method to the InterfacesAdded signal.

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 COMMANDNAME "mandos-keygen">
6
 
<!ENTITY TIMESTAMP "2008-08-31">
 
5
<!ENTITY TIMESTAMP "2015-07-20">
 
6
<!ENTITY % common SYSTEM "common.ent">
 
7
%common;
7
8
]>
8
9
 
9
10
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
11
12
    <title>Mandos Manual</title>
12
13
    <!-- NWalsh’s docbook scripts use this to generate the footer: -->
13
14
    <productname>Mandos</productname>
14
 
    <productnumber>&VERSION;</productnumber>
 
15
    <productnumber>&version;</productnumber>
15
16
    <date>&TIMESTAMP;</date>
16
17
    <authorgroup>
17
18
      <author>
18
19
        <firstname>Björn</firstname>
19
20
        <surname>Påhlsson</surname>
20
21
        <address>
21
 
          <email>belorn@fukt.bsnet.se</email>
 
22
          <email>belorn@recompile.se</email>
22
23
        </address>
23
24
      </author>
24
25
      <author>
25
26
        <firstname>Teddy</firstname>
26
27
        <surname>Hogeborn</surname>
27
28
        <address>
28
 
          <email>teddy@fukt.bsnet.se</email>
 
29
          <email>teddy@recompile.se</email>
29
30
        </address>
30
31
      </author>
31
32
    </authorgroup>
32
33
    <copyright>
33
34
      <year>2008</year>
 
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>
34
42
      <holder>Teddy Hogeborn</holder>
35
43
      <holder>Björn Påhlsson</holder>
36
44
    </copyright>
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>
 
45
    <xi:include href="legalnotice.xml"/>
60
46
  </refentryinfo>
61
 
 
 
47
  
62
48
  <refmeta>
63
49
    <refentrytitle>&COMMANDNAME;</refentrytitle>
64
50
    <manvolnum>8</manvolnum>
70
56
      Generate key and password for Mandos client and server.
71
57
    </refpurpose>
72
58
  </refnamediv>
73
 
 
 
59
  
74
60
  <refsynopsisdiv>
75
61
    <cmdsynopsis>
76
62
      <command>&COMMANDNAME;</command>
137
123
        <replaceable>TIME</replaceable></option></arg>
138
124
      </group>
139
125
      <sbr/>
140
 
      <arg><option>--force</option></arg>
 
126
      <group>
 
127
        <arg choice="plain"><option>--force</option></arg>
 
128
        <arg choice="plain"><option>-f</option></arg>
 
129
      </group>
141
130
    </cmdsynopsis>
142
131
    <cmdsynopsis>
143
132
      <command>&COMMANDNAME;</command>
144
133
      <group choice="req">
145
134
        <arg choice="plain"><option>--password</option></arg>
146
135
        <arg choice="plain"><option>-p</option></arg>
 
136
        <arg choice="plain"><option>--passfile
 
137
        <replaceable>FILE</replaceable></option></arg>
 
138
        <arg choice="plain"><option>-F</option>
 
139
        <replaceable>FILE</replaceable></arg>
147
140
      </group>
148
141
      <sbr/>
149
142
      <group>
159
152
        <arg choice="plain"><option>-n
160
153
        <replaceable>NAME</replaceable></option></arg>
161
154
      </group>
 
155
      <group>
 
156
        <arg choice="plain"><option>--no-ssh</option></arg>
 
157
        <arg choice="plain"><option>-S</option></arg>
 
158
      </group>
162
159
    </cmdsynopsis>
163
160
    <cmdsynopsis>
164
161
      <command>&COMMANDNAME;</command>
181
178
    <para>
182
179
      <command>&COMMANDNAME;</command> is a program to generate the
183
180
      OpenPGP key used by
184
 
      <citerefentry><refentrytitle>password-request</refentrytitle>
 
181
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
185
182
      <manvolnum>8mandos</manvolnum></citerefentry>.  The key is
186
183
      normally written to /etc/mandos for later installation into the
187
184
      initrd image, but this, and most other things, can be changed
189
186
    </para>
190
187
    <para>
191
188
      This program can also be used with the
192
 
      <option>--password</option> option to generate a ready-made
193
 
      section for <filename>clients.conf</filename> (see
 
189
      <option>--password</option> or <option>--passfile</option>
 
190
      options to generate a ready-made section for
 
191
      <filename>clients.conf</filename> (see
194
192
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
195
193
      <manvolnum>5</manvolnum></citerefentry>).
196
194
    </para>
219
217
          </para>
220
218
        </listitem>
221
219
      </varlistentry>
222
 
 
 
220
      
223
221
      <varlistentry>
224
222
        <term><option>--dir
225
223
        <replaceable>DIRECTORY</replaceable></option></term>
228
226
        <listitem>
229
227
          <para>
230
228
            Target directory for key files.  Default is
231
 
            <filename>/etc/mandos</filename>.
 
229
            <filename class="directory">/etc/mandos</filename>.
232
230
          </para>
233
231
        </listitem>
234
232
      </varlistentry>
235
 
 
 
233
      
236
234
      <varlistentry>
237
235
        <term><option>--type
238
236
        <replaceable>TYPE</replaceable></option></term>
240
238
        <replaceable>TYPE</replaceable></option></term>
241
239
        <listitem>
242
240
          <para>
243
 
            Key type.  Default is <quote>DSA</quote>.
 
241
            Key type.  Default is <quote>RSA</quote>.
244
242
          </para>
245
243
        </listitem>
246
244
      </varlistentry>
247
 
 
 
245
      
248
246
      <varlistentry>
249
247
        <term><option>--length
250
248
        <replaceable>BITS</replaceable></option></term>
252
250
        <replaceable>BITS</replaceable></option></term>
253
251
        <listitem>
254
252
          <para>
255
 
            Key length in bits.  Default is 2048.
 
253
            Key length in bits.  Default is 4096.
256
254
          </para>
257
255
        </listitem>
258
256
      </varlistentry>
259
 
 
 
257
      
260
258
      <varlistentry>
261
259
        <term><option>--subtype
262
260
        <replaceable>KEYTYPE</replaceable></option></term>
264
262
        <replaceable>KEYTYPE</replaceable></option></term>
265
263
        <listitem>
266
264
          <para>
267
 
            Subkey type.  Default is <quote>ELG-E</quote> (Elgamal
 
265
            Subkey type.  Default is <quote>RSA</quote> (Elgamal
268
266
            encryption-only).
269
267
          </para>
270
268
        </listitem>
271
269
      </varlistentry>
272
 
 
 
270
      
273
271
      <varlistentry>
274
272
        <term><option>--sublength
275
273
        <replaceable>BITS</replaceable></option></term>
277
275
        <replaceable>BITS</replaceable></option></term>
278
276
        <listitem>
279
277
          <para>
280
 
            Subkey length in bits.  Default is 2048.
 
278
            Subkey length in bits.  Default is 4096.
281
279
          </para>
282
280
        </listitem>
283
281
      </varlistentry>
284
 
 
 
282
      
285
283
      <varlistentry>
286
284
        <term><option>--email
287
285
        <replaceable>ADDRESS</replaceable></option></term>
293
291
          </para>
294
292
        </listitem>
295
293
      </varlistentry>
296
 
 
 
294
      
297
295
      <varlistentry>
298
296
        <term><option>--comment
299
297
        <replaceable>TEXT</replaceable></option></term>
301
299
        <replaceable>TEXT</replaceable></option></term>
302
300
        <listitem>
303
301
          <para>
304
 
            Comment field for key.  The default value is
305
 
            <quote><literal>Mandos client key</literal></quote>.
 
302
            Comment field for key.  Default is empty.
306
303
          </para>
307
304
        </listitem>
308
305
      </varlistentry>
309
 
 
 
306
      
310
307
      <varlistentry>
311
308
        <term><option>--expire
312
309
        <replaceable>TIME</replaceable></option></term>
320
317
          </para>
321
318
        </listitem>
322
319
      </varlistentry>
323
 
 
 
320
      
324
321
      <varlistentry>
325
322
        <term><option>--force</option></term>
326
323
        <term><option>-f</option></term>
348
345
          </para>
349
346
        </listitem>
350
347
      </varlistentry>
 
348
      <varlistentry>
 
349
        <term><option>--passfile
 
350
        <replaceable>FILE</replaceable></option></term>
 
351
        <term><option>-F
 
352
        <replaceable>FILE</replaceable></option></term>
 
353
        <listitem>
 
354
          <para>
 
355
            The same as <option>--password</option>, but read from
 
356
            <replaceable>FILE</replaceable>, not the terminal.
 
357
          </para>
 
358
        </listitem>
 
359
      </varlistentry>
 
360
      <varlistentry>
 
361
        <term><option>--no-ssh</option></term>
 
362
        <term><option>-S</option></term>
 
363
        <listitem>
 
364
          <para>
 
365
            When <option>--password</option> or
 
366
            <option>--passfile</option> is given, this option will
 
367
            prevent <command>&COMMANDNAME;</command> from calling
 
368
            <command>ssh-keyscan</command> to get an SSH fingerprint
 
369
            for this host and, if successful, output suitable config
 
370
            options to use this fingerprint as a
 
371
            <option>checker</option> option in the output.  This is
 
372
            otherwise the default behavior.
 
373
          </para>
 
374
        </listitem>
 
375
      </varlistentry>
351
376
    </variablelist>
352
377
  </refsect1>
353
 
 
 
378
  
354
379
  <refsect1 id="overview">
355
380
    <title>OVERVIEW</title>
356
381
    <xi:include href="overview.xml"/>
360
385
      <filename>clients.conf</filename> on the server.
361
386
    </para>
362
387
  </refsect1>
363
 
 
 
388
  
364
389
  <refsect1 id="exit_status">
365
390
    <title>EXIT STATUS</title>
366
391
    <para>
386
411
    </variablelist>
387
412
  </refsect1>
388
413
  
389
 
  <refsect1 id="file">
 
414
  <refsect1 id="files">
390
415
    <title>FILES</title>
391
416
    <para>
392
417
      Use the <option>--dir</option> option to change where
413
438
        </listitem>
414
439
      </varlistentry>
415
440
      <varlistentry>
416
 
        <term><filename>/tmp</filename></term>
 
441
        <term><filename class="directory">/tmp</filename></term>
417
442
        <listitem>
418
443
          <para>
419
444
            Temporary files will be written here if
423
448
      </varlistentry>
424
449
    </variablelist>
425
450
  </refsect1>
426
 
 
427
 
  <refsect1 id="bugs">
428
 
    <title>BUGS</title>
429
 
    <para>
430
 
      None are known at this time.
431
 
    </para>
432
 
  </refsect1>
433
 
 
 
451
  
 
452
<!--   <refsect1 id="bugs"> -->
 
453
<!--     <title>BUGS</title> -->
 
454
<!--     <para> -->
 
455
<!--     </para> -->
 
456
<!--   </refsect1> -->
 
457
  
434
458
  <refsect1 id="example">
435
459
    <title>EXAMPLE</title>
436
460
    <informalexample>
455
479
    </informalexample>
456
480
    <informalexample>
457
481
      <para>
458
 
        Prompt for a password, encrypt it with the key in
459
 
        <filename>/etc/mandos</filename> and output a section suitable
460
 
        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>.
461
485
      </para>
462
486
      <para>
463
487
        <userinput>&COMMANDNAME; --password</userinput>
477
501
      </para>
478
502
    </informalexample>
479
503
  </refsect1>
480
 
 
 
504
  
481
505
  <refsect1 id="security">
482
506
    <title>SECURITY</title>
483
507
    <para>
492
516
      <manvolnum>8</manvolnum></citerefentry>.
493
517
    </para>
494
518
  </refsect1>
495
 
 
 
519
  
496
520
  <refsect1 id="see_also">
497
521
    <title>SEE ALSO</title>
498
522
    <para>
 
523
      <citerefentry><refentrytitle>intro</refentrytitle>
 
524
      <manvolnum>8mandos</manvolnum></citerefentry>,
499
525
      <citerefentry><refentrytitle>gpg</refentrytitle>
500
526
      <manvolnum>1</manvolnum></citerefentry>,
501
527
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
502
528
      <manvolnum>5</manvolnum></citerefentry>,
503
529
      <citerefentry><refentrytitle>mandos</refentrytitle>
504
530
      <manvolnum>8</manvolnum></citerefentry>,
505
 
      <citerefentry><refentrytitle>password-request</refentrytitle>
506
 
      <manvolnum>8mandos</manvolnum></citerefentry>
 
531
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
 
532
      <manvolnum>8mandos</manvolnum></citerefentry>,
 
533
      <citerefentry><refentrytitle>ssh-keyscan</refentrytitle>
 
534
      <manvolnum>1</manvolnum></citerefentry>
507
535
    </para>
508
536
  </refsect1>
509
537