/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-02-09 02:01:13 UTC
  • Revision ID: teddy@fukt.bsnet.se-20090209020113-726hq380zvp8zt97
Four new interrelated features:

1. Support using a different network interface via both initramfs.conf
   (the DEVICE setting) and the kernel command line (sixth field of
   the "ip=" option as in Linux' Documentation/nfsroot.txt).

2. Support connecting to a specified Mandos server directly using a
   kernel command line option ("mandos=connect:<ADDRESS>:<PORT>").

3. Support connecting directly to an IPv4 address (and port) using the
   "--connect" option of mandos-client.

4. Support an empty string to the --interface option to mandos-client.

* Makefile (WARN): Increase strictness by changing to
                   "-Wstrict-aliasing=1".

* debian/mandos-client.README.Debian (Use the Correct Network
  Interface): Changed to refer to initramfs.conf and nfsroot.txt.
  (Test the Server): Improve wording.
  (Non-local Connection): New section.
* initramfs-tools-script: Obey DEVICE environment variable and setting
                          from "/conf/initramfs.conf".  Also let any
                          "ip=" kernel command line option override
                          it.  Support new "mandos=connect" option.
                          Call "configure_networking" to set up IP
                          address on interface if necessary.
* plugin-runner.conf: Change example.
* plugins.d/mandos-client.c: Some whitespace and comment changes.
  (start_mandos_communication): Take an additional argument for
                                address family, all callers changed.
                                Connect to an IPv4 address if address
                                family is AF_INET.  Only set IPv6
                                scope_id for link-local addresses.
  (main): Accept empty interface name; this will not bring up any
         interface and leave the interface as unspecified.  Also do
         not restore kernel log level if lowering it failed.
* plugins.d/mandos-client.xml (OPTIONS): Document that the
                                         "--interface" option accepts
                                         an empty string.
  (EXAMPLE): Change example IPv6 address to a link-local address.

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 "2009-01-24">
 
5
<!ENTITY TIMESTAMP "2009-02-09">
6
6
<!ENTITY % common SYSTEM "../common.ent">
7
7
%common;
8
8
]>
93
93
      </arg>
94
94
      <sbr/>
95
95
      <arg>
 
96
        <option>--delay <replaceable>SECONDS</replaceable></option>
 
97
      </arg>
 
98
      <sbr/>
 
99
      <arg>
96
100
        <option>--debug</option>
97
101
      </arg>
98
102
    </cmdsynopsis>
191
195
      </varlistentry>
192
196
      
193
197
      <varlistentry>
194
 
        <term><option>--interface=
195
 
        <replaceable>NAME</replaceable></option></term>
 
198
        <term><option>--interface=<replaceable
 
199
        >NAME</replaceable></option></term>
196
200
        <term><option>-i
197
201
        <replaceable>NAME</replaceable></option></term>
198
202
        <listitem>
199
203
          <para>
200
204
            Network interface that will be brought up and scanned for
201
 
            Mandos servers to connect to.  The default it
 
205
            Mandos servers to connect to.  The default is
202
206
            <quote><literal>eth0</literal></quote>.
203
207
          </para>
204
208
          <para>
215
219
            until much later in the boot process, and can not be used
216
220
            by this program.
217
221
          </para>
 
222
          <para>
 
223
            <replaceable>NAME</replaceable> can be the empty string;
 
224
            this will not use any specific interface, and will not
 
225
            bring up an interface on startup.  This is not
 
226
            recommended, and only meant for advanced users.
 
227
          </para>
218
228
        </listitem>
219
229
      </varlistentry>
220
230
      
265
275
          </para>
266
276
        </listitem>
267
277
      </varlistentry>
 
278
 
 
279
      <varlistentry>
 
280
        <term><option>--delay=<replaceable
 
281
        >SECONDS</replaceable></option></term>
 
282
        <listitem>
 
283
          <para>
 
284
            After bringing the network interface up, the program waits
 
285
            for the interface to arrive in a <quote>running</quote>
 
286
            state before proceeding.  During this time, the kernel log
 
287
            level will be lowered to reduce clutter on the system
 
288
            console, alleviating any other plugins which might be
 
289
            using the system console.  This option sets the upper
 
290
            limit of seconds to wait.  The default is 2.5 seconds.
 
291
          </para>
 
292
        </listitem>
 
293
      </varlistentry>
268
294
      
269
295
      <varlistentry>
270
296
        <term><option>--debug</option></term>
426
452
    <informalexample>
427
453
      <para>
428
454
        Run in debug mode, with a custom key, and do not use Zeroconf
429
 
        to locate a server; connect directly to the IPv6 address
430
 
        <quote><systemitem class="ipaddress"
431
 
        >2001:db8:f983:bd0b:30de:ae4a:71f2:f672</systemitem></quote>,
432
 
        port 4711, using interface eth2:
 
455
        to locate a server; connect directly to the IPv6 link-local
 
456
        address <quote><systemitem class="ipaddress"
 
457
        >fe80::aede:48ff:fe71:f6f2</systemitem></quote>, port 4711,
 
458
        using interface eth2:
433
459
      </para>
434
460
      <para>
435
461
 
436
462
<!-- do not wrap this line -->
437
 
<userinput>&COMMANDNAME; --debug --pubkey keydir/pubkey.txt --seckey keydir/seckey.txt --connect 2001:db8:f983:bd0b:30de:ae4a:71f2:f672:4711 --interface eth2</userinput>
 
463
<userinput>&COMMANDNAME; --debug --pubkey keydir/pubkey.txt --seckey keydir/seckey.txt --connect fe80::aede:48ff:fe71:f6f2:4711 --interface eth2</userinput>
438
464
 
439
465
      </para>
440
466
    </informalexample>