/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 plugins.d/mandos-client.xml

  • Committer: Björn Påhlsson
  • Date: 2011-06-23 22:27:15 UTC
  • mto: (237.7.33 trunk)
  • mto: This revision was merged to the branch mainline in revision 284.
  • Revision ID: belorn@fukt.bsnet.se-20110623222715-q5wro9ma9iyjl367
* Makefile (CFLAGS): Added "-lrt" to include real time library.
* plugins.d/mandos-client.c: use scandir(3) instead of readdir(3)
                             Prefix all debug output with "Mandos plugin " + program_invocation_short_name
                             Retry servers that failed to provide password.
                             New option --retry SECONDS that sets the interval between rechecking.
                             --retry also controls how often it retries a server when using --connect.
* plugins.d/splashy.c:  Prefix all debug output with "Mandos plugin " + program_invocation_short_name
* plugins.d/usplash.c: --||--
* plugins.d/askpass-fifo.c: --||--
* plugins.d/password-prompt.c: --||--
* plugins.d/plymouth.c: --||--
* mandos: Lower logger level from warning to info on failed client requests because client was disabled or unknown fingerprint.
* plugins.d/plymouth.c (get_pid): bug fix. Was not calling free on direntries. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3
3
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4
4
<!ENTITY COMMANDNAME "mandos-client">
5
 
<!ENTITY TIMESTAMP "2008-09-30">
 
5
<!ENTITY TIMESTAMP "2010-09-26">
6
6
<!ENTITY % common SYSTEM "../common.ent">
7
7
%common;
8
8
]>
32
32
    </authorgroup>
33
33
    <copyright>
34
34
      <year>2008</year>
 
35
      <year>2009</year>
35
36
      <holder>Teddy Hogeborn</holder>
36
37
      <holder>Björn Påhlsson</holder>
37
38
    </copyright>
92
93
      </arg>
93
94
      <sbr/>
94
95
      <arg>
 
96
        <option>--delay <replaceable>SECONDS</replaceable></option>
 
97
      </arg>
 
98
      <sbr/>
 
99
      <arg>
 
100
        <option>--retry <replaceable>SECONDS</replaceable></option>
 
101
      </arg>
 
102
      <sbr/>
 
103
      <arg>
95
104
        <option>--debug</option>
96
105
      </arg>
97
106
    </cmdsynopsis>
121
130
      <command>&COMMANDNAME;</command> is a client program that
122
131
      communicates with <citerefentry><refentrytitle
123
132
      >mandos</refentrytitle><manvolnum>8</manvolnum></citerefentry>
124
 
      to get a password.  It uses IPv6 link-local addresses to get
125
 
      network connectivity, Zeroconf to find servers, and TLS with an
126
 
      OpenPGP key to ensure authenticity and confidentiality.  It
127
 
      keeps running, trying all servers on the network, until it
128
 
      receives a satisfactory reply or a TERM signal is received.
 
133
      to get a password.  In slightly more detail, this client program
 
134
      brings up a network interface, uses the interface’s IPv6
 
135
      link-local address to get network connectivity, uses Zeroconf to
 
136
      find servers on the local network, and communicates with servers
 
137
      using TLS with an OpenPGP key to ensure authenticity and
 
138
      confidentiality.  This client program keeps running, trying all
 
139
      servers on the network, until it receives a satisfactory reply
 
140
      or a TERM signal is received.  If no servers are found, or after
 
141
      all servers have been tried, it waits indefinitely for new
 
142
      servers to appear.
129
143
    </para>
130
144
    <para>
131
145
      This program is not meant to be run directly; it is really meant
185
199
      </varlistentry>
186
200
      
187
201
      <varlistentry>
188
 
        <term><option>--interface=
189
 
        <replaceable>NAME</replaceable></option></term>
 
202
        <term><option>--interface=<replaceable
 
203
        >NAME</replaceable></option></term>
190
204
        <term><option>-i
191
205
        <replaceable>NAME</replaceable></option></term>
192
206
        <listitem>
193
207
          <para>
194
208
            Network interface that will be brought up and scanned for
195
 
            Mandos servers to connect to.  The default it
196
 
            <quote><literal>eth0</literal></quote>.
 
209
            Mandos servers to connect to.  The default is the empty
 
210
            string, which will automatically choose an appropriate
 
211
            interface.
197
212
          </para>
198
213
          <para>
199
214
            If the <option>--connect</option> option is used, this
200
215
            specifies the interface to use to connect to the address
201
216
            given.
202
217
          </para>
 
218
          <para>
 
219
            Note that since this program will normally run in the
 
220
            initial RAM disk environment, the interface must be an
 
221
            interface which exists at that stage.  Thus, the interface
 
222
            can not be a pseudo-interface such as <quote>br0</quote>
 
223
            or <quote>tun0</quote>; such interfaces will not exist
 
224
            until much later in the boot process, and can not be used
 
225
            by this program.
 
226
          </para>
 
227
          <para>
 
228
            <replaceable>NAME</replaceable> can be the string
 
229
            <quote><literal>none</literal></quote>; this will not use
 
230
            any specific interface, and will not bring up an interface
 
231
            on startup.  This is not recommended, and only meant for
 
232
            advanced users.
 
233
          </para>
203
234
        </listitem>
204
235
      </varlistentry>
205
236
      
250
281
          </para>
251
282
        </listitem>
252
283
      </varlistentry>
 
284
 
 
285
      <varlistentry>
 
286
        <term><option>--delay=<replaceable
 
287
        >SECONDS</replaceable></option></term>
 
288
        <listitem>
 
289
          <para>
 
290
            After bringing the network interface up, the program waits
 
291
            for the interface to arrive in a <quote>running</quote>
 
292
            state before proceeding.  During this time, the kernel log
 
293
            level will be lowered to reduce clutter on the system
 
294
            console, alleviating any other plugins which might be
 
295
            using the system console.  This option sets the upper
 
296
            limit of seconds to wait.  The default is 2.5 seconds.
 
297
          </para>
 
298
        </listitem>
 
299
      </varlistentry>
 
300
 
 
301
      <varlistentry>
 
302
        <term><option>--retry=<replaceable
 
303
        >SECONDS</replaceable></option></term>
 
304
        <listitem>
 
305
          <para>
 
306
            All Mandos servers servers are tried repeatedly until a
 
307
            password is received.  This value specifies, in seconds,
 
308
            how long between each successive try <emphasis>for the
 
309
            same server</emphasis>.  The default is 10 seconds.
 
310
          </para>
 
311
        </listitem>
 
312
      </varlistentry>
253
313
      
254
314
      <varlistentry>
255
315
        <term><option>--debug</option></term>
344
404
    </para>
345
405
  </refsect1>
346
406
  
347
 
  <refsect1 id="file">
 
407
  <refsect1 id="files">
348
408
    <title>FILES</title>
349
409
    <variablelist>
350
410
      <varlistentry>
411
471
    <informalexample>
412
472
      <para>
413
473
        Run in debug mode, with a custom key, and do not use Zeroconf
414
 
        to locate a server; connect directly to the IPv6 address
415
 
        <quote><systemitem class="ipaddress"
416
 
        >2001:db8:f983:bd0b:30de:ae4a:71f2:f672</systemitem></quote>,
417
 
        port 4711, using interface eth2:
 
474
        to locate a server; connect directly to the IPv6 link-local
 
475
        address <quote><systemitem class="ipaddress"
 
476
        >fe80::aede:48ff:fe71:f6f2</systemitem></quote>, port 4711,
 
477
        using interface eth2:
418
478
      </para>
419
479
      <para>
420
480
 
421
481
<!-- do not wrap this line -->
422
 
<userinput>&COMMANDNAME; --debug --pubkey keydir/pubkey.txt --seckey keydir/seckey.txt --connect 2001:db8:f983:bd0b:30de:ae4a:71f2:f672:4711 --interface eth2</userinput>
 
482
<userinput>&COMMANDNAME; --debug --pubkey keydir/pubkey.txt --seckey keydir/seckey.txt --connect fe80::aede:48ff:fe71:f6f2:4711 --interface eth2</userinput>
423
483
 
424
484
      </para>
425
485
    </informalexample>