/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-06-21 00:53:32 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080621005332-s4scjdpevuso4lsd
* server.py: Bug fix: Do "from __future__ import division".
  (Client.__init__): Bug fix: parse interval string from config file.
  (Client.check_action): Take no arguments.  Print some debugging
  output.  Reset "checker" to None.
  (Client.start_checker): Sleep 10 seconds before pinging to alleviate
  debugging.
  (Client.next_stop): Bug fix: check if "last_seen" and/or "checker"
  is None.
  (Client.still_valid): Bug fix: check if "last_seen" is None.
  (Client.handle): When finding the right password to send, use a list
  comprehension and an index lookup instead of a generator expression to
  a dict.
  (IPv6_TCPServer.request_queue_size): Removed.
  (in6addr_any): Moved inside "main".
  (main): Changed "clients" to be a Set instead of a list.  Bug fix:
  Exit when/if all clients are removed.  Call "select" with all client
  checkers and a suitable timeout.  Add some debugging output.  Start
  new checkers when needed and delete clients which have timed out.

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