/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 mandos-clients.conf.xml

  • Committer: Teddy Hogeborn
  • Date: 2015-08-10 09:00:23 UTC
  • mto: (237.7.594 trunk)
  • mto: This revision was merged to the branch mainline in revision 325.
  • 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 "2012-01-01">
 
6
<!ENTITY TIMESTAMP "2015-07-20">
7
7
<!ENTITY % common SYSTEM "common.ent">
8
8
%common;
9
9
]>
37
37
      <year>2010</year>
38
38
      <year>2011</year>
39
39
      <year>2012</year>
 
40
      <year>2013</year>
 
41
      <year>2014</year>
 
42
      <year>2015</year>
40
43
      <holder>Teddy Hogeborn</holder>
41
44
      <holder>Björn Påhlsson</holder>
42
45
    </copyright>
117
120
          <para>
118
121
            How long to wait for external approval before resorting to
119
122
            use the <option>approved_by_default</option> value.  The
120
 
            default is <quote>0s</quote>, i.e. not to wait.
 
123
            default is <quote>PT0S</quote>, i.e. not to wait.
121
124
          </para>
122
125
          <para>
123
126
            The format of <replaceable>TIME</replaceable> is the same
167
170
            This option is <emphasis>optional</emphasis>.
168
171
          </para>
169
172
          <para>
170
 
            This option allows you to override the default shell
171
 
            command that the server will use to check if the client is
172
 
            still up.  Any output of the command will be ignored, only
173
 
            the exit code is checked:  If the exit code of the command
174
 
            is zero, the client is considered up.  The command will be
175
 
            run using <quote><command><filename>/bin/sh</filename>
 
173
            This option overrides the default shell command that the
 
174
            server will use to check if the client is still up.  Any
 
175
            output of the command will be ignored, only the exit code
 
176
            is checked:  If the exit code of the command is zero, the
 
177
            client is considered up.  The command will be run using
 
178
            <quote><command><filename>/bin/sh</filename>
176
179
            <option>-c</option></command></quote>, so
177
180
            <varname>PATH</varname> will be searched.  The default
178
181
            value for the checker command is <quote><literal
179
182
            ><command>fping</command> <option>-q</option> <option
180
 
            >--</option> %%(host)s</literal></quote>.
 
183
            >--</option> %%(host)s</literal></quote>.  Note that
 
184
            <command>mandos-keygen</command>, when generating output
 
185
            to be inserted into this file, normally looks for an SSH
 
186
            server on the Mandos client, and, if it find one, outputs
 
187
            a <option>checker</option> option to check for the
 
188
            client’s key fingerprint – this is more secure against
 
189
            spoofing.
181
190
          </para>
182
191
          <para>
183
192
            In addition to normal start time expansion, this option
335
344
            <option>extended_timeout</option> option.
336
345
          </para>
337
346
          <para>
338
 
            The <replaceable>TIME</replaceable> is specified as a
339
 
            space-separated number of values, each of which is a
340
 
            number and a one-character suffix.  The suffix must be one
341
 
            of <quote>d</quote>, <quote>s</quote>, <quote>m</quote>,
342
 
            <quote>h</quote>, and <quote>w</quote> for days, seconds,
343
 
            minutes, hours, and weeks, respectively.  The values are
344
 
            added together to give the total time value, so all of
345
 
            <quote><literal>330s</literal></quote>,
346
 
            <quote><literal>110s 110s 110s</literal></quote>, and
347
 
            <quote><literal>5m 30s</literal></quote> will give a value
348
 
            of five minutes and thirty seconds.
 
347
            The <replaceable>TIME</replaceable> is specified as an RFC
 
348
            3339 duration; for example
 
349
            <quote><literal>P1Y2M3DT4H5M6S</literal></quote> meaning
 
350
            one year, two months, three days, four hours, five
 
351
            minutes, and six seconds.  Some values can be omitted, see
 
352
            RFC 3339 Appendix A for details.
349
353
          </para>
350
354
        </listitem>
351
355
      </varlistentry>
409
413
        <quote><literal>approval_duration</literal></quote>,
410
414
        <quote><literal>created</literal></quote>,
411
415
        <quote><literal>enabled</literal></quote>,
 
416
        <quote><literal>expires</literal></quote>,
412
417
        <quote><literal>fingerprint</literal></quote>,
413
418
        <quote><literal>host</literal></quote>,
414
419
        <quote><literal>interval</literal></quote>,
464
469
    <informalexample>
465
470
      <programlisting>
466
471
[DEFAULT]
467
 
timeout = 5m
468
 
interval = 2m
 
472
timeout = PT5M
 
473
interval = PT2M
469
474
checker = fping -q -- %%(host)s
470
475
 
471
476
# Client "foo"
488
493
        4T2zw4dxS5NswXWU0sVEXxjs6PYxuIiCTL7vdpx8QjBkrPWDrAbcMyBr2O
489
494
        QlnHIvPzEArRQLo=
490
495
host = foo.example.org
491
 
interval = 1m
 
496
interval = PT1M
492
497
 
493
498
# Client "bar"
494
499
[bar]
495
500
fingerprint = 3e393aeaefb84c7e89e2f547b3a107558fca3a27
496
501
secfile = /etc/mandos/bar-secret
497
 
timeout = 15m
 
502
timeout = PT15M
498
503
approved_by_default = False
499
 
approval_delay = 30s
 
504
approval_delay = PT30S
500
505
      </programlisting>
501
506
    </informalexample>
502
507
  </refsect1>
511
516
      <citerefentry><refentrytitle>mandos.conf</refentrytitle>
512
517
      <manvolnum>5</manvolnum></citerefentry>,
513
518
      <citerefentry><refentrytitle>mandos</refentrytitle>
 
519
      <manvolnum>8</manvolnum></citerefentry>,
 
520
      <citerefentry><refentrytitle>fping</refentrytitle>
514
521
      <manvolnum>8</manvolnum></citerefentry>
515
522
    </para>
 
523
    <variablelist>
 
524
      <varlistentry>
 
525
        <term>
 
526
          RFC 3339: <citetitle>Date and Time on the Internet:
 
527
          Timestamps</citetitle>
 
528
        </term>
 
529
      <listitem>
 
530
        <para>
 
531
          The time intervals are in the "duration" format, as
 
532
          specified in ABNF in Appendix A of RFC 3339.
 
533
        </para>
 
534
      </listitem>
 
535
      </varlistentry>
 
536
    </variablelist>
516
537
  </refsect1>
517
538
</refentry>
518
539
<!-- Local Variables: -->