/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-08-01 20:03:03 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080801200303-3xjn9gjewg87365i
* plugbasedclient.c (main): Check if plugin dir could be opened.  Set
                            FD_CLOEXEC on the directory, if possible,
                            and also on both ends of the pipe.  Do not
                            allocate buffer for process in advance.
                            Free the plugin list.  Bug fix: exit if no
                            plugins found, not if any found.  Set
                            "exitstatus" in many places.  Simplify and
                            un-indent the loop reading process pipes.
                            Renamed process list iterator to "proc".
                            Bug fix:  retry password write on EINTR.
                            Free the process list properly, including
                            the process structs themselves.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?xml version='1.0' encoding='UTF-8'?>
2
 
<?xml-stylesheet type="text/xsl"
3
 
        href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"?>
4
 
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
5
 
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
6
 
<!ENTITY VERSION "1.0">
7
 
<!ENTITY COMMANDNAME "plugin-runner">
8
 
<!ENTITY TIMESTAMP "2008-08-29">
9
 
]>
10
 
 
11
 
<refentry>
12
 
  <refentryinfo>
13
 
    <title>Mandos Manual</title>
14
 
    <!-- NWalsh's docbook scripts use this to generate the footer: -->
15
 
    <productname>Mandos</productname>
16
 
    <productnumber>&VERSION;</productnumber>
17
 
    <date>&TIMESTAMP;</date>
18
 
    <authorgroup>
19
 
      <author>
20
 
        <firstname>Björn</firstname>
21
 
        <surname>Påhlsson</surname>
22
 
        <address>
23
 
          <email>belorn@fukt.bsnet.se</email>
24
 
        </address>
25
 
      </author>
26
 
      <author>
27
 
        <firstname>Teddy</firstname>
28
 
        <surname>Hogeborn</surname>
29
 
        <address>
30
 
          <email>teddy@fukt.bsnet.se</email>
31
 
        </address>
32
 
      </author>
33
 
    </authorgroup>
34
 
    <copyright>
35
 
      <year>2008</year>
36
 
      <holder>Teddy Hogeborn &amp; Björn Påhlsson</holder>
37
 
    </copyright>
38
 
    <legalnotice>
39
 
      <para>
40
 
        This manual page is free software: you can redistribute it
41
 
        and/or modify it under the terms of the GNU General Public
42
 
        License as published by the Free Software Foundation,
43
 
        either version 3 of the License, or (at your option) any
44
 
        later version.
45
 
      </para>
46
 
 
47
 
      <para>
48
 
        This manual page is distributed in the hope that it will
49
 
        be useful, but WITHOUT ANY WARRANTY; without even the
50
 
        implied warranty of MERCHANTABILITY or FITNESS FOR A
51
 
        PARTICULAR PURPOSE.  See the GNU General Public License
52
 
        for more details.
53
 
      </para>
54
 
 
55
 
      <para>
56
 
        You should have received a copy of the GNU General Public
57
 
        License along with this program; If not, see
58
 
        <ulink url="http://www.gnu.org/licenses/"/>.
59
 
      </para>
60
 
    </legalnotice>
61
 
  </refentryinfo>
62
 
 
63
 
  <refmeta>
64
 
    <refentrytitle>&COMMANDNAME;</refentrytitle>
65
 
    <manvolnum>8mandos</manvolnum>
66
 
  </refmeta>
67
 
  
68
 
  <refnamediv>
69
 
    <refname><command>&COMMANDNAME;</command></refname>
70
 
    <refpurpose>
71
 
      get password for encrypted rootdisk
72
 
    </refpurpose>
73
 
  </refnamediv>
74
 
 
75
 
  <refsynopsisdiv>
76
 
    <cmdsynopsis>
77
 
      <command>&COMMANDNAME;</command>
78
 
      <arg choice='opt'>--global-options<arg choice='plain'>OPTIONS</arg></arg>
79
 
      <arg choice='opt'>--options-for<arg choice='plain'>PLUGIN:OPTIONS</arg></arg>
