/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk
129 by Teddy Hogeborn
* mandos-clients.conf.xml: Changed all single quotes to double quotes
1
<?xml version="1.0" encoding="UTF-8"?>
24.1.23 by Björn Påhlsson
Added manual pages for:
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3
	"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
74 by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New.
4
<!ENTITY COMMANDNAME "plugin-runner">
277 by Teddy Hogeborn
* debian/mandos-client.lintian-overrides: Remove override for
5
<!ENTITY TIMESTAMP "2009-01-17">
217 by Teddy Hogeborn
* .bzrignore: Added "man" directory (created by "make install-html").
6
<!ENTITY % common SYSTEM "common.ent">
7
%common;
24.1.23 by Björn Påhlsson
Added manual pages for:
8
]>
9
131 by Teddy Hogeborn
* Makefile: Make all DocBook rules include legalnotice.xml as a
10
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
24.1.23 by Björn Påhlsson
Added manual pages for:
11
  <refentryinfo>
112 by Teddy Hogeborn
* mandos-clients.conf.xml (/refentry/refentryinfo/title): Changed to
12
    <title>Mandos Manual</title>
129 by Teddy Hogeborn
* mandos-clients.conf.xml: Changed all single quotes to double quotes
13
    <!-- Nwalsh’s docbook scripts use this to generate the footer: -->
112 by Teddy Hogeborn
* mandos-clients.conf.xml (/refentry/refentryinfo/title): Changed to
14
    <productname>Mandos</productname>
217 by Teddy Hogeborn
* .bzrignore: Added "man" directory (created by "make install-html").
15
    <productnumber>&version;</productnumber>
111 by Teddy Hogeborn
* mandos-clients.conf.xml (ENTITY TIMESTAMP): New. Automatically
16
    <date>&TIMESTAMP;</date>
24.1.23 by Björn Påhlsson
Added manual pages for:
17
    <authorgroup>
18
      <author>
19
	<firstname>Björn</firstname>
20
	<surname>Påhlsson</surname>
21
	<address>
22
	  <email>belorn@fukt.bsnet.se</email>
23
	</address>
24
      </author>
25
      <author>
26
	<firstname>Teddy</firstname>
27
	<surname>Hogeborn</surname>
28
	<address>
29
	  <email>teddy@fukt.bsnet.se</email>
30
	</address>
31
      </author>
32
    </authorgroup>
33
    <copyright>
34
      <year>2008</year>
246 by Teddy Hogeborn
* README: Update copyright year; add "2009".
35
      <year>2009</year>
128 by Teddy Hogeborn
* plugin-runner.xml (/refentry/refentryinfo/copyright): Split
36
      <holder>Teddy Hogeborn</holder>
37
      <holder>Björn Påhlsson</holder>
24.1.23 by Björn Påhlsson
Added manual pages for:
38
    </copyright>
131 by Teddy Hogeborn
* Makefile: Make all DocBook rules include legalnotice.xml as a
39
    <xi:include href="legalnotice.xml"/>
24.1.23 by Björn Påhlsson
Added manual pages for:
40
  </refentryinfo>
182 by Teddy Hogeborn
* Makefile (install): Use "install-client-nokey".
41
  
24.1.23 by Björn Påhlsson
Added manual pages for:
42
  <refmeta>
43
    <refentrytitle>&COMMANDNAME;</refentrytitle>
44
    <manvolnum>8mandos</manvolnum>
45
  </refmeta>
46
  
47
  <refnamediv>
48
    <refname><command>&COMMANDNAME;</command></refname>
49
    <refpurpose>
156 by Teddy Hogeborn
* mandos-clients.conf.xml (OPTIONS): Improved spelling.
50
      Run Mandos plugins, pass data from first to succeed.
24.1.23 by Björn Påhlsson
Added manual pages for:
51
    </refpurpose>
52
  </refnamediv>
182 by Teddy Hogeborn
* Makefile (install): Use "install-client-nokey".
53
  
24.1.23 by Björn Påhlsson
Added manual pages for:
54
  <refsynopsisdiv>
55
    <cmdsynopsis>
56
      <command>&COMMANDNAME;</command>
121 by Teddy Hogeborn
* plugin-runner.xml (NAME): Improved wording.
57
      <group rep="repeat">
135 by Teddy Hogeborn
* plugin-runner.c (add_environment): Never insert existing environment
58
	<arg choice="plain"><option>--global-env=<replaceable
187 by Teddy Hogeborn
* debian/mandos-client.README.Debian: Document "eth0" default and how
59
	>ENV</replaceable><literal>=</literal><replaceable
121 by Teddy Hogeborn
* plugin-runner.xml (NAME): Improved wording.
60
	>value</replaceable></option></arg>
139 by Teddy Hogeborn
* plugin-runner.xml: Changed short option for "--global-env" to "-G",
61
	<arg choice="plain"><option>-G
187 by Teddy Hogeborn
* debian/mandos-client.README.Debian: Document "eth0" default and how
62
	<replaceable>ENV</replaceable><literal>=</literal><replaceable
121 by Teddy Hogeborn
* plugin-runner.xml (NAME): Improved wording.
63
	>value</replaceable> </option></arg>
64
      </group>
65
      <sbr/>
66
      <group rep="repeat">
135 by Teddy Hogeborn
* plugin-runner.c (add_environment): Never insert existing environment
67
	<arg choice="plain"><option>--env-for=<replaceable
