/mandos/release

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/release

« back to all changes in this revision

Viewing changes to README

First version of a somewhat complete D-Bus server interface.  Also
change user/group name to "_mandos".

* debian/mandos.postinst: Rename old "mandos" user and group to
                          "_mandos"; create "_mandos" user and group
                          if none exist.
* debian/mandos-client.postinst: - '' -

* initramfs-tools-hook: Try "_mandos" before "mandos" as user and
                        group name.

* mandos (_datetime_to_dbus_struct): New; was previously local.
  (Client.started): Renamed to "last_started".  All users changed.
  (Client.started): New; boolean.
  (Client.dbus_object_path): New.
  (Client.check_command): Renamed to "checker_command".  All users
                          changed.
  (Client.__init__): Set and use "self.dbus_object_path".  Set
                     "self.started".
  (Client.start): Update "self.started".  Emit "self.PropertyChanged"
                  signals for both "started" and "last_started".
  (Client.stop): Update "self.started".  Emit "self.PropertyChanged"
                 signal for "started".
  (Client.checker_callback): Take additional "command" argument.  All
                             callers changed. Emit
                             "self.PropertyChanged" signal.
  (Client.bump_timeout): Emit "self.PropertyChanged" signal for
                         "last_checked_ok".
  (Client.start_checker): Emit "self.PropertyChanged" signal for
                          "checker_running".
  (Client.stop_checker): Emit "self.PropertyChanged" signal for
                         "checker_running".
  (Client.still_valid): Bug fix: use "getattr(self, started, False)"
                        instead of "self.started" in case this client
                        object is so new that the "started" attribute
                        has not been created yet.
  (Client.IntervalChanged, Client.CheckerIsRunning, Client.GetChecker,
  Client.GetCreated, Client.GetFingerprint, Client.GetHost,
  Client.GetInterval, Client.GetName, Client.GetStarted,
  Client.GetTimeout, Client.StateChanged, Client.TimeoutChanged):
  Removed; all callers changed.
  (Client.CheckerCompleted): Add "condition" and "command" arguments.
                             All callers changed.
  (Client.GetAllProperties, Client.PropertyChanged): New.
  (Client.StillValid): Renamed to "IsStillValid".
  (Client.StartChecker): Changed to its own function to avoid the
                         return value from "Client.start_checker()".
  (Client.Stop): Changed to its own function to avoid the return value
                 from "Client.stop()".
  (main): Try "_mandos" before "mandos" as user and group name.
          Removed inner function "remove_from_clients".  New inner
          class "MandosServer".

Show diffs side-by-side

added added

removed removed

Lines of Context:
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.  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.
 
144
  
 
145
  Three additional plugins are provided:
 
146
  * usplash(8mandos)
 
147
    This prompts for a password when using usplash(8).
 
148
  * splashy(8mandos)
 
149
    This prompts for a password when using splashy(8).
 
150
  * askpass-fifo(8mandos)
 
151
    To provide compatibility with the "askpass" program from
 
152
    cryptsetup, this plugin listens to the same FIFO as askpass would
 
153
    do.
 
154
  
 
155
  (None of these take any options or reads any files.)
 
156
  
 
157
  More plugins could 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
163
    Copyright © 2008 Teddy Hogeborn
136
 
                2008 Björn Påhlsson
 
164
    Copyright © 2008 Björn Påhlsson
137
165
  
138
166
** License:
139
167