/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-08-01 06:33:15 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080801063315-4k33q3ek28hjc3tu
* plugins.d/plugbasedclient.c: Update include file comments.
  (struct process.disable): Renamed to "disabled".  All users changed.
  (addarguments): Renamed to "addargument".  All callers changed.
  (doc, args_doc): Removed.
  (main): Changed default "plugindir" to
          "/conf/conf.d/mandos/plugins.d".  Renamed "rfds_orig" to
           "rfds_all"; all users changed.  New "debug" and
           "exitstatus" variables.  New "--debug" option.  Removed
           unnecessary ".flags = 0" from all options.  Changed so that
           "--disable-plugin" only takes one plugin.  Check for
           non-existence of ":" in argument to "--options-for".  Added
           some debugging outputs.  Set the FD_CLOEXEC flag on the
           directory FD.  More capable code for dealing with
           disallowed plugin file name prefixes and suffixes.  Bug
           fix: check for some malloc failures.  Moved allocating the
           "struct process *new_process" to after the fork.  Do
           _exit() instead of exit() in the child.

* plugins.d/mandosclient.c: Updated contact information.

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 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
 
   Watch this directory and add/remove/update clients?
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
 
* Makefile
81
 
** Implement DEB_BUILD_OPTIONS
82
 
   http://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules-options
83
 
 
84
 
* Package
85
 
** /usr/share/initramfs-tools/hooks/mandos
86
 
*** TODO [#C] use same file name rules as run-parts(8)
87
 
*** TODO [#C] Do not install in initrd.img if configured not to.
88
 
    Use "/etc/initramfs-tools/hooksconf.d/mandos"?
89
 
** TODO [#C] /etc/bash_completion.d/mandos
90
 
   From XML sources directly?
91
 
 
92
 
 
93
 
#+STARTUP: showall
 
1
[Mandos client]
 
2
configuration for OpenPGP key dir
 
3
header files/symbols tally
 
4
check exit codes of all system calls
 
5
IPv4 support
 
6
protocol version header
 
7
use strsep instead of strtok?
 
8
 
 
9
[Pluginbasedclient]
 
10
disable certain plugins
 
11
header files/symbols tally
 
12
check exit codes of all system calls
 
13
change uid to nobody:nogroup
 
14
        other drop privs stuff?
 
15
pass things in environment, like device name, etc
 
16
        Does cryptsetup already do this?
 
17
Configurable plugin dir
 
18
use strsep instead of strtok?
 
19
 
 
20
[Server]
 
21
config for:
 
22
        TXT record
 
23
protocol version header
 
24
Run-time communication with server
 
25
        probably using D-Bus
 
26
 
 
27
[Mandos-tools/utilities]
 
28
        List clients
 
29
        Enable client
 
30
        Disable client
 
31
 
 
32
[Installer]
 
33
...