80
 
      <arg choice='opt'>--disable<arg choice='plain'>PLUGIN</arg></arg>
81
 
      <arg choice='opt'>--groupid<arg choice='plain'>ID</arg></arg>
82
 
      <arg choice='opt'>--userid<arg choice='plain'>ID</arg></arg>
83
 
      <arg choice='opt'>--plugin-dir<arg choice='plain'>DIRECTORY</arg></arg>
84
 
      <arg choice='opt'>--debug</arg>
85
 
    </cmdsynopsis>
86
 
    <cmdsynopsis>
87
 
      <command>&COMMANDNAME;</command>
88
 
      <arg choice='plain'>--help</arg>
89
 
    </cmdsynopsis>
90
 
    <cmdsynopsis>
91
 
      <command>&COMMANDNAME;</command>
92
 
      <arg choice='plain'>--usage</arg>
93
 
    </cmdsynopsis>
94
 
    <cmdsynopsis>
95
 
      <command>&COMMANDNAME;</command>
96
 
      <arg choice='plain'>--version</arg>
97
 
    </cmdsynopsis>    
98
 
  </refsynopsisdiv>
99
 
 
100
 
  <refsect1 id="description">
101
 
    <title>DESCRIPTION</title>
102
 
    <para>
103
 
      <command>&COMMANDNAME;</command> is a plugin runner that waits
104
 
      for any of its plugins to return sucessfull with a password, and
105
 
      passes it to cryptsetup as stdout message. This command is not
106
 
      meant to be invoked directly, but is instead meant to be run by
107
 
      cryptsetup by being specified in /etc/crypttab as a keyscript
108
 
      and subsequlently started in the initrd environment. See
109
 
      <citerefentry><refentrytitle>crypttab</refentrytitle>
110
 
      <manvolnum>5</manvolnum></citerefentry> for more information on
111
 
      keyscripts.    
112
 
    </para>
113
 
 
114
 
    <para>
115
 
      plugins is looked for in the plugins directory which by default will be
116
 
      /conf/conf.d/mandos/plugins.d if not changed by option --plugin-dir.
117
 
    </para>
118
 
  </refsect1>
119
 
  <refsect1>
120
 
    <title>OPTIONS</title>
121
 
    <variablelist>
122
 
      <varlistentry>
123
 
        <term><literal>-g</literal>,<literal>--global-options
124
 
        <replaceable>OPTIONS</replaceable></literal></term>
125
 
        <listitem>
126
 
          <para>
127
 
            Global options given to all plugins as additional start
128
 
            arguments.  Options are specified with a -o flag followed
129
 
            by a comma separated string of options.
130
 
          </para>         
131
 
        </listitem>
132
 
      </varlistentry>
133
 
 
134
 
      <varlistentry>
135
 
        <term><literal>-o</literal>,<literal> --options-for
136
 
        <replaceable>PLUGIN</replaceable>:<replaceable>OPTION</replaceable>
137
 
        </literal></term>
138
 
        <listitem>
139
 
          <para>
140
 
            Plugin specific options given to the plugin as additional
141
 
            start arguments.  Options are specified with a -o flag
142
 
            followed by a comma separated string of options.
143
 
          </para>         
144
 
        </listitem>
145
 
      </varlistentry>      
146
 
 
147
 
      <varlistentry>
148
 
        <term><literal>-d</literal>,<literal> --disable
149
 
        <replaceable>PLUGIN</replaceable>
150
 
        </literal></term>
151
 
        <listitem>
152
 
          <para>
153
 
            Disable a specific plugin
154
 
          </para>         
155
 
        </listitem>
156
 
      </varlistentry>
157
 
 
158
 
      <varlistentry>
159
 
        <term><literal>--groupid <replaceable>ID</replaceable>
160
 
        </literal></term>
161
 
        <listitem>
162
 
          <para>
163
 
            Group ID the plugins will run as
164
 
          </para>
165
 
        </listitem>
166
 
      </varlistentry>      
167
 
 
168
 
      <varlistentry>
