6
[[file:/usr/share/common-licenses/GPL-3][GPLv3]]
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
17
** [#A] Man page: man8/password-request.8mandos
18
** [#A] check return codes of all system calls
19
** [#B] header files/symbols tally
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.
27
** [#A] Man page: man8/password-prompt.8mandos
29
[[info:libc:getpass][GNU LibC Manual: Reading Passwords]]
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
39
** /etc/mandos/clients.d/*.conf
4
** TODO [#B] Temporarily lower kernel log level
5
for less printouts during sucessfull boot.
6
klogctl(6, NULL, 0); klogctl(7, NULL, 0);
7
** TODO [#C] IPv4 support
10
** TODO [#B] use scandir(3) instead of readdir(3)
13
** TODO [#B] Log level :bugs:
14
** TODO /etc/mandos/clients.d/*.conf
40
15
Watch this directory and add/remove/update clients?
41
** config for TXT record
42
** Run-time communication with server
44
** Implement --foreground
45
[[info:standards:Option%20Table][Table of Long Options]]
47
[[info:standards:Option%20Table][Table of Long Options]]
49
* Mandos-tools/utilities
50
All of this probably using D-Bus
56
** [#A] Change initrd.img file to not be publically readable
57
** [#A] Create GPG key ring files in initrd
58
** [#A] Create mandos user and group for server
59
** [#A] Create /var/run/mandos directory with perm and ownership
16
** TODO config for TXT record
17
** TODO [#B] Run-time communication with server :bugs:
19
See also [[*Mandos-tools]]
23
syslogger.setLevel(logging.WARNING)
25
+ [[http://log.ometer.com/2007-05.html][Best D-Bus practices]]
26
** TODO Implement --foreground :bugs:
27
[[info:standards:Option%20Table][Table of Long Options]]
28
** TODO Implement --socket
29
[[info:standards:Option%20Table][Table of Long Options]]
30
** TODO Date+time on console log messages :bugs:
32
** TODO delete hook when clients fall out by timeout
33
This will not be strictly necessary when the D-Bus interface is
37
** [[file:mandos.xml::XXX][Document D-Bus interface]]
39
* Provide and install /etc/dbus-1/system.d/mandos.conf
42
*** Handle "no D-Bus server" and/or "no Mandos server found" better
43
*** [#B] --dump option
44
** TODO Disable client
51
** TODO "--secfile" option
52
Using the "secfile" option instead of "secret"
53
** TODO [#B] "--test" option
54
For testing decryption before rebooting.
57
** /usr/share/initramfs-tools/hooks/mandos
58
*** TODO [#C] Do not install in initrd.img if configured not to.
59
Use "/etc/initramfs-tools/conf.d/mandos"? Definitely a debconf
61
** TODO [#C] /etc/bash_completion.d/mandos
62
From XML sources directly?
63
** TODO initramfs-tools-script :test:
64
Do not insert plugin-runner as keyscript if a kernel parameter
65
"mandos=off" is passed.