bzr branch
http://bzr.recompile.se/loggerhead/mandos/trunk
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
1 |
WARN=-O -Wall -Wformat=2 -Winit-self -Wmissing-include-dirs \ |
2 |
-Wswitch-default -Wswitch-enum -Wunused-parameter \ |
|
3 |
-Wstrict-aliasing=2 -Wextra -Wfloat-equal -Wundef -Wshadow \ |
|
4 |
-Wunsafe-loop-optimizations -Wpointer-arith \ |
|
5 |
-Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings \ |
|
6 |
-Wconversion -Wstrict-prototypes -Wold-style-definition \ |
|
7 |
-Wpacked -Wnested-externs -Wunreachable-code -Winline \ |
|
8 |
-Wvolatile-register-var
|
|
21
by Teddy Hogeborn
* Makefile (CFLAGS): Changed to use $(WARN), $(DEBUG), $(COVERAGE) and |
9 |
DEBUG=-ggdb3 |
28
by Teddy Hogeborn
* server.conf: New file. |
10 |
# For info about _FORTIFY_SOURCE, see
|
11 |
# <http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html>
|
|
12 |
FORTIFY=-D_FORTIFY_SOURCE=2 # -fstack-protector-all |
|
73
by Teddy Hogeborn
* Makefile (COVERAGE): Change back to "--coverage". |
13 |
#COVERAGE=--coverage
|
24.1.51
by Björn Påhlsson
Added configuration files support for mandos-client |
14 |
OPTIMIZE=-Os |
21
by Teddy Hogeborn
* Makefile (CFLAGS): Changed to use $(WARN), $(DEBUG), $(COVERAGE) and |
15 |
LANGUAGE=-std=gnu99 |
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
16 |
# PREFIX=/usr/local
|
96
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR, MANDIR): Use $(DESTDIR). |
17 |
PREFIX=$(DESTDIR)/usr |
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
18 |
# CONFDIR=/usr/local/lib/mandos
|
96
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR, MANDIR): Use $(DESTDIR). |
19 |
CONFDIR=$(DESTDIR)/etc/mandos |
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
20 |
# MANDIR=/usr/local/man
|
96
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR, MANDIR): Use $(DESTDIR). |
21 |
MANDIR=$(DESTDIR)/usr/share/man |
21
by Teddy Hogeborn
* Makefile (CFLAGS): Changed to use $(WARN), $(DEBUG), $(COVERAGE) and |
22 |
|
81
by Teddy Hogeborn
* Makefile (GNUTLS_CFLAGS, GNUTLS_LIBS, AVAHI_CFLAGS, AVAHI_LIBS, |
23 |
GNUTLS_CFLAGS=$(shell libgnutls-config --cflags) |
24 |
GNUTLS_LIBS=$(shell libgnutls-config --libs) |
|
25 |
AVAHI_CFLAGS=$(shell pkg-config --cflags-only-I avahi-core) |
|
26 |
AVAHI_LIBS=$(shell pkg-config --libs avahi-core) |
|
27 |
GPGME_CFLAGS=$(shell gpgme-config --cflags) |
|
28 |
GPGME_LIBS=$(shell gpgme-config --libs) |
|
29 |
||
21
by Teddy Hogeborn
* Makefile (CFLAGS): Changed to use $(WARN), $(DEBUG), $(COVERAGE) and |
30 |
# Do not change these two
|
81
by Teddy Hogeborn
* Makefile (GNUTLS_CFLAGS, GNUTLS_LIBS, AVAHI_CFLAGS, AVAHI_LIBS, |
31 |
CFLAGS=$(WARN) $(DEBUG) $(FORTIFY) $(COVERAGE) $(OPTIMIZE) \ |
32 |
$(LANGUAGE) $(GNUTLS_CFLAGS) $(AVAHI_CFLAGS) $(GPGME_CFLAGS) |
|
21
by Teddy Hogeborn
* Makefile (CFLAGS): Changed to use $(WARN), $(DEBUG), $(COVERAGE) and |
33 |
LDFLAGS=$(COVERAGE) |
16
by Teddy Hogeborn
* Makefile: Include targets for all binaries. |
34 |
|
91
by Teddy Hogeborn
* Makefile (DOCBOOKTOMAN): Include all DocBook-to-manpage-related |
35 |
# Commands to format a DocBook refentry document into a manual page
|
36 |
DOCBOOKTOMAN=cd $(dir $^); xsltproc --nonet --xinclude \ |
|
62
by Teddy Hogeborn
* Makefile (DOCBOOKTOMAN): Do not generate AUTHORS section. |
37 |
--param man.charmap.use.subset 0 \ |
38 |
--param make.year.ranges 1 \ |
|
39 |
--param make.single.year.ranges 1 \ |
|
40 |
--param man.output.quietly 1 \ |
|
84
by Teddy Hogeborn
* Makefile (DOCBOOKTOMAN): Use the local manpages/docbook.xsl file, do |
41 |
--param man.authors.section.enabled 0 \ |
91
by Teddy Hogeborn
* Makefile (DOCBOOKTOMAN): Include all DocBook-to-manpage-related |
42 |
/usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl \ |
43 |
$(notdir $<); \ |
|
44 |
$(MANPOST) $(notdir $@) |
|
81
by Teddy Hogeborn
* Makefile (GNUTLS_CFLAGS, GNUTLS_LIBS, AVAHI_CFLAGS, AVAHI_LIBS, |
45 |
# DocBook-to-man post-processing to fix a \n escape bug
|
95
by Teddy Hogeborn
* Makefile (MANPOST): Bug fix: corrected patterns. |
46 |
MANPOST=sed --in-place --expression='s,\\\\en,\\en,g;s,\\n,\\en,g' |
24.1.25
by Björn Påhlsson
* clients.conf.xml: Renamed to "mandos-clients.conf.xml". |
47 |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
48 |
PLUGINS=plugins.d/password-prompt plugins.d/password-request |
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
49 |
PROGS=plugin-runner $(PLUGINS) |
50 |
DOCS=mandos.8 plugin-runner.8mandos mandos-keygen.8 \ |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
51 |
plugins.d/password-request.8mandos \ |
52 |
plugins.d/password-prompt.8mandos mandos.conf.5 \ |
|
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
53 |
mandos-clients.conf.5
|
16
by Teddy Hogeborn
* Makefile: Include targets for all binaries. |
54 |
|
81
by Teddy Hogeborn
* Makefile (GNUTLS_CFLAGS, GNUTLS_LIBS, AVAHI_CFLAGS, AVAHI_LIBS, |
55 |
objects=$(addsuffix .o,$(PROGS)) |
16
by Teddy Hogeborn
* Makefile: Include targets for all binaries. |
56 |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
57 |
all: $(PROGS) |
58 |
||
59 |
doc: $(DOCS) |
|
24.1.25
by Björn Påhlsson
* clients.conf.xml: Renamed to "mandos-clients.conf.xml". |
60 |
|
61 |
%.5: %.xml |
|
91
by Teddy Hogeborn
* Makefile (DOCBOOKTOMAN): Include all DocBook-to-manpage-related |
62 |
$(DOCBOOKTOMAN) |
24.1.25
by Björn Påhlsson
* clients.conf.xml: Renamed to "mandos-clients.conf.xml". |
63 |
|
64 |
%.8: %.xml |
|
91
by Teddy Hogeborn
* Makefile (DOCBOOKTOMAN): Include all DocBook-to-manpage-related |
65 |
$(DOCBOOKTOMAN) |
24.1.25
by Björn Påhlsson
* clients.conf.xml: Renamed to "mandos-clients.conf.xml". |
66 |
|
67 |
%.8mandos: %.xml |
|
91
by Teddy Hogeborn
* Makefile (DOCBOOKTOMAN): Include all DocBook-to-manpage-related |
68 |
$(DOCBOOKTOMAN) |
69 |
||
70 |
mandos.8: mandos.xml mandos-options.xml |
|
71 |
$(DOCBOOKTOMAN) |
|
72 |
||
73 |
mandos.conf.5: mandos.conf.xml mandos-options.xml |
|
74 |
$(DOCBOOKTOMAN) |
|
16
by Teddy Hogeborn
* Makefile: Include targets for all binaries. |
75 |
|
47
by Teddy Hogeborn
* plugbasedclient.c: Renamed to "mandos-client.c". All users changed. |
76 |
plugins.d/password-request: plugins.d/password-request.o |
81
by Teddy Hogeborn
* Makefile (GNUTLS_CFLAGS, GNUTLS_LIBS, AVAHI_CFLAGS, AVAHI_LIBS, |
77 |
$(LINK.o) $(GNUTLS_LIBS) $(AVAHI_LIBS) $(GPGME_LIBS) \ |
78 |
$(COMMON) $^ $(LOADLIBES) $(LDLIBS) -o $@ |
|
79 |
||
80 |
.PHONY : all doc clean distclean run-client run-server install \ |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
81 |
install-server install-client uninstall uninstall-server \ |
82 |
uninstall-client purge purge-server purge-client |
|
47
by Teddy Hogeborn
* plugbasedclient.c: Renamed to "mandos-client.c". All users changed. |
83 |
|
1
by Björn Påhlsson
First working version with: IPv6, GnuTLS, X.509 certificates, DN |
84 |
clean: |
24.1.25
by Björn Påhlsson
* clients.conf.xml: Renamed to "mandos-clients.conf.xml". |
85 |
-rm --force $(PROGS) $(objects) $(DOCS) core |
47
by Teddy Hogeborn
* plugbasedclient.c: Renamed to "mandos-client.c". All users changed. |
86 |
|
87 |
distclean: clean |
|
88 |
mostlyclean: clean |
|
89 |
maintainer-clean: clean |
|
104
by Teddy Hogeborn
* Makefile (maintainer-clean): Also remove "confdir". |
90 |
-rm --force --recursive keydir confdir |
47
by Teddy Hogeborn
* plugbasedclient.c: Renamed to "mandos-client.c". All users changed. |
91 |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
92 |
check: |
47
by Teddy Hogeborn
* plugbasedclient.c: Renamed to "mandos-client.c". All users changed. |
93 |
./mandos --check |
94 |
||
104
by Teddy Hogeborn
* Makefile (maintainer-clean): Also remove "confdir". |
95 |
# Run the server with a local key
|
96 |
run-client: all keydir/seckey.txt keydir/pubkey.txt \ |
|
97 |
keydir/secring.gpg keydir/pubring.gpg |
|
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
98 |
./plugin-runner --plugin-dir=plugins.d \ |
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
99 |
--options-for=password-request:--keydir=keydir |
47
by Teddy Hogeborn
* plugbasedclient.c: Renamed to "mandos-client.c". All users changed. |
100 |
|
104
by Teddy Hogeborn
* Makefile (maintainer-clean): Also remove "confdir". |
101 |
# Used by run-client
|
102 |
keydir/secring.gpg: keydir/seckey.txt |
|
103 |
gpg --homedir $(dir $<) --import $^ |
|
104 |
keydir/pubring.gpg: keydir/pubkey.txt |
|
105 |
gpg --homedir $(dir $<) --import $^ |
|
106 |
keydir/seckey.txt keydir/pubkey.txt: mandos-keygen |
|
107 |
install --directory keydir |
|
108 |
./mandos-keygen --dir keydir --force |
|
109 |
||
110 |
# Run the server with a local config
|
|
111 |
run-server: confdir/mandos.conf confdir/clients.conf |
|
112 |
./mandos --debug --configdir=confdir |
|
113 |
||
114 |
# Used by run-server
|
|
115 |
confdir/mandos.conf: mandos.conf |
|
116 |
install --directory confdir |
|
117 |
install $^ $@ |
|
118 |
confdir/clients.conf: clients.conf keydir/seckey.txt |
|
119 |
install --directory confdir |
|
120 |
install clients.conf $@ |
|
121 |
# Add a client password
|
|
122 |
./mandos-keygen --dir keydir --password >> $@ |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
123 |
|
124 |
install: install-server install-client |
|
125 |
||
126 |
install-server: doc |
|
96
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR, MANDIR): Use $(DESTDIR). |
127 |
install --directory --parents $(CONFDIR) $(MANDIR)/man5 \ |
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
128 |
$(MANDIR)/man8 |
129 |
install --mode=0755 mandos $(PREFIX)/sbin/mandos |
|
130 |
install --mode=0644 --target-directory=$(CONFDIR) mandos.conf |
|
131 |
install --mode=0640 --target-directory=$(CONFDIR) \ |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
132 |
clients.conf
|
133 |
gzip --best --to-stdout mandos.8 \ |
|
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
134 |
> $(MANDIR)/man8/mandos.8.gz |
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
135 |
gzip --best --to-stdout mandos.conf.5 \ |
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
136 |
> $(MANDIR)/man5/mandos.conf.5.gz |
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
137 |
gzip --best --to-stdout mandos-clients.conf.5 \ |
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
138 |
> $(MANDIR)/man5/mandos-clients.conf.5.gz |
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
139 |
|
140 |
install-client: all doc /usr/share/initramfs-tools/hooks/. |
|
96
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR, MANDIR): Use $(DESTDIR). |
141 |
install --directory --parents $(PREFIX)/lib/mandos \ |
142 |
$(CONFDIR) $(MANDIR)/man8 |
|
143 |
install --directory --mode=0700 $(PREFIX)/lib/mandos/plugins.d |
|
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
144 |
chmod u=rwx,g=,o= $(PREFIX)/lib/mandos/plugins.d |
145 |
install --mode=0755 --target-directory=$(PREFIX)/lib/mandos \ |
|
146 |
plugin-runner
|
|
147 |
install --mode=0755 --target-directory=$(PREFIX)/sbin \ |
|
148 |
mandos-keygen
|
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
149 |
install --mode=0755 \ |
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
150 |
--target-directory=$(PREFIX)/lib/mandos/plugins.d \ |
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
151 |
plugins.d/password-prompt
|
152 |
install --mode=4755 \ |
|
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
153 |
--target-directory=$(PREFIX)/lib/mandos/plugins.d \ |
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
154 |
plugins.d/password-request
|
155 |
install initramfs-tools-hook \ |
|
156 |
/usr/share/initramfs-tools/hooks/mandos
|
|
157 |
install initramfs-tools-hook-conf \ |
|
158 |
/usr/share/initramfs-tools/conf-hooks.d/mandos
|
|
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
159 |
install initramfs-tools-script \ |
160 |
/usr/share/initramfs-tools/scripts/local-top/mandos
|
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
161 |
gzip --best --to-stdout mandos-keygen.8 \ |
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
162 |
> $(MANDIR)/man8/mandos-keygen.8.gz |
163 |
gzip --best --to-stdout plugin-runner.8mandos \ |
|
164 |
> $(MANDIR)/man8/plugin-runner.8mandos.gz |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
165 |
gzip --best --to-stdout plugins.d/password-prompt.8mandos \ |
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
166 |
> $(MANDIR)/man8/password-prompt.8mandos.gz |
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
167 |
gzip --best --to-stdout plugins.d/password-request.8mandos \ |
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
168 |
> $(MANDIR)/man8/password-request.8mandos.gz |
169 |
-$(PREFIX)/sbin/mandos-keygen |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
170 |
update-initramfs -k all -u |
171 |
||
172 |
uninstall: uninstall-server uninstall-client |
|
173 |
||
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
174 |
uninstall-server: $(PREFIX)/sbin/mandos |
175 |
-rm --force $(PREFIX)/sbin/mandos \ |
|
176 |
$(MANDIR)/man8/mandos.8.gz \ |
|
177 |
$(MANDIR)/man5/mandos.conf.5.gz \ |
|
178 |
$(MANDIR)/man5/mandos-clients.conf.5.gz |
|
179 |
-rmdir $(CONFDIR) |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
180 |
|
181 |
uninstall-client: |
|
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
182 |
# Refuse to uninstall client if /etc/crypttab is explicitly configured
|
183 |
# to use it.
|
|
184 |
! grep --regexp='^ *[^ #].*keyscript=[^,=]*/mandos/' \ |
|
72
by Teddy Hogeborn
* Makefile (uninstall-client): Refuse to uninstall if it is in use. |
185 |
/etc/crypttab
|
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
186 |
-rm --force $(PREFIX)/sbin/mandos-keygen \ |
187 |
$(PREFIX)/lib/mandos/plugin-runner \ |
|
188 |
$(PREFIX)/lib/mandos/plugins.d/password-prompt \ |
|
189 |
$(PREFIX)/lib/mandos/plugins.d/password-request \ |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
190 |
/usr/share/initramfs-tools/hooks/mandos \ |
191 |
/usr/share/initramfs-tools/conf-hooks.d/mandos \ |
|
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
192 |
$(MANDIR)/man8/plugin-runner.8mandos.gz \ |
193 |
$(MANDIR)/man8/mandos-keygen.8.gz \ |
|
194 |
$(MANDIR)/man8/password-prompt.8mandos.gz \ |
|
195 |
$(MANDIR)/man8/password-request.8mandos.gz |
|
196 |
-rmdir $(PREFIX)/lib/mandos/plugins.d $(CONFDIR)/plugins.d \ |
|
197 |
$(PREFIX)/lib/mandos $(CONFDIR) |
|
198 |
update-initramfs -k all -u |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
199 |
|
200 |
purge: purge-server purge-client |
|
201 |
||
202 |
purge-server: uninstall-server |
|
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
203 |
-rm --force $(CONFDIR)/mandos.conf $(CONFDIR)/clients.conf |
204 |
-rmdir $(CONFDIR) |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
205 |
|
206 |
purge-client: uninstall-client |
|
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
207 |
-rm --force $(CONFDIR)/seckey.txt $(CONFDIR)/pubkey.txt |
208 |
-rmdir $(CONFDIR) $(CONFDIR)/plugins.d |