/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: 2008-12-10 01:26:02 UTC
  • mfrom: (237.1.2 mandos)
  • Revision ID: teddy@fukt.bsnet.se-20081210012602-vhz3h75xkj24t340
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-03">
 
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>
55
56
      <group>
56
57
        <arg choice="plain"><option>--connect
57
 
        <replaceable>IPADDR</replaceable><literal>:</literal
 
58
        <replaceable>ADDRESS</replaceable><literal>:</literal
58
59
        ><replaceable>PORT</replaceable></option></arg>
59
60
        <arg choice="plain"><option>-c
60
 
        <replaceable>IPADDR</replaceable><literal>:</literal
 
61
        <replaceable>ADDRESS</replaceable><literal>:</literal
61
62
        ><replaceable>PORT</replaceable></option></arg>
62
63
      </group>
63
64
      <sbr/>
113
114
      </group>
114
115
    </cmdsynopsis>
115
116
  </refsynopsisdiv>
116
 
 
 
117
  
117
118
  <refsect1 id="description">
118
119
    <title>DESCRIPTION</title>
119
120
    <para>
124
125
      network connectivity, Zeroconf to find servers, and TLS with an
125
126
      OpenPGP key to ensure authenticity and confidentiality.  It
126
127
      keeps running, trying all servers on the network, until it
127
 
      receives a satisfactory reply or a TERM signal is recieved.
 
128
      receives a satisfactory reply or a TERM signal is received.
128
129
    </para>
129
130
    <para>
130
131
      This program is not meant to be run directly; it is really meant
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 parallell 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>
386
389
    </informalexample>
387
390
    <informalexample>
388
391
      <para>
389
 
        Search for Mandos servers on another interface:
 
392
        Search for Mandos servers (and connect to them) using another
 
393
        interface:
390
394
      </para>
391
395
      <para>
392
396
        <!-- do not wrap this line -->
420
424
      </para>
421
425
    </informalexample>
422
426
  </refsect1>
423
 
 
 
427
  
424
428
  <refsect1 id="security">
425
429
    <title>SECURITY</title>
426
430
    <para>
446
450
      The only remaining weak point is that someone with physical
447
451
      access to the client hard drive might turn off the client
448
452
      computer, read the OpenPGP keys directly from the hard drive,
449
 
      and communicate with the server.  The defense against this is
450
 
      that the server is supposed to notice the client disappearing
451
 
      and will stop giving out the encrypted data.  Therefore, it is
452
 
      important to set the timeout and checker interval values tightly
453
 
      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
454
458
      >mandos</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
455
459
    </para>
456
460
    <para>
467
471
      confidential.
468
472
    </para>
469
473
  </refsect1>
470
 
 
 
474
  
471
475
  <refsect1 id="see_also">
472
476
    <title>SEE ALSO</title>
473
477
    <para>
598
602
      </varlistentry>
599
603
    </variablelist>
600
604
  </refsect1>
601
 
 
602
605
</refentry>
 
606
 
603
607
<!-- Local Variables: -->
604
608
<!-- time-stamp-start: "<!ENTITY TIMESTAMP [\"']" -->
605
609
<!-- time-stamp-end: "[\"']>" -->