/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
-*- org -*-

* [#A] README file

* [#A] COPYING file
  [[file:/usr/share/common-licenses/GPL-3][GPLv3]]

* Mandos-client
** [#A] Man page: man8/mandos-client.8mandos
*** EXIT STATUS
    Create this section
*** USAGE
    Describe the plus sign syntax for passing options from crypttab
*** EXAMPLES
    Examples of normal usage, debug usage, debugging single or all
    plugins, examples of crypttab lines with plus syntax, etc.
*** FILES
    Describe plugin directory
*** DIAGNOSTICS
    Create this section
*** SECURITY
    Create this section
*** NOTES
    Create this section (if needed)
*** BUGS
    Create this section
*** SEE ALSO
    Refer to mandos(8), password-request(8mandos), and
    password-prompt(8mandos)
** [#B] Fix %d format strings to use [[https://secure.wikimedia.org/wikipedia/en/wiki/Inttypes.h][<inttypes.h>]]
** use strsep instead of strtok?
** use config file in addition to arguments
** pass things in environment, like device name, etc
** Fallback
   As a fallback, if no plugins can be found or if all of them failed,
   run getpass(3) itself.

* Password-request
** [#A] Man page: man8/password-request.8mandos
*** DESCRIPTION
    Move options to new OPTIONS section.
    State that this command is not meant to be invoked directly, but
    is run as a plugin from mandos-client(8) and only run in the
    initrd environment, not the real system.
*** EXIT STATUS
    Create this section
*** EXAMPLES
    Examples of normal usage, debug usage, debugging by connecting
    directly, etc.
*** FILES
    Describe the key files and the key ring files.  Also note that
    they should normally have been automatically created.
*** DIAGNOSTICS
    Create this section
*** SECURITY
    Create this section
*** NOTES
    Create this section (if needed)
*** BUGS
    Create this section
*** SEE ALSO
    Refer to mandos-client(8mandos) and password-prompt(8mandos)
** [#B] Fix %d format strings to use [[https://secure.wikimedia.org/wikipedia/en/wiki/Inttypes.h][<inttypes.h>]]
** start_mandos_communication: loop around gnutls_handshake
   [[info:gnutls.info.gz:Core%20functions][gnutls_handshake]]
** IPv4 support
** use strsep instead of strtok?
** Do not depend on GPG key rings on disk
   This would mean creating new GPG key rings with GPGME by importing
   the key files from scratch on every program start.

* Password-prompt
** [#A] Man page: man8/password-prompt.8mandos
*** DESCRIPTION
    Move options to new OPTIONS section.
*** EXIT STATUS
    Create this section
*** EXAMPLES
    Examples of normal usage, debug usage, with a prefix, etc.
*** DIAGNOSTICS
    Create this section
*** SECURITY
    Create this section
    Not much to do here but it is noteworthy to state the danger of
    not having a fallback option.
*** NOTES
    Note that this is more or less a simple getpass(3) wrapper, even
    though actual use of getpass(3) is not guaranteed.
*** BUGS
    Create this section
*** SEE ALSO
    Refer to mandos-client(8mandos) and password-request(8mandos)
** Use getpass(3)?
   Man page says "obsolete", but [[info:libc:getpass][GNU LibC Manual: Reading Passwords]]
   does not.  See also [[http://sources.redhat.com/ml/libc-alpha/2003-05/msg00251.html][Marcus Brinkmann: Re: getpass obsolete?]] and
   [[http://article.gmane.org/gmane.comp.lib.glibc.alpha/4906][Petter Reinholdtsen: Re: getpass obsolete?]], and especially also
   [[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?]]

* Mandos (server)
** [#A] Command man page: man8/mandos.8
*** DESCRIPTION
    Move options to new OPTIONS section
*** EXIT STATUS
    Create this section
*** EXAMPLES
    Create this section
*** FILES
    Describe briefly that the server gets global settings from
    mandos.conf and clients from clients.conf, but refer to their man
    pages for more details.
*** DIAGNOSTICS
    Create this section
*** SECURITY
    Create this section
*** NOTES
    Create this section (if needed)
*** BUGS
    Create this section
*** SEE ALSO
    Refer to the client man page
** [#A] Config file man page: man5/mandos.conf (mandos.conf)
** [#A] Config file man page: man5/mandos-clients.conf (clients.conf)
** [#A] /etc/init.d/mandos-server		:teddy:
** Log level
** /etc/mandos/clients.d/*.conf
   Watch this directory and add/remove/update clients?
** config for TXT record
** Run-time communication with server
   Probably using D-Bus
   See also [[*Mandos-tools]]
** Implement --foreground
   [[info:standards:Option%20Table][Table of Long Options]]
** Implement --socket
   [[info:standards:Option%20Table][Table of Long Options]]

* Mandos-tools/utilities
  All of this probably using D-Bus
** List clients
** Disable client
** Enable client

* Installer
** DONE [#A] Change initrd.img file to not be publically readable
   /etc/initramfs-tools/conf.d/mandos
   UMASK=027
** Update initrd.img after installation
** [#A] Create mandos user and group for server
** [#A] Create /var/run/mandos directory with perm and ownership

* [#A] Package
** /etc/bash_completion.d/mandos
** /etc/initramfs-tools/hooks/mandos
   [[file:/usr/share/doc/initramfs-tools/examples/example_hook][Example initramfs-tools hook script]]
*** Create GPG key ring files in initrd

* INSTALL file

* Web site

* Mailing list

* Announce project on news
  [[news:comp.os.linux.announce]]


#+STARTUP: showall