/mandos/release

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/release

« back to all changes in this revision

Viewing changes to plugin-runner.xml

  • Committer: Björn Påhlsson
  • Date: 2008-09-04 19:59:05 UTC
  • mto: (237.7.1 mandos) (24.1.154 mandos)
  • mto: This revision was merged to the branch mainline in revision 164.
  • Revision ID: belorn@braxen-20080904195905-a3qfv1np32auumwm
fixed two bugs:
      A overbuffer flow in enviro variables causing seg fault
      A incorrect use of strsep causing seg fault

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 VERSION "1.0">
5
5
<!ENTITY COMMANDNAME "plugin-runner">
6
 
<!ENTITY TIMESTAMP "2008-09-19">
 
6
<!ENTITY TIMESTAMP "2008-09-04">
7
7
]>
8
8
 
9
9
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
36
36
    </copyright>
37
37
    <xi:include href="legalnotice.xml"/>
38
38
  </refentryinfo>
39
 
  
 
39
 
40
40
  <refmeta>
41
41
    <refentrytitle>&COMMANDNAME;</refentrytitle>
42
42
    <manvolnum>8mandos</manvolnum>
48
48
      Run Mandos plugins, pass data from first to succeed.
49
49
    </refpurpose>
50
50
  </refnamediv>
51
 
  
 
51
 
52
52
  <refsynopsisdiv>
53
53
    <cmdsynopsis>
54
54
      <command>&COMMANDNAME;</command>
55
55
      <group rep="repeat">
56
56
        <arg choice="plain"><option>--global-env=<replaceable
57
 
        >ENV</replaceable><literal>=</literal><replaceable
 
57
        >VAR</replaceable><literal>=</literal><replaceable
58
58
        >value</replaceable></option></arg>
59
59
        <arg choice="plain"><option>-G
60
 
        <replaceable>ENV</replaceable><literal>=</literal><replaceable
 
60
        <replaceable>VAR</replaceable><literal>=</literal><replaceable
61
61
        >value</replaceable> </option></arg>
62
62
      </group>
63
63
      <sbr/>
170
170
    <variablelist>
171
171
      <varlistentry>
172
172
        <term><option>--global-env
173
 
        <replaceable>ENV</replaceable><literal>=</literal><replaceable
 
173
        <replaceable>VAR</replaceable><literal>=</literal><replaceable
174
174
        >value</replaceable></option></term>
175
175
        <term><option>-G
176
 
        <replaceable>ENV</replaceable><literal>=</literal><replaceable
 
176
        <replaceable>VAR</replaceable><literal>=</literal><replaceable
177
177
        >value</replaceable></option></term>
178
178
        <listitem>
179
179
          <para>
247
247
          </para>
248
248
        </listitem>
249
249
      </varlistentry>
250
 
      
 
250
 
251
251
      <varlistentry>
252
252
        <term><option>--disable
253
253
        <replaceable>PLUGIN</replaceable></option></term>
261
261
          </para>       
262
262
        </listitem>
263
263
      </varlistentry>
264
 
      
 
264
 
265
265
      <varlistentry>
266
266
        <term><option>--enable
267
267
        <replaceable>PLUGIN</replaceable></option></term>
276
276
          </para>
277
277
        </listitem>
278
278
      </varlistentry>
279
 
      
 
279
 
280
280
      <varlistentry>
281
281
        <term><option>--groupid
282
282
        <replaceable>ID</replaceable></option></term>
289
289
          </para>
290
290
        </listitem>
291
291
      </varlistentry>
292
 
      
 
292
 
293
293
      <varlistentry>
294
294
        <term><option>--userid
295
295
        <replaceable>ID</replaceable></option></term>
302
302
          </para>
303
303
        </listitem>
304
304
      </varlistentry>
305
 
      
 
305
 
306
306
      <varlistentry>
307
307
        <term><option>--plugin-dir
308
308
        <replaceable>DIRECTORY</replaceable></option></term>
365
365
          </para>
