/mandos/release

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/release
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
-*- org -*-

* [#A] README file

* plugin-runner
** [#B] Add more comments to code
** [#B] Add more if(debug) calls
** [#B] Seperate more code to function for more readability
** [#A] Man page: man8/plugin-runner.8mandos
*** EXIT STATUS
*** ENVIRONMENT
    Environment is modified according to options and passed to plugins
*** EXAMPLE
    Examples of normal usage, debug usage, debugging single or all
    plugins, etc.
*** FILES
*** SECURITY
    Note the danger of using this program, since you might lock
    yourself out of your system without any means of entering the root
    file system password.  This is, however, very unlikely considering
    the fallback to getpass(3).
*** BUGS
*** SEE ALSO
    Explaining text on what you can read

* password-request
** [#A] Man page: man8/password-request.8mandos
*** SYNOPSIS
    Document short options
*** DESCRIPTION
    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.
*** PURPOSE
    As in mandos.xml
*** OVERVIEW
    As in mandos.xml
*** EXIT STATUS
*** ENVIRONMENT
    Note that it does *not* currently use cryptsource or crypttarget.
*** FILES
    Describe the key files and the key ring files.  Also note that
    they should normally have been automatically created.
*** BUGS
*** EXAMPLE
    Examples of normal usage, debug usage, debugging by connecting
    directly, etc.
*** SECURITY
*** SEE ALSO
    Update from mandos.xml
** [#B] Temporarily lower kernel log level
   for less printouts during sucessfull boot.
** IPv4 support
** use strsep instead of strtok?
** Do not depend on GnuPG key rings on disk
   This would mean creating new GnuPG key rings with GPGME by
   importing the key files from scratch on every program start.
** Keydir move: /etc/mandos -> /etc/keys/mandos
   Must create in preinst if not pre-depending on cryptsetup

* password-prompt
** [#C] 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] /etc/init.d/mandos-server		:teddy:
** [#B] Log level				:bugs:
** /etc/mandos/clients.d/*.conf
   Watch this directory and add/remove/update clients?
** config for TXT record
** [#B] Run-time communication with server	:bugs:
   Probably using D-Bus
   See also [[*Mandos-tools]]
** Implement --foreground			:bugs:
   [[info:standards:Option%20Table][Table of Long Options]]
** Implement --socket
   [[info:standards:Option%20Table][Table of Long Options]]
** Date+time on console log messages		:bugs:
   Is this the default?

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

* Man pages
** Tags
   Go through all man pages to conform to the style of tags chosen in
   [[http://svn.debian.org/wsvn/debian-xml-sgml/packages/docbook-xsl/trunk/debian/examples/foo.1.example_manpage.xml?op=file&rev=0&sc=0][foo.1.example_manpage.xml]].  In particular:
*** SYNOPSIS
    <arg> with inner <option> and <replaceable> tags
    Unify long and short options.
**** DONE mandos-clients.conf.xml
**** DONE mandos-keygen.xml
**** DONE mandos.conf.xml
**** DONE mandos.xml
**** DONE plugin-runner.xml
**** DONE plugins.d/password-prompt.xml
**** DONE plugins.d/password-request.xml
*** OPTIONS
    Separate <term> tags with <option> and <replaceable> tags.
**** DONE mandos-clients.conf.xml
**** TODO mandos-keygen.xml
**** DONE mandos.conf.xml
**** TODO mandos.xml
**** TODO plugin-runner.xml
**** TODO plugins.d/password-prompt.xml
**** TODO plugins.d/password-request.xml
** Use xinclude for common sections
   Like copyright, authors, etc.


* Installer
** Client-side
*** Update initrd.img after installation
    This seems to use some kind of "trigger" system
    [[file:/usr/share/doc/dpkg/triggers.txt.gz]]
    dpkg-trigger(1), deb-triggers(5)
*** Keydir move: /etc/mandos -> /etc/keys/mandos
    Must create in preinst if not pre-depending on cryptsetup
*** mandos-keygen
**** "--passfile" option
     Using the "secfile" option instead of "secret"
**** [#A] "--test" option
     For testing decryption before rebooting.
** Server-side
*** [#A] Create mandos user and group for server
*** [#A] Create /var/run/mandos directory with perm and ownership

* [#A] Package
** /usr/share/initramfs-tools/hooks/mandos
*** Do not install in initrd.img if configured not to.
    Use "/etc/initramfs-tools/conf.d/mandos"?  Definitely a debconf
    question.
** /etc/bash_completion.d/mandos
   From XML sources directly?
** unperish
** bzr-builddeb

* INSTALL file

* Web site

* Mailing list

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


#+STARTUP: showall