/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: 2008-10-03 09:32:30 UTC
  • Revision ID: teddy@fukt.bsnet.se-20081003093230-rshn19e0c19zz12i
* .bzrignore (plugins.d/askpass-fifo): Added.

* Makefile (FORTIFY): Added "-fstack-protector-all".
  (mandos, mandos-keygen): Use more strict regexps when updating the
                           version number.

* mandos (Client.__init__): Use os.path.expandvars() and
                            os.path.expanduser() on the "secfile"
                            config value.

* plugins.d/splashy.c: Update comments and order of #include's.
  (main): Check user and group when looking for running splashy
          process.  Do not ignore ENOENT from execl().  Use _exit()
          instead of "return" when an error happens in child
          processes.  Bug fix: Only wait for splashy_update
          completion if it was started.  Bug fix: detect failing
          waitpid().  Only kill splashy_update if it is running.  Do
          the killing of the old splashy process before the fork().
          Do setsid() and setuid(geteuid()) before starting the new
          splashy.  Report failing execl().

* plugins.d/usplash.c: Update comments and order of #include's.
  (main): Check user and group when looking for running usplash
          process.  Do not report execv() error if interrupted by a
          signal.

Show diffs side-by-side

added added

removed removed

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