366
366
        </listitem>
367
367
      </varlistentry>
368
 
      
 
368
 
369
369
      <varlistentry>
370
370
        <term><option>--version</option></term>
371
371
        <term><option>-V</option></term>
377
377
      </varlistentry>
378
378
    </variablelist>
379
379
  </refsect1>
380
 
  
 
380
 
381
381
  <refsect1 id="overview">
382
382
    <title>OVERVIEW</title>
383
383
    <xi:include href="overview.xml"/>
403
403
      code will make this plugin-runner output the password from that
404
404
      plugin, stop any other plugins, and exit.
405
405
    </para>
406
 
    
 
406
 
407
407
    <refsect2 id="writing_plugins">
408
408
      <title>WRITING PLUGINS</title>
409
409
      <para>
416
416
        console.
417
417
      </para>
418
418
      <para>
419
 
        If the password is a single-line, manually entered passprase,
420
 
        a final trailing newline character should
421
 
        <emphasis>not</emphasis> be printed.
422
 
      </para>
423
 
      <para>
424
419
        The plugin will run in the initial RAM disk environment, so
425
420
        care must be taken not to depend on any files or running
426
421
        services not available there.
515
510
    </para>
516
511
  </refsect1>
517
512
  
518
 
  <refsect1 id="bugs">
519
 
    <title>BUGS</title>
520
 
    <para>
521
 
      The <option>--config-file</option> option is ignored when
522
 
      specified from within a configuration file.
523
 
    </para>
524
 
  </refsect1>
 
513
<!--   <refsect1 id="bugs"> -->
 
514
<!--     <title>BUGS</title> -->
 
515
<!--     <para> -->
 
516
<!--     </para> -->
 
517
<!--   </refsect1> -->
525
518
  
526
519
  <refsect1 id="examples">
527
520
    <title>EXAMPLE</title>
569
562
    </informalexample>
570
563
    <informalexample>
571
564
      <para>
572
 
        Run plugins from a different directory, read a different
573
 
        configuration file, and add two options to the
574
 
        <citerefentry><refentrytitle >mandos-client</refentrytitle>
 
565
        Run plugins from a different directory and add two
 
566
        options to the <citerefentry><refentrytitle
 
567
        >password-request</refentrytitle>
575
568
        <manvolnum>8mandos</manvolnum></citerefentry> plugin:
576
569
      </para>
577
570
      <para>
578
571
 
579
572
<!-- do not wrap this line -->
580
 
<userinput>&COMMANDNAME;  --config-file=/etc/mandos/plugin-runner.conf --plugin-dir /usr/lib/mandos/plugins.d --options-for=mandos-client:--pubkey=/etc/keys/mandos/pubkey.txt,--seckey=/etc/keys/mandos/seckey.txt</userinput>
 
573
<userinput>&COMMANDNAME;  --plugin-dir=plugins.d --options-for=password-request:--pubkey=keydir/pubkey.txt,--seckey=keydir/seckey.txt</userinput>
581
574
 
582
575
      </para>
583
576
    </informalexample>
591
584
      non-privileged.  This user and group is then what all plugins
592
585
      will be started as.  Therefore, the only way to run a plugin as
593
586
      a privileged user is to have the set-user-ID or set-group-ID bit
594
 
      set on the plugin executable file (see <citerefentry>
 
587
      set on the plugin executable files (see <citerefentry>
595
588
      <refentrytitle>execve</refentrytitle><manvolnum>2</manvolnum>
596
589
      </citerefentry>).
597
590
    </para>
625
618
      <manvolnum>8</manvolnum></citerefentry>,
626
619
      <citerefentry><refentrytitle>password-prompt</refentrytitle>
627
620
      <manvolnum>8mandos</manvolnum></citerefentry>,
628
 
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
 
621
      <citerefentry><refentrytitle>password-request</refentrytitle>
629
622
      <manvolnum>8mandos</manvolnum></citerefentry>
630
623
    </para>
631
624
  </refsect1>