/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: 2016-03-13 00:37:02 UTC
  • Revision ID: teddy@recompile.se-20160313003702-dulwtwt8ilpojra9
Server: Fix bug where it did not exit timely on signals

Use GLib.unix_signal_add() instead of signal.signal() to catch
signals; this will allow GLib to do its internal magic with signal
file descriptors.  (GLib does not handle signals properly otherwise.)
The function unix_signal_add() requires GLib 2.30 or later, which was
not required by PyGobject until version 3.7.1, so depend on this.

* INSTALL (Mandos Server): Document dependency on PyGObject 3.7.1
* mandos (main): Use GLib.unix_signal_add instead of signal.signal.
* init.d-mandos (do_stop): Remove workaround.
* mandos.service ([Service]): - '' -

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 "2012-06-13">
 
5
<!ENTITY TIMESTAMP "2016-03-05">
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>
 
39
      <year>2013</year>
 
40
      <year>2014</year>
 
41
      <year>2015</year>
 
42
      <year>2016</year>
37
43
      <holder>Teddy Hogeborn</holder>
38
44
      <holder>Björn Påhlsson</holder>
39
45
    </copyright>
96
102
      </arg>
97
103
      <sbr/>
98
104
      <arg>
 
105
        <option>--dh-params <replaceable>FILE</replaceable></option>
 
106
      </arg>
 
107
      <sbr/>
 
108
      <arg>
99
109
        <option>--delay <replaceable>SECONDS</replaceable></option>
100
110
      </arg>
101
111
      <sbr/>
218
228
            assumed to separate the address from the port number.
219
229
          </para>
220
230
          <para>
221
 
            This option is normally only useful for testing and
222
 
            debugging.
 
231
            Normally, Zeroconf would be used to locate Mandos servers,
 
232
            in which case this option would only be used when testing
 
233
            and debugging.
223
234
          </para>
224
235
        </listitem>
225
236
      </varlistentry>
226
237
      
227
238
      <varlistentry>
228
239
        <term><option>--interface=<replaceable
229
 
        >NAME</replaceable></option></term>
 
240
        >NAME</replaceable><arg rep='repeat'>,<replaceable
 
241
        >NAME</replaceable></arg></option></term>
230
242
        <term><option>-i
231
 
        <replaceable>NAME</replaceable></option></term>
 
243
        <replaceable>NAME</replaceable><arg rep='repeat'>,<replaceable
 
244
        >NAME</replaceable></arg></option></term>
232
245
        <listitem>
233
246
          <para>
234
247
            Comma separated list of network interfaces that will be
237
250
            use all appropriate interfaces.
238
251
          </para>
239
252
          <para>
240
 
            If the <option>--connect</option> option is used, this
241
 
            specifies the interface to use to connect to the address
242
 
            given.
 
253
            If the <option>--connect</option> option is used, and
 
254
            exactly one interface name is specified (except
 
255
            <quote><literal>none</literal></quote>), this specifies
 
256
            the interface to use to connect to the address given.
243
257
          </para>
244
258
          <para>
245
259
            Note that since this program will normally run in the
254
268
          </para>
255
269
          <para>
256
270
            <replaceable>NAME</replaceable> can be the string
257
 
            <quote><literal>none</literal></quote>; this will not use
258
 
            any specific interface, and will not bring up an interface
259
 
            on startup.  This is not recommended, and only meant for
260
 
            advanced users.
 
271
            <quote><literal>none</literal></quote>; this will make
 
272
            <command>&COMMANDNAME;</command> only bring up interfaces
 
273
            specified <emphasis>before</emphasis> this string.  This
 
274
            is not recommended, and only meant for advanced users.
261
275
          </para>
262
276
        </listitem>
263
277
      </varlistentry>
305
319
        <listitem>
306
320
          <para>
307
321
            Sets the number of bits to use for the prime number in the
308
 
            TLS Diffie-Hellman key exchange.  Default is 1024.
 
322
            TLS Diffie-Hellman key exchange.  The default value is
 
323
            selected automatically based on the OpenPGP key.  Note
 