121 by Teddy Hogeborn
* plugin-runner.xml (NAME): Improved wording.
68
	>PLUGIN</replaceable><literal>:</literal><replaceable
69
	>ENV</replaceable><literal>=</literal><replaceable
70
	>value</replaceable></option></arg>
139 by Teddy Hogeborn
* plugin-runner.xml: Changed short option for "--global-env" to "-G",
71
	<arg choice="plain"><option>-E<replaceable>
121 by Teddy Hogeborn
* plugin-runner.xml (NAME): Improved wording.
72
	PLUGIN</replaceable><literal>:</literal><replaceable
73
	>ENV</replaceable><literal>=</literal><replaceable
74
	>value</replaceable> </option></arg>
75
      </group>
76
      <sbr/>
77
      <group rep="repeat">
78
	<arg choice="plain"><option>--global-options=<replaceable
79
	>OPTIONS</replaceable></option></arg>
80
	<arg choice="plain"><option>-g<replaceable>
81
	OPTIONS</replaceable> </option></arg>
82
      </group>
83
      <sbr/>
84
      <group rep="repeat">
85
	<arg choice="plain"><option>--options-for=<replaceable
86
	>PLUGIN</replaceable><literal>:</literal><replaceable
87
	>OPTIONS</replaceable></option></arg>
139 by Teddy Hogeborn
* plugin-runner.xml: Changed short option for "--global-env" to "-G",
88
	<arg choice="plain"><option>-o<replaceable>
121 by Teddy Hogeborn
* plugin-runner.xml (NAME): Improved wording.
89
	PLUGIN</replaceable><literal>:</literal><replaceable
90
	>OPTIONS</replaceable> </option></arg>
91
      </group>
92
      <sbr/>
93
      <group rep="repeat">
94
	<arg choice="plain"><option>--disable=<replaceable
95
	>PLUGIN</replaceable></option></arg>
96
	<arg choice="plain"><option>-d
97
	<replaceable>PLUGIN</replaceable> </option></arg>
98
      </group>
99
      <sbr/>
139 by Teddy Hogeborn
* plugin-runner.xml: Changed short option for "--global-env" to "-G",
100
      <group rep="repeat">
101
	<arg choice="plain"><option>--enable=<replaceable
102
	>PLUGIN</replaceable></option></arg>
103
	<arg choice="plain"><option>-e
104
	<replaceable>PLUGIN</replaceable> </option></arg>
105
      </group>
106
      <sbr/>
121 by Teddy Hogeborn
* plugin-runner.xml (NAME): Improved wording.
107
      <arg><option>--groupid=<replaceable
108
      >ID</replaceable></option></arg>
109
      <sbr/>
110
      <arg><option>--userid=<replaceable
111
      >ID</replaceable></option></arg>
112
      <sbr/>
113
      <arg><option>--plugin-dir=<replaceable
114
      >DIRECTORY</replaceable></option></arg>
115
      <sbr/>
139 by Teddy Hogeborn
* plugin-runner.xml: Changed short option for "--global-env" to "-G",
116
      <arg><option>--config-file=<replaceable
117
      >FILE</replaceable></option></arg>
118
      <sbr/>
121 by Teddy Hogeborn
* plugin-runner.xml (NAME): Improved wording.
119
      <arg><option>--debug</option></arg>
120
    </cmdsynopsis>
121
    <cmdsynopsis>
122
      <command>&COMMANDNAME;</command>
123
      <group choice="req">
129 by Teddy Hogeborn
* mandos-clients.conf.xml: Changed all single quotes to double quotes
124
	<arg choice="plain"><option>--help</option></arg>
125
	<arg choice="plain"><option>-?</option></arg>
121 by Teddy Hogeborn
* plugin-runner.xml (NAME): Improved wording.
126
      </group>
127
    </cmdsynopsis>
128
    <cmdsynopsis>
129
      <command>&COMMANDNAME;</command>
129 by Teddy Hogeborn
* mandos-clients.conf.xml: Changed all single quotes to double quotes
130
      <arg choice="plain"><option>--usage</option></arg>
121 by Teddy Hogeborn
* plugin-runner.xml (NAME): Improved wording.
131
    </cmdsynopsis>
132
    <cmdsynopsis>
133
      <command>&COMMANDNAME;</command>
134
      <group choice="req">
129 by Teddy Hogeborn
* mandos-clients.conf.xml: Changed all single quotes to double quotes
135
	<arg choice="plain"><option>--version</option></arg>
136
	<arg choice="plain"><option>-V</option></arg>
121 by Teddy Hogeborn
* plugin-runner.xml (NAME): Improved wording.
137
      </group>
118 by Teddy Hogeborn
* mandos-keygen.xml (SYNOPSIS): Fixed tags. Unify short and long
138
    </cmdsynopsis>
24.1.23 by Björn Påhlsson
Added manual pages for:
139
  </refsynopsisdiv>
134 by Teddy Hogeborn
* mandos.xml: Enclose "RAM" with <acronym>.
140
  
24.1.23 by Björn Påhlsson
Added manual pages for:
141
  <refsect1 id="description">
142
    <title>DESCRIPTION</title>
143
    <para>
134 by Teddy Hogeborn
* mandos.xml: Enclose "RAM" with <acronym>.
144
      <command>&COMMANDNAME;</command> is a program which is meant to
155 by Teddy Hogeborn
* README: Improved wording.
145
      be specified as a <quote>keyscript</quote> for the root disk in
