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

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:
1
1
-*- org -*-
2
2
 
3
 
* DONE plugin-runner
4
 
 
5
3
* mandos-client
6
4
** TODO [#B] Temporarily lower kernel log level
7
5
   for less printouts during sucessfull boot.
8
 
** TODO IPv4 support
9
 
** TODO use strsep instead of strtok?
10
 
 
11
 
* DONE password-prompt
 
6
   klogctl(6, NULL, 0); klogctl(7, NULL, 0);
 
7
** TODO [#C] IPv4 support
12
8
 
13
9
* mandos (server)
14
10
** TODO [#B] Log level                          :bugs:
18
14
** TODO [#B] Run-time communication with server :bugs:
19
15
   Probably using D-Bus
20
16
   See also [[*Mandos-tools]]
 
17
*** Client class
 
18
*** Main server
 
19
    + SetLogLevel
 
20
      syslogger.setLevel(logging.WARNING)
 
21
    + Quit
 
22
    + [[http://log.ometer.com/2007-05.html][Best D-Bus practices]]
21
23
** TODO Implement --foreground                  :bugs:
22
24
   [[info:standards:Option%20Table][Table of Long Options]]
23
25
** TODO Implement --socket
25
27
** TODO Date+time on console log messages       :bugs:
26
28
   Is this the default?
27
29
** TODO delete hook when clients fall out by timeout
 
30
   This will not be strictly necessary when the D-Bus interface is
 
31
   implemented.
28
32
 
29
33
* Mandos-tools/utilities
30
34
  All of this probably using D-Bus
33
37
** TODO Enable client
34
38
** TODO Reset timer
35
39
 
36
 
* Man pages
37
 
** TODO Use xinclude for all common sections
38
 
   Like authors, etc.
39
 
 
40
 
 
41
 
* Installer
42
 
** Client-side
43
 
*** TODO Update initrd.img after installation
44
 
    This seems to use some kind of "trigger" system
45
 
    [[file:/usr/share/doc/dpkg/triggers.txt.gz]]
46
 
    dpkg-trigger(1), deb-triggers(5)
47
 
*** mandos-keygen
48
 
**** TODO [#A] Ask for password twice for confirmation
49
 
**** TODO "--passfile" option
50
 
     Using the "secfile" option instead of "secret"
51
 
**** TODO [#A] "--test" option
52
 
     For testing decryption before rebooting.
53
 
** Server-side
54
 
*** TODO [#A] Create mandos user and group for server
55
 
 
 
40
* mandos-keygen
 
41
** TODO "--secfile" option
 
42
   Using the "secfile" option instead of "secret"
 
43
** TODO [#B] "--test" option
 
44
   For testing decryption before rebooting.
56
45
 
57
46
* [#A] Package
58
47
** /usr/share/initramfs-tools/hooks/mandos
61
50
    question.
62
51
** TODO /etc/bash_completion.d/mandos
63
52
   From XML sources directly?
64
 
** TODO unperish
65
 
** DONE bzr-builddeb
66
 
 
67
 
* TODO Web site
68
 
** DONE http://www.fukt.bsnet.se/mandos
69
 
   Redirects to the wiki page
70
 
** TODO http://wiki.fukt.bsnet.se/wiki/Mandos
71
 
 
72
 
* Mailing list
73
 
** DONE mandos-dev
74
 
*** TODO http://gmane.org/subscribe.php
75
 
 
76
 
* TODO Announce project on Usenet
77
 
  [[news:comp.os.linux.announce]]
78
53
 
79
54
 
80
55
#+STARTUP: showall