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
|
105
by Teddy Hogeborn
* Makefile (DOCBOOKTOMAN): Only cd to one directory. |
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 |
|
131
by Teddy Hogeborn
* Makefile: Make all DocBook rules include legalnotice.xml as a |
61 |
%.5: %.xml legalnotice.xml |
62 |
$(DOCBOOKTOMAN) |
|
63 |
||
64 |
%.8: %.xml legalnotice.xml |
|
65 |
$(DOCBOOKTOMAN) |
|
66 |
||
67 |
%.8mandos: %.xml legalnotice.xml |
|
91
by Teddy Hogeborn
* Makefile (DOCBOOKTOMAN): Include all DocBook-to-manpage-related |
68 |
$(DOCBOOKTOMAN) |
69 |
||
143
by Teddy Hogeborn
* Makefile (mandos.8): Add dependency on "overview.xml" and |
70 |
mandos.8: mandos.xml mandos-options.xml overview.xml legalnotice.xml |
71 |
$(DOCBOOKTOMAN) |
|
72 |
||
73 |
mandos-keygen.8: mandos-keygen.xml overview.xml legalnotice.xml |
|
74 |
$(DOCBOOKTOMAN) |
|
75 |
||
76 |
mandos.conf.5: mandos.conf.xml mandos-options.xml legalnotice.xml |
|
77 |
$(DOCBOOKTOMAN) |
|
78 |
||
79 |
plugin-runner.8mandos: plugin-runner.xml overview.xml legalnotice.xml |
|
80 |
$(DOCBOOKTOMAN) |
|
81 |
||
82 |
plugins.d/password-request.8mandos: plugins.d/password-request.xml \ |
|
83 |
mandos-options.xml \ |
|
84 |
overview.xml legalnotice.xml |
|
91
by Teddy Hogeborn
* Makefile (DOCBOOKTOMAN): Include all DocBook-to-manpage-related |
85 |
$(DOCBOOKTOMAN) |
16
by Teddy Hogeborn
* Makefile: Include targets for all binaries. |
86 |
|
47
by Teddy Hogeborn
* plugbasedclient.c: Renamed to "mandos-client.c". All users changed. |
87 |
plugins.d/password-request: plugins.d/password-request.o |
81
by Teddy Hogeborn
* Makefile (GNUTLS_CFLAGS, GNUTLS_LIBS, AVAHI_CFLAGS, AVAHI_LIBS, |
88 |
$(LINK.o) $(GNUTLS_LIBS) $(AVAHI_LIBS) $(GPGME_LIBS) \ |
89 |
$(COMMON) $^ $(LOADLIBES) $(LDLIBS) -o $@ |
|
90 |
||
91 |
.PHONY : all doc clean distclean run-client run-server install \ |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
92 |
install-server install-client uninstall uninstall-server \ |
93 |
uninstall-client purge purge-server purge-client |
|
47
by Teddy Hogeborn
* plugbasedclient.c: Renamed to "mandos-client.c". All users changed. |
94 |
|
1
by Björn Påhlsson
First working version with: IPv6, GnuTLS, X.509 certificates, DN |
95 |
clean: |
24.1.25
by Björn Påhlsson
* clients.conf.xml: Renamed to "mandos-clients.conf.xml". |
96 |
-rm --force $(PROGS) $(objects) $(DOCS) core |
47
by Teddy Hogeborn
* plugbasedclient.c: Renamed to "mandos-client.c". All users changed. |
97 |
|
98 |
distclean: clean |
|
99 |
mostlyclean: clean |
|
100 |
maintainer-clean: clean |
|
104
by Teddy Hogeborn
* Makefile (maintainer-clean): Also remove "confdir". |
101 |
-rm --force --recursive keydir confdir |
47
by Teddy Hogeborn
* plugbasedclient.c: Renamed to "mandos-client.c". All users changed. |
102 |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
103 |
check: |
47
by Teddy Hogeborn
* plugbasedclient.c: Renamed to "mandos-client.c". All users changed. |
104 |
./mandos --check |
105 |
||
141
by Teddy Hogeborn
* Makefile (run-client): Add "--config-file=plugin-runner.conf". |
106 |
# Run the client with a local config and key
|
104
by Teddy Hogeborn
* Makefile (maintainer-clean): Also remove "confdir". |
107 |
run-client: all keydir/seckey.txt keydir/pubkey.txt \ |
108 |
keydir/secring.gpg keydir/pubring.gpg |
|
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
109 |
./plugin-runner --plugin-dir=plugins.d \ |
141
by Teddy Hogeborn
* Makefile (run-client): Add "--config-file=plugin-runner.conf". |
110 |
--config-file=plugin-runner.conf \ |
24.1.81
by Björn Påhlsson
removed keyring pre-requirement for starting password-request. |
111 |
--options-for=password-request:--seckey=keydir/seckey.txt,--pubkey=keydir/pubkey.txt |
47
by Teddy Hogeborn
* plugbasedclient.c: Renamed to "mandos-client.c". All users changed. |
112 |
|
104
by Teddy Hogeborn
* Makefile (maintainer-clean): Also remove "confdir". |
113 |
# Used by run-client
|
114 |
keydir/secring.gpg: keydir/seckey.txt |
|
115 |
gpg --homedir $(dir $<) --import $^ |
|
116 |
keydir/pubring.gpg: keydir/pubkey.txt |
|
117 |
gpg --homedir $(dir $<) --import $^ |
|
118 |
keydir/seckey.txt keydir/pubkey.txt: mandos-keygen |
|
119 |
install --directory keydir |
|
120 |
./mandos-keygen --dir keydir --force |
|
121 |
||
122 |
# Run the server with a local config
|
|
123 |
run-server: confdir/mandos.conf confdir/clients.conf |
|
124 |
./mandos --debug --configdir=confdir |
|
125 |
||
126 |
# Used by run-server
|
|
127 |
confdir/mandos.conf: mandos.conf |
|
128 |
install --directory confdir |
|
129 |
install $^ $@ |
|
130 |
confdir/clients.conf: clients.conf keydir/seckey.txt |
|
131 |
install --directory confdir |
|
132 |
install clients.conf $@ |
|
133 |
# Add a client password
|
|
134 |
./mandos-keygen --dir keydir --password >> $@ |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
135 |
|
136 |
install: install-server install-client |
|
137 |
||
138 |
install-server: doc |
|
96
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR, MANDIR): Use $(DESTDIR). |
139 |
install --directory --parents $(CONFDIR) $(MANDIR)/man5 \ |
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
140 |
$(MANDIR)/man8 |
141 |
install --mode=0755 mandos $(PREFIX)/sbin/mandos |
|
142 |
install --mode=0644 --target-directory=$(CONFDIR) mandos.conf |
|
143 |
install --mode=0640 --target-directory=$(CONFDIR) \ |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
144 |
clients.conf
|
145 |
gzip --best --to-stdout mandos.8 \ |
|
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
146 |
> $(MANDIR)/man8/mandos.8.gz |
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
147 |
gzip --best --to-stdout mandos.conf.5 \ |
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
148 |
> $(MANDIR)/man5/mandos.conf.5.gz |
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
149 |
gzip --best --to-stdout mandos-clients.conf.5 \ |
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
150 |
> $(MANDIR)/man5/mandos-clients.conf.5.gz |
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
151 |
|
152 |
install-client: all doc /usr/share/initramfs-tools/hooks/. |
|
96
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR, MANDIR): Use $(DESTDIR). |
153 |
install --directory --parents $(PREFIX)/lib/mandos \ |
154 |
$(CONFDIR) $(MANDIR)/man8 |
|
155 |
install --directory --mode=0700 $(PREFIX)/lib/mandos/plugins.d |
|
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
156 |
chmod u=rwx,g=,o= $(PREFIX)/lib/mandos/plugins.d |
157 |
install --mode=0755 --target-directory=$(PREFIX)/lib/mandos \ |
|
158 |
plugin-runner
|
|
159 |
install --mode=0755 --target-directory=$(PREFIX)/sbin \ |
|
160 |
mandos-keygen
|
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
161 |
install --mode=0755 \ |
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
162 |
--target-directory=$(PREFIX)/lib/mandos/plugins.d \ |
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
163 |
plugins.d/password-prompt
|
164 |
install --mode=4755 \ |
|
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
165 |
--target-directory=$(PREFIX)/lib/mandos/plugins.d \ |
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
166 |
plugins.d/password-request
|
167 |
install initramfs-tools-hook \ |
|
168 |
/usr/share/initramfs-tools/hooks/mandos
|
|
169 |
install initramfs-tools-hook-conf \ |
|
170 |
/usr/share/initramfs-tools/conf-hooks.d/mandos
|
|
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
171 |
install initramfs-tools-script \ |
172 |
/usr/share/initramfs-tools/scripts/local-top/mandos
|
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
173 |
gzip --best --to-stdout mandos-keygen.8 \ |
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
174 |
> $(MANDIR)/man8/mandos-keygen.8.gz |
175 |
gzip --best --to-stdout plugin-runner.8mandos \ |
|
176 |
> $(MANDIR)/man8/plugin-runner.8mandos.gz |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
177 |
gzip --best --to-stdout plugins.d/password-prompt.8mandos \ |
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
178 |
> $(MANDIR)/man8/password-prompt.8mandos.gz |
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
179 |
gzip --best --to-stdout plugins.d/password-request.8mandos \ |
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
180 |
> $(MANDIR)/man8/password-request.8mandos.gz |
181 |
-$(PREFIX)/sbin/mandos-keygen |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
182 |
update-initramfs -k all -u |
183 |
||
184 |
uninstall: uninstall-server uninstall-client |
|
185 |
||
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
186 |
uninstall-server: $(PREFIX)/sbin/mandos |
187 |
-rm --force $(PREFIX)/sbin/mandos \ |
|
188 |
$(MANDIR)/man8/mandos.8.gz \ |
|
189 |
$(MANDIR)/man5/mandos.conf.5.gz \ |
|
190 |
$(MANDIR)/man5/mandos-clients.conf.5.gz |
|
191 |
-rmdir $(CONFDIR) |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
192 |
|
193 |
uninstall-client: |
|
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
194 |
# Refuse to uninstall client if /etc/crypttab is explicitly configured
|
195 |
# to use it.
|
|
196 |
! grep --regexp='^ *[^ #].*keyscript=[^,=]*/mandos/' \ |
|
72
by Teddy Hogeborn
* Makefile (uninstall-client): Refuse to uninstall if it is in use. |
197 |
/etc/crypttab
|
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
198 |
-rm --force $(PREFIX)/sbin/mandos-keygen \ |
199 |
$(PREFIX)/lib/mandos/plugin-runner \ |
|
200 |
$(PREFIX)/lib/mandos/plugins.d/password-prompt \ |
|
201 |
$(PREFIX)/lib/mandos/plugins.d/password-request \ |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
202 |
/usr/share/initramfs-tools/hooks/mandos \ |
203 |
/usr/share/initramfs-tools/conf-hooks.d/mandos \ |
|
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
204 |
$(MANDIR)/man8/plugin-runner.8mandos.gz \ |
205 |
$(MANDIR)/man8/mandos-keygen.8.gz \ |
|
206 |
$(MANDIR)/man8/password-prompt.8mandos.gz \ |
|
207 |
$(MANDIR)/man8/password-request.8mandos.gz |
|
208 |
-rmdir $(PREFIX)/lib/mandos/plugins.d $(CONFDIR)/plugins.d \ |
|
209 |
$(PREFIX)/lib/mandos $(CONFDIR) |
|
210 |
update-initramfs -k all -u |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
211 |
|
212 |
purge: purge-server purge-client |
|
213 |
||
214 |
purge-server: uninstall-server |
|
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
215 |
-rm --force $(CONFDIR)/mandos.conf $(CONFDIR)/clients.conf |
216 |
-rmdir $(CONFDIR) |
|
67
by Teddy Hogeborn
* mandos-keygen: New program to generate new client keys on |
217 |
|
218 |
purge-client: uninstall-client |
|
74
by Teddy Hogeborn
* Makefile (PREFIX, CONFDIR): New. |
219 |
-rm --force $(CONFDIR)/seckey.txt $(CONFDIR)/pubkey.txt |
220 |
-rmdir $(CONFDIR) $(CONFDIR)/plugins.d |