146
      <citerefentry><refentrytitle>crypttab</refentrytitle>
147
      <manvolnum>5</manvolnum></citerefentry>.  The aim of this
148
      program is therefore to output a password, which then
149
      <citerefentry><refentrytitle>cryptsetup</refentrytitle>
140 by Teddy Hogeborn
* plugin-runner.xml (PLUGINS/WRITING PLUGINS): New section.
150
      <manvolnum>8</manvolnum></citerefentry> will use to unlock the
151
      root disk.
134 by Teddy Hogeborn
* mandos.xml: Enclose "RAM" with <acronym>.
152
    </para>
153
    <para>
154
      This program is not meant to be invoked directly, but can be in
155
      order to test it.  Note that any password obtained will simply
156
      be output on standard output.
157
    </para>
158
  </refsect1>
159
  
160
  <refsect1 id="purpose">
161
    <title>PURPOSE</title>
162
    <para>
163
      The purpose of this is to enable <emphasis>remote and unattended
164
      rebooting</emphasis> of client host computer with an
165
      <emphasis>encrypted root file system</emphasis>.  See <xref
166
      linkend="overview"/> for details.
167
    </para>
168
  </refsect1>
169
  
24.1.38 by Björn Påhlsson
changed description to better fit role
170
  <refsect1>
171
    <title>OPTIONS</title>
24.1.23 by Björn Påhlsson
Added manual pages for:
172
    <variablelist>
173
      <varlistentry>
135 by Teddy Hogeborn
* plugin-runner.c (add_environment): Never insert existing environment
174
	<term><option>--global-env
187 by Teddy Hogeborn
* debian/mandos-client.README.Debian: Document "eth0" default and how
175
	<replaceable>ENV</replaceable><literal>=</literal><replaceable
135 by Teddy Hogeborn
* plugin-runner.c (add_environment): Never insert existing environment
176
	>value</replaceable></option></term>
140 by Teddy Hogeborn
* plugin-runner.xml (PLUGINS/WRITING PLUGINS): New section.
177
	<term><option>-G
187 by Teddy Hogeborn
* debian/mandos-client.README.Debian: Document "eth0" default and how
178
	<replaceable>ENV</replaceable><literal>=</literal><replaceable
135 by Teddy Hogeborn
* plugin-runner.c (add_environment): Never insert existing environment
179
	>value</replaceable></option></term>
180
	<listitem>
181
	  <para>
136 by Teddy Hogeborn
* plugin-runner.c (add_environment): Override existing environment
182
	    This option will add an environment variable setting to
183
	    all plugins.  This will override any inherited environment
184
	    variable.
135 by Teddy Hogeborn
* plugin-runner.c (add_environment): Never insert existing environment
185
	  </para>
186
	</listitem>
187
      </varlistentry>
188
      
189
      <varlistentry>
190
	<term><option>--env-for
191
	<replaceable>PLUGIN</replaceable><literal>:</literal
192
	><replaceable>ENV</replaceable><literal>=</literal
193
	><replaceable>value</replaceable></option></term>
140 by Teddy Hogeborn
* plugin-runner.xml (PLUGINS/WRITING PLUGINS): New section.
194
	<term><option>-E
135 by Teddy Hogeborn
* plugin-runner.c (add_environment): Never insert existing environment
195
	<replaceable>PLUGIN</replaceable><literal>:</literal
196
	><replaceable>ENV</replaceable><literal>=</literal
197
	><replaceable>value</replaceable></option></term>
198
	<listitem>
199
	  <para>
136 by Teddy Hogeborn
* plugin-runner.c (add_environment): Override existing environment
200
	    This option will add an environment variable setting to
201
	    the <replaceable>PLUGIN</replaceable> plugin.  This will
202
	    override any inherited environment variables or
203
	    environment variables specified using
204
	    <option>--global-env</option>.
135 by Teddy Hogeborn
* plugin-runner.c (add_environment): Never insert existing environment
205
	  </para>
206
	</listitem>
207
      </varlistentry>
208
      
209
      <varlistentry>
125 by Teddy Hogeborn
* plugin-runner.xml (OPTIONS): Use <option> tags instead of
210
	<term><option>--global-options
211
	<replaceable>OPTIONS</replaceable></option></term>
212
	<term><option>-g
213
	<replaceable>OPTIONS</replaceable></option></term>
24.1.23 by Björn Påhlsson
Added manual pages for:
214
	<listitem>
215
	  <para>
134 by Teddy Hogeborn
* mandos.xml: Enclose "RAM" with <acronym>.
216
	    Pass some options to <emphasis>all</emphasis> plugins.
217
	    <replaceable>OPTIONS</replaceable> is a comma separated
218
	    list of options.  This is not a very useful option, except
219
	    for specifying the <quote><option>--debug</option></quote>
140 by Teddy Hogeborn
* plugin-runner.xml (PLUGINS/WRITING PLUGINS): New section.
220
	    option to all plugins.
134 by Teddy Hogeborn
* mandos.xml: Enclose "RAM" with <acronym>.
221
	  </para>
24.1.23 by Björn Påhlsson
Added manual pages for:
222
	</listitem>
223
      </varlistentry>
134 by Teddy Hogeborn
* mandos.xml: Enclose "RAM" with <acronym>.
224
      
24.1.23 by Björn Påhlsson
Added manual pages for:
225
      <varlistentry>
125 by Teddy Hogeborn
* plugin-runner.xml (OPTIONS): Use <option> tags instead of
226
	<term><option>--options-for
