/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-09-06 15:34:21 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080906153421-605ydhwyo404krh9
* initramfs-tools-hook: Use long options where available.  Use only
                        one "test" invocation instead of several.

* mandos-keygen: Use only one "test" invocation instead of several.
                 Use long options where available.  Strip newline from
                 entered password.

* plugin-runner.c (print_out_password): Do not strip trailing newline.
  (fallback): Strip trailing newline from getpass().

* plugin-runner.xml (PLUGINS): Plugins should not print trailing
                               newlines.

* plugins.d/password-prompt.c (main): Strip trailing newline.

* plugins.d/password-request.c (main): Bug fix: Read "pubkey.txt", not
                                       "pupkey.txt".

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">
4
5
<!ENTITY COMMANDNAME "plugin-runner">
5
 
<!ENTITY TIMESTAMP "2015-07-20">
6
 
<!ENTITY % common SYSTEM "common.ent">
7
 
%common;
 
6
<!ENTITY TIMESTAMP "2008-09-06">
8
7
]>
9
8
 
10
9
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
12
11
    <title>Mandos Manual</title>
13
12
    <!-- Nwalsh’s docbook scripts use this to generate the footer: -->
14
13
    <productname>Mandos</productname>
15
 
    <productnumber>&version;</productnumber>
 
14
    <productnumber>&VERSION;</productnumber>
16
15
    <date>&TIMESTAMP;</date>
17
16
    <authorgroup>
18
17
      <author>
19
18
        <firstname>Björn</firstname>
20
19
        <surname>Påhlsson</surname>
21
20
        <address>
22
 
          <email>belorn@recompile.se</email>
 
21
          <email>belorn@fukt.bsnet.se</email>
23
22
        </address>
24
23
      </author>
25
24
      <author>
26
25
        <firstname>Teddy</firstname>
27
26
        <surname>Hogeborn</surname>
28
27
        <address>
29
 
          <email>teddy@recompile.se</email>
 
28
          <email>teddy@fukt.bsnet.se</email>
30
29
        </address>
31
30
      </author>
32
31
    </authorgroup>
33
32
    <copyright>
34
33
      <year>2008</year>
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>
42
34
      <holder>Teddy Hogeborn</holder>
43
35
      <holder>Björn Påhlsson</holder>
44
36
    </copyright>
45
37
    <xi:include href="legalnotice.xml"/>
46
38
  </refentryinfo>
47
 
  
 
39
 
48
40
  <refmeta>
49
41
    <refentrytitle>&COMMANDNAME;</refentrytitle>
50
42
    <manvolnum>8mandos</manvolnum>
56
48
      Run Mandos plugins, pass data from first to succeed.
57
49
    </refpurpose>
58
50
  </refnamediv>
59
 
  
 
51
 
60
52
  <refsynopsisdiv>
61
53
    <cmdsynopsis>
62
54
      <command>&COMMANDNAME;</command>
63
55
      <group rep="repeat">
64
56
        <arg choice="plain"><option>--global-env=<replaceable
65
 
        >ENV</replaceable><literal>=</literal><replaceable
 
57
        >VAR</replaceable><literal>=</literal><replaceable
66
58
        >value</replaceable></option></arg>
67
59
        <arg choice="plain"><option>-G
68
 
        <replaceable>ENV</replaceable><literal>=</literal><replaceable
 
60
        <replaceable>VAR</replaceable><literal>=</literal><replaceable
69
61
        >value</replaceable> </option></arg>
70
62
      </group>
71
63
      <sbr/>
119
111
      <arg><option>--plugin-dir=<replaceable
120
112
      >DIRECTORY</replaceable></option></arg>
121
113
      <sbr/>
122
 
      <arg><option>--plugin-helper-dir=<replaceable
123
 
      >DIRECTORY</replaceable></option></arg>
124
 
      <sbr/>
125
114
      <arg><option>--config-file=<replaceable
126
115
      >FILE</replaceable></option></arg>
127
116
      <sbr/>
181
170
    <variablelist>
182
171
      <varlistentry>
183
172
        <term><option>--global-env
184
 
        <replaceable>ENV</replaceable><literal>=</literal><replaceable
 
173
        <replaceable>VAR</replaceable><literal>=</literal><replaceable
185
174
        >value</replaceable></option></term>
186
175
        <term><option>-G
187
 
        <replaceable>ENV</replaceable><literal>=</literal><replaceable
 
176
        <replaceable>VAR</replaceable><literal>=</literal><replaceable
188
177
        >value</replaceable></option></term>
189
178
        <listitem>
190
179
          <para>
258
247
          </para>
259
248
        </listitem>
260
249
      </varlistentry>
261
 
      
 
250
 
262
251
      <varlistentry>
263
252
        <term><option>--disable
264
253
        <replaceable>PLUGIN</replaceable></option></term>
