/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: 2016-02-28 10:59:18 UTC
  • Revision ID: teddy@recompile.se-20160228105918-tb8pt2p5j0tkcls3
Handle GnuTLS errors and partial sends in gnutls "module".

* mandos (GnuTLS.E_INTERRUPTED, GnuTLS.E_AGAIN): New.
  (GnuTLS.Error): Set error code as "code" attribute.
  (GnuTLS.ClientSession.send): Handle partial sends with a loop.
  (GnuTLS._retry_on_error): New function.
  (GnuTLS.record_send, GnuTLS.handshake, GnuTLS.bye): Set "errcheck"
                                                      attribute to
                                                    "_retry_on_error".
  (ClientHandler.handle): Remove loop for handling partial sends;
                          GnuTLS.ClientSession.send() will do that.

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: -->