/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: 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:
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-client">
5
 
<!ENTITY TIMESTAMP "2014-01-20">
 
5
<!ENTITY TIMESTAMP "2015-07-20">
6
6
<!ENTITY % common SYSTEM "../common.ent">
7
7
%common;
8
8
]>
33
33
    <copyright>
34
34
      <year>2008</year>
35
35
      <year>2009</year>
 
36
      <year>2010</year>
 
37
      <year>2011</year>
36
38
      <year>2012</year>
37
39
      <year>2013</year>
 
40
      <year>2014</year>
 
41
      <year>2015</year>
38
42
      <holder>Teddy Hogeborn</holder>
39
43
      <holder>Björn Påhlsson</holder>
40
44
    </copyright>
97
101
      </arg>
98
102
      <sbr/>
99
103
      <arg>
 
104
        <option>--dh-params <replaceable>FILE</replaceable></option>
 
105
      </arg>
 
106
      <sbr/>
 
107
      <arg>
100
108
        <option>--delay <replaceable>SECONDS</replaceable></option>
101
109
      </arg>
102
110
      <sbr/>
260
268
          <para>
261
269
            <replaceable>NAME</replaceable> can be the string
262
270
            <quote><literal>none</literal></quote>; this will make
263
 
            <command>&COMMANDNAME;</command> not bring up
264
 
            <emphasis>any</emphasis> interfaces specified
265
 
            <emphasis>after</emphasis> this string.  This is not
266
 
            recommended, and only meant for advanced users.
 
271
            <command>&COMMANDNAME;</command> only bring up interfaces
 
272
            specified <emphasis>before</emphasis> this string.  This
 
273
            is not recommended, and only meant for advanced users.
267
274
          </para>
268
275
        </listitem>
269
276
      </varlistentry>
311
318
        <listitem>
312
319
          <para>
313
320
            Sets the number of bits to use for the prime number in the
314
 
            TLS Diffie-Hellman key exchange.  Default is 1024.
 
321
            TLS Diffie-Hellman key exchange.  The default value is
 
322
            selected automatically based on the OpenPGP key.  Note
 
323
            that if the <option>--dh-params</option> option is used,
 
324
            the values from that file will be used instead.
 
325
          </para>
 
326
        </listitem>
 
327
      </varlistentry>
 
328
      
 
329
      <varlistentry>
 
330
        <term><option>--dh-params=<replaceable
 
331
        >FILE</replaceable></option></term>
 
332
        <listitem>
 
333
          <para>
 
334
            Specifies a PEM-encoded PKCS#3 file to read the parameters
 
335
            needed by the TLS Diffie-Hellman key exchange from.  If
 
336
            this option is not given, or if the file for some reason
 
337
            could not be used, the parameters will be generated on
 
338
            startup, which will take some time and processing power.
 
339
            Those using servers running under time, power or processor
 
340
            constraints may want to generate such a file in advance
 
341
            and use this option.
315
342
          </para>
316
343
        </listitem>
317
344
      </varlistentry>
444
471
  
445
472
  <refsect1 id="environment">
446
473
    <title>ENVIRONMENT</title>
 
474
    <variablelist>
 
475
      <varlistentry>
 
476
        <term><envar>MANDOSPLUGINHELPERDIR</envar></term>
 
477
        <listitem>
 
478
          <para>
 
479
            This environment variable will be assumed to contain the
 
480
            directory containing any helper executables.  The use and
 
481
            nature of these helper executables, if any, is
 
482
            purposefully not documented.
 
483
        </para>
 
484
        </listitem>
 
485
      </varlistentry>
 
486
    </variablelist>
447
487
    <para>
448
 
      This program does not use any environment variables, not even
449
 
      the ones provided by <citerefentry><refentrytitle
 
488
      This program does not use any other environment variables, not
 
489
      even the ones provided by <citerefentry><refentrytitle
450
490
      >cryptsetup</refentrytitle><manvolnum>8</manvolnum>
451
491
    </citerefentry>.
452
492
    </para>
748
788
    <para>
749
789
      It will also help if the checker program on the server is
750
790
      configured to request something from the client which can not be
751
 
      spoofed by someone else on the network, unlike unencrypted
752
 
      <acronym>ICMP</acronym> echo (<quote>ping</quote>) replies.
 
791
      spoofed by someone else on the network, like SSH server key
 
792
      fingerprints, and unlike unencrypted <acronym>ICMP</acronym>
 
793
      echo (<quote>ping</quote>) replies.
753
794
    </para>
754
795
    <para>
755
796
      <emphasis>Note</emphasis>: This makes it completely insecure to