227
	<replaceable>PLUGIN</replaceable><literal>:</literal
228
	><replaceable>OPTION</replaceable></option></term>
229
	<term><option>-o
230
	<replaceable>PLUGIN</replaceable><literal>:</literal
231
	><replaceable>OPTION</replaceable></option></term>
24.1.23 by Björn Påhlsson
Added manual pages for:
232
	<listitem>
233
	  <para>
134 by Teddy Hogeborn
* mandos.xml: Enclose "RAM" with <acronym>.
234
	    Pass some options to a specific plugin.  <replaceable
235
	    >PLUGIN</replaceable> is the name (file basename) of a
236
	    plugin, and <replaceable>OPTIONS</replaceable> is a comma
237
	    separated list of options.
238
	  </para>
239
	  <para>
240
	    Note that since options are not split on whitespace, the
241
	    way to pass, to the plugin
242
	    <quote><filename>foo</filename></quote>, the option
243
	    <option>--bar</option> with the option argument
244
	    <quote>baz</quote> is either
245
	    <userinput>--options-for=foo:--bar=baz</userinput> or
140 by Teddy Hogeborn
* plugin-runner.xml (PLUGINS/WRITING PLUGINS): New section.
246
	    <userinput>--options-for=foo:--bar,baz</userinput>.  Using
247
	    <userinput>--options-for="foo:--bar baz"</userinput>. will
248
	    <emphasis>not</emphasis> work.
134 by Teddy Hogeborn
* mandos.xml: Enclose "RAM" with <acronym>.
249
	  </para>
24.1.23 by Björn Påhlsson
Added manual pages for:
250
	</listitem>
118 by Teddy Hogeborn
* mandos-keygen.xml (SYNOPSIS): Fixed tags. Unify short and long
251
      </varlistentry>
182 by Teddy Hogeborn
* Makefile (install): Use "install-client-nokey".
252
      
24.1.23 by Björn Påhlsson
Added manual pages for:
253
      <varlistentry>
139 by Teddy Hogeborn
* plugin-runner.xml: Changed short option for "--global-env" to "-G",
254
	<term><option>--disable
125 by Teddy Hogeborn
* plugin-runner.xml (OPTIONS): Use <option> tags instead of
255
	<replaceable>PLUGIN</replaceable></option></term>
256
	<term><option>-d
257
	<replaceable>PLUGIN</replaceable></option></term>
24.1.23 by Björn Påhlsson
Added manual pages for:
258
	<listitem>
259
	  <para>
134 by Teddy Hogeborn
* mandos.xml: Enclose "RAM" with <acronym>.
260
	    Disable the plugin named
261
	    <replaceable>PLUGIN</replaceable>.  The plugin will not be
262
	    started.
118 by Teddy Hogeborn
* mandos-keygen.xml (SYNOPSIS): Fixed tags. Unify short and long
263
	  </para>	
24.1.23 by Björn Påhlsson
Added manual pages for:
264
	</listitem>
265
      </varlistentry>
182 by Teddy Hogeborn
* Makefile (install): Use "install-client-nokey".
266
      
24.1.23 by Björn Påhlsson
Added manual pages for:
267
      <varlistentry>
139 by Teddy Hogeborn
* plugin-runner.xml: Changed short option for "--global-env" to "-G",
268
	<term><option>--enable
269
	<replaceable>PLUGIN</replaceable></option></term>
270
	<term><option>-e
271
	<replaceable>PLUGIN</replaceable></option></term>
272
	<listitem>
273
	  <para>
274
	    Re-enable the plugin named
275
	    <replaceable>PLUGIN</replaceable>.  This is only useful to
276
	    undo a previous <option>--disable</option> option, maybe
156 by Teddy Hogeborn
* mandos-clients.conf.xml (OPTIONS): Improved spelling.
277
	    from the configuration file.
139 by Teddy Hogeborn
* plugin-runner.xml: Changed short option for "--global-env" to "-G",
278
	  </para>
279
	</listitem>
280
      </varlistentry>
182 by Teddy Hogeborn
* Makefile (install): Use "install-client-nokey".
281
      
139 by Teddy Hogeborn
* plugin-runner.xml: Changed short option for "--global-env" to "-G",
282
      <varlistentry>
125 by Teddy Hogeborn
* plugin-runner.xml (OPTIONS): Use <option> tags instead of
283
	<term><option>--groupid
284
	<replaceable>ID</replaceable></option></term>
24.1.23 by Björn Påhlsson
Added manual pages for:
285
	<listitem>
286
	  <para>
134 by Teddy Hogeborn
* mandos.xml: Enclose "RAM" with <acronym>.
287
	    Change to group ID <replaceable>ID</replaceable> on
288
	    startup.  The default is 65534.  All plugins will be
289
	    started using this group ID.  <emphasis>Note:</emphasis>
290
	    This must be a number, not a name.
24.1.23 by Björn Påhlsson
Added manual pages for:
291
	  </para>
292
	</listitem>
118 by Teddy Hogeborn
* mandos-keygen.xml (SYNOPSIS): Fixed tags. Unify short and long
293
      </varlistentry>
182 by Teddy Hogeborn
* Makefile (install): Use "install-client-nokey".
294
      
24.1.23 by Björn Påhlsson
Added manual pages for:
295
      <varlistentry>
125 by Teddy Hogeborn
* plugin-runner.xml (OPTIONS): Use <option> tags instead of
296
	<term><option>--userid
