/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?
130
130
  on your door and the sudden absence of all the servers in your
131
131
  server room.  Which it does nicely.
132
132
 
 
133
* The Plugin System
 
134
  In the early designs, the mandos-client(8mandos) program (which
 
135
  retrieves a password from the Mandos server) also prompted for a
 
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.
 
146
  
 
147
  Three additional plugins are provided:
 
148
  * usplash(8mandos)
 
149
    This prompts for a password when using usplash(8).
 
150
  * splashy(8mandos)
 
151
    This prompts for a password when using splashy(8).
 
152
  * askpass-fifo(8mandos)
 
153
    To provide compatibility with the "askpass" program from
 
154
    cryptsetup, this plugin listens to the same FIFO as askpass would
 
155
    do.
 
156
  
 
157
  More plugins can easily be written and added by the system
 
158
  administrator; see the section called "WRITING PLUGINS" in
 
159
  plugin-runner(8mandos) to learn the plugin requirements.
 
160
 
133
161
* Copyright
134
162
 
135
 
    Copyright © 2008 Teddy Hogeborn
136
 
                2008 Björn Påhlsson
 
163
    Copyright © 2008,2009 Teddy Hogeborn
 
164
    Copyright © 2008,2009 Björn Påhlsson
137
165
  
138
166
** License:
139
167