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

First version of a somewhat complete D-Bus server interface.  Also
change user/group name to "_mandos".

* debian/mandos.postinst: Rename old "mandos" user and group to
                          "_mandos"; create "_mandos" user and group
                          if none exist.
* debian/mandos-client.postinst: - '' -

* initramfs-tools-hook: Try "_mandos" before "mandos" as user and
                        group name.

* mandos (_datetime_to_dbus_struct): New; was previously local.
  (Client.started): Renamed to "last_started".  All users changed.
  (Client.started): New; boolean.
  (Client.dbus_object_path): New.
  (Client.check_command): Renamed to "checker_command".  All users
                          changed.
  (Client.__init__): Set and use "self.dbus_object_path".  Set
                     "self.started".
  (Client.start): Update "self.started".  Emit "self.PropertyChanged"
                  signals for both "started" and "last_started".
  (Client.stop): Update "self.started".  Emit "self.PropertyChanged"
                 signal for "started".
  (Client.checker_callback): Take additional "command" argument.  All
                             callers changed. Emit
                             "self.PropertyChanged" signal.
  (Client.bump_timeout): Emit "self.PropertyChanged" signal for
                         "last_checked_ok".
  (Client.start_checker): Emit "self.PropertyChanged" signal for
                          "checker_running".
  (Client.stop_checker): Emit "self.PropertyChanged" signal for
                         "checker_running".
  (Client.still_valid): Bug fix: use "getattr(self, started, False)"
                        instead of "self.started" in case this client
                        object is so new that the "started" attribute
                        has not been created yet.
  (Client.IntervalChanged, Client.CheckerIsRunning, Client.GetChecker,
  Client.GetCreated, Client.GetFingerprint, Client.GetHost,
  Client.GetInterval, Client.GetName, Client.GetStarted,
  Client.GetTimeout, Client.StateChanged, Client.TimeoutChanged):
  Removed; all callers changed.
  (Client.CheckerCompleted): Add "condition" and "command" arguments.
                             All callers changed.
  (Client.GetAllProperties, Client.PropertyChanged): New.
  (Client.StillValid): Renamed to "IsStillValid".
  (Client.StartChecker): Changed to its own function to avoid the
                         return value from "Client.start_checker()".
  (Client.Stop): Changed to its own function to avoid the return value
                 from "Client.stop()".
  (main): Try "_mandos" before "mandos" as user and group name.
          Removed inner function "remove_from_clients".  New inner
          class "MandosServer".

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
 
<!ENTITY COMMANDNAME "password-request">
6
 
<!ENTITY TIMESTAMP "2008-09-04">
 
4
<!ENTITY COMMANDNAME "mandos-client">
 
5
<!ENTITY TIMESTAMP "2008-10-03">
 
6
<!ENTITY % common SYSTEM "../common.ent">
 
7
%common;
7
8
]>
8
9
 
9
10
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
10
11
  <refentryinfo>
11
12
    <title>Mandos Manual</title>
12
 
    <!-- Nwalsh’s docbook scripts use this to generate the footer: -->
 
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>
36
37
    </copyright>
37
38
    <xi:include href="../legalnotice.xml"/>
38
39
  </refentryinfo>
39
 
 
 
40
  
40
41
  <refmeta>
41
42
    <refentrytitle>&COMMANDNAME;</refentrytitle>
42
43
    <manvolnum>8mandos</manvolnum>
45
46
  <refnamediv>
46
47
    <refname><command>&COMMANDNAME;</command></refname>
47
48
    <refpurpose>
48
 
      Client for mandos
 
49
      Client for <application>Mandos</application>
49
50
    </refpurpose>
50
51
  </refnamediv>
51
 
 
 
52
  
52
53
  <refsynopsisdiv>
53
54
    <cmdsynopsis>
54
55
      <command>&COMMANDNAME;</command>
113
114
      </group>
114
115
    </cmdsynopsis>
115
116
  </refsynopsisdiv>
116
 
 
 
117
  
117
118
  <refsect1 id="description">
118
119
    <title>DESCRIPTION</title>
119
120
    <para>
215
216
          </para>
216
217
        </listitem>
217
218
      </varlistentry>
218
 
 
 
219
      
219
220
      <varlistentry>