297
	<replaceable>ID</replaceable></option></term>
24.1.23 by Björn Påhlsson
Added manual pages for:
298
	<listitem>
299
	  <para>
134 by Teddy Hogeborn
* mandos.xml: Enclose "RAM" with <acronym>.
300
	    Change to user ID <replaceable>ID</replaceable> on
301
	    startup.  The default is 65534.  All plugins will be
302
	    started using this user ID.  <emphasis>Note:</emphasis>
303
	    This must be a number, not a name.
24.1.23 by Björn Påhlsson
Added manual pages for:
304
	  </para>
305
	</listitem>
118 by Teddy Hogeborn
* mandos-keygen.xml (SYNOPSIS): Fixed tags. Unify short and long
306
      </varlistentry>
182 by Teddy Hogeborn
* Makefile (install): Use "install-client-nokey".
307
      
24.1.23 by Björn Påhlsson
Added manual pages for:
308
      <varlistentry>
125 by Teddy Hogeborn
* plugin-runner.xml (OPTIONS): Use <option> tags instead of
309
	<term><option>--plugin-dir
310
	<replaceable>DIRECTORY</replaceable></option></term>
24.1.23 by Björn Påhlsson
Added manual pages for:
311
	<listitem>
312
	  <para>
134 by Teddy Hogeborn
* mandos.xml: Enclose "RAM" with <acronym>.
313
	    Specify a different plugin directory.  The default is
314
	    <filename>/lib/mandos/plugins.d</filename>, which will
315
	    exist in the initial <acronym>RAM</acronym> disk
316
	    environment.
24.1.23 by Björn Påhlsson
Added manual pages for:
317
	  </para>
318
	</listitem>
118 by Teddy Hogeborn
* mandos-keygen.xml (SYNOPSIS): Fixed tags. Unify short and long
319
      </varlistentry>
24.1.23 by Björn Påhlsson
Added manual pages for:
320
      
321
      <varlistentry>
139 by Teddy Hogeborn
* plugin-runner.xml: Changed short option for "--global-env" to "-G",
322
	<term><option>--config-file
323
	<replaceable>FILE</replaceable></option></term>
324
	<listitem>
325
	  <para>
326
	    Specify a different file to read additional options from.
327
	    See <xref linkend="files"/>.  Other command line options
328
	    will override options specified in the file.
329
	  </para>
330
	</listitem>
331
      </varlistentry>
332
      
333
      <varlistentry>
125 by Teddy Hogeborn
* plugin-runner.xml (OPTIONS): Use <option> tags instead of
334
	<term><option>--debug</option></term>
24.1.23 by Björn Påhlsson
Added manual pages for:
335
	<listitem>
336
	  <para>
134 by Teddy Hogeborn
* mandos.xml: Enclose "RAM" with <acronym>.
337
	    Enable debug mode.  This will enable a lot of output to
338
	    standard error about what the program is doing.  The
339
	    program will still perform all other functions normally.
340
	    The default is to <emphasis>not</emphasis> run in debug
341
	    mode.
342
	  </para>
343
	  <para>
344
	    The plugins will <emphasis>not</emphasis> be affected by
345
	    this option.  Use
346
	    <userinput><option>--global-options=--debug</option></userinput>
347
	    if complete debugging eruption is desired.
24.1.23 by Björn Påhlsson
Added manual pages for:
348
	  </para>
349
	</listitem>
350
      </varlistentry>
351
      
352
      <varlistentry>
125 by Teddy Hogeborn
* plugin-runner.xml (OPTIONS): Use <option> tags instead of
353
	<term><option>--help</option></term>
354
	<term><option>-?</option></term>
24.1.23 by Björn Påhlsson
Added manual pages for:
355
	<listitem>
356
	  <para>
134 by Teddy Hogeborn
* mandos.xml: Enclose "RAM" with <acronym>.
357
	    Gives a help message about options and their meanings.
24.1.23 by Björn Påhlsson
Added manual pages for:
358
	  </para>
359
	</listitem>
360
      </varlistentry>
361
      
362
      <varlistentry>
125 by Teddy Hogeborn
* plugin-runner.xml (OPTIONS): Use <option> tags instead of
363
	<term><option>--usage</option></term>
24.1.23 by Björn Påhlsson
Added manual pages for:
364
	<listitem>
365
	  <para>
134 by Teddy Hogeborn
* mandos.xml: Enclose "RAM" with <acronym>.
366
	    Gives a short usage message.
24.1.23 by Björn Påhlsson
Added manual pages for:
367
	  </para>
368
	</listitem>
369
      </varlistentry>
182 by Teddy Hogeborn
* Makefile (install): Use "install-client-nokey".
370
      
24.1.23 by Björn Påhlsson
Added manual pages for:
371
      <varlistentry>
125 by Teddy Hogeborn
* plugin-runner.xml (OPTIONS): Use <option> tags instead of
372
	<term><option>--version</option></term>
373
	<term><option>-V</option></term>
24.1.23 by Björn Påhlsson
Added manual pages for:
374
	<listitem>
375
	  <para>
134 by Teddy Hogeborn
* mandos.xml: Enclose "RAM" with <acronym>.
376
	    Prints the program version.
24.1.23 by Björn Påhlsson
Added manual pages for:
377
	  </para>
378
	</listitem>
118 by Teddy Hogeborn
* mandos-keygen.xml (SYNOPSIS): Fixed tags. Unify short and long
379
      </varlistentry>