269
258
            Disable the plugin named
270
259
            <replaceable>PLUGIN</replaceable>.  The plugin will not be
271
260
            started.
272
 
          </para>
 
261
          </para>       
273
262
        </listitem>
274
263
      </varlistentry>
275
 
      
 
264
 
276
265
      <varlistentry>
277
266
        <term><option>--enable
278
267
        <replaceable>PLUGIN</replaceable></option></term>
287
276
          </para>
288
277
        </listitem>
289
278
      </varlistentry>
290
 
      
 
279
 
291
280
      <varlistentry>
292
281
        <term><option>--groupid
293
282
        <replaceable>ID</replaceable></option></term>
300
289
          </para>
301
290
        </listitem>
302
291
      </varlistentry>
303
 
      
 
292
 
304
293
      <varlistentry>
305
294
        <term><option>--userid
306
295
        <replaceable>ID</replaceable></option></term>
313
302
          </para>
314
303
        </listitem>
315
304
      </varlistentry>
316
 
      
 
305
 
317
306
      <varlistentry>
318
307
        <term><option>--plugin-dir
319
308
        <replaceable>DIRECTORY</replaceable></option></term>
328
317
      </varlistentry>
329
318
      
330
319
      <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>
346
320
        <term><option>--config-file
347
321
        <replaceable>FILE</replaceable></option></term>
348
322
        <listitem>
391
365
          </para>
392
366
        </listitem>
393
367
      </varlistentry>
394
 
      
 
368
 
395
369
      <varlistentry>
396
370
        <term><option>--version</option></term>
397
371
        <term><option>-V</option></term>
403
377
      </varlistentry>
404
378
    </variablelist>
405
379
  </refsect1>
406
 
  
 
380
 
407
381
  <refsect1 id="overview">
408
382
    <title>OVERVIEW</title>
409
383
    <xi:include href="overview.xml"/>
429
403
      code will make this plugin-runner output the password from that
430
404
      plugin, stop any other plugins, and exit.
431
405
    </para>
432
 
    
 
406
 
433
407
    <refsect2 id="writing_plugins">
434
408
      <title>WRITING PLUGINS</title>
435
409
      <para>
449
423
      <para>
450
424
        The plugin will run in the initial RAM disk environment, so
451
425
        care must be taken not to depend on any files or running
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.
 
426
        services not available there.
457
427
      </para>
458
428
      <para>
459
429
        The plugin must exit cleanly and free all allocated resources
502
472
      only passes on its environment to all the plugins.  The
503
473
      environment passed to plugins can be modified using the
504
474
      <option>--global-env</option> and <option>--env-for</option>
505
 
      options.  Also, the <option>--plugin-helper-dir</option> option
506
 
      will affect the environment variable
507
 
      <envar>MANDOSPLUGINHELPERDIR</envar> for the plugins.
 
475
      options.
508
476
    </para>
509
477
  </refsect1>
510
478
  
601
569
    </informalexample>
602
570
    <informalexample>
603
571
      <para>
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
607
 
        <citerefentry><refentrytitle >mandos-client</refentrytitle>
 
572
        Run plugins from a different directory, read a different
 
573
        configuration file, and add two options to the
 
574
        <citerefentry><refentrytitle >password-request</refentrytitle>
608
575
        <manvolnum>8mandos</manvolnum></citerefentry> plugin:
609
576
      </para>
610
577
      <para>
611
578
 
612
579
<!-- do not wrap this line -->
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>
 
580
<userinput>&COMMANDNAME;  --config-file=/etc/mandos/plugin-runner.conf --plugin-dir /usr/lib/mandos/plugins.d --options-for=password-request:--pubkey=/etc/keys/mandos/pubkey.txt,--seckey=/etc/keys/mandos/seckey.txt</userinput>
614
581
 
615
582
      </para>
616
583
    </informalexample>
648
615
  <refsect1 id="see_also">
649
616
    <title>SEE ALSO</title>
650
617
    <para>
651
 
      <citerefentry><refentrytitle>intro</refentrytitle>
652
 
      <manvolnum>8mandos</manvolnum></citerefentry>,
653
618
      <citerefentry><refentrytitle>cryptsetup</refentrytitle>
654
619
      <manvolnum>8</manvolnum></citerefentry>,
655
620
      <citerefentry><refentrytitle>crypttab</refentrytitle>
660
625
      <manvolnum>8</manvolnum></citerefentry>,
661
626
      <citerefentry><refentrytitle>password-prompt</refentrytitle>
662
627
      <manvolnum>8mandos</manvolnum></citerefentry>,
663
 
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
 
628
      <citerefentry><refentrytitle>password-request</refentrytitle>
664
629
      <manvolnum>8mandos</manvolnum></citerefentry>
665
630
    </para>
666
631
  </refsect1>