220
221
        <term><option>--seckey=<replaceable
221
222
        >FILE</replaceable></option></term>
238
239
                      xpointer="priority"/>
239
240
        </listitem>
240
241
      </varlistentry>
241
 
 
 
242
      
242
243
      <varlistentry>
243
244
        <term><option>--dh-bits=<replaceable
244
245
        >BITS</replaceable></option></term>
284
285
          </para>
285
286
        </listitem>
286
287
      </varlistentry>
287
 
 
 
288
      
288
289
      <varlistentry>
289
290
        <term><option>--version</option></term>
290
291
        <term><option>-V</option></term>
296
297
      </varlistentry>
297
298
    </variablelist>
298
299
  </refsect1>
299
 
 
 
300
  
300
301
  <refsect1 id="overview">
301
302
    <title>OVERVIEW</title>
302
303
    <xi:include href="../overview.xml"/>
311
312
      <filename>/etc/crypttab</filename>, but it would then be
312
313
      impossible to enter a password for the encrypted root disk at
313
314
      the console, since this program does not read from the console
314
 
      at all.  This is why a separate plugin (<citerefentry>
315
 
      <refentrytitle>password-prompt</refentrytitle>
316
 
      <manvolnum>8mandos</manvolnum></citerefentry>) does that, which
317
 
      will be run in parallel to this one by the plugin runner.
 
315
      at all.  This is why a separate plugin runner (<citerefentry>
 
316
      <refentrytitle>plugin-runner</refentrytitle>
 
317
      <manvolnum>8mandos</manvolnum></citerefentry>) is used to run
 
318
      both this program and others in in parallel,
 
319
      <emphasis>one</emphasis> of which will prompt for passwords on
 
320
      the system console.
318
321
    </para>
319
322
  </refsect1>
320
323
  
327
330
      program will exit with a non-zero exit status only if a critical
328
331
      error occurs.  Otherwise, it will forever connect to new
329
332
      <application>Mandos</application> servers as they appear, trying
330
 
      to get a decryptable password.
 
333
      to get a decryptable password and print it.
331
334
    </para>
332
335
  </refsect1>
333
336
  
341
344
    </para>
342
345
  </refsect1>
343
346
  
344
 
  <refsect1 id="file">
 
347
  <refsect1 id="files">
345
348
    <title>FILES</title>
346
349
    <variablelist>
347
350
      <varlistentry>
366
369
<!--     <para> -->
367
370
<!--     </para> -->
368
371
<!--   </refsect1> -->
369
 
 
 
372
  
370
373
  <refsect1 id="example">
371
374
    <title>EXAMPLE</title>
372
375
    <para>
421
424
      </para>
422
425
    </informalexample>
423
426
  </refsect1>
424
 
 
 
427
  
425
428
  <refsect1 id="security">
426
429
    <title>SECURITY</title>
427
430
    <para>
447
450
      The only remaining weak point is that someone with physical
448
451
      access to the client hard drive might turn off the client
449
452
      computer, read the OpenPGP keys directly from the hard drive,
450
 
      and communicate with the server.  The defense against this is
451
 
      that the server is supposed to notice the client disappearing
452
 
      and will stop giving out the encrypted data.  Therefore, it is
453
 
      important to set the timeout and checker interval values tightly
454
 
      on the server.  See <citerefentry><refentrytitle
 
453
      and communicate with the server.  To safeguard against this, the
 
454
      server is supposed to notice the client disappearing and stop
 
455
      giving out the encrypted data.  Therefore, it is important to
 
456
      set the timeout and checker interval values tightly on the
 
457
      server.  See <citerefentry><refentrytitle
455
458
      >mandos</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
456
459
    </para>
457
460
    <para>
468
471
      confidential.
469
472
    </para>
470
473
  </refsect1>
471
 
 
 
474
  
472
475
  <refsect1 id="see_also">
473
476
    <title>SEE ALSO</title>
474
477
    <para>
599
602
      </varlistentry>
600
603
    </variablelist>
601
604
  </refsect1>
602
 
 
603
605
</refentry>
 
606
 
604
607
<!-- Local Variables: -->
605
608
<!-- time-stamp-start: "<!ENTITY TIMESTAMP [\"']" -->
606
609
<!-- time-stamp-end: "[\"']>" -->