/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-clients.conf.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:
3
3
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4
4
<!ENTITY CONFNAME "mandos-clients.conf">
5
5
<!ENTITY CONFPATH "<filename>/etc/mandos/clients.conf</filename>">
6
 
<!ENTITY TIMESTAMP "2019-02-10">
 
6
<!ENTITY TIMESTAMP "2015-07-20">
7
7
<!ENTITY % common SYSTEM "common.ent">
8
8
%common;
9
9
]>
40
40
      <year>2013</year>
41
41
      <year>2014</year>
42
42
      <year>2015</year>
43
 
      <year>2016</year>
44
 
      <year>2017</year>
45
 
      <year>2018</year>
46
 
      <year>2019</year>
47
43
      <holder>Teddy Hogeborn</holder>
48
44
      <holder>Björn Påhlsson</holder>
49
45
    </copyright>
187
183
            >--</option> %%(host)s</literal></quote>.  Note that
188
184
            <command>mandos-keygen</command>, when generating output
189
185
            to be inserted into this file, normally looks for an SSH
190
 
            server on the Mandos client, and, if it finds one, outputs
 
186
            server on the Mandos client, and, if it find one, outputs
191
187
            a <option>checker</option> option to check for the
192
 
            client’s SSH key fingerprint – this is more secure against
 
188
            client’s key fingerprint – this is more secure against
193
189
            spoofing.
194
190
          </para>
195
191
          <para>
233
229
          <para>
234
230
            This option sets the OpenPGP fingerprint that identifies
235
231
            the public key that clients authenticate themselves with
236
 
            through TLS.  The string needs to be in hexadecimal form,
237
 
            but spaces or upper/lower case are not significant.
238
 
          </para>
239
 
        </listitem>
240
 
      </varlistentry>
241
 
      
242
 
      <varlistentry>
243
 
        <term><option>key_id<literal> = </literal
244
 
        ><replaceable>HEXSTRING</replaceable></option></term>
245
 
        <listitem>
246
 
          <para>
247
 
            This option is <emphasis>optional</emphasis>.
248
 
          </para>
249
 
          <para>
250
 
            This option sets the certificate key ID that identifies
251
 
            the public key that clients authenticate themselves with
252
 
            through TLS.  The string needs to be in hexadecimal form,
 
232
            through TLS.  The string needs to be in hexidecimal form,
253
233
            but spaces or upper/lower case are not significant.
254
234
          </para>
255
235
        </listitem>
331
311
          <para>
332
312
            If present, this option must be set to a string of
333
313
            base64-encoded binary data.  It will be decoded and sent
334
 
            to the client matching the above <option>key_id</option>
335
 
            or <option>fingerprint</option>.  This should, of course,
336
 
            be OpenPGP encrypted data, decryptable only by the client.
 
314
            to the client matching the above
 
315
            <option>fingerprint</option>.  This should, of course, be
 
316
            OpenPGP encrypted data, decryptable only by the client.
337
317
            The program <citerefentry><refentrytitle><command
338
318
            >mandos-keygen</command></refentrytitle><manvolnum
339
319
            >8</manvolnum></citerefentry> can, using its
434
414
        <quote><literal>created</literal></quote>,
435
415
        <quote><literal>enabled</literal></quote>,
436
416
        <quote><literal>expires</literal></quote>,
437
 
        <quote><literal>key_id</literal></quote>,
438
417
        <quote><literal>fingerprint</literal></quote>,
439
418
        <quote><literal>host</literal></quote>,
440
419
        <quote><literal>interval</literal></quote>,
483
462
      <literal>%(<replaceable>foo</replaceable>)s</literal> is
484
463
      obscure.
485
464
    </para>
486
 
    <xi:include href="bugs.xml"/>
487
465
  </refsect1>
488
466
  
489
467
  <refsect1 id="example">
497
475
 
498
476
# Client "foo"
499
477
[foo]
500
 
key_id = 788cd77115cd0bb7b2d5e0ae8496f6b48149d5e712c652076b1fd2d957ef7c1f
501
478
fingerprint =  7788 2722 5BA7 DE53 9C5A  7CFA 59CF F7CD BD9A 5920
502
479
secret =
503
480
        hQIOA6QdEjBs2L/HEAf/TCyrDe5Xnm9esa+Pb/vWF9CUqfn4srzVgSu234
520
497
 
521
498
# Client "bar"
522
499
[bar]
523
 
key_id = F90C7A81D72D1EA69A51031A91FF8885F36C8B46D155C8C58709A4C99AE9E361
524
500
fingerprint = 3e393aeaefb84c7e89e2f547b3a107558fca3a27
525
501
secfile = /etc/mandos/bar-secret
526
502
timeout = PT15M