24.1.23 by Björn Påhlsson
Added manual pages for:
380
    </variablelist>
381
  </refsect1>
182 by Teddy Hogeborn
* Makefile (install): Use "install-client-nokey".
382
  
134 by Teddy Hogeborn
* mandos.xml: Enclose "RAM" with <acronym>.
383
  <refsect1 id="overview">
384
    <title>OVERVIEW</title>
385
    <xi:include href="overview.xml"/>
386
    <para>
387
      This program will run on the client side in the initial
388
      <acronym>RAM</acronym> disk environment, and is responsible for
389
      getting a password.  It does this by running plugins, one of
390
      which will normally be the actual client program communicating
391
      with the server.
392
    </para>
393
  </refsect1>
394
  <refsect1 id="plugins">
395
    <title>PLUGINS</title>
396
    <para>
397
      This program will get a password by running a number of
398
      <firstterm>plugins</firstterm>, which are simply executable
399
      programs in a directory in the initial <acronym>RAM</acronym>
400
      disk environment.  The default directory is
401
      <filename>/lib/mandos/plugins.d</filename>, but this can be
402
      changed with the <option>--plugin-dir</option> option.  The
403
      plugins are started in parallel, and the first plugin to output
135 by Teddy Hogeborn
* plugin-runner.c (add_environment): Never insert existing environment
404
      a password <emphasis>and</emphasis> exit with a successful exit
405
      code will make this plugin-runner output the password from that
406
      plugin, stop any other plugins, and exit.
134 by Teddy Hogeborn
* mandos.xml: Enclose "RAM" with <acronym>.
407
    </para>
182 by Teddy Hogeborn
* Makefile (install): Use "install-client-nokey".
408
    
140 by Teddy Hogeborn
* plugin-runner.xml (PLUGINS/WRITING PLUGINS): New section.
409
    <refsect2 id="writing_plugins">
410
      <title>WRITING PLUGINS</title>
411
      <para>
412
	A plugin is simply a program which prints a password to its
413
	standard output and then exits with a successful (zero) exit
414
	status.  If the exit status is not zero, any output on
415
	standard output will be ignored by the plugin runner.  Any
416
	output on its standard error channel will simply be passed to
417
	the standard error of the plugin runner, usually the system
418
	console.
419
      </para>
420
      <para>
168 by Teddy Hogeborn
* initramfs-tools-hook: Use long options where available. Use only
421
	If the password is a single-line, manually entered passprase,
422
	a final trailing newline character should
423
	<emphasis>not</emphasis> be printed.
424
      </para>
425
      <para>
140 by Teddy Hogeborn
* plugin-runner.xml (PLUGINS/WRITING PLUGINS): New section.
426
	The plugin will run in the initial RAM disk environment, so
427
	care must be taken not to depend on any files or running
428
	services not available there.
429
      </para>
430
      <para>
431
	The plugin must exit cleanly and free all allocated resources
432
	upon getting the TERM signal, since this is what the plugin
433
	runner uses to stop all other plugins when one plugin has
434
	output a password and exited cleanly.
435
      </para>
436
      <para>
437
	The plugin must not use resources, like for instance reading
155 by Teddy Hogeborn
* README: Improved wording.
438
	from the standard input, without knowing that no other plugin
439
	is also using it.
140 by Teddy Hogeborn
* plugin-runner.xml (PLUGINS/WRITING PLUGINS): New section.
440
      </para>
441
      <para>
442
	It is useful, but not required, for the plugin to take the
443
	<option>--debug</option> option.
444
      </para>
445
    </refsect2>
134 by Teddy Hogeborn
* mandos.xml: Enclose "RAM" with <acronym>.
446
  </refsect1>
447
  
135 by Teddy Hogeborn
* plugin-runner.c (add_environment): Never insert existing environment
448
  <refsect1 id="fallback">
134 by Teddy Hogeborn
* mandos.xml: Enclose "RAM" with <acronym>.
449
    <title>FALLBACK</title>
450
    <para>
135 by Teddy Hogeborn
* plugin-runner.c (add_environment): Never insert existing environment
451
      If no plugins succeed, this program will, as a fallback, ask for
452
      a password on the console using <citerefentry><refentrytitle
453
      >getpass</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
454
      and output it.  This is not meant to be the normal mode of
455
      operation, as there is a separate plugin for getting a password
456
      from the console.
134 by Teddy Hogeborn
* mandos.xml: Enclose "RAM" with <acronym>.
457
    </para>
458
  </refsect1>
135 by Teddy Hogeborn
* plugin-runner.c (add_environment): Never insert existing environment
459
  
24.1.39 by Björn Påhlsson
Added all sections needed for mandos-client manual page
460
  <refsect1 id="exit_status">
461
    <title>EXIT STATUS</title>
462
    <para>
135 by Teddy Hogeborn
* plugin-runner.c (add_environment): Never insert existing environment
463
      Exit status of this program is zero if no errors were
464
      encountered, and otherwise not.  The fallback (see <xref
465
      linkend="fallback"/>) may or may not have succeeded in either
466
      case.
467
    </para>
468
  </refsect1>
469
  
470
  <refsect1 id="environment">
471
    <title>ENVIRONMENT</title>
472
    <para>
139 by Teddy Hogeborn
* plugin-runner.xml: Changed short option for "--global-env" to "-G",
473
      This program does not use any environment variables itself, it
474
      only passes on its environment to all the plugins.  The
475
      environment passed to plugins can be modified using the
476
      <option>--global-env</option> and <option>--env-for</option>
156 by Teddy Hogeborn
* mandos-clients.conf.xml (OPTIONS): Improved spelling.
477
      options.
135 by Teddy Hogeborn
* plugin-runner.c (add_environment): Never insert existing environment
478
    </para>
479
  </refsect1>
480
  
139 by Teddy Hogeborn
* plugin-runner.xml: Changed short option for "--global-env" to "-G",
481
  <refsect1 id="files">
24.1.39 by Björn Påhlsson
Added all sections needed for mandos-client manual page
482
    <title>FILES</title>
483
    <para>
135 by Teddy Hogeborn
* plugin-runner.c (add_environment): Never insert existing environment
484
      <variablelist>
485
	<varlistentry>
486
	  <term><filename
487
	  >/conf/conf.d/mandos/plugin-runner.conf</filename></term>
488
	  <listitem>
489
	    <para>
490
	      Since this program will be run as a keyscript, there is
491
	      little to no opportunity to pass command line arguments
492
	      to it.  Therefore, it will <emphasis>also</emphasis>
493
	      read this file and use its contents as
494
	      whitespace-separated command line options.  Also,
495
	      everything from a <quote>#</quote> character to the end
496
	      of a line is ignored.
497
	    </para>
136 by Teddy Hogeborn
* plugin-runner.c (add_environment): Override existing environment
498
	    <para>
139 by Teddy Hogeborn
* plugin-runner.xml: Changed short option for "--global-env" to "-G",
499
	      This program is meant to run in the initial RAM disk
500
	      environment, so that is where this file is assumed to
501
	      exist.  The file does not need to exist in the normal
502
	      file system.
503
	    </para>
504
	    <para>
136 by Teddy Hogeborn
* plugin-runner.c (add_environment): Override existing environment
505
	      This file will be processed <emphasis>before</emphasis>
506
	      the normal command line options, so the latter can
507
	      override the former, if need be.
508
	    </para>
139 by Teddy Hogeborn
* plugin-runner.xml: Changed short option for "--global-env" to "-G",
509
	    <para>
510
	      This file name is the default; the file to read for
511
	      arguments can be changed using the
512
	      <option>--config-file</option> option.
513
	    </para>
135 by Teddy Hogeborn
* plugin-runner.c (add_environment): Never insert existing environment
514
	  </listitem>
515
	</varlistentry>
516
      </variablelist>
24.1.55 by Björn Påhlsson
updated some partial manual pages
517
    </para>
24.1.39 by Björn Påhlsson
Added all sections needed for mandos-client manual page
518
  </refsect1>
519
  
157 by Teddy Hogeborn
* plugin-runner.xml (BUGS): Document the non-recursiveness of the
520
  <refsect1 id="bugs">
521
    <title>BUGS</title>
522
    <para>
523
      The <option>--config-file</option> option is ignored when
524
      specified from within a configuration file.
525
    </para>
526
  </refsect1>
135 by Teddy Hogeborn
* plugin-runner.c (add_environment): Never insert existing environment
527
  
24.1.39 by Björn Påhlsson
Added all sections needed for mandos-client manual page
528
  <refsect1 id="examples">
113 by Teddy Hogeborn
* mandos-keygen.xml (EXAMPLE): Replaced all occurrences of command
529
    <title>EXAMPLE</title>
140 by Teddy Hogeborn
* plugin-runner.xml (PLUGINS/WRITING PLUGINS): New section.
530
    <informalexample>
531
      <para>
532
	Normal invocation needs no options:
533
      </para>
534
      <para>
535
	<userinput>&COMMANDNAME;</userinput>
536
      </para>
537
    </informalexample>
538
    <informalexample>
539
      <para>
540
	Run the program, but not the plugins, in debug mode:
541
      </para>
542
      <para>
543
	
544
	<!-- do not wrap this line -->
545
	<userinput>&COMMANDNAME; --debug</userinput>
546
	
547
      </para>
548
    </informalexample>
549
    <informalexample>
550
      <para>
551
	Run all plugins, but run the <quote>foo</quote> plugin in
552
	debug mode:
553
      </para>
554
      <para>
555
	
556
	<!-- do not wrap this line -->
557
	<userinput>&COMMANDNAME; --options-for=foo:--debug</userinput>
558
	
559
      </para>
560
    </informalexample>
561
    <informalexample>
562
      <para>
563
	Run all plugins, but not the program, in debug mode:
564
      </para>
565
      <para>
566
	
567
	<!-- do not wrap this line -->
568
	<userinput>&COMMANDNAME; --global-options=--debug</userinput>
569
	
570
      </para>
571
    </informalexample>
572
    <informalexample>
573
      <para>
163 by Teddy Hogeborn
* Makefile (PIDDIR, USER, GROUP): Removed.
574
	Run plugins from a different directory, read a different
575
	configuration file, and add two options to the
171 by Teddy Hogeborn
Renamed "password-request" to "mandos-client".
576
	<citerefentry><refentrytitle >mandos-client</refentrytitle>
140 by Teddy Hogeborn
* plugin-runner.xml (PLUGINS/WRITING PLUGINS): New section.
577
	<manvolnum>8mandos</manvolnum></citerefentry> plugin:
578
      </para>
579
      <para>
580
581
<!-- do not wrap this line -->
277 by Teddy Hogeborn
* debian/mandos-client.lintian-overrides: Remove override for
582
<userinput>cd /etc/keys/mandos; &COMMANDNAME;  --config-file=/etc/mandos/plugin-runner.conf --plugin-dir /usr/lib/mandos/plugins.d --options-for=mandos-client:--pubkey=pubkey.txt,--seckey=seckey.txt</userinput>
140 by Teddy Hogeborn
* plugin-runner.xml (PLUGINS/WRITING PLUGINS): New section.
583
584
      </para>
585
    </informalexample>
24.1.39 by Björn Påhlsson
Added all sections needed for mandos-client manual page
586
  </refsect1>
587
  <refsect1 id="security">
588
    <title>SECURITY</title>
589
    <para>
140 by Teddy Hogeborn
* plugin-runner.xml (PLUGINS/WRITING PLUGINS): New section.
590
      This program will, when starting, try to switch to another user.
591
      If it is started as root, it will succeed, and will by default
592
      switch to user and group 65534, which are assumed to be
593
      non-privileged.  This user and group is then what all plugins
594
      will be started as.  Therefore, the only way to run a plugin as
595
      a privileged user is to have the set-user-ID or set-group-ID bit
164 by Teddy Hogeborn
* mandos: Open the PID file before daemonizing, but write to it
596
      set on the plugin executable file (see <citerefentry>
140 by Teddy Hogeborn
* plugin-runner.xml (PLUGINS/WRITING PLUGINS): New section.
597
      <refentrytitle>execve</refentrytitle><manvolnum>2</manvolnum>
598
      </citerefentry>).
599
    </para>
600
    <para>
601
      If this program is used as a keyscript in <citerefentry
602
      ><refentrytitle>crypttab</refentrytitle><manvolnum>5</manvolnum>
156 by Teddy Hogeborn
* mandos-clients.conf.xml (OPTIONS): Improved spelling.
603
      </citerefentry>, there is a slight risk that if this program
604
      fails to work, there might be no way to boot the system except
605
      for booting from another media and editing the initial RAM disk
140 by Teddy Hogeborn
* plugin-runner.xml (PLUGINS/WRITING PLUGINS): New section.
606
      image to not run this program.  This is, however, unlikely,
607
      since the <citerefentry><refentrytitle
608
      >password-prompt</refentrytitle><manvolnum>8mandos</manvolnum>
609
      </citerefentry> plugin will read a password from the console in
610
      case of failure of the other plugins, and this plugin runner
611
      will also, in case of catastrophic failure, itself fall back to
612
      asking and outputting a password on the console (see <xref
613
      linkend="fallback"/>).
24.1.55 by Björn Påhlsson
updated some partial manual pages
614
    </para>
24.1.39 by Björn Påhlsson
Added all sections needed for mandos-client manual page
615
  </refsect1>
135 by Teddy Hogeborn
* plugin-runner.c (add_environment): Never insert existing environment
616
  
24.1.39 by Björn Påhlsson
Added all sections needed for mandos-client manual page
617
  <refsect1 id="see_also">
618
    <title>SEE ALSO</title>
619
    <para>
114 by Teddy Hogeborn
* mandos-clients.conf.xml (SEE ALSO): Alphabetized, as per
620
      <citerefentry><refentrytitle>cryptsetup</refentrytitle>
621
      <manvolnum>8</manvolnum></citerefentry>,
140 by Teddy Hogeborn
* plugin-runner.xml (PLUGINS/WRITING PLUGINS): New section.
622
      <citerefentry><refentrytitle>crypttab</refentrytitle>
623
      <manvolnum>5</manvolnum></citerefentry>,
624
      <citerefentry><refentrytitle>execve</refentrytitle>
625
      <manvolnum>2</manvolnum></citerefentry>,
24.1.41 by Björn Påhlsson
updated mandos-client sections and added see also stuff
626
      <citerefentry><refentrytitle>mandos</refentrytitle>
114 by Teddy Hogeborn
* mandos-clients.conf.xml (SEE ALSO): Alphabetized, as per
627
      <manvolnum>8</manvolnum></citerefentry>,
628
      <citerefentry><refentrytitle>password-prompt</refentrytitle>
113 by Teddy Hogeborn
* mandos-keygen.xml (EXAMPLE): Replaced all occurrences of command
629
      <manvolnum>8mandos</manvolnum></citerefentry>,
171 by Teddy Hogeborn
Renamed "password-request" to "mandos-client".
630
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
114 by Teddy Hogeborn
* mandos-clients.conf.xml (SEE ALSO): Alphabetized, as per
631
      <manvolnum>8mandos</manvolnum></citerefentry>
24.1.41 by Björn Påhlsson
updated mandos-client sections and added see also stuff
632
    </para>
24.1.39 by Björn Påhlsson
Added all sections needed for mandos-client manual page
633
  </refsect1>
135 by Teddy Hogeborn
* plugin-runner.c (add_environment): Never insert existing environment
634
  
24.1.23 by Björn Påhlsson
Added manual pages for:
635
</refentry>
111 by Teddy Hogeborn
* mandos-clients.conf.xml (ENTITY TIMESTAMP): New. Automatically
636
<!-- Local Variables: -->
637
<!-- time-stamp-start: "<!ENTITY TIMESTAMP [\"']" -->
638
<!-- time-stamp-end: "[\"']>" -->
639
<!-- time-stamp-format: "%:y-%02m-%02d" -->
640
<!-- End: -->