/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: Teddy Hogeborn
  • Date: 2008-08-16 03:29:08 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080816032908-ihw7c05r2mnyk389
Add feature to specify custom environment variables for plugins.

* plugin-runner.c (plugin): New members "environ" and "envc" to
                            contain possible custom environment.
  (getplugin): Return NULL on failure instead of doing exit(); all
               callers changed.
  (add_to_char_array): New helper function for "add_argument" and
                       "add_environment".
  (addargument): Renamed to "add_argument".  Return bool.  Call
                 "add_to_char_array" to actually do things.
  (add_environment): New; analogous to "add_argument".
  (addcustomargument): Renamed to "add_to_argv" to avoid confusion
                       with "add_argument".
  (main): New options "--global-envs" and "--envs-for" to specify
          custom environment for plugins.  Print environment for
          plugins in debug mode.  Use asprintf instead of strcpy and
          strcat.  Use execve() for plugins with custom environments.
          Free environment for plugin when freeing plugin list.

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
6
6
<!ENTITY VERSION "1.0">
7
7
<!ENTITY COMMANDNAME "plugin-runner">
8
 
<!ENTITY TIMESTAMP "2008-08-30">
9
8
]>
10
9
 
11
10
<refentry>
12
11
  <refentryinfo>
13
 
    <title>Mandos Manual</title>
 
12
    <title>&COMMANDNAME;</title>
14
13
    <!-- NWalsh's docbook scripts use this to generate the footer: -->
15
 
    <productname>Mandos</productname>
 
14
    <productname>&COMMANDNAME;</productname>
16
15
    <productnumber>&VERSION;</productnumber>
17
 
    <date>&TIMESTAMP;</date>
18
16
    <authorgroup>
19
17
      <author>
20
18
        <firstname>Björn</firstname>
68
66
  <refnamediv>
69
67
    <refname><command>&COMMANDNAME;</command></refname>
70
68
    <refpurpose>
71
 
      Run Mandos plugins.  Pass data from first succesful one.
 
69
      get password for encrypted rootdisk
72
70
    </refpurpose>
73
71
  </refnamediv>
74
72
 
75
73
  <refsynopsisdiv>
76
74
    <cmdsynopsis>
77
75
      <command>&COMMANDNAME;</command>
78
 
      <group rep="repeat">
79
 
        <arg choice="plain"><option>--global-envs=<replaceable
80
 
        >VAR</replaceable><literal>=</literal><replaceable
81
 
        >value</replaceable></option></arg>
82
 
        <arg choice="plain"><option>-e
83
 
        <replaceable>VAR</replaceable><literal>=</literal><replaceable
84
 
        >value</replaceable> </option></arg>
85
 
      </group>
86
 
      <sbr/>
87
 
      <group rep="repeat">
88
 
        <arg choice="plain"><option>--envs-for=<replaceable
89
 
        >PLUGIN</replaceable><literal>:</literal><replaceable
90
 
        >ENV</replaceable><literal>=</literal><replaceable
91
 
        >value</replaceable></option></arg>
92
 
        <arg choice="plain"><option>-f<replaceable>
93
 
        PLUGIN</replaceable><literal>:</literal><replaceable
94
 
        >ENV</replaceable><literal>=</literal><replaceable
95
 
        >value</replaceable> </option></arg>
96
 
      </group>
97
 
      <sbr/>
98
 
      <group rep="repeat">
99
 
        <arg choice="plain"><option>--global-options=<replaceable
100
 
        >OPTIONS</replaceable></option></arg>
101
 
        <arg choice="plain"><option>-g<replaceable>
102
 
        OPTIONS</replaceable> </option></arg>
103
 
      </group>
104
 
      <sbr/>
105
 
      <group rep="repeat">
106
 
        <arg choice="plain"><option>--options-for=<replaceable
107
 
        >PLUGIN</replaceable><literal>:</literal><replaceable
108
 
        >OPTIONS</replaceable></option></arg>
109
 
        <arg choice="plain"><option>-f<replaceable>
110
 
        PLUGIN</replaceable><literal>:</literal><replaceable
