/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-07-01 20:01:26 UTC
  • mto: This revision was merged to the branch mainline in revision 759.
  • Revision ID: teddy@recompile.se-20150701200126-qb3f6c3jcas2f4og
mandos-client: Try to start a plugin to add and remove a local route.

* debian/mandos-client.README.Debian: Add setting of environment
                                      variable MANDOSPLUGINHELPERDIR
                                      to command line testing
                                      mandos-client.
* mandos-client.c (raise_privileges): Moved to top of file.
                  (raise_privileges_permanently): - '' -
                  (lower_privileges): - '' -
                  (lower_privileges_permanently): - '' -
  (add_remove_local_route, add_local_route, remove_local_route): New.
  (start_mandos_communication): Set SOCK_CLOEXEC flag on socket.  Run
                                the above functions to add (and
                                remove) local route, if the conditions
                                indicates it could help.
  (run_network_hooks): Use O_DIRECTORY, O_PATH, and O_CLOEXEC flags
                       when opening network hook directory. Do
                       TEMP_FAILURE_RETRY around opening of /dev/null
                       and network hook executables.  Move redirecting
                       of stdout and stderr to as late as possible
                       before fexecve().
  (main): Use O_DIRECTORY and O_PATH when opening temporary directory.
* plugins.d/mandos-client.xml (ENVIRONMENT): Document usage of the
                                             MANDOSPLUGINHELPERDIR
                                             environment variable.

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 "2014-06-22">
7
7
<!ENTITY % common SYSTEM "common.ent">
8
8
%common;
9
9
]>
117
117
          <para>
118
118
            How long to wait for external approval before resorting to
119
119
            use the <option>approved_by_default</option> value.  The
120
 
            default is <quote>0s</quote>, i.e. not to wait.
 
120
            default is <quote>PT0S</quote>, i.e. not to wait.
121
121
          </para>
122
122
          <para>
123
123
            The format of <replaceable>TIME</replaceable> is the same
167
167
            This option is <emphasis>optional</emphasis>.
168
168
          </para>
169
169
          <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>
 
170
            This option overrides the default shell command that the
 
171
            server will use to check if the client is still up.  Any
 
172
            output of the command will be ignored, only the exit code
 
173
            is checked:  If the exit code of the command is zero, the
 
174
            client is considered up.  The command will be run using
 
175
            <quote><command><filename>/bin/sh</filename>
176
176
            <option>-c</option></command></quote>, so
177
177
            <varname>PATH</varname> will be searched.  The default
178
178
            value for the checker command is <quote><literal
179
179
            ><command>fping</command> <option>-q</option> <option
180
 
            >--</option> %%(host)s</literal></quote>.
 
180
            >--</option> %%(host)s</literal></quote>.  Note that
 
181
            <command>mandos-keygen</command>, when generating output
 
182
            to be inserted into this file, normally looks for an SSH
 
183
            server on the Mandos client, and, if it find one, outputs
 
184
            a <option>checker</option> option to check for the
 
185
            client’s key fingerprint – this is more secure against
 
186
            spoofing.
181
187
          </para>
182
188
          <para>
183
189
            In addition to normal start time expansion, this option
335
341
            <option>extended_timeout</option> option.
336
342
          </para>
337
343
          <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.
 
344
            The <replaceable>TIME</replaceable> is specified as an RFC
 
345
            3339 duration; for example
 
346
            <quote><literal>P1Y2M3DT4H5M6S</literal></quote> meaning
 
347
            one year, two months, three days, four hours, five
 
348
            minutes, and six seconds.  Some values can be omitted, see
 
349
            RFC 3339 Appendix A for details.
349
350
          </para>
350
351
        </listitem>
351
352
      </varlistentry>
409
410
        <quote><literal>approval_duration</literal></quote>,
410
411
        <quote><literal>created</literal></quote>,
411
412
        <quote><literal>enabled</literal></quote>,
 
413
        <quote><literal>expires</literal></quote>,
412
414
        <quote><literal>fingerprint</literal></quote>,
413
415
        <quote><literal>host</literal></quote>,
414
416
        <quote><literal>interval</literal></quote>,
464
466
    <informalexample>
465
467
      <programlisting>
466
468
[DEFAULT]
467
 
timeout = 5m
468
 
interval = 2m
 
469
timeout = PT5M
 
470
interval = PT2M
469
471
checker = fping -q -- %%(host)s
470
472
 
471
473
# Client "foo"
488
490
        4T2zw4dxS5NswXWU0sVEXxjs6PYxuIiCTL7vdpx8QjBkrPWDrAbcMyBr2O
489
491
        QlnHIvPzEArRQLo=
490
492
host = foo.example.org
491
 
interval = 1m
 
493
interval = PT1M
492
494
 
493
495
# Client "bar"
494
496
[bar]
495
497
fingerprint = 3e393aeaefb84c7e89e2f547b3a107558fca3a27
496
498
secfile = /etc/mandos/bar-secret
497
 
timeout = 15m
 
499
timeout = PT15M
498
500
approved_by_default = False
499
 
approval_delay = 30s
 
501
approval_delay = PT30S
500
502
      </programlisting>
501
503
    </informalexample>
502
504
  </refsect1>
511
513
      <citerefentry><refentrytitle>mandos.conf</refentrytitle>
512
514
      <manvolnum>5</manvolnum></citerefentry>,
513
515
      <citerefentry><refentrytitle>mandos</refentrytitle>
 
516
      <manvolnum>8</manvolnum></citerefentry>,
 
517
      <citerefentry><refentrytitle>fping</refentrytitle>
514
518
      <manvolnum>8</manvolnum></citerefentry>
515
519
    </para>
 
520
    <variablelist>
 
521
      <varlistentry>
 
522
        <term>
 
523
          RFC 3339: <citetitle>Date and Time on the Internet:
 
524
          Timestamps</citetitle>
 
525
        </term>
 
526
      <listitem>
 
527
        <para>
 
528
          The time intervals are in the "duration" format, as
 
529
          specified in ABNF in Appendix A of RFC 3339.
 
530
        </para>
 
531
      </listitem>
 
532
      </varlistentry>
 
533
    </variablelist>
516
534
  </refsect1>
517
535
</refentry>
518
536
<!-- Local Variables: -->