/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 plugin-runner.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:
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 "plugin-runner">
5
 
<!ENTITY TIMESTAMP "2009-01-17">
 
5
<!ENTITY TIMESTAMP "2015-07-20">
6
6
<!ENTITY % common SYSTEM "common.ent">
7
7
%common;
8
8
]>
19
19
        <firstname>Björn</firstname>
20
20
        <surname>Påhlsson</surname>
21
21
        <address>
22
 
          <email>belorn@fukt.bsnet.se</email>
 
22
          <email>belorn@recompile.se</email>
23
23
        </address>
24
24
      </author>
25
25
      <author>
26
26
        <firstname>Teddy</firstname>
27
27
        <surname>Hogeborn</surname>
28
28
        <address>
29
 
          <email>teddy@fukt.bsnet.se</email>
 
29
          <email>teddy@recompile.se</email>
30
30
        </address>
31
31
      </author>
32
32
    </authorgroup>
33
33
    <copyright>
34
34
      <year>2008</year>
35
35
      <year>2009</year>
 
36
      <year>2010</year>
 
37
      <year>2011</year>
 
38
      <year>2012</year>
 
39
      <year>2013</year>
 
40
      <year>2014</year>
 
41
      <year>2015</year>
36
42
      <holder>Teddy Hogeborn</holder>
37
43
      <holder>Björn Påhlsson</holder>
38
44
    </copyright>
113
119
      <arg><option>--plugin-dir=<replaceable
114
120
      >DIRECTORY</replaceable></option></arg>
115
121
      <sbr/>
 
122
      <arg><option>--plugin-helper-dir=<replaceable
 
123
      >DIRECTORY</replaceable></option></arg>
 
124
      <sbr/>
116
125
      <arg><option>--config-file=<replaceable
117
126
      >FILE</replaceable></option></arg>
118
127
      <sbr/>
260
269
            Disable the plugin named
261
270
            <replaceable>PLUGIN</replaceable>.  The plugin will not be
262
271
            started.
263
 
          </para>       
 
272
          </para>
264
273
        </listitem>
265
274
      </varlistentry>
266
275
      
319
328
      </varlistentry>
320
329
      
321
330
      <varlistentry>
 
331
        <term><option>--plugin-helper-dir
 
332
        <replaceable>DIRECTORY</replaceable></option></term>
 
333
        <listitem>
 
334
          <para>
 
335
            Specify a different plugin helper directory.  The default
 
336
            is <filename>/lib/mandos/plugin-helpers</filename>, which
 
337
            will exist in the initial <acronym>RAM</acronym> disk
 
338
            environment.  (This will simply be passed to all plugins
 
339
            via the <envar>MANDOSPLUGINHELPERDIR</envar> environment
 
340
            variable.  See <xref linkend="writing_plugins"/>)
 
341
          </para>
 
342
        </listitem>
 
343
      </varlistentry>
 
344
      
 
345
      <varlistentry>
322
346
        <term><option>--config-file
323
347
        <replaceable>FILE</replaceable></option></term>
324
348
        <listitem>
425
449
      <para>
426
450
        The plugin will run in the initial RAM disk environment, so
427
451
        care must be taken not to depend on any files or running
428
 
        services not available there.
 
452
        services not available there.  Any helper executables required
 
453
        by the plugin (which are not in the <envar>PATH</envar>) can
 
454
        be placed in the plugin helper directory, the name of which
 
455
        will be made available to the plugin via the
 
456
        <envar>MANDOSPLUGINHELPERDIR</envar> environment variable.
429
457
      </para>
430
458
      <para>
431
459
        The plugin must exit cleanly and free all allocated resources
474
502
      only passes on its environment to all the plugins.  The
475
503
      environment passed to plugins can be modified using the
476
504
      <option>--global-env</option> and <option>--env-for</option>
477
 
      options.
 
505
      options.  Also, the <option>--plugin-helper-dir</option> option
 
506
      will affect the environment variable
 
507
      <envar>MANDOSPLUGINHELPERDIR</envar> for the plugins.
478
508
    </para>
479
509
  </refsect1>
480
510
  
571
601
    </informalexample>
572
602
    <informalexample>
573
603
      <para>
574
 
        Run plugins from a different directory, read a different
575
 
        configuration file, and add two options to the
 
604
        Read a different configuration file, run plugins from a
 
605
        different directory, specify an alternate plugin helper
 
606
        directory and add two options to the
576
607
        <citerefentry><refentrytitle >mandos-client</refentrytitle>
577
608
        <manvolnum>8mandos</manvolnum></citerefentry> plugin:
578
609
      </para>
579
610
      <para>
580
611
 
581
612
<!-- do not wrap this line -->
582
 
<userinput>cd /etc/keys/mandos; &COMMANDNAME;  --config-file=/etc/mandos/plugin-runner.conf --plugin-dir /usr/lib/mandos/plugins.d --options-for=mandos-client:--pubkey=pubkey.txt,--seckey=seckey.txt</userinput>
 
613
<userinput>cd /etc/keys/mandos; &COMMANDNAME;  --config-file=/etc/mandos/plugin-runner.conf --plugin-dir /usr/lib/x86_64-linux-gnu/mandos/plugins.d --plugin-helper-dir /usr/lib/x86_64-linux-gnu/mandos/plugin-helpers --options-for=mandos-client:--pubkey=pubkey.txt,--seckey=seckey.txt</userinput>
583
614
 
584
615
      </para>
585
616
    </informalexample>
617
648
  <refsect1 id="see_also">
618
649
    <title>SEE ALSO</title>
619
650
    <para>
 
651
      <citerefentry><refentrytitle>intro</refentrytitle>
 
652
      <manvolnum>8mandos</manvolnum></citerefentry>,
620
653
      <citerefentry><refentrytitle>cryptsetup</refentrytitle>
621
654
      <manvolnum>8</manvolnum></citerefentry>,
622
655
      <citerefentry><refentrytitle>crypttab</refentrytitle>