/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: 2017-09-03 08:26:36 UTC
  • Revision ID: teddy@recompile.se-20170903082636-fo3qw1uoahjxw0by
Fix memory leak in plymouth plugin

* plugins.d/plymouth.c (getargv): Change return type to non-const.
  (main/plymouth_args): Change type to non-const and default to NULL.
  (main): Don't change plymouthd_argv, instead conditionally use it if
  it is allocated or use plymouthd_default_argv if not.
  (main): Free plymouthd_argv, if allocated.

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