/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: 2008-09-02 13:04:42 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080902130442-ytnjsmllaph18e20
* plugin-runner.xml (PLUGINS/WRITING PLUGINS): New section.
  (BUGS): Commented out.  There are no bugs.
  (EXAMPLE): Added lots of examples.
  (SECURITY): Added text.
  (SEE ALSO): Added "crypttab(5)" and "execve(2)".

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 
3
3
* [#A] README file
4
4
 
5
 
* Plugin-runner
6
 
** [#A] Free plugin name and args
7
 
   [[file:plugin-runner.c::free%20plugin_list][file:plugin-runner.c::free plugin_list]] (both places)
8
 
** [#A] Change syntax for arguments
 
5
* plugin-runner
9
6
** [#B] Add more comments to code
10
7
** [#B] Add more if(debug) calls
11
8
** [#B] Seperate more code to function for more readability
12
 
** [#B] Make free_plugin_list() function
13
9
** [#A] Man page: man8/plugin-runner.8mandos
14
 
*** DESCRIPTION
15
 
    Describe the plus sign syntax for passing options from crypttab
16
 
*** EXIT STATUS
17
 
    Text needed
18
 
*** EXAMPLES
19
 
    Examples of normal usage, debug usage, debugging single or all
20
 
    plugins, examples of crypttab lines with plus syntax, etc.
21
 
*** FILES
22
 
    Text needed
23
 
*** SECURITY
24
 
    Text needed
25
 
*** NOTES
26
 
    Text needed
27
 
*** BUGS
28
 
    Text needed
29
10
*** SEE ALSO
30
 
    Explaining test on what you can read
31
 
** Support in configuration file for environment variables
32
 
** Keydir move: /etc/mandos -> /etc/keys/mandos
33
 
   Must create in preinst if not pre-depending on cryptsetup
 
11
    Explaining text on what you can read
34
12
 
35
 
* Password-request
 
13
* password-request
36
14
** [#A] Man page: man8/password-request.8mandos
37
 
** Make prompt exactly like the normal prompt
38
 
   Use environment variables:
39
 
   "Enter passphrase to unlock the disk $cryptsource ($crypttarget): "
40
 
   [[file:plugins.d/password-prompt.c::fprintf%20stderr%20s%20Password%20prefix][Here]]
41
 
** [#B] Temporarily lower kernel log level
42
 
   for less printouts during sucessfull boot.
 
15
*** SYNOPSIS
 
16
    Document short options
43
17
*** DESCRIPTION
44
 
    Move options to new OPTIONS section.
45
18
    State that this command is not meant to be invoked directly, but
46
19
    is run as a plugin from mandos-client(8) and only run in the
47
20
    initrd environment, not the real system.
 
21
*** PURPOSE
 
22
    As in mandos.xml
 
23
*** OVERVIEW
 
24
    As in mandos.xml
48
25
*** EXIT STATUS
49
 
    Create this section
50
 
*** EXAMPLES
 
26
*** ENVIRONMENT
 
27
    Note that it does *not* currently use cryptsource or crypttarget.
 
28
*** FILES
 
29
    Describe the key files and the key ring files.  Also note that
 
30
    they should normally have been automatically created.
 
31
*** BUGS
 
32
*** EXAMPLE
51
33
    Examples of normal usage, debug usage, debugging by connecting
52
34
    directly, etc.
53
 
*** FILES
54
 
    Describe the key files and the key ring files.  Also note that
55
 
    they should normally have been automatically created.
56
 
*** DIAGNOSTICS
57
 
    Create this section
58
35
*** SECURITY
59
 
    Create this section
60
 
*** NOTES
61
 
    Create this section (if needed)
62
 
*** BUGS
63
 
    Create this section
64
36
*** SEE ALSO
65
 
    Refer to mandos-client(8mandos) and password-prompt(8mandos)
 
37
    Update from mandos.xml
 
38
** [#B] Temporarily lower kernel log level
 
39
   for less printouts during sucessfull boot.
66
40
** IPv4 support
67
41
** use strsep instead of strtok?
68
42
** Do not depend on GnuPG key rings on disk
69
43
   This would mean creating new GnuPG key rings with GPGME by
70
44
   importing the key files from scratch on every program start.
 
45
** Keydir move: /etc/mandos -> /etc/keys/mandos
 
46
   Must create in preinst if not pre-depending on cryptsetup
71
47
 
72
 
* Password-prompt
73
 
** [#A] Man page: man8/password-prompt.8mandos
74
 
** Show getenv("cryptsource") and getenv("crypttarget") if set
75
 
   cryptsource will be the device, like "/dev/sda3", and crypttarget
76
 
   will be the device mapper name, like "sda3_crypt".
77
 
*** DESCRIPTION
78
 
    Move options to new OPTIONS section.
79
 
*** EXIT STATUS
80
 
    Create this section
81
 
*** EXAMPLES
82
 
    Examples of normal usage, debug usage, with a prefix, etc.
83
 
*** DIAGNOSTICS
84
 
    Create this section
85
 
*** SECURITY
86
 
    Create this section
87
 
    Not much to do here but it is noteworthy to state the danger of
88
 
    not having a fallback option.
89
 
*** NOTES
90
 
    Note that this is more or less a simple getpass(3) wrapper, even
91
 
    though actual use of getpass(3) is not guaranteed.
92
 
*** BUGS
93
 
    Create this section
94
 
*** SEE ALSO
95
 
    Refer to mandos-client(8mandos) and password-request(8mandos)
96
 
** Use getpass(3)?
 
48
* password-prompt
 
49
** [#C] Use getpass(3)?
97
50
   Man page says "obsolete", but [[info:libc:getpass][GNU LibC Manual: Reading Passwords]]
98
51
   does not.  See also [[http://sources.redhat.com/ml/libc-alpha/2003-05/msg00251.html][Marcus Brinkmann: Re: getpass obsolete?]] and
99
52
   [[http://article.gmane.org/gmane.comp.lib.glibc.alpha/4906][Petter Reinholdtsen: Re: getpass obsolete?]], and especially also
100
53
   [[http://www.steve.org.uk/Reference/Unix/faq_4.html#SEC48][Unix Programming FAQ 3.1 How can I make my program not echo input?]]
101
 
** Replace completely with "/lib/cryptsetup/askpass"?
102
54
 
103
 
* Mandos (server)
104
 
** [#A] Command man page: man8/mandos.8
105
 
*** DESCRIPTION
106
 
    Move options to new OPTIONS section
107
 
*** EXIT STATUS
108
 
    Create this section
109
 
*** EXAMPLES
110
 
    Create this section
111
 
*** FILES
112
 
    Describe briefly that the server gets global settings from
113
 
    mandos.conf and clients from clients.conf, but refer to their man
114
 
    pages for more details.
115
 
*** DIAGNOSTICS
116
 
    Create this section
117
 
*** SECURITY
118
 
    Create this section
119
 
*** NOTES
120
 
    Create this section (if needed)
121
 
*** BUGS
122
 
    Create this section
123
 
*** SEE ALSO
124
 
    Refer to the client man page
125
 
** [#A] Config file man page: man5/mandos.conf (mandos.conf)
126
 
** [#A] Config file man page: man5/mandos-clients.conf (clients.conf)
 
55
* mandos (server)
127
56
** [#A] /etc/init.d/mandos-server               :teddy:
128
 
** Log level
 
57
** [#B] Log level                               :bugs:
129
58
** /etc/mandos/clients.d/*.conf
130
59
   Watch this directory and add/remove/update clients?
131
60
** config for TXT record
132
 
** Run-time communication with server
 
61
** [#B] Run-time communication with server      :bugs:
133
62
   Probably using D-Bus
134
63
   See also [[*Mandos-tools]]
135
 
** Implement --foreground
 
64
** Implement --foreground                       :bugs:
136
65
   [[info:standards:Option%20Table][Table of Long Options]]
137
66
** Implement --socket
138
67
   [[info:standards:Option%20Table][Table of Long Options]]
139
 
** Date+time on console log messages
 
68
** Date+time on console log messages            :bugs:
140
69
   Is this the default?
141
70
 
142
71
* Mandos-tools/utilities
145
74
** Disable client
146
75
** Enable client
147
76
 
 
77
* Man pages
 
78
** Use xinclude for common sections
 
79
   Like authors, etc.
 
80
 
 
81
 
148
82
* Installer
149
 
** Client
150
 
*** DONE [#A] Change initrd.img file to not be publically readable
151
 
    /usr/share/initramfs-tools/conf-hooks.d/mandos
152
 
    UMASK=027
 
83
** Client-side
153
84
*** Update initrd.img after installation
154
 
** Server
 
85
    This seems to use some kind of "trigger" system
 
86
    [[file:/usr/share/doc/dpkg/triggers.txt.gz]]
 
87
    dpkg-trigger(1), deb-triggers(5)
 
88
*** Keydir move: /etc/mandos -> /etc/keys/mandos
 
89
    Must create in preinst if not pre-depending on cryptsetup
 
90
*** mandos-keygen
 
91
**** "--passfile" option
 
92
     Using the "secfile" option instead of "secret"
 
93
**** [#A] "--test" option
 
94
     For testing decryption before rebooting.
 
95
** Server-side
155
96
*** [#A] Create mandos user and group for server
156
97
*** [#A] Create /var/run/mandos directory with perm and ownership
157
98
 
158
 
** mandos-keygen
159
 
*** [#A] Command man page: man8/mandos-keygen.8
160
 
*** [#A] Output cut-and-paste ready snippet for clients.conf.
161
 
 
162
99
* [#A] Package
163
100
** /usr/share/initramfs-tools/hooks/mandos
164
 
*** Do not install in initrd.img if configured not to
 
101
*** Do not install in initrd.img if configured not to.
165
102
    Use "/etc/initramfs-tools/conf.d/mandos"?  Definitely a debconf
166
103
    question.
167
104
** /etc/bash_completion.d/mandos
168
 
*** From xml sources directly?
 
105
   From XML sources directly?
169
106
** unperish
170
107
** bzr-builddeb
171
108