111
 
        >OPTIONS</replaceable> </option></arg>
112
 
      </group>
113
 
      <sbr/>
114
 
      <group rep="repeat">
115
 
        <arg choice="plain"><option>--disable=<replaceable
116
 
        >PLUGIN</replaceable></option></arg>
117
 
        <arg choice="plain"><option>-d
118
 
        <replaceable>PLUGIN</replaceable> </option></arg>
119
 
      </group>
120
 
      <sbr/>
121
 
      <arg><option>--groupid=<replaceable
122
 
      >ID</replaceable></option></arg>
123
 
      <sbr/>
124
 
      <arg><option>--userid=<replaceable
125
 
      >ID</replaceable></option></arg>
126
 
      <sbr/>
127
 
      <arg><option>--plugin-dir=<replaceable
128
 
      >DIRECTORY</replaceable></option></arg>
129
 
      <sbr/>
130
 
      <arg><option>--debug</option></arg>
131
 
    </cmdsynopsis>
132
 
    <cmdsynopsis>
133
 
      <command>&COMMANDNAME;</command>
134
 
      <group choice="req">
135
 
        <arg choice='plain'><option>--help</option></arg>
136
 
        <arg choice='plain'><option>-?</option></arg>
137
 
      </group>
138
 
    </cmdsynopsis>
139
 
    <cmdsynopsis>
140
 
      <command>&COMMANDNAME;</command>
141
 
      <arg choice='plain'><option>--usage</option></arg>
142
 
    </cmdsynopsis>
143
 
    <cmdsynopsis>
144
 
      <command>&COMMANDNAME;</command>
145
 
      <group choice="req">
146
 
        <arg choice='plain'><option>--version</option></arg>
147
 
        <arg choice='plain'><option>-V</option></arg>
148
 
      </group>
149
 
    </cmdsynopsis>
 
76
      <arg choice='opt'>--global-options<arg choice='plain'>OPTIONS</arg></arg>
 
77
      <arg choice='opt'>--options-for<arg choice='plain'>PLUGIN:OPTIONS</arg></arg>
 
78
      <arg choice='opt'>--disable<arg choice='plain'>PLUGIN</arg></arg>
 
79
      <arg choice='opt'>--groupid<arg choice='plain'>ID</arg></arg>
 
80
      <arg choice='opt'>--userid<arg choice='plain'>ID</arg></arg>
 
81
      <arg choice='opt'>--plugin-dir<arg choice='plain'>DIRECTORY</arg></arg>
 
82
      <arg choice='opt'>--debug</arg>
 
83
    </cmdsynopsis>
 
84
    <cmdsynopsis>
 
85
      <command>&COMMANDNAME;</command>
 
86
      <arg choice='plain'>--help</arg>
 
87
    </cmdsynopsis>
 
88
    <cmdsynopsis>
 
89
      <command>&COMMANDNAME;</command>
 
90
      <arg choice='plain'>--usage</arg>
 
91
    </cmdsynopsis>
 
92
    <cmdsynopsis>
 
93
      <command>&COMMANDNAME;</command>
 
94
      <arg choice='plain'>--version</arg>
 
95
    </cmdsynopsis>    
150
96
  </refsynopsisdiv>
151
97
 
152
98
  <refsect1 id="description">
160
106
      and subsequlently started in the initrd environment. See
161
107
      <citerefentry><refentrytitle>crypttab</refentrytitle>
162
108
      <manvolnum>5</manvolnum></citerefentry> for more information on
163
 
      keyscripts.
 
109
      keyscripts.    
164
110
    </para>
165
111
 
166
112
    <para>
179
125
            Global options given to all plugins as additional start
180
126
            arguments.  Options are specified with a -o flag followed
181
127
            by a comma separated string of options.
182
 
          </para>       
 
128
          </para>         
183
129
        </listitem>
184
130
      </varlistentry>
185
131
 
192
138
            Plugin specific options given to the plugin as additional
193
139
            start arguments.  Options are specified with a -o flag
194
140
            followed by a comma separated string of options.
195
 
          </para>       
 
