/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

  • Committer: Teddy Hogeborn
  • Date: 2008-07-20 06:33:48 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080720063348-jscgy5p0itrgvlo8
* mandos-clients.conf ([foo]): Uncommented.
  ([foo]/secret): New.
  ([foo]/secfile): Commented out.
  ([foo]/checker): Changed to "fping -q -- %%(fqdn)s".
  ([foo]/timeout): New.

* server.py: New modeline for Python and Emacs.  Set a logging format.
  (Client.__init__): Bug fix: Choose either the value from the options
                     object or pass the argument through string_to_delta
                     for both "timeout" and "interval".
  (Client.checker_callback): Bug fix: Do not log spurious "Checker for
                             <foo> failed" messages.
  (Client.start_checker): Moved "Starting checker" log message down to
                          just before actually starting the subprocess.
                          Do not redirect the subprocesses' stdout to a
                          pipe.
  (peer_certificate, fingerprint): Added docstrings.
  (entry_group_state_changed): Call "killme()" instead of
                               "main_loop.quit()".
  (daemon, killme): New functions.
  (exitstatus, main_loop_started): New global variables.
  (__main__): Removed the "--cert", "--key", "--ca", and "--crl"
              options.  Removed the sleep command from the default
              checker.  Add a console logger in debug mode.  Call
              "killme()" instead of "main_loop.quit()" when there are no
              more clients.  Call "daemon()" if not in debug mode.
              Register "cleanup()" to run at exit.  Ignore some
              signals.  Catch DBusException to detect another running
              server and exit cleanly.  Exit with "exitstatus".
  (cleanup): New function.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
-*- org -*-
2
 
 
3
 
* mandos-client
4
 
** TODO [#B] use scandir(3) instead of readdir(3)
5
 
** TODO [#B] Prefix all debug output with "Mandos plugin " + program_invocation_short_name
6
 
** TODO use error() instead of perror()
7
 
** TODO [#B] Retry a server which has a non-definite reply:
8
 
*** A closed connection during the TLS handshake
9
 
*** A TCP timeout
10
 
** TODO [#B] Use capabilities instead of seteuid().
11
 
 
12
 
* splashy
13
 
** TODO [#B] use scandir(3) instead of readdir(3)
14
 
** TODO [#B] Prefix all debug output with "Mandos plugin " + program_invocation_short_name
15
 
** TODO use error() instead of perror()
16
 
 
17
 
* usplash
18
 
** TODO [#B] use scandir(3) instead of readdir(3)
19
 
** TODO [#B] Prefix all debug output with "Mandos plugin " + program_invocation_short_name
20
 
** TODO use error() instead of perror()
21
 
 
22
 
* askpass-fifo
23
 
** TODO [#B] Prefix all debug output with "Mandos plugin " + program_invocation_short_name
24
 
** TODO use error() instead of perror()
25
 
** TODO [#B] Drop privileges after opening FIFO.
26
 
 
27
 
* password-prompt
28
 
** TODO [#B] Prefix all debug output with "Mandos plugin " + program_invocation_short_name
29
 
** TODO use error() instead of perror()
30
 
** TODO lock stdin (with flock()?)
31
 
 
32
 
* TODO passdev
33
 
 
34
 
* plugin-runner
35
 
** TODO [#B] use scandir(3) instead of readdir(3)
36
 
** TODO [#C] use same file name rules as run-parts(8)
37
 
** TODO use error() instead of perror()
38
 
 
39
 
* mandos (server)
40
 
** TODO [#B] Log level                          :BUGS:
41
 
** TODO /etc/mandos/clients.d/*.conf
42
 
   Watch this directory and add/remove/update clients?
43
 
** TODO config for TXT record
44
 
** TODO [#B] Run-time communication with server :BUGS:
45
 
   Probably using D-Bus
46
 
*** Client class
47
 
*** Main server
48
 
    + SetLogLevel
49
 
      syslogger.setLevel(logging.WARNING)
50
 
    + [[http://log.ometer.com/2007-05.html][Best D-Bus practices]]
51
 
** TODO Implement --foreground                  :BUGS:
52
 
   [[info:standards:Option%20Table][Table of Long Options]]
53
 
** TODO Implement --socket
54
 
   [[info:standards:Option%20Table][Table of Long Options]]
55
 
** TODO Date+time on console log messages       :BUGS:
56
 
   Is this the default?
57
 
** TODO DBusServiceObjectUsingSuper
58
 
** TODO Global enable/disable flag
59
 
** TODO By-client countdown on secrets given
60
 
** TODO Fix problem with fsck taking a really long time
61
 
   Whenever a client successfully gets a secret it could get a
62
 
   one-time timeout boost to allow for an fsck-incurred delay
63
 
** TODO Delay before client receives key
64
 
   This would give an operator opportunity to cancel the request if
65
 
   desired.
66
 
** TODO Client manual approval mode
67
 
   A client needs manual approval on the server before it gets the
68
 
   secret
69
 
** TODO Persistent state
70
 
   /var/lib/mandos/*
71
 
 
72
 
* mandos.xml
73
 
** [[file:mandos.xml::XXX][Document D-Bus interface]]
74
 
 
75
 
* Provide and install /etc/dbus-1/system.d/mandos.conf
76
 
 
77
 
* mandos-ctl
78
 
*** Handle "no D-Bus server" and/or "no Mandos server found" better
79
 
*** [#B] --dump option
80
 
 
81
 
* TODO mandos-dispatch
82
 
  Listens for specified D-Bus signals and spawns shell commands with
83
 
  arguments.
84
 
 
85
 
* mandos-monitor
86
 
** D-Bus main loop w/ signal receiver
87
 
** Urwid client data displayer
88
 
*** Urwid scaffolding
89
 
*** Client Widgets
90
 
*** Properties popup
91
 
 
92
 
* mandos-keygen
93
 
** TODO Loop until passwords match when run interactively
94
 
** TODO "--secfile" option
95
 
   Using the "secfile" option instead of "secret"
96
 
** TODO [#B] "--test" option
97
 
   For testing decryption before rebooting.
98
 
 
99
 
* Makefile
100
 
** Implement DEB_BUILD_OPTIONS
101
 
   http://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules-options
102
 
 
103
 
* Package
104
 
** /usr/share/initramfs-tools/hooks/mandos
105
 
*** TODO [#C] use same file name rules as run-parts(8)
106
 
*** TODO [#C] Do not install in initrd.img if configured not to.
107
 
    Use "/etc/initramfs-tools/hooksconf.d/mandos"?
108
 
** TODO [#C] /etc/bash_completion.d/mandos
109
 
   From XML sources directly?
110
 
 
111
 
 
112
 
#+STARTUP: showall
 
1
[Client]
 
2
configuration for OpenPGP key and interface
 
3
IPv4 support
 
4
 
 
5
[Server]
 
6
config file
 
7
run-time communication with server
 
8
 
 
9
[Mandos-tools/utilities]
 
10
        List clients
 
11
        Enable client
 
12
        Disable client