/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 README

  • 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:
99
99
   Multiple Mandos servers can coexist on a network without any
100
100
   trouble.  They do not clash, and clients will try all available
101
101
   servers.  This means that if just one reboots then the other can
102
 
   bring it back up, but if both reboot at the same time they will
 
102
   bring it back up, but if both reboots at the same time they will
103
103
   stay down until someone types in the password on one of them.
104
104
 
105
105
** Faking ping replies?
134
134
  In the early designs, the mandos-client(8mandos) program (which
135
135
  retrieves a password from the Mandos server) also prompted for a
136
136
  password on the terminal, in case a Mandos server could not be
137
 
  found.  Other ways of retrieving a password could easily be
138
 
  envisoned, but this multiplicity of purpose was seen to be too
139
 
  complex to be a viable way to continue.  Instead, the original
140
 
  program was separated into mandos-client(8mandos) and
141
 
  password-prompt(8mandos), and a plugin-runner(8mandos) exist to run
142
 
  them both in parallel, allowing the first successful plugin to
143
 
  provide the password.  This opened up for any number of additional
144
 
  plugins to run, all competing to be the first to find a password and
145
 
  provide it to the plugin runner.
 
137
  found.  This duality of purpose was seen to be too complex to be a
 
138
  viable way to continue.  Instead, the programs are now separated
 
139
  into mandos-client(8mandos) and password-prompt(8mandos), and a
 
140
  plugin-runner(8mandos) exist to run them both in parallel, allowing
 
141
  the first plugin to succeed to provide the password.  This opened up
 
142
  for any number of additional plugins to run, all competing to be the
 
143
  first to find a password and provide it to the plugin runner.
146
144
  
147
 
  Four additional plugins are provided:
148
 
  * plymouth(8mandos)
149
 
    This prompts for a password when using plymouth(8).
 
145
  Three additional plugins are provided:
150
146
  * usplash(8mandos)
151
147
    This prompts for a password when using usplash(8).
152
148
  * splashy(8mandos)
156
152
    cryptsetup, this plugin listens to the same FIFO as askpass would
157
153
    do.
158
154
  
159
 
  More plugins can easily be written and added by the system
 
155
  More plugins could easily be written and added by the system
160
156
  administrator; see the section called "WRITING PLUGINS" in
161
157
  plugin-runner(8mandos) to learn the plugin requirements.
162
158
 
163
159
* Copyright
164
160
 
165
 
    Copyright © 2008-2010 Teddy Hogeborn
166
 
    Copyright © 2008-2010 Björn Påhlsson
 
161
    Copyright © 2008,2009 Teddy Hogeborn
 
162
    Copyright © 2008,2009 Björn Påhlsson
167
163
  
168
164
** License:
169
165