169
 
        <term><literal>--userid <replaceable>ID</replaceable>
170
 
        </literal></term>
171
 
        <listitem>
172
 
          <para>
173
 
            User ID the plugins will run as
174
 
          </para>
175
 
        </listitem>
176
 
      </varlistentry>      
177
 
 
178
 
      <varlistentry>
179
 
        <term><literal>--plugin-dir <replaceable>DIRECTORY</replaceable>
180
 
        </literal></term>
181
 
        <listitem>
182
 
          <para>
183
 
            Specify a different plugin directory
184
 
          </para>
185
 
        </listitem>
186
 
      </varlistentry>       
187
 
      
188
 
      <varlistentry>
189
 
        <term><literal>--debug</literal></term>
190
 
        <listitem>
191
 
          <para>
192
 
            Debug mode
193
 
          </para>
194
 
        </listitem>
195
 
      </varlistentry>
196
 
      
197
 
      <varlistentry>
198
 
        <term><literal>-?</literal>, <literal>--help</literal></term>
199
 
        <listitem>
200
 
          <para>
201
 
            Gives a help message
202
 
          </para>
203
 
        </listitem>
204
 
      </varlistentry>
205
 
      
206
 
      <varlistentry>
207
 
        <term><literal>--usage</literal></term>
208
 
        <listitem>
209
 
          <para>
210
 
            Gives a short usage message
211
 
          </para>
212
 
        </listitem>
213
 
      </varlistentry>
214
 
 
215
 
      <varlistentry>
216
 
        <term><literal>-V</literal>, <literal>--version</literal></term>
217
 
        <listitem>
218
 
          <para>
219
 
            Prints the program version
220
 
          </para>
221
 
        </listitem>
222
 
      </varlistentry>            
223
 
    </variablelist>
224
 
  </refsect1>
225
 
 
226
 
  <refsect1 id="exit_status">
227
 
    <title>EXIT STATUS</title>
228
 
    <para>
229
 
    </para>
230
 
  </refsect1>
231
 
 
232
 
  <refsect1 id="file">
233
 
    <title>FILES</title>
234
 
    <para>
235
 
    </para>
236
 
  </refsect1>  
237
 
 
238
 
  <refsect1 id="notes">
239
 
    <title>NOTES</title>
240
 
    <para>
241
 
    </para>
242
 
  </refsect1>
243
 
  
244
 
  <refsect1 id="bugs">
245
 
    <title>BUGS</title>
246
 
    <para>
247
 
    </para>
248
 
  </refsect1>  
249
 
 
250
 
  <refsect1 id="examples">
251
 
    <title>EXAMPLE</title>
252
 
    <para>
253
 
    </para>
254
 
  </refsect1>
255
 
 
256
 
  <refsect1 id="security">
257
 
    <title>SECURITY</title>
258
 
    <para>
259
 
    </para>
260
 
  </refsect1>
261
 
 
262
 
  <refsect1 id="see_also">
263
 
    <title>SEE ALSO</title>
264
 
    <para>
265
 
      <citerefentry><refentrytitle>cryptsetup</refentrytitle>
266
 
      <manvolnum>8</manvolnum></citerefentry>,
267
 
      <citerefentry><refentrytitle>mandos</refentrytitle>
268
 
      <manvolnum>8</manvolnum></citerefentry>,
269
 
      <citerefentry><refentrytitle>password-prompt</refentrytitle>
270
 
      <manvolnum>8mandos</manvolnum></citerefentry>,
271
 
      <citerefentry><refentrytitle>password-request</refentrytitle>
272
 
      <manvolnum>8mandos</manvolnum></citerefentry>
273
 
    </para>
274
 
  </refsect1>
275
 
 
276
 
</refentry>
277
 
<!-- Local Variables: -->
278
 
<!-- time-stamp-start: "<!ENTITY TIMESTAMP [\"']" -->
279
 
<!-- time-stamp-end: "[\"']>" -->
280
 
<!-- time-stamp-format: "%:y-%02m-%02d" -->
281
 
<!-- End: -->