/mandos/trunk

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

« back to all changes in this revision

Viewing changes to TODO

  • Committer: Teddy Hogeborn
  • Date: 2009-10-18 08:47:40 UTC
  • Revision ID: teddy@fukt.bsnet.se-20091018084740-fa1qgm22lg125r10
* plugins.d/splashy.c: Use exit codes from <sysexits.h>.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
-*- org -*-
2
2
 
3
 
* README file
4
 
 
5
 
* COPYING file
6
 
  [[file:/usr/share/common-licenses/GPL-3][GPLv3]]
7
 
 
8
 
* Mandos-client
9
 
** [#A] Man page: man8/mandos-client.8mandos
10
 
** [#A] check return codes of all system calls
11
 
** [#B] header files/symbols tally
12
 
** use strsep instead of strtok?
13
 
** use config file in addition to arguments
14
 
** pass things in environment, like device name, etc
15
 
 
16
 
* Password-request
17
 
** [#A] Man page: man8/password-request.8mandos
18
 
** [#A] check return codes of all system calls
19
 
** [#B] header files/symbols tally
20
 
** IPv4 support
21
 
** use strsep instead of strtok?
22
 
** Do not depend on GPG key rings on disk
23
 
   This would mean creating new GPG key rings with GPGME by importing
24
 
   the key files from scratch on every program start.
25
 
 
26
 
* Password-prompt
27
 
** [#A] Man page: man8/password-prompt.8mandos
28
 
** Use getpass(3)?
29
 
   [[info:libc:getpass][GNU LibC Manual: Reading Passwords]]
30
 
 
31
 
* Server
32
 
** [#A] Command man page: man8/mandos.8
33
 
** [#A] Config file man page: man5/mandos.conf (mandos.conf)
34
 
** [#A] Config file man page: man5/mandos-clients.conf (clients.conf)
35
 
** [#A] write PID file
36
 
** [#A] /etc/init.d/mandos-server
37
 
** Better comments in config files
38
 
** Log level
39
 
** /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 "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
** TODO use EX_* from <sysexits.h>
 
12
 
 
13
* splashy
 
14
** TODO [#B] use scandir(3) instead of readdir(3)
 
15
** TODO [#B] Prefix all debug output with "Mandos plugin " + program_invocation_short_name
 
16
** TODO use error() instead of perror()
 
17
 
 
18
* usplash
 
19
** TODO [#B] use scandir(3) instead of readdir(3)
 
20
** TODO [#B] Prefix all debug output with "Mandos plugin " + program_invocation_short_name
 
21
** TODO use EX_* from <sysexits.h>
 
22
** TODO use error() instead of perror()
 
23
 
 
24
* askpass-fifo
 
25
** TODO [#B] Prefix all debug output with "Mandos plugin " + program_invocation_short_name
 
26
** TODO [#B] Drop privileges after opening FIFO.
 
27
** TODO use EX_* from <sysexits.h>
 
28
** TODO use error() instead of perror()
 
29
 
 
30
* password-prompt
 
31
** TODO [#B] Prefix all debug output with "Mandos plugin " + program_invocation_short_name
 
32
** TODO use EX_* from <sysexits.h>
 
33
** TODO use error() instead of perror()
 
34
 
 
35
* TODO passdev
 
36
 
 
37
* plugin-runner
 
38
** TODO [#B] use scandir(3) instead of readdir(3)
 
39
** TODO [#C] use same file name rules as run-parts(8)
 
40
** TODO use EX_* from <sysexits.h>
 
41
** TODO use error() instead of perror()
 
42
 
 
43
* mandos (server)
 
44
** TODO [#B] Log level                          :BUGS:
 
45
** TODO /etc/mandos/clients.d/*.conf
40
46
   Watch this directory and add/remove/update clients?
41
 
** config for TXT record
42
 
** Run-time communication with server
43
 
   probably using D-Bus
44
 
** Implement --foreground
45
 
   [[info:standards:Option%20Table][Table of Long Options]]
46
 
** Implement --socket
47
 
   [[info:standards:Option%20Table][Table of Long Options]]
48
 
 
49
 
* Mandos-tools/utilities
50
 
  All of this probably using D-Bus
51
 
** List clients
52
 
** Enable client
53
 
** Disable client
54
 
 
55
 
* Installer
56
 
** [#A] Change initrd.img file to not be publically readable
57
 
** [#A] Create GPG key ring files in initrd
 
47
** TODO config for TXT record
 
48
** TODO [#B] Run-time communication with server :BUGS:
 
49
   Probably using D-Bus
 
50
*** Client class
 
51
*** Main server
 
52
    + SetLogLevel
 
53
      syslogger.setLevel(logging.WARNING)
 
54
    + [[http://log.ometer.com/2007-05.html][Best D-Bus practices]]
 
55
** TODO Implement --foreground                  :BUGS:
 
56
   [[info:standards:Option%20Table][Table of Long Options]]
 
57
** TODO Implement --socket
 
58
   [[info:standards:Option%20Table][Table of Long Options]]
 
59
** TODO Date+time on console log messages       :BUGS:
 
60
   Is this the default?
 
61
** TODO DBusServiceObjectUsingSuper
 
62
** TODO Global enable/disable flag
 
63
** TODO By-client countdown on secrets given
 
64
** TODO Fix problem with fsck taking a really long time
 
65
   Whenever a client successfully gets a secret it could get a
 
66
   one-time timeout boost to allow for an fsck-incurred delay
 
67
** TODO Delay before client receives key
 
68
   This would give an operator opportunity to cancel the request if
 
69
   desired.
 
70
** TODO Client manual approval mode
 
71
   A client needs manual approval on the server before it gets the
 
72
   secret
 
73
** TODO Persistent state
 
74
   /var/lib/mandos/*
 
75
 
 
76
* mandos.xml
 
77
** [[file:mandos.xml::XXX][Document D-Bus interface]]
 
78
 
 
79
* Provide and install /etc/dbus-1/system.d/mandos.conf
 
80
 
 
81
* mandos-ctl
 
82
*** Handle "no D-Bus server" and/or "no Mandos server found" better
 
83
*** [#B] --dump option
 
84
 
 
85
* TODO mandos-dispatch
 
86
  Listens for specified D-Bus signals and spawns shell commands with
 
87
  arguments.
 
88
 
 
89
* mandos-monitor
 
90
** D-Bus main loop w/ signal receiver
 
91
** Urwid client data displayer
 
92
*** Urwid scaffolding
 
93
*** Client Widgets
 
94
*** Properties popup
 
95
 
 
96
* mandos-keygen
 
97
** TODO Loop until passwords match when run interactively
 
98
** TODO "--secfile" option
 
99
   Using the "secfile" option instead of "secret"
 
100
** TODO [#B] "--test" option
 
101
   For testing decryption before rebooting.
 
102
 
 
103
* Makefile
 
104
** Implement DEB_BUILD_OPTIONS
 
105
   http://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules-options
 
106
 
 
107
* Package
 
108
** /usr/share/initramfs-tools/hooks/mandos
 
109
*** TODO [#C] use same file name rules as run-parts(8)
 
110
*** TODO [#C] Do not install in initrd.img if configured not to.
 
111
    Use "/etc/initramfs-tools/hooksconf.d/mandos"?
 
112
** TODO [#C] /etc/bash_completion.d/mandos
 
113
   From XML sources directly?
58
114
 
59
115
 
60
116
#+STARTUP: showall