/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: 2014-06-08 02:31:50 UTC
  • Revision ID: teddy@recompile.se-20140608023150-eu8jxll7uddjxter
Bug fix for mandos-client: Run the network hook, not the directory.

* plugins.d/mandos-client.d (set_cloexec_flag): Removed.
  (run_network_hooks): Do not set O_CLOEXEC on "hookdir_fd".
                       Instead, open hook to new "hook_fd" and simply
                       close(hookdir_fd) before fexecve().

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 "2019-07-26">
 
5
<!ENTITY TIMESTAMP "2012-01-01">
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>
38
36
      <year>2012</year>
39
 
      <year>2013</year>
40
 
      <year>2014</year>
41
 
      <year>2015</year>
42
 
      <year>2016</year>
43
 
      <year>2017</year>
44
 
      <year>2018</year>
45
 
      <year>2019</year>
46
37
      <holder>Teddy Hogeborn</holder>
47
38
      <holder>Björn Påhlsson</holder>
48
39
    </copyright>
123
114
      <arg><option>--plugin-dir=<replaceable
124
115
      >DIRECTORY</replaceable></option></arg>
125
116
      <sbr/>
126
 
      <arg><option>--plugin-helper-dir=<replaceable
127
 
      >DIRECTORY</replaceable></option></arg>
128
 
      <sbr/>
129
117
      <arg><option>--config-file=<replaceable
130
118
      >FILE</replaceable></option></arg>
131
119
      <sbr/>
332
320
      </varlistentry>
333
321
      
334
322
      <varlistentry>
335
 
        <term><option>--plugin-helper-dir
336
 
        <replaceable>DIRECTORY</replaceable></option></term>
337
 
        <listitem>
338
 
          <para>
339
 
            Specify a different plugin helper directory.  The default
340
 
            is <filename>/lib/mandos/plugin-helpers</filename>, which
341
 
            will exist in the initial <acronym>RAM</acronym> disk
342
 
            environment.  (This will simply be passed to all plugins
343
 
            via the <envar>MANDOSPLUGINHELPERDIR</envar> environment
344
 
            variable.  See <xref linkend="writing_plugins"/>)
345
 
          </para>
346
 
        </listitem>
347
 
      </varlistentry>
348
 
      
349
 
      <varlistentry>
350
323
        <term><option>--config-file
351
324
        <replaceable>FILE</replaceable></option></term>
352
325
        <listitem>
453
426
      <para>
454
427
        The plugin will run in the initial RAM disk environment, so
455
428
        care must be taken not to depend on any files or running
456
 
        services not available there.  Any helper executables required
457
 
        by the plugin (which are not in the <envar>PATH</envar>) can
458
 
        be placed in the plugin helper directory, the name of which
459
 
        will be made available to the plugin via the
460
 
        <envar>MANDOSPLUGINHELPERDIR</envar> environment variable.
 
429
        services not available there.
461
430
      </para>
462
431
      <para>
463
432
        The plugin must exit cleanly and free all allocated resources
506
475
      only passes on its environment to all the plugins.  The
507
476
      environment passed to plugins can be modified using the
508
477
      <option>--global-env</option> and <option>--env-for</option>
509
 
      options.  Also, the <option>--plugin-helper-dir</option> option
510
 
      will affect the environment variable
511
 
      <envar>MANDOSPLUGINHELPERDIR</envar> for the plugins.
 
478
      options.
512
479
    </para>
513
480
  </refsect1>
514
481
  
547
514
            </para>
548
515
          </listitem>
549
516
        </varlistentry>
550
 
        <varlistentry>
551
 
          <term><filename class="directory"
552
 
          >/lib/mandos/plugins.d</filename></term>
553
 
          <listitem>
554
 
            <para>
555
 
              The default plugin directory; can be changed by the
556
 
              <option>--plugin-dir</option> option.
557
 
            </para>
558
 
          </listitem>
559
 
        </varlistentry>
560
 
        <varlistentry>
561
 
          <term><filename class="directory"
562
 
          >/lib/mandos/plugin-helpers</filename></term>
563
 
          <listitem>
564
 
            <para>
565
 
              The default plugin helper directory; can be changed by
566
 
              the <option>--plugin-helper-dir</option> option.
567
 
            </para>
568
 
          </listitem>
569
 
        </varlistentry>
570
517
      </variablelist>
571
518
    </para>
572
519
  </refsect1>
577
524
      The <option>--config-file</option> option is ignored when
578
525
      specified from within a configuration file.
579
526
    </para>
580
 
    <xi:include href="bugs.xml"/>
581
527
  </refsect1>
582
528
  
583
529
  <refsect1 id="examples">
626
572
    </informalexample>
627
573
    <informalexample>
628
574
      <para>
629
 
        Read a different configuration file, run plugins from a
630
 
        different directory, specify an alternate plugin helper
631
 
        directory and add four options to the
 
575
        Run plugins from a different directory, read a different
 
576
        configuration file, and add two options to the
632
577
        <citerefentry><refentrytitle >mandos-client</refentrytitle>
633
578
        <manvolnum>8mandos</manvolnum></citerefentry> plugin:
634
579
      </para>
635
580
      <para>
636
581
 
637
582
<!-- do not wrap this line -->
638
 
<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,&#x200b;--seckey=seckey.txt,&#x200b;--tls-pubkey=tls-pubkey.pem,&#x200b;--tls-privkey=tls-privkey.pem</userinput>
 
583
<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>
639
584
 
640
585
      </para>
641
586
    </informalexample>