141
          </para>         
196
142
        </listitem>
197
 
      </varlistentry>
 
143
      </varlistentry>      
198
144
 
199
145
      <varlistentry>
200
146
        <term><literal>-d</literal>,<literal> --disable
203
149
        <listitem>
204
150
          <para>
205
151
            Disable a specific plugin
206
 
          </para>       
 
152
          </para>         
207
153
        </listitem>
208
154
      </varlistentry>
209
155
 
215
161
            Group ID the plugins will run as
216
162
          </para>
217
163
        </listitem>
218
 
      </varlistentry>
 
164
      </varlistentry>      
219
165
 
220
166
      <varlistentry>
221
167
        <term><literal>--userid <replaceable>ID</replaceable>
225
171
            User ID the plugins will run as
226
172
          </para>
227
173
        </listitem>
228
 
      </varlistentry>
 
174
      </varlistentry>      
229
175
 
230
176
      <varlistentry>
231
177
        <term><literal>--plugin-dir <replaceable>DIRECTORY</replaceable>
235
181
            Specify a different plugin directory
236
182
          </para>
237
183
        </listitem>
238
 
      </varlistentry>
 
184
      </varlistentry>       
239
185
      
240
186
      <varlistentry>
241
187
        <term><literal>--debug</literal></term>
271
217
            Prints the program version
272
218
          </para>
273
219
        </listitem>
274
 
      </varlistentry>
 
220
      </varlistentry>            
275
221
    </variablelist>
276
222
  </refsect1>
277
223
 
284
230
  <refsect1 id="file">
285
231
    <title>FILES</title>
286
232
    <para>
287
 
    </para>
288
 
  </refsect1>
 
233
      </para>
 
234
  </refsect1>  
289
235
 
290
236
  <refsect1 id="notes">
291
237
    <title>NOTES</title>
292
238
    <para>
293
 
    </para>
 
239
      </para>
294
240
  </refsect1>
295
241
  
296
242
  <refsect1 id="bugs">
297
243
    <title>BUGS</title>
298
244
    <para>
299
 
    </para>
300
 
  </refsect1>
 
245
      </para>
 
246
  </refsect1>  
301
247
 
302
248
  <refsect1 id="examples">
303
 
    <title>EXAMPLE</title>
 
249
    <title>EXAMPLES</title>
304
250
    <para>
305
 
    </para>
 
251
      </para>
306
252
  </refsect1>
307
253
 
308
254
  <refsect1 id="security">
309
255
    <title>SECURITY</title>
310
256
    <para>
311
 
    </para>
 
257
      </para>
312
258
  </refsect1>
313
259
 
314
260
  <refsect1 id="see_also">
315
261
    <title>SEE ALSO</title>
316
262
    <para>
317
 
      <citerefentry><refentrytitle>cryptsetup</refentrytitle>
318
 
      <manvolnum>8</manvolnum></citerefentry>,
319
263
      <citerefentry><refentrytitle>mandos</refentrytitle>
320
 
      <manvolnum>8</manvolnum></citerefentry>,
321
 
      <citerefentry><refentrytitle>password-prompt</refentrytitle>
322
 
      <manvolnum>8mandos</manvolnum></citerefentry>,
323
 
      <citerefentry><refentrytitle>password-request</refentrytitle>
 
264
      <manvolnum>8</manvolnum></citerefentry>, <citerefentry>
 
265
      <refentrytitle>password-request</refentrytitle>
 
266
      <manvolnum>8mandos</manvolnum></citerefentry> and <citerefentry>
 
267
      <refentrytitle>password-prompt</refentrytitle>
324
268
      <manvolnum>8mandos</manvolnum></citerefentry>
325
269
    </para>
326
270
  </refsect1>
327
271
 
328
272
</refentry>
329
 
<!-- Local Variables: -->
330
 
<!-- time-stamp-start: "<!ENTITY TIMESTAMP [\"']" -->
331
 
<!-- time-stamp-end: "[\"']>" -->
332
 
<!-- time-stamp-format: "%:y-%02m-%02d" -->
333
 
<!-- End: -->