/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

* init.d-mandos (Required-Start, Required-Stop): Bug fix: Added
                 "$syslog", thanks to Petter Reinholdtsen
                 <pere@hungry.com> (Debian bug #546928).

* initramfs-tools-script: Removed erroneous comment.

* plugins.d/askpass-fifo.c: Removed TEMP_FAILURE_RETRY since it is
                            not needed.

* plugins.d/mandos-client.c (main): Bug fix: Initialize
                                    "old_sigterm_action".

* plugins.d/splashy.c (main): Bug fix: really check return value from
                              "sigaddset".  Fix some warnings on
                              64-bit systems.

* plugins.d/usplash.c (termination_handler, main): Save received
                                                   signal and
                                                   re-raise it on
                                                   exit.
  (usplash_write): Do not close FIFO, instead, take an additional file
                   descriptor pointer to it and open only when needed
                   (all callers changed).  Abort immediately on EINTR.
                   Bug fix:  Add NUL byte on single-word commands.
                   Ignore "interrupted_by_signal".
  (makeprompt, find_usplash): New; broken out from "main()".
  (find_usplash): Bug fix: close /proc/<pid>/cmdline FD on error.
  (main): Reorganized to jump to a new "failure" label on any error.
          Bug fix: check return values from sigaddset.
          New variable "usplash_accessed" to flag if usplash(8) needs
          to be killed and restarted.  Removed the "an_error_occured"
          variable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
-*- org -*-
2
2
 
3
 
* README file
4
 
 
5
 
* Mandos client
6
 
** [#A] Man page
7
 
** [#A] check exit codes of all system calls
8
 
** [#B] header files/symbols tally
9
 
** IPv4 support
10
 
** use strsep instead of strtok?
11
 
** Do not depend on GPG key rings on disk
12
 
   This would mean creating new GPG key rings with GPGME by importing
13
 
   the key files from scratch every time we start the program.
14
 
 
15
 
* Passprompt
16
 
** [#A] Man page
17
 
 
18
 
* Pluginbasedclient
19
 
** [#A] Man page
20
 
** [#A] check exit codes of all system calls
21
 
** [#B] header files/symbols tally
22
 
** use strsep instead of strtok?
23
 
** use config file in addition to arguments
24
 
** pass things in environment, like device name, etc
25
 
 
26
 
* Server
27
 
** [#A] Man page
28
 
** [#A] write PID file
29
 
** [#A] /etc/init.d/mandos-server
30
 
** Better comments in config files
31
 
** Log level
32
 
** /etc/mandos/clients.d/*.conf
 
3
* mandos-client
 
4
** TODO [#B] use scandir(3) instead of readdir(3)
 
5
** TODO [#B] Prefix all debug output with argv[0]
 
6
** TODO [#B] Retry a server which has a non-definite reply:
 
7
*** A closed connection during the TLS handshake
 
8
*** A TCP timeout
 
9
** TODO [#B] Use capabilities instead of seteuid().
 
10
 
 
11
* splashy
 
12
** TODO [#B] use scandir(3) instead of readdir(3)
 
13
** TODO [#B] Prefix all debug output with "Mandos plugin " + argv[0]
 
14
 
 
15
* usplash
 
16
** TODO [#B] use scandir(3) instead of readdir(3)
 
17
** TODO [#B] Prefix all debug output with "Mandos plugin " + argv[0]
 
18
 
 
19
* askpass-fifo
 
20
** TODO [#B] Prefix all debug output with "Mandos plugin " + argv[0]
 
21
** TODO [#B] Drop privileges after opening FIFO.
 
22
 
 
23
* password-prompt
 
24
** TODO [#B] Prefix all debug output with "Mandos plugin " + argv[0]
 
25
 
 
26
* plugin-runner
 
27
** TODO [#B] use scandir(3) instead of readdir(3)
 
28
** TODO [#C] use same file name rules as run-parts(8)
 
29
 
 
30
* mandos (server)
 
31
** TODO [#B] Log level                          :BUGS:
 
32
** TODO /etc/mandos/clients.d/*.conf
33
33
   Watch this directory and add/remove/update clients?
34
 
** config for TXT record
35
 
** Run-time communication with server
36
 
   probably using D-Bus
37
 
 
38
 
* Mandos-tools/utilities
39
 
  All of this probably using D-Bus
40
 
** List clients
41
 
** Enable client
42
 
** Disable client
43
 
 
44
 
* Installer
45
 
** Change initrd.img file to not be publically readable
46
 
** Create GPG key ring files in initrd
 
34
** TODO config for TXT record
 
35
** TODO [#B] Run-time communication with server :BUGS:
 
36
   Probably using D-Bus
 
37
*** Client class
 
38
*** Main server
 
39
    + SetLogLevel
 
40
      syslogger.setLevel(logging.WARNING)
 
41
    + [[http://log.ometer.com/2007-05.html][Best D-Bus practices]]
 
42
** TODO Implement --foreground                  :BUGS:
 
43
   [[info:standards:Option%20Table][Table of Long Options]]
 
44
** TODO Implement --socket
 
45
   [[info:standards:Option%20Table][Table of Long Options]]
 
46
** TODO Date+time on console log messages       :BUGS:
 
47
   Is this the default?
 
48
** TODO Split IPv6_TCPServer into a generic and Mandos-specific class
 
49
** TODO move handle_ipc out of IPv6_TCPServer
 
50
** TODO DBusServiceObjectUsingSuper
 
51
** Global enable/disable flag
 
52
** By-client countdown on secrets given
 
53
** Fix problem with fsck taking a really long time
 
54
   Whenever a client successfully gets a secret it could get a
 
55
   one-time timeout boost to allow for an fsck-incurred delay
 
56
 
 
57
* mandos.xml
 
58
** [[file:mandos.xml::XXX][Document D-Bus interface]]
 
59
 
 
60
* Provide and install /etc/dbus-1/system.d/mandos.conf
 
61
 
 
62
* mandos-ctl
 
63
*** Handle "no D-Bus server" and/or "no Mandos server found" better
 
64
*** [#B] --dump option
 
65
 
 
66
* mandos-name
 
67
** D-Bus mail loop w/ signal receiver
 
68
** Urwid/Newt client data displayer
 
69
*** Urwid scaffolding
 
70
*** Client Widgets
 
71
*** Properties popup
 
72
 
 
73
* mandos-keygen
 
74
** TODO Loop until passwords match when run interactively
 
75
** TODO "--secfile" option
 
76
   Using the "secfile" option instead of "secret"
 
77
** TODO [#B] "--test" option
 
78
   For testing decryption before rebooting.
 
79
 
 
80
* Package
 
81
** /usr/share/initramfs-tools/hooks/mandos
 
82
*** TODO [#C] use same file name rules as run-parts(8)
 
83
*** TODO [#C] Do not install in initrd.img if configured not to.
 
84
    Use "/etc/initramfs-tools/hooksconf.d/mandos"?
 
85
** TODO [#C] /etc/bash_completion.d/mandos
 
86
   From XML sources directly?
47
87
 
48
88
 
49
89
#+STARTUP: showall