=== modified file 'Makefile'
--- Makefile 2008-09-07 09:36:35 +0000
+++ Makefile 2008-09-13 15:36:18 +0000
@@ -138,11 +138,12 @@
# Add a client password
./mandos-keygen --dir keydir --password >> $@
-install: install-server install-client
+install: install-server install-client-nokey
install-server: doc
install --directory $(CONFDIR) $(MANDIR)/man5 \
- $(MANDIR)/man8
+ $(MANDIR)/man8 $(DESTDIR)/etc/init.d \
+ $(DESTDIR)/etc/default $(PREFIX)/sbin
install --mode=u=rwx,go=rx mandos $(PREFIX)/sbin/mandos
install --mode=u=rw,go=r --target-directory=$(CONFDIR) \
mandos.conf
@@ -160,15 +161,18 @@
gzip --best --to-stdout mandos-clients.conf.5 \
> $(MANDIR)/man5/mandos-clients.conf.5.gz
-install-client: all doc $(INITRAMFSTOOLS)/hooks/.
+install-client-nokey: all doc
install --directory $(PREFIX)/lib/mandos $(CONFDIR) \
- $(MANDIR)/man8
+ $(MANDIR)/man8 $(PREFIX)/sbin \
+ $(INITRAMFSTOOLS)/hooks \
+ $(INITRAMFSTOOLS)/conf-hooks.d \
+ $(INITRAMFSTOOLS)/scripts/local-top
install --directory --mode=u=rwx $(KEYDIR)
install --directory --mode=u=rwx \
$(PREFIX)/lib/mandos/plugins.d
if [ "$(CONFDIR)" != "$(PREFIX)/lib/mandos" ]; then \
install --mode=u=rwx \
- --directory "$(CONFDIR)/plugins.d"; \
+ --directory "$(CONFDIR)/plugins.d" && \
install --mode=u=rw,go=r etc-plugins.d-README \
$(CONFDIR)/plugins.d/README ; \
fi
@@ -200,6 +204,8 @@
> $(MANDIR)/man8/password-prompt.8mandos.gz
gzip --best --to-stdout plugins.d/mandos-client.8mandos \
> $(MANDIR)/man8/mandos-client.8mandos.gz
+
+install-client: install-client-nokey
# Post-installation stuff
-$(PREFIX)/sbin/mandos-keygen --dir "$(KEYDIR)"
update-initramfs -k all -u
=== modified file 'README'
--- README 2008-09-05 07:11:24 +0000
+++ README 2008-09-13 15:36:18 +0000
@@ -3,15 +3,15 @@
* Mandos
- Have your cake and eat it too!
- You know how it is. You've heard of it happening. The Man comes
- and takes away your servers, your friends' servers, the servers of
+ You know how it is. You’ve heard of it happening. The Man comes
+ and takes away your servers, your friends’ servers, the servers of
everybody in the same hosting facility. The servers of their
- neighbors, and their neighbors' friends. The servers of people who
- owe them money. And like *that*, they're gone. And you doubt
- you'll ever see them again.
+ neighbors, and their neighbors’ friends. The servers of people who
+ owe them money. And like *that*, they’re gone. And you doubt
+ you’ll ever see them again.
That is why your servers have encrypted root file systems. However,
- there's a downside. There's no going around it: rebooting is a
+ there’s a downside. There’s no going around it: rebooting is a
pain. Dragging out that rarely-used keyboard and screen and
unraveling cables behind your servers to plug them in to type in
that password is messy, especially if you have many servers. There
@@ -23,7 +23,7 @@
have to be on hand and manually type in the password at boot time.
Otherwise the server just sits there, waiting for a password.
- Wouldn't it be great if you could have the security of encrypted
+ Wouldn’t it be great if you could have the security of encrypted
root file systems and still have servers that could boot up
automatically if there was a short power outage while you were
asleep? That you could reboot at will, without having someone run
@@ -129,3 +129,24 @@
focused, and competent attacks, but against the early morning knock
on your door and the sudden absence of all the servers in your
server room. Which it does nicely.
+
+* Copyright
+
+ Copyright (C) 2008 Teddy Hogeborn
+ 2008 Björn Påhlsson
+
+** License:
+
+ This program is free software: you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see
+ .
=== modified file 'TODO'
--- TODO 2008-09-06 16:31:49 +0000
+++ TODO 2008-09-13 19:20:50 +0000
@@ -1,84 +1,79 @@
-*- org -*-
-* plugin-runner
+* DONE plugin-runner
* mandos-client
-** [#B] Temporarily lower kernel log level
+** TODO [#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
+** TODO IPv4 support
+** TODO use strsep instead of strtok?
-* password-prompt
+* DONE password-prompt
* mandos (server)
-** [#A] /etc/init.d/mandos-server :teddy:
-** [#B] Log level :bugs:
-** /etc/mandos/clients.d/*.conf
+** TODO [#B] Log level :bugs:
+** TODO /etc/mandos/clients.d/*.conf
Watch this directory and add/remove/update clients?
-** config for TXT record
-** [#B] Run-time communication with server :bugs:
+** TODO config for TXT record
+** TODO [#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:
+** TODO Implement --foreground :bugs:
+ [[info:standards:Option%20Table][Table of Long Options]]
+** TODO Implement --socket
+ [[info:standards:Option%20Table][Table of Long Options]]
+** TODO Date+time on console log messages :bugs:
Is this the default?
-** delete hook when clients fall out by timeout
+** TODO delete hook when clients fall out by timeout
* Mandos-tools/utilities
All of this probably using D-Bus
-** List clients
-** Disable client
-** Enable client
-** Reboot timer
+** TODO List clients
+** TODO Disable client
+** TODO Enable client
+** TODO Reset timer
* Man pages
-** Use xinclude for common sections
+** TODO Use xinclude for all common sections
Like authors, etc.
* Installer
** Client-side
-*** Update initrd.img after installation
+*** TODO 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)
*** mandos-keygen
-**** "--passfile" option
+**** TODO [#A] Ask for password twice for confirmation
+**** TODO "--passfile" option
Using the "secfile" option instead of "secret"
-**** [#A] "--test" option
+**** TODO [#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] install rc.d script and do update-rc.d
- between config files and man pages
+*** TODO [#A] Create mandos user and group for server
* [#A] Package
** /usr/share/initramfs-tools/hooks/mandos
-*** Do not install in initrd.img if configured not to.
+*** TODO 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
+** TODO /etc/bash_completion.d/mandos
From XML sources directly?
-** unperish
-** bzr-builddeb
-
-* INSTALL file
-
-* Web site
+** TODO unperish
+** DONE bzr-builddeb
+
+* TODO Web site
+** DONE http://www.fukt.bsnet.se/mandos
+ Redirects to the wiki page
+** TODO http://wiki.fukt.bsnet.se/wiki/Mandos
* Mailing list
+** DONE mandos-dev
+*** TODO http://gmane.org/subscribe.php
-* Announce project on news
+* TODO Announce project on Usenet
[[news:comp.os.linux.announce]]
=== modified file 'mandos-clients.conf.xml'
--- mandos-clients.conf.xml 2008-09-04 13:36:59 +0000
+++ mandos-clients.conf.xml 2008-09-12 19:12:40 +0000
@@ -4,7 +4,7 @@
/etc/mandos/clients.conf">
-
+
]>
@@ -37,7 +37,7 @@
-
+
&CONFNAME;5
@@ -49,11 +49,11 @@
Configuration file for the Mandos server
-
+
&CONFPATH;
-
+
DESCRIPTION
@@ -95,9 +95,9 @@
Unknown options are ignored. The used options are as follows:
-
+
-
+
@@ -126,7 +126,7 @@
-
+
@@ -149,7 +149,7 @@
-
+
@@ -223,7 +223,7 @@
-
+
@@ -241,7 +241,7 @@
-
+
@@ -313,7 +313,7 @@
mode is needed to expose an error of this kind.
-
+
@@ -373,7 +373,6 @@
fingerprint = 3e393aeaefb84c7e89e2f547b3a107558fca3a27
secfile = /etc/mandos/bar-secret
timeout = 15m
-
=== modified file 'mandos-keygen.xml'
--- mandos-keygen.xml 2008-09-06 16:31:49 +0000
+++ mandos-keygen.xml 2008-09-12 19:12:40 +0000
@@ -3,7 +3,7 @@
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-
+
]>
@@ -36,7 +36,7 @@
-
+
&COMMANDNAME;8
@@ -48,7 +48,7 @@
Generate key and password for Mandos client and server.
-
+
&COMMANDNAME;
@@ -197,7 +197,7 @@
-
+
@@ -210,7 +210,7 @@
-
+
@@ -222,7 +222,7 @@
-
+
@@ -234,7 +234,7 @@
-
+
@@ -247,7 +247,7 @@
-
+
@@ -259,7 +259,7 @@
-
+
@@ -271,7 +271,7 @@
-
+
@@ -284,7 +284,7 @@
-
+
@@ -298,7 +298,7 @@
-
+
@@ -328,7 +328,7 @@
-
+
OVERVIEW
@@ -338,7 +338,7 @@
clients.conf on the server.
-
+
EXIT STATUS
@@ -401,13 +401,13 @@
-
+
-
+
EXAMPLE
@@ -454,7 +454,7 @@
-
+
SECURITY
@@ -469,7 +469,7 @@
8.
-
+
SEE ALSO
=== modified file 'mandos.conf.xml'
--- mandos.conf.xml 2008-09-04 13:36:59 +0000
+++ mandos.conf.xml 2008-09-12 19:12:40 +0000
@@ -4,7 +4,7 @@
/etc/mandos/mandos.conf">
-
+
]>
@@ -37,7 +37,7 @@
-
+
&CONFNAME;5
@@ -49,11 +49,11 @@
Configuration file for the Mandos server
-
+
&CONFPATH;
-
+
DESCRIPTION
@@ -71,7 +71,7 @@
# or ; are ignored and may be used
to provide comments.
-
+
OPTIONS
@@ -84,7 +84,7 @@
-
+
@@ -92,7 +92,7 @@
-
+
@@ -100,7 +100,7 @@
-
+
-
+
@@ -119,7 +119,7 @@
-
+
@@ -185,7 +185,7 @@
mandos-clients.conf5
-
+
=== modified file 'mandos.xml'
--- mandos.xml 2008-09-06 16:31:49 +0000
+++ mandos.xml 2008-09-12 19:12:40 +0000
@@ -3,7 +3,7 @@
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-
+
]>
@@ -36,7 +36,7 @@
-
+
&COMMANDNAME;8
@@ -48,7 +48,7 @@
Gives encrypted passwords to authenticated Mandos clients
-
+
&COMMANDNAME;
@@ -100,7 +100,7 @@
-
+
DESCRIPTION
@@ -186,7 +186,7 @@
-
+
@@ -194,7 +194,7 @@
-
+
@@ -203,7 +203,7 @@
xpointer="servicename"/>
-
+
@@ -218,7 +218,7 @@
-
+
@@ -229,7 +229,7 @@
-
+
OVERVIEW
@@ -239,7 +239,7 @@
RAM disk environment.
-
+
NETWORK PROTOCOL
@@ -297,7 +297,7 @@
-
+
CHECKING
@@ -311,7 +311,7 @@
5.
-
+
LOGGING
@@ -321,7 +321,7 @@
and also show them on the console.
-
+
EXIT STATUS
@@ -329,7 +329,7 @@
critical error is encountered.
-
+
ENVIRONMENT
@@ -349,7 +349,7 @@
-
+
FILES
@@ -479,7 +479,7 @@
-
+
SECURITY
@@ -534,7 +534,7 @@
-
+
SEE ALSO
=== modified file 'overview.xml'
--- overview.xml 2008-09-01 08:29:23 +0000
+++ overview.xml 2008-09-13 15:36:18 +0000
@@ -6,10 +6,12 @@
encrypted root file systems and at the same time be capable of
remote and/or unattended reboots. The computers run a small client
program in the initial RAM disk environment which
- will communicate with a server over a network. The clients are
- identified by the server using a OpenPGP key; each client has one
- unique to it. The server sends the clients an encrypted password.
- The encrypted password is decrypted by the clients using the same
- OpenPGP key, and the password is then used to unlock the root file
- system, whereupon the computers can continue booting normally.
+ will communicate with a server over a network. All network
+ communication is encrypted using TLS. The
+ clients are identified by the server using an OpenPGP key; each
+ client has one unique to it. The server sends the clients an
+ encrypted password. The encrypted password is decrypted by the
+ clients using the same OpenPGP key, and the password is then used to
+ unlock the root file system, whereupon the computers can continue
+ booting normally.
=== modified file 'plugin-runner.xml'
--- plugin-runner.xml 2008-09-06 16:31:49 +0000
+++ plugin-runner.xml 2008-09-12 19:12:40 +0000
@@ -3,7 +3,7 @@
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-
+
]>
@@ -36,7 +36,7 @@
-
+
&COMMANDNAME;8mandos
@@ -48,7 +48,7 @@
Run Mandos plugins, pass data from first to succeed.
-
+
&COMMANDNAME;
@@ -247,7 +247,7 @@
-
+
@@ -261,7 +261,7 @@
-
+
@@ -276,7 +276,7 @@
-
+
@@ -289,7 +289,7 @@
-
+
@@ -302,7 +302,7 @@
-
+
@@ -365,7 +365,7 @@
-
+
@@ -377,7 +377,7 @@
-
+
OVERVIEW
@@ -403,7 +403,7 @@
code will make this plugin-runner output the password from that
plugin, stop any other plugins, and exit.
-
+
WRITING PLUGINS
=== modified file 'plugins.d/mandos-client.xml'
--- plugins.d/mandos-client.xml 2008-09-06 16:33:08 +0000
+++ plugins.d/mandos-client.xml 2008-09-12 19:12:40 +0000
@@ -3,7 +3,7 @@
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-
+
]>
@@ -36,7 +36,7 @@
-
+
&COMMANDNAME;8mandos
@@ -48,7 +48,7 @@
Client for Mandos
-
+
&COMMANDNAME;
@@ -113,7 +113,7 @@
-
+
DESCRIPTION
@@ -215,7 +215,7 @@
-
+
@@ -238,7 +238,7 @@
xpointer="priority"/>
-
+
@@ -284,7 +284,7 @@
-
+
@@ -296,7 +296,7 @@
-
+
OVERVIEW
@@ -368,7 +368,7 @@
-
+
EXAMPLE
@@ -423,7 +423,7 @@
-
+
SECURITY
@@ -470,7 +470,7 @@
confidential.
-
+
SEE ALSO
@@ -601,8 +601,8 @@
-
+