/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-08-18 05:24:20 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080818052420-ab5eurrioz8n2qy6
* Makefile: Bug fix: fixed creation of man pages in "plugins.d".

* mandos-keygen Bug fix: make the --expire option modify
                KEYEXPIRE, not KEYCOMMENT.  Use the "--no-options"
                option to gpg when exporting keys from the temporary
                key ring files.

* mandos-keygen.xml (EXIT STATUS): Filled in.
  (ENVIRONMENT): New section, documenting use of TMPDIR.
  (FILES): Document use of key files and /tmp.
  (BUGS): Filled in.
  (EXAMPLE): Added two examples.
  (SECURITY): Added some text.

* plugins.d/password-prompt.xml (NOTES): Removed, since this is
                                         created automatically for
                                         footnotes.
  (ENVIRONMENT, FILES): Added empty sections.
  (EXAMPLES): Renamed to "EXAMPLE", as per man-pages(7).

* plugins.d/password-request.xml: Reordered sections.
  (ENVIRONMENT): New empty section.
  (EXAMPLES): Renamed to "EXAMPLE", as per man-pages(7).

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 
3
3
* [#A] README file
4
4
 
5
 
* [#A] COPYING file
6
 
  [[file:/usr/share/common-licenses/GPL-3][GPLv3]]
7
 
 
8
 
* Mandos-client
9
 
** [#A] Man page: man8/mandos-client.8mandos
10
 
*** SYNOPSIS
11
 
    Needs options listed, not just "[OPTION...]"
12
 
*** DESCRIPTION
13
 
    Move options to new OPTIONS section.
14
 
    State that this command is not meant to be invoked directly, but
15
 
    is meant to be run by cryptsetup by being specified in
16
 
    /etc/crypttab and only run in the initrd environment, not the real
17
 
    system.
 
5
* plugin-runner
 
6
** [#B] Add more comments to code
 
7
** [#B] Add more if(debug) calls
 
8
** [#B] Seperate more code to function for more readability
 
9
** [#A] Man page: man8/plugin-runner.8mandos
18
10
*** EXIT STATUS
19
 
    Create this section
20
 
*** USAGE
21
 
    Describe the plus sign syntax for passing options from crypttab
22
11
*** EXAMPLES
23
12
    Examples of normal usage, debug usage, debugging single or all
24
 
    plugins, examples of crypttab lines with plus syntax, etc.
 
13
    plugins, etc.
25
14
*** FILES
26
 
    Describe plugin directory
27
 
*** DIAGNOSTICS
28
 
    Create this section
29
15
*** SECURITY
30
 
    Create this section
31
 
*** NOTES
32
 
    Create this section (if needed)
33
16
*** BUGS
34
 
    Create this section
35
17
*** SEE ALSO
36
 
    Refer to mandos(8), password-request(8mandos), and
37
 
    password-prompt(8mandos)
38
 
** [#B] Fix %d format strings to use [[https://secure.wikimedia.org/wikipedia/en/wiki/Inttypes.h][<inttypes.h>]]
39
 
** use strsep instead of strtok?
40
 
** use config file in addition to arguments
41
 
** pass things in environment, like device name, etc
42
 
** Fallback
43
 
   As a fallback, if no plugins can be found or if all of them failed,
44
 
   run getpass(3) itself.
 
18
    Explaining text on what you can read
 
19
** Keydir move: /etc/mandos -> /etc/keys/mandos
 
20
   Must create in preinst if not pre-depending on cryptsetup
45
21
 
46
 
* Password-request
 
22
* password-request
47
23
** [#A] Man page: man8/password-request.8mandos
48
24
*** SYNOPSIS
49
 
    Needs options listed, not just "[OPTION...]"
 
25
    Document short options
50
26
*** DESCRIPTION
51
 
    Move options to new OPTIONS section.
52
27
    State that this command is not meant to be invoked directly, but
53
28
    is run as a plugin from mandos-client(8) and only run in the
54
29
    initrd environment, not the real system.
 
30
*** PURPOSE
 
31
    As in mandos.xml
 
32
*** OVERVIEW
 
33
    As in mandos.xml
55
34
*** EXIT STATUS
56
 
    Create this section
57
 
*** EXAMPLES
 
35
*** ENVIRONMENT
 
36
    Note that it does *not* currently use cryptsource or crypttarget.
 
37
*** FILES
 
38
    Describe the key files and the key ring files.  Also note that
 
39
    they should normally have been automatically created.
 
40
*** BUGS
 
41
*** EXAMPLE
58
42
    Examples of normal usage, debug usage, debugging by connecting
59
43
    directly, etc.
60
 
*** FILES
61
 
    Describe the key files and the key ring files.  Also note that
62
 
    they should normally have been automatically created.
63
 
*** DIAGNOSTICS
64
 
    Create this section
65
44
*** SECURITY
66
 
    Create this section
67
 
*** NOTES
68
 
    Create this section (if needed)
69
 
*** BUGS
70
 
    Create this section
71
45
*** SEE ALSO
72
 
    Refer to mandos-client(8mandos) and password-prompt(8mandos)
73
 
** [#B] Fix %d format strings to use [[https://secure.wikimedia.org/wikipedia/en/wiki/Inttypes.h][<inttypes.h>]]
74
 
** start_mandos_communication: loop around gnutls_handshake
75
 
   [[info:gnutls.info.gz:Core%20functions][gnutls_handshake]]
 
46
    Update from mandos.xml
 
47
** [#B] Temporarily lower kernel log level
 
48
   for less printouts during sucessfull boot.
76
49
** IPv4 support
77
50
** use strsep instead of strtok?
78
 
** Do not depend on GPG key rings on disk
79
 
   This would mean creating new GPG key rings with GPGME by importing
80
 
   the key files from scratch on every program start.
 
51
** Do not depend on GnuPG key rings on disk
 
52
   This would mean creating new GnuPG key rings with GPGME by
 
53
   importing the key files from scratch on every program start.
81
54
 
82
 
* Password-prompt
 
55
* password-prompt
83
56
** [#A] Man page: man8/password-prompt.8mandos
84
57
*** SYNOPSIS
85
 
    Needs options listed, not just "[OPTION...]"
 
58
    Document short options
86
59
*** DESCRIPTION
87
 
    Move options to new OPTIONS section.
 
60
    Note that this is more or less a simple getpass(3) wrapper, even
 
61
    though actual use of getpass(3) is not guaranteed.
88
62
*** EXIT STATUS
89
 
    Create this section
90
 
*** EXAMPLES
 
63
*** ENVIRONMENT
 
64
    Document use of "cryptsource" and "crypttarget".
 
65
*** FILES
 
66
*** BUGS
 
67
*** EXAMPLE
91
68
    Examples of normal usage, debug usage, with a prefix, etc.
92
 
*** DIAGNOSTICS
93
 
    Create this section
94
69
*** SECURITY
95
 
    Create this section
96
70
    Not much to do here but it is noteworthy to state the danger of
97
71
    not having a fallback option.
98
 
*** NOTES
99
 
    Note that this is more or less a simple getpass(3) wrapper, even
100
 
    though actual use of getpass(3) is not guaranteed.
101
 
*** BUGS
102
 
    Create this section
103
72
*** SEE ALSO
104
73
    Refer to mandos-client(8mandos) and password-request(8mandos)
 
74
    and also, perhaps, to cryptsetup(8)?
105
75
** Use getpass(3)?
106
76
   Man page says "obsolete", but [[info:libc:getpass][GNU LibC Manual: Reading Passwords]]
107
77
   does not.  See also [[http://sources.redhat.com/ml/libc-alpha/2003-05/msg00251.html][Marcus Brinkmann: Re: getpass obsolete?]] and
108
78
   [[http://article.gmane.org/gmane.comp.lib.glibc.alpha/4906][Petter Reinholdtsen: Re: getpass obsolete?]], and especially also
109
79
   [[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?]]
110
80
 
111
 
* Mandos (server)
112
 
** [#A] Command man page: man8/mandos.8
113
 
*** SYNOPSIS
114
 
    Needs options listed, not just "[OPTION...]"
115
 
*** DESCRIPTION
116
 
    Move options to new OPTIONS section
117
 
*** EXIT STATUS
118
 
    Create this section
119
 
*** EXAMPLES
120
 
    Create this section
121
 
*** FILES
122
 
    Describe briefly that the server gets global settings from
123
 
    mandos.conf and clients from clients.conf, but refer to their man
124
 
    pages for more details.
125
 
*** DIAGNOSTICS
126
 
    Create this section
127
 
*** SECURITY
128
 
    Create this section
129
 
*** NOTES
130
 
    Create this section (if needed)
131
 
*** BUGS
132
 
    Create this section
133
 
*** SEE ALSO
134
 
    Refer to the client man page
 
81
* mandos (server)
135
82
** [#A] Config file man page: man5/mandos.conf (mandos.conf)
136
83
** [#A] Config file man page: man5/mandos-clients.conf (clients.conf)
137
84
** [#A] /etc/init.d/mandos-server               :teddy:
138
 
** Log level
 
85
** [#B] Log level                               :bugs:
139
86
** /etc/mandos/clients.d/*.conf
140
87
   Watch this directory and add/remove/update clients?
141
88
** config for TXT record
142
 
** Run-time communication with server
 
89
** [#B] Run-time communication with server      :bugs:
143
90
   Probably using D-Bus
144
91
   See also [[*Mandos-tools]]
145
 
** Implement --foreground
 
92
** Implement --foreground                       :bugs:
146
93
   [[info:standards:Option%20Table][Table of Long Options]]
147
94
** Implement --socket
148
95
   [[info:standards:Option%20Table][Table of Long Options]]
 
96
** Date+time on console log messages            :bugs:
 
97
   Is this the default?
149
98
 
150
99
* Mandos-tools/utilities
151
100
  All of this probably using D-Bus
154
103
** Enable client
155
104
 
156
105
* Installer
157
 
** DONE [#A] Change initrd.img file to not be publically readable
158
 
   /etc/initramfs-tools/conf.d/mandos
159
 
   UMASK=027
160
 
** Update initrd.img after installation
161
 
** [#A] Create mandos user and group for server
162
 
** [#A] Create /var/run/mandos directory with perm and ownership
 
106
** Client
 
107
*** Update initrd.img after installation
 
108
    This seems to use some kind of "trigger" system
 
109
** Server
 
110
*** [#A] Create mandos user and group for server
 
111
*** [#A] Create /var/run/mandos directory with perm and ownership
 
112
 
 
113
** mandos-keygen
 
114
*** [#A] Output cut-and-paste ready snippet for clients.conf.
163
115
 
164
116
* [#A] Package
 
117
** /usr/share/initramfs-tools/hooks/mandos
 
118
*** Do not install in initrd.img if configured not to.
 
119
    Use "/etc/initramfs-tools/conf.d/mandos"?  Definitely a debconf
 
120
    question.
165
121
** /etc/bash_completion.d/mandos
166
 
** /etc/initramfs-tools/hooks/mandos
167
 
   [[file:/usr/share/doc/initramfs-tools/examples/example_hook][Example initramfs-tools hook script]]
168
 
*** Create GPG key ring files in initrd
 
122
*** From XML sources directly?
 
123
** unperish
 
124
** bzr-builddeb
169
125
 
170
126
* INSTALL file
171
127