324
            that if the <option>--dh-params</option> option is used,
 
325
            the values from that file will be used instead.
 
326
          </para>
 
327
        </listitem>
 
328
      </varlistentry>
 
329
      
 
330
      <varlistentry>
 
331
        <term><option>--dh-params=<replaceable
 
332
        >FILE</replaceable></option></term>
 
333
        <listitem>
 
334
          <para>
 
335
            Specifies a PEM-encoded PKCS#3 file to read the parameters
 
336
            needed by the TLS Diffie-Hellman key exchange from.  If
 
337
            this option is not given, or if the file for some reason
 
338
            could not be used, the parameters will be generated on
 
339
            startup, which will take some time and processing power.
 
340
            Those using servers running under time, power or processor
 
341
            constraints may want to generate such a file in advance
 
342
            and use this option.
309
343
          </para>
310
344
        </listitem>
311
345
      </varlistentry>
438
472
  
439
473
  <refsect1 id="environment">
440
474
    <title>ENVIRONMENT</title>
 
475
    <variablelist>
 
476
      <varlistentry>
 
477
        <term><envar>MANDOSPLUGINHELPERDIR</envar></term>
 
478
        <listitem>
 
479
          <para>
 
480
            This environment variable will be assumed to contain the
 
481
            directory containing any helper executables.  The use and
 
482
            nature of these helper executables, if any, is
 
483
            purposefully not documented.
 
484
        </para>
 
485
        </listitem>
 
486
      </varlistentry>
 
487
    </variablelist>
441
488
    <para>
442
 
      This program does not use any environment variables, not even
443
 
      the ones provided by <citerefentry><refentrytitle
 
489
      This program does not use any other environment variables, not
 
490
      even the ones provided by <citerefentry><refentrytitle
444
491
      >cryptsetup</refentrytitle><manvolnum>8</manvolnum>
445
492
    </citerefentry>.
446
493
    </para>
508
555
              It is not necessary to print any non-executable files
509
556
              already in the network hook directory, these will be
510
557
              copied implicitly if they otherwise satisfy the name
511
 
              requirement.
 
558
              requirements.
512
559
            </para>
513
560
          </listitem>
514
561
        </varlistentry>
646
693
    </variablelist>
647
694
  </refsect1>
648
695
  
649
 
<!--   <refsect1 id="bugs"> -->
650
 
<!--     <title>BUGS</title> -->
651
 
<!--     <para> -->
652
 
<!--     </para> -->
653
 
<!--   </refsect1> -->
 
696
  <refsect1 id="bugs">
 
697
    <title>BUGS</title>
 
698
    <xi:include href="../bugs.xml"/>
 
699
  </refsect1>
654
700
  
655
701
  <refsect1 id="example">
656
702
    <title>EXAMPLE</title>
662
708
    </para>
663
709
    <informalexample>
664
710
      <para>
665
 
        Normal invocation needs no options, if the network interface
 
711
        Normal invocation needs no options, if the network interfaces
666
712
        can be automatically determined:
667
713
      </para>
668
714
      <para>
671
717
    </informalexample>
672
718
    <informalexample>
673
719
      <para>
674
 
        Search for Mandos servers (and connect to them) using another
675
 
        interface:
 
720
        Search for Mandos servers (and connect to them) using one
 
721
        specific interface:
676
722
      </para>
677
723
      <para>
678
724
        <!-- do not wrap this line -->
742
788
    <para>
743
789
      It will also help if the checker program on the server is
744
790
      configured to request something from the client which can not be
745
 
      spoofed by someone else on the network, unlike unencrypted
746
 
      <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.
747
794
    </para>
748
795
    <para>
749
796
      <emphasis>Note</emphasis>: This makes it completely insecure to
842
889
              <para>
843
890
                This client uses IPv6 link-local addresses, which are
844
891
                immediately usable since a link-local addresses is
845
 
                automatically assigned to a network interfaces when it
 
892
                automatically assigned to a network interface when it
846
893
                is brought up.
847
894
              </para>
848
895
            </listitem>