/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-07-21 15:34:44 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080721153444-lugbjkj1oq65ugq3
* Makefile (CFLAGS): Changed to use $(WARN), $(DEBUG), $(COVERAGE) and
                     $(LANGUAGE).
  (WARN, DEBUG, COVERAGE, LANGUAGE): New.
  (LDFLAGS): New; use $(COVERAGE)

* plugbasedclient.c: Added copyright header.
  (process.buffer_size, process.buffer_length): Changed to "size_t".
  (main): Cast arguments to malloc and realloc.  Detect read errors
          from processes.

* mandosclient.c: Added copyright header.
  (interface): Moved to inside "main".
  (gpg_packet_decrypt): Renamed to "pgp_packet_decrypt"; all callers
                        changed.  Changed "new_packet_capacity" and
                        "new_packet_length" to be ssize_t.  Cast
                        arguments to realloc.
  (debuggnutls): Attribute "level" argument as unused.
  (empty_log): Attribute "level" and "txt" arguments as unused.
  (start_mandos_communication): New argument "if_index".  Bug fix:
                                check ret, no tcp_sd, for errors from
                                setsockopt.  Use "if_index" directly
                                instead of looking up the index.  Loop
                                around fwrite until all data is written.
  (resolve_callback): Attribute "txt", and "flags" as usused.  Added
                      default case to switch.  Also show server host
                      name.  Call start_mandos_communication with
                      "interface".
  (browse_callback): Added default case to switch.
  (main): Variable "interface" moved here.  Cast "srand" argument.
          Bug fix: Call avahi_s_service_browser_new with index of
          "interface", not "eth0".

* passprompt.c: Added copyright header.
  (termination_handler): Attribute "signum" argument as unused.

Show diffs side-by-side

added added

removed removed

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