/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

merge

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
-*- org -*-
2
2
 
3
 
* mandos-client
4
 
** TODO [#A] Clean up /tmp directory on signal
5
 
** TODO [#B] Temporarily lower kernel log level
6
 
   for less printouts during sucessfull boot.
7
 
   klogctl(6, NULL, 0); klogctl(7, NULL, 0);
8
 
** TODO [#C] IPv4 support
9
 
 
10
 
* plugin-runner
11
 
** TODO [#B] use scandir(3) instead of readdir(3)
12
 
 
13
 
* mandos (server)
14
 
** TODO [#B] Log level                          :bugs:
15
 
** TODO /etc/mandos/clients.d/*.conf
 
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
** use strsep instead of strtok?
 
11
** use config file in addition to arguments
 
12
** pass things in environment, like device name, etc
 
13
 
 
14
* Password-request
 
15
** [#A] Man page: man8/password-request.8mandos
 
16
** [#A] check return codes of all system calls
 
17
** [#B] header files/symbols tally
 
18
** IPv4 support
 
19
** use strsep instead of strtok?
 
20
** Do not depend on GPG key rings on disk
 
21
   This would mean creating new GPG key rings with GPGME by importing
 
22
   the key files from scratch on every program start.
 
23
 
 
24
* Password-prompt
 
25
** [#A] Man page: man8/password-prompt.8mandos
 
26
** Use getpass(3)?
 
27
   [[info:libc:getpass][GNU LibC Manual: Reading Passwords]]
 
28
 
 
29
* Server
 
30
** [#A] Command man page: man8/mandos.8
 
31
** [#A] Config file man page: man5/mandos.conf (mandos.conf)
 
32
** [#A] Config file man page: man5/mandos-clients.conf (clients.conf)
 
33
** [#A] /etc/init.d/mandos-server
 
34
** Log level
 
35
** /etc/mandos/clients.d/*.conf
16
36
   Watch this directory and add/remove/update clients?
17
 
** TODO config for TXT record
18
 
** TODO [#B] Run-time communication with server :bugs:
19
 
   Probably using D-Bus
20
 
   See also [[*Mandos-tools]]
21
 
*** Client class
22
 
*** Main server
23
 
    + SetLogLevel
24
 
      syslogger.setLevel(logging.WARNING)
25
 
    + Quit
26
 
    + [[http://log.ometer.com/2007-05.html][Best D-Bus practices]]
27
 
** TODO Implement --foreground                  :bugs:
28
 
   [[info:standards:Option%20Table][Table of Long Options]]
29
 
** TODO Implement --socket
30
 
   [[info:standards:Option%20Table][Table of Long Options]]
31
 
** TODO Date+time on console log messages       :bugs:
32
 
   Is this the default?
33
 
** TODO delete hook when clients fall out by timeout
34
 
   This will not be strictly necessary when the D-Bus interface is
35
 
   implemented.
36
 
 
37
 
* mandos.xml
38
 
** [[file:mandos.xml::XXX][Document D-Bus interface]]
39
 
 
40
 
* Provide and install /etc/dbus-1/system.d/mandos.conf
41
 
 
42
 
* mandos-list
43
 
*** Handle "no D-Bus server" and/or "no Mandos server found" better
44
 
*** [#B] --dump option
45
 
** TODO Disable client
46
 
** TODO Enable client
47
 
** TODO Reset timer
48
 
 
49
 
* Curses interface
50
 
 
51
 
* mandos-keygen
52
 
** TODO "--secfile" option
53
 
   Using the "secfile" option instead of "secret"
54
 
** TODO [#B] "--test" option
55
 
   For testing decryption before rebooting.
56
 
 
57
 
* Package
58
 
** /usr/share/initramfs-tools/hooks/mandos
59
 
*** TODO [#C] Do not install in initrd.img if configured not to.
60
 
    Use "/etc/initramfs-tools/conf.d/mandos"?  Definitely a debconf
61
 
    question.
62
 
** TODO [#C] /etc/bash_completion.d/mandos
63
 
   From XML sources directly?
 
37
** config for TXT record
 
38
** Run-time communication with server
 
39
   probably using D-Bus
 
40
** Implement --foreground
 
41
   [[info:standards:Option%20Table][Table of Long Options]]
 
42
** Implement --socket
 
43
   [[info:standards:Option%20Table][Table of Long Options]]
 
44
 
 
45
* Mandos-tools/utilities
 
46
  All of this probably using D-Bus
 
47
** List clients
 
48
** Enable client
 
49
** Disable client
 
50
 
 
51
* Installer
 
52
** [#A] Change initrd.img file to not be publically readable
 
53
** [#A] Create GPG key ring files in initrd
 
54
** [#A] Create mandos user and group for server
 
55
** [#A] Create /var/run/mandos directory with perm and ownership
64
56
 
65
57
 
66
58
#+STARTUP: showall