/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-12-25 23:13:47 UTC
  • Revision ID: teddy@fukt.bsnet.se-20091225231347-gg9u9ru0wj0f24hh
More consistent terminology: Clients are no longer "invalid" - they
are "disabled".  All code and documentation changed to reflect this.

D=Bus API change: The "properties" argument was removed from the
"ClientAdded" signal on interface "se.bsnet.fukt.Mandos".  All code in
both "mandos" and "mandos-monitor" changed to reflect this.

* mandos: Replaced "with closing(F)" with simply "with F" in all
          places where F is a file object.
  (Client.still_valid): Removed.  All callers changed to look at
                        "Client.enabled" instead.
  (dbus_service_property): Check for unsupported signatures with the
                           "byte_arrays" option.
  (DBusObjectWithProperties.Set): - '' -
  (ClientHandler.handle): Use the reverse pipe to receive the
                          "Client.enabled" attribute instead of the
                          now-removed "Client.still_valid()" method.
  (ForkingMixInWithPipe): Renamed to "ForkingMixInWithPipes" (all
                          users changed).  Now also create a reverse
                          pipe for sending data to the child process.
  (ForkingMixInWithPipes.add_pipe): Now takes two pipe fd's as
                                    arguments.  All callers changed.
  (IPv6_TCPServer.handle_ipc): Take an additional "reply_fd" argument
                               (all callers changed).  Close the reply
                               pipe when the child data pipe is
                               closed.  New "GETATTR" IPC method; will
                               pickle client attribute and send it
                               over the reply pipe FD.
  (MandosDBusService.ClientAdded): Removed "properties" argument.  All
                                   emitters changed.
* mandos-clients.conf.xml (DESCRIPTION, OPTIONS): Use
                                                  "enabled/disabled"
                                                  terminology.
* mandos-ctl: Option "--is-valid" renamed to "--is-enabled".
* mandos-monitor: Enable user locale.  Try to log exceptions.
  (MandosClientPropertyCache.__init__): Removed "properties" argument.
                                        All callers changed.
  (UserInterface.add_new_client): Remove "properties" argument.  All
                                  callers changed.  Supply "logger"
                                  argument to MandosClientWidget().
  (UserInterface.add_client): New "logger" argument.  All callers
                              changed.
* mandos.xml (BUGS, SECURITY/CLIENTS): Use "enabled/disabled"
                                       terminology.

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 reboots at the same time they will
 
102
   bring it back up, but if both reboot 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.  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.
 
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.
144
146
  
145
147
  Three additional plugins are provided:
146
 
  * usplash
 
148
  * usplash(8mandos)
147
149
    This prompts for a password when using usplash(8).
148
 
  * splashy
 
150
  * splashy(8mandos)
149
151
    This prompts for a password when using splashy(8).
150
 
  * askpass-fifo
 
152
  * askpass-fifo(8mandos)
151
153
    To provide compatibility with the "askpass" program from
152
154
    cryptsetup, this plugin listens to the same FIFO as askpass would
153
155
    do.
154
156
  
155
 
  (None of these take any options or reads any files.)
156
 
  
157
 
  More plugins could easily be written and added by the system
 
157
  More plugins can easily be written and added by the system
158
158
  administrator; see the section called "WRITING PLUGINS" in
159
159
  plugin-runner(8mandos) to learn the plugin requirements.
160
160
 
161
161
* Copyright
162
162
 
163
 
    Copyright © 2008 Teddy Hogeborn
164
 
                2008 Björn Påhlsson
 
163
    Copyright © 2008,2009 Teddy Hogeborn
 
164
    Copyright © 2008,2009 Björn Påhlsson
165
165
  
166
166
** License:
167
167