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

  • Committer: Teddy Hogeborn
  • Date: 2009-01-27 15:42:41 UTC
  • Revision ID: teddy@fukt.bsnet.se-20090127154241-x0kosjtvuo0iuptd
* plugins.d/mandos-client.c (main): Use separate bool variable instead
                                    of clumsy NUL character in
                                    "tempdir".  Bug fix: Don't try to
                                    remove temp directory if it was
                                    never created.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<?xml version="1.0" encoding="UTF-8"?>
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
 
<!ENTITY VERSION "1.0">
5
 
<!ENTITY COMMANDNAME "password-request">
6
 
<!ENTITY TIMESTAMP "2008-09-04">
 
4
<!ENTITY COMMANDNAME "mandos-client">
 
5
<!ENTITY TIMESTAMP "2009-01-24">
 
6
<!ENTITY % common SYSTEM "../common.ent">
 
7
%common;
7
8
]>
8
9
 
9
10
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
10
11
  <refentryinfo>
11
12
    <title>Mandos Manual</title>
12
 
    <!-- Nwalsh’s docbook scripts use this to generate the footer: -->
 
13
    <!-- NWalsh’s docbook scripts use this to generate the footer: -->
13
14
    <productname>Mandos</productname>
14
 
    <productnumber>&VERSION;</productnumber>
 
15
    <productnumber>&version;</productnumber>
15
16
    <date>&TIMESTAMP;</date>
16
17
    <authorgroup>
17
18
      <author>
31
32
    </authorgroup>
32
33
    <copyright>
33
34
      <year>2008</year>
 
35
      <year>2009</year>
34
36
      <holder>Teddy Hogeborn</holder>
35
37
      <holder>Björn Påhlsson</holder>
36
38
    </copyright>
37
39
    <xi:include href="../legalnotice.xml"/>
38
40
  </refentryinfo>
39
 
 
 
41
  
40
42
  <refmeta>
41
43
    <refentrytitle>&COMMANDNAME;</refentrytitle>
42
44
    <manvolnum>8mandos</manvolnum>
45
47
  <refnamediv>
46
48
    <refname><command>&COMMANDNAME;</command></refname>
47
49
    <refpurpose>
48
 
      Client for mandos
 
50
      Client for <application>Mandos</application>
49
51
    </refpurpose>
50
52
  </refnamediv>
51
 
 
 
53
  
52
54
  <refsynopsisdiv>
53
55
    <cmdsynopsis>
54
56
      <command>&COMMANDNAME;</command>
113
115
      </group>
114
116
    </cmdsynopsis>
115
117
  </refsynopsisdiv>
116
 
 
 
118
  
117
119
  <refsect1 id="description">
118
120
    <title>DESCRIPTION</title>
119
121
    <para>
120
122
      <command>&COMMANDNAME;</command> is a client program that
121
123
      communicates with <citerefentry><refentrytitle
122
124
      >mandos</refentrytitle><manvolnum>8</manvolnum></citerefentry>
123
 
      to get a password.  It uses IPv6 link-local addresses to get
124
 
      network connectivity, Zeroconf to find servers, and TLS with an
125
 
      OpenPGP key to ensure authenticity and confidentiality.  It
126
 
      keeps running, trying all servers on the network, until it
127
 
      receives a satisfactory reply or a TERM signal is received.
 
125
      to get a password.  In slightly more detail, this client program
 
126
      brings up a network interface, uses the interface’s IPv6
 
127
      link-local address to get network connectivity, uses Zeroconf to
 
128
      find servers on the local network, and communicates with servers
 
129
      using TLS with an OpenPGP key to ensure authenticity and
 
130
      confidentiality.  This client program keeps running, trying all
 
131
      servers on the network, until it receives a satisfactory reply
 
132
      or a TERM signal is received.  If no servers are found, or after
 
133
      all servers have been tried, it waits indefinitely for new
 
134
      servers to appear.
128
135
    </para>
129
136
    <para>
130
137
      This program is not meant to be run directly; it is really meant
199
206
            specifies the interface to use to connect to the address
200
207
            given.
201
208
          </para>
 
209
          <para>
 
210
            Note that since this program will normally run in the
 
211
            initial RAM disk environment, the interface must be an
 
212
            interface which exists at that stage.  Thus, the interface
 
213
            can not be a pseudo-interface such as <quote>br0</quote>
 
214
            or <quote>tun0</quote>; such interfaces will not exist
 
215
            until much later in the boot process, and can not be used
 
216
            by this program.
 
217
          </para>
202
218
        </listitem>
203
219
      </varlistentry>
204
220
      
215
231
          </para>
216
232
        </listitem>
217
233
      </varlistentry>
218
 
 
 
234
      
219
235
      <varlistentry>
220
236
        <term><option>--seckey=<replaceable
221
237
        >FILE</replaceable></option></term>
238
254
                      xpointer="priority"/>
239
255
        </listitem>
240
256
      </varlistentry>
241
 
 
 
257
      
242
258
      <varlistentry>
243
259
        <term><option>--dh-bits=<replaceable
244
260
        >BITS</replaceable></option></term>
284
300
          </para>
285
301
        </listitem>
286
302
      </varlistentry>
287
 
 
 
303
      
288
304
      <varlistentry>
289
305
        <term><option>--version</option></term>
290
306
        <term><option>-V</option></term>
296
312
      </varlistentry>
297
313
    </variablelist>
298
314
  </refsect1>
299
 
 
 
315
  
300
316
  <refsect1 id="overview">
301
317
    <title>OVERVIEW</title>
302
318
    <xi:include href="../overview.xml"/>
311
327
      <filename>/etc/crypttab</filename>, but it would then be
312
328
      impossible to enter a password for the encrypted root disk at
313
329
      the console, since this program does not read from the console
314
 
      at all.  This is why a separate plugin (<citerefentry>
315
 
      <refentrytitle>password-prompt</refentrytitle>
316
 
      <manvolnum>8mandos</manvolnum></citerefentry>) does that, which
317
 
      will be run in parallel to this one by the plugin runner.
 
330
      at all.  This is why a separate plugin runner (<citerefentry>
 
331
      <refentrytitle>plugin-runner</refentrytitle>
 
332
      <manvolnum>8mandos</manvolnum></citerefentry>) is used to run
 
333
      both this program and others in in parallel,
 
334
      <emphasis>one</emphasis> of which will prompt for passwords on
 
335
      the system console.
318
336
    </para>
319
337
  </refsect1>
320
338
  
327
345
      program will exit with a non-zero exit status only if a critical
328
346
      error occurs.  Otherwise, it will forever connect to new
329
347
      <application>Mandos</application> servers as they appear, trying
330
 
      to get a decryptable password.
 
348
      to get a decryptable password and print it.
331
349
    </para>
332
350
  </refsect1>
333
351
  
341
359
    </para>
342
360
  </refsect1>
343
361
  
344
 
  <refsect1 id="file">
 
362
  <refsect1 id="files">
345
363
    <title>FILES</title>
346
364
    <variablelist>
347
365
      <varlistentry>
366
384
<!--     <para> -->
367
385
<!--     </para> -->
368
386
<!--   </refsect1> -->
369
 
 
 
387
  
370
388
  <refsect1 id="example">
371
389
    <title>EXAMPLE</title>
372
390
    <para>
421
439
      </para>
422
440
    </informalexample>
423
441
  </refsect1>
424
 
 
 
442
  
425
443
  <refsect1 id="security">
426
444
    <title>SECURITY</title>
427
445
    <para>
447
465
      The only remaining weak point is that someone with physical
448
466
      access to the client hard drive might turn off the client
449
467
      computer, read the OpenPGP keys directly from the hard drive,
450
 
      and communicate with the server.  The defense against this is
451
 
      that the server is supposed to notice the client disappearing
452
 
      and will stop giving out the encrypted data.  Therefore, it is
453
 
      important to set the timeout and checker interval values tightly
454
 
      on the server.  See <citerefentry><refentrytitle
 
468
      and communicate with the server.  To safeguard against this, the
 
469
      server is supposed to notice the client disappearing and stop
 
470
      giving out the encrypted data.  Therefore, it is important to
 
471
      set the timeout and checker interval values tightly on the
 
472
      server.  See <citerefentry><refentrytitle
455
473
      >mandos</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
456
474
    </para>
457
475
    <para>
468
486
      confidential.
469
487
    </para>
470
488
  </refsect1>
471
 
 
 
489
  
472
490
  <refsect1 id="see_also">
473
491
    <title>SEE ALSO</title>
474
492
    <para>
599
617
      </varlistentry>
600
618
    </variablelist>
601
619
  </refsect1>
602
 
 
603
620
</refentry>
 
621
 
604
622
<!-- Local Variables: -->
605
623
<!-- time-stamp-start: "<!ENTITY TIMESTAMP [\"']" -->
606
624
<!-- time-stamp-end: "[\"']>" -->