/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
-*- org -*-

* README file

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

* Mandos-client
** [#A] Man page: man8/mandos-client.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

* Password-request
** [#A] Man page: man8/password-request.8mandos
** [#A] check return codes of all system calls
** [#B] header files/symbols tally
** [#B] Fix %d format strings to use [[https://secure.wikimedia.org/wikipedia/en/wiki/Inttypes.h][<inttypes.h>]]
** 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
** 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?]]

* Server
** [#A] Command man page: man8/mandos.8
** [#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
** [#A] Change initrd.img file to not be publically readable
** [#A] Create /etc/initramfs-tools/hooks/mandos
   [[file:/usr/share/doc/initramfs-tools/examples/example_hook][Example initramfs-tools hook script]]
** [#A] Create GPG key ring files in initrd
** [#A] Create mandos user and group for server
** [#A] Create /var/run/mandos directory with perm and ownership

* [[http://en.tldp.org/HOWTO/Software-Release-Practice-HOWTO/][Software Release Practice HOWTO]]


#+STARTUP: showall