/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to Makefile

  • Committer: Teddy Hogeborn
  • Date: 2008-12-10 01:26:02 UTC
  • mfrom: (237.1.2 mandos)
  • Revision ID: teddy@fukt.bsnet.se-20081210012602-vhz3h75xkj24t340
First version of a somewhat complete D-Bus server interface.  Also
change user/group name to "_mandos".

* debian/mandos.postinst: Rename old "mandos" user and group to
                          "_mandos"; create "_mandos" user and group
                          if none exist.
* debian/mandos-client.postinst: - '' -

* initramfs-tools-hook: Try "_mandos" before "mandos" as user and
                        group name.

* mandos (_datetime_to_dbus_struct): New; was previously local.
  (Client.started): Renamed to "last_started".  All users changed.
  (Client.started): New; boolean.
  (Client.dbus_object_path): New.
  (Client.check_command): Renamed to "checker_command".  All users
                          changed.
  (Client.__init__): Set and use "self.dbus_object_path".  Set
                     "self.started".
  (Client.start): Update "self.started".  Emit "self.PropertyChanged"
                  signals for both "started" and "last_started".
  (Client.stop): Update "self.started".  Emit "self.PropertyChanged"
                 signal for "started".
  (Client.checker_callback): Take additional "command" argument.  All
                             callers changed. Emit
                             "self.PropertyChanged" signal.
  (Client.bump_timeout): Emit "self.PropertyChanged" signal for
                         "last_checked_ok".
  (Client.start_checker): Emit "self.PropertyChanged" signal for
                          "checker_running".
  (Client.stop_checker): Emit "self.PropertyChanged" signal for
                         "checker_running".
  (Client.still_valid): Bug fix: use "getattr(self, started, False)"
                        instead of "self.started" in case this client
                        object is so new that the "started" attribute
                        has not been created yet.
  (Client.IntervalChanged, Client.CheckerIsRunning, Client.GetChecker,
  Client.GetCreated, Client.GetFingerprint, Client.GetHost,
  Client.GetInterval, Client.GetName, Client.GetStarted,
  Client.GetTimeout, Client.StateChanged, Client.TimeoutChanged):
  Removed; all callers changed.
  (Client.CheckerCompleted): Add "condition" and "command" arguments.
                             All callers changed.
  (Client.GetAllProperties, Client.PropertyChanged): New.
  (Client.StillValid): Renamed to "IsStillValid".
  (Client.StartChecker): Changed to its own function to avoid the
                         return value from "Client.start_checker()".
  (Client.Stop): Changed to its own function to avoid the return value
                 from "Client.stop()".
  (main): Try "_mandos" before "mandos" as user and group name.
          Removed inner function "remove_from_clients".  New inner
          class "MandosServer".

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
        -Wunsafe-loop-optimizations -Wpointer-arith \
5
5
        -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings \
6
6
        -Wconversion -Wstrict-prototypes -Wold-style-definition \
7
 
        -Wpacked -Wnested-externs -Wunreachable-code -Winline \
8
 
        -Wvolatile-register-var
9
 
DEBUG=-ggdb3
 
7
        -Wpacked -Wnested-externs -Winline -Wvolatile-register-var
 
8
#       -Wunreachable-code 
 
9
#DEBUG=-ggdb3
10
10
# For info about _FORTIFY_SOURCE, see
11
11
# <http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html>
12
 
FORTIFY=-D_FORTIFY_SOURCE=2 # -fstack-protector-all
 
12
FORTIFY=-D_FORTIFY_SOURCE=2 -fstack-protector-all -fPIE -pie
 
13
LINK_FORTIFY=-z relro -pie
13
14
#COVERAGE=--coverage
14
15
OPTIMIZE=-Os
15
16
LANGUAGE=-std=gnu99
16
 
# PREFIX=/usr/local
 
17
htmldir=man
 
18
version=1.0.2
 
19
SED=sed
 
20
 
 
21
## Use these settings for a traditional /usr/local install
 
22
# PREFIX=$(DESTDIR)/usr/local
 
23
# CONFDIR=$(DESTDIR)/etc/mandos
 
24
# KEYDIR=$(DESTDIR)/etc/mandos/keys
 
25
# MANDIR=$(PREFIX)/man
 
26
# INITRAMFSTOOLS=$(DESTDIR)/etc/initramfs-tools
 
27
##
 
28
 
 
29
## These settings are for a package-type install
17
30
PREFIX=$(DESTDIR)/usr
18
 
# CONFDIR=/usr/local/lib/mandos
19
31
CONFDIR=$(DESTDIR)/etc/mandos
20
 
# MANDIR=/usr/local/man
21
 
MANDIR=$(DESTDIR)/usr/share/man
 
32
KEYDIR=$(DESTDIR)/etc/keys/mandos
 
33
MANDIR=$(PREFIX)/share/man
 
34
INITRAMFSTOOLS=$(DESTDIR)/usr/share/initramfs-tools
 
35
##
22
36
 
23
37
GNUTLS_CFLAGS=$(shell libgnutls-config --cflags)
24
38
GNUTLS_LIBS=$(shell libgnutls-config --libs)
29
43
 
30
44
# Do not change these two
31
45
CFLAGS=$(WARN) $(DEBUG) $(FORTIFY) $(COVERAGE) $(OPTIMIZE) \
32
 
        $(LANGUAGE) $(GNUTLS_CFLAGS) $(AVAHI_CFLAGS) $(GPGME_CFLAGS)
33
 
LDFLAGS=$(COVERAGE)
 
46
        $(LANGUAGE) $(GNUTLS_CFLAGS) $(AVAHI_CFLAGS) $(GPGME_CFLAGS) \
 
47
        -DVERSION='"$(version)"'
 
48
LDFLAGS=$(COVERAGE) $(LINK_FORTIFY)
34
49
 
35
 
# Commands to format a DocBook refentry document into a manual page
 
50
# Commands to format a DocBook <refentry> document into a manual page
36
51
DOCBOOKTOMAN=cd $(dir $<); xsltproc --nonet --xinclude \
37
52
        --param man.charmap.use.subset          0 \
38
53
        --param make.year.ranges                1 \
42
57
         /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl \
43
58
        $(notdir $<); \
44
59
        $(MANPOST) $(notdir $@)
45
 
# DocBook-to-man post-processing to fix a \n escape bug
46
 
MANPOST=sed --in-place --expression='s,\\\\en,\\en,g;s,\\n,\\en,g'
47
 
 
48
 
PLUGINS=plugins.d/password-prompt plugins.d/password-request
49
 
PROGS=plugin-runner $(PLUGINS)
 
60
# DocBook-to-man post-processing to fix a '\n' escape bug
 
61
MANPOST=$(SED) --in-place --expression='s,\\\\en,\\en,g;s,\\n,\\en,g'
 
62
 
 
63
DOCBOOKTOHTML=xsltproc --nonet --xinclude \
 
64
        --param make.year.ranges                1 \
 
65
        --param make.single.year.ranges         1 \
 
66
        --param man.output.quietly              1 \
 
67
        --param man.authors.section.enabled     0 \
 
68
        --param citerefentry.link               1 \
 
69
        --output $@ \
 
70
        /usr/share/xml/docbook/stylesheet/nwalsh/xhtml/docbook.xsl \
 
71
        $<; $(HTMLPOST) $@
 
72
# Fix citerefentry links
 
73
HTMLPOST=$(SED) --in-place \
 
74
        --expression='s/\(<a class="citerefentry" href="\)\("><span class="citerefentry"><span class="refentrytitle">\)\([^<]*\)\(<\/span>(\)\([^)]*\)\()<\/span><\/a>\)/\1\3.\5\2\3\4\5\6/g'
 
75
 
 
76
PLUGINS=plugins.d/password-prompt plugins.d/mandos-client \
 
77
        plugins.d/usplash plugins.d/splashy plugins.d/askpass-fifo
 
78
CPROGS=plugin-runner $(PLUGINS)
 
79
PROGS=mandos mandos-keygen $(CPROGS)
50
80
DOCS=mandos.8 plugin-runner.8mandos mandos-keygen.8 \
51
 
        plugins.d/password-request.8mandos \
 
81
        plugins.d/mandos-client.8mandos \
52
82
        plugins.d/password-prompt.8mandos mandos.conf.5 \
53
 
        mandos-clients.conf.5
54
 
 
55
 
objects=$(addsuffix .o,$(PROGS))
56
 
 
57
 
all: $(PROGS)
 
83
        plugins.d/usplash.8mandos plugins.d/splashy.8mandos \
 
84
        plugins.d/askpass-fifo.8mandos mandos-clients.conf.5
 
85
 
 
86
htmldocs=$(addsuffix .xhtml,$(DOCS))
 
87
 
 
88
objects=$(addsuffix .o,$(CPROGS))
 
89
 
 
90
all: $(PROGS) mandos.lsm
58
91
 
59
92
doc: $(DOCS)
60
93
 
61
 
%.5: %.xml legalnotice.xml
62
 
        $(DOCBOOKTOMAN)
63
 
 
64
 
%.8: %.xml legalnotice.xml
65
 
        $(DOCBOOKTOMAN)
66
 
 
67
 
%.8mandos: %.xml legalnotice.xml
68
 
        $(DOCBOOKTOMAN)
69
 
 
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
85
 
        $(DOCBOOKTOMAN)
86
 
 
87
 
plugins.d/password-request: plugins.d/password-request.o
 
94
html: $(htmldocs)
 
95
 
 
96
%.5: %.xml common.ent legalnotice.xml
 
97
        $(DOCBOOKTOMAN)
 
98
%.5.xhtml: %.xml common.ent legalnotice.xml
 
99
        $(DOCBOOKTOHTML)
 
100
 
 
101
%.8: %.xml common.ent legalnotice.xml
 
102
        $(DOCBOOKTOMAN)
 
103
%.8.xhtml: %.xml common.ent legalnotice.xml
 
104
        $(DOCBOOKTOHTML)
 
105
 
 
106
%.8mandos: %.xml common.ent legalnotice.xml
 
107
        $(DOCBOOKTOMAN)
 
108
%.8mandos.xhtml: %.xml common.ent legalnotice.xml
 
109
        $(DOCBOOKTOHTML)
 
110
 
 
111
mandos.8: mandos.xml common.ent mandos-options.xml overview.xml \
 
112
                legalnotice.xml
 
113
        $(DOCBOOKTOMAN)
 
114
mandos.8.xhtml: mandos.xml common.ent mandos-options.xml \
 
115
                overview.xml legalnotice.xml
 
116
        $(DOCBOOKTOHTML)
 
117
 
 
118
mandos-keygen.8: mandos-keygen.xml common.ent overview.xml \
 
119
                legalnotice.xml
 
120
        $(DOCBOOKTOMAN)
 
121
mandos-keygen.8.xhtml: mandos-keygen.xml common.ent overview.xml \
 
122
                 legalnotice.xml
 
123
        $(DOCBOOKTOHTML)
 
124
 
 
125
mandos.conf.5: mandos.conf.xml common.ent mandos-options.xml \
 
126
                legalnotice.xml
 
127
        $(DOCBOOKTOMAN)
 
128
mandos.conf.5.xhtml: mandos.conf.xml common.ent mandos-options.xml \
 
129
                legalnotice.xml
 
130
        $(DOCBOOKTOHTML)
 
131
 
 
132
plugin-runner.8mandos: plugin-runner.xml common.ent overview.xml \
 
133
                legalnotice.xml
 
134
        $(DOCBOOKTOMAN)
 
135
plugin-runner.8mandos.xhtml: plugin-runner.xml common.ent \
 
136
                overview.xml legalnotice.xml
 
137
        $(DOCBOOKTOHTML)
 
138
 
 
139
plugins.d/mandos-client.8mandos: plugins.d/mandos-client.xml \
 
140
                                        common.ent \
 
141
                                        mandos-options.xml \
 
142
                                        overview.xml legalnotice.xml
 
143
        $(DOCBOOKTOMAN)
 
144
plugins.d/mandos-client.8mandos.xhtml: plugins.d/mandos-client.xml \
 
145
                                        common.ent \
 
146
                                        mandos-options.xml \
 
147
                                        overview.xml legalnotice.xml
 
148
        $(DOCBOOKTOHTML)
 
149
 
 
150
# Update all these files with version number $(version)
 
151
common.ent: Makefile
 
152
        $(SED) --in-place \
 
153
                --expression='s/^\(<ENTITY VERSION "\)[^"]*">$$/\1$(version)"/' \
 
154
                $@
 
155
 
 
156
mandos: Makefile
 
157
        $(SED) --in-place \
 
158
                --expression='s/^\(version = "\)[^"]*"$$/\1$(version)"/' \
 
159
                $@
 
160
 
 
161
mandos-keygen: Makefile
 
162
        $(SED) --in-place \
 
163
                --expression='s/^\(VERSION="\)[^"]*"$$/\1$(version)"/' \
 
164
                $@
 
165
 
 
166
mandos.lsm: Makefile
 
167
        $(SED) --in-place \
 
168
                --expression='s/^\(Version:\).*/\1\t$(version)/' \
 
169
                $@
 
170
        $(SED) --in-place \
 
171
                --expression='s/^\(Entered-date:\).*/\1\t$(shell date --rfc-3339=date --reference=Makefile)/' \
 
172
                $@
 
173
 
 
174
plugins.d/mandos-client: plugins.d/mandos-client.o
88
175
        $(LINK.o) $(GNUTLS_LIBS) $(AVAHI_LIBS) $(GPGME_LIBS) \
89
176
                $(COMMON) $^ $(LOADLIBES) $(LDLIBS) -o $@
90
177
 
91
 
.PHONY : all doc clean distclean run-client run-server install \
 
178
.PHONY : all doc html clean distclean run-client run-server install \
92
179
        install-server install-client uninstall uninstall-server \
93
180
        uninstall-client purge purge-server purge-client
94
181
 
95
182
clean:
96
 
        -rm --force $(PROGS) $(objects) $(DOCS) core
 
183
        -rm --force $(CPROGS) $(objects) $(htmldocs) $(DOCS) core
97
184
 
98
185
distclean: clean
99
186
mostlyclean: clean
100
187
maintainer-clean: clean
101
188
        -rm --force --recursive keydir confdir
102
189
 
103
 
check:
 
190
check:  all
104
191
        ./mandos --check
105
192
 
106
193
# Run the client with a local config and key
107
194
run-client: all keydir/seckey.txt keydir/pubkey.txt
108
195
        ./plugin-runner --plugin-dir=plugins.d \
109
196
                --config-file=plugin-runner.conf \
110
 
                --options-for=password-request:--seckey=keydir/seckey.txt,--pubkey=keydir/pubkey.txt
 
197
                --options-for=mandos-client:--seckey=keydir/seckey.txt,--pubkey=keydir/pubkey.txt
111
198
 
112
199
# Used by run-client
113
200
keydir/seckey.txt keydir/pubkey.txt: mandos-keygen
121
208
# Used by run-server
122
209
confdir/mandos.conf: mandos.conf
123
210
        install --directory confdir
124
 
        install --mode=0644 $^ $@
 
211
        install --mode=u=rw,go=r $^ $@
125
212
confdir/clients.conf: clients.conf keydir/seckey.txt
126
213
        install --directory confdir
127
 
        install --mode=0640 $< $@
 
214
        install --mode=u=rw $< $@
128
215
# Add a client password
129
216
        ./mandos-keygen --dir keydir --password >> $@
130
217
 
131
 
install: install-server install-client
 
218
install: install-server install-client-nokey
 
219
 
 
220
install-html: html
 
221
        install --directory $(htmldir)
 
222
        install --mode=u=rw,go=r --target-directory=$(htmldir) \
 
223
                $(htmldocs)
132
224
 
133
225
install-server: doc
134
 
        install --directory --parents $(CONFDIR) $(MANDIR)/man5 \
135
 
                $(MANDIR)/man8
136
 
        install --mode=0755 mandos $(PREFIX)/sbin/mandos
137
 
        install --mode=0644 --target-directory=$(CONFDIR) mandos.conf
138
 
        install --mode=0640 --target-directory=$(CONFDIR) \
 
226
        install --directory $(CONFDIR)
 
227
        install --mode=u=rwx,go=rx mandos $(PREFIX)/sbin/mandos
 
228
        install --mode=u=rw,go=r --target-directory=$(CONFDIR) \
 
229
                mandos.conf
 
230
        install --mode=u=rw --target-directory=$(CONFDIR) \
139
231
                clients.conf
 
232
        install --mode=u=rwx,go=rx init.d-mandos \
 
233
                $(DESTDIR)/etc/init.d/mandos
 
234
        install --mode=u=rw,go=r default-mandos \
 
235
                $(DESTDIR)/etc/default/mandos
 
236
        if [ -z $(DESTDIR) ]; then \
 
237
                update-rc.d mandos defaults 25 15;\
 
238
        fi
140
239
        gzip --best --to-stdout mandos.8 \
141
240
                > $(MANDIR)/man8/mandos.8.gz
142
241
        gzip --best --to-stdout mandos.conf.5 \
144
243
        gzip --best --to-stdout mandos-clients.conf.5 \
145
244
                > $(MANDIR)/man5/mandos-clients.conf.5.gz
146
245
 
147
 
install-client: all doc /usr/share/initramfs-tools/hooks/.
148
 
        install --directory --parents $(PREFIX)/lib/mandos \
149
 
                $(CONFDIR) $(MANDIR)/man8
150
 
        install --directory --mode=0700 $(PREFIX)/lib/mandos/plugins.d
151
 
        chmod u=rwx,g=,o= $(PREFIX)/lib/mandos/plugins.d
152
 
        install --mode=0755 --target-directory=$(PREFIX)/lib/mandos \
153
 
                plugin-runner
154
 
        install --mode=0755 --target-directory=$(PREFIX)/sbin \
 
246
install-client-nokey: all doc
 
247
        install --directory $(PREFIX)/lib/mandos $(CONFDIR)
 
248
        install --directory --mode=u=rwx $(KEYDIR) \
 
249
                $(PREFIX)/lib/mandos/plugins.d
 
250
        if [ "$(CONFDIR)" != "$(PREFIX)/lib/mandos" ]; then \
 
251
                install --mode=u=rwx \
 
252
                        --directory "$(CONFDIR)/plugins.d"; \
 
253
        fi
 
254
        install --mode=u=rwx,go=rx \
 
255
                --target-directory=$(PREFIX)/lib/mandos plugin-runner
 
256
        install --mode=u=rwx,go=rx --target-directory=$(PREFIX)/sbin \
155
257
                mandos-keygen
156
 
        install --mode=0755 \
 
258
        install --mode=u=rwx,go=rx \
157
259
                --target-directory=$(PREFIX)/lib/mandos/plugins.d \
158
260
                plugins.d/password-prompt
159
 
        install --mode=4755 \
160
 
                --target-directory=$(PREFIX)/lib/mandos/plugins.d \
161
 
                plugins.d/password-request
 
261
        install --mode=u=rwxs,go=rx \
 
262
                --target-directory=$(PREFIX)/lib/mandos/plugins.d \
 
263
                plugins.d/mandos-client
 
264
        install --mode=u=rwxs,go=rx \
 
265
                --target-directory=$(PREFIX)/lib/mandos/plugins.d \
 
266
                plugins.d/usplash
 
267
        install --mode=u=rwxs,go=rx \
 
268
                --target-directory=$(PREFIX)/lib/mandos/plugins.d \
 
269
                plugins.d/splashy
 
270
        install --mode=u=rwxs,go=rx \
 
271
                --target-directory=$(PREFIX)/lib/mandos/plugins.d \
 
272
                plugins.d/askpass-fifo
162
273
        install initramfs-tools-hook \
163
 
                /usr/share/initramfs-tools/hooks/mandos
164
 
        install initramfs-tools-hook-conf \
165
 
                /usr/share/initramfs-tools/conf-hooks.d/mandos
 
274
                $(INITRAMFSTOOLS)/hooks/mandos
 
275
        install --mode=u=rw,go=r initramfs-tools-hook-conf \
 
276
                $(INITRAMFSTOOLS)/conf-hooks.d/mandos
166
277
        install initramfs-tools-script \
167
 
                /usr/share/initramfs-tools/scripts/local-top/mandos
 
278
                $(INITRAMFSTOOLS)/scripts/local-top/mandos
 
279
        install --mode=u=rw,go=r plugin-runner.conf $(CONFDIR)
168
280
        gzip --best --to-stdout mandos-keygen.8 \
169
281
                > $(MANDIR)/man8/mandos-keygen.8.gz
170
282
        gzip --best --to-stdout plugin-runner.8mandos \
171
283
                > $(MANDIR)/man8/plugin-runner.8mandos.gz
172
284
        gzip --best --to-stdout plugins.d/password-prompt.8mandos \
173
285
                > $(MANDIR)/man8/password-prompt.8mandos.gz
174
 
        gzip --best --to-stdout plugins.d/password-request.8mandos \
175
 
                > $(MANDIR)/man8/password-request.8mandos.gz
176
 
        -$(PREFIX)/sbin/mandos-keygen
 
286
        gzip --best --to-stdout plugins.d/mandos-client.8mandos \
 
287
                > $(MANDIR)/man8/mandos-client.8mandos.gz
 
288
        gzip --best --to-stdout plugins.d/usplash.8mandos \
 
289
                > $(MANDIR)/man8/usplash.8mandos.gz
 
290
        gzip --best --to-stdout plugins.d/splashy.8mandos \
 
291
                > $(MANDIR)/man8/splashy.8mandos.gz
 
292
        gzip --best --to-stdout plugins.d/askpass-fifo.8mandos \
 
293
                > $(MANDIR)/man8/askpass-fifo.8mandos.gz
 
294
 
 
295
install-client: install-client-nokey
 
296
# Post-installation stuff
 
297
        -$(PREFIX)/sbin/mandos-keygen --dir "$(KEYDIR)"
177
298
        update-initramfs -k all -u
 
299
        echo "Now run mandos-keygen --password --dir $(KEYDIR)"
178
300
 
179
301
uninstall: uninstall-server uninstall-client
180
302
 
181
 
uninstall-server: $(PREFIX)/sbin/mandos
 
303
uninstall-server:
182
304
        -rm --force $(PREFIX)/sbin/mandos \
183
305
                $(MANDIR)/man8/mandos.8.gz \
184
306
                $(MANDIR)/man5/mandos.conf.5.gz \
185
307
                $(MANDIR)/man5/mandos-clients.conf.5.gz
 
308
        update-rc.d -f mandos remove
186
309
        -rmdir $(CONFDIR)
187
310
 
188
311
uninstall-client:
189
312
# Refuse to uninstall client if /etc/crypttab is explicitly configured
190
313
# to use it.
191
314
        ! grep --regexp='^ *[^ #].*keyscript=[^,=]*/mandos/' \
192
 
                /etc/crypttab
 
315
                $(DESTDIR)/etc/crypttab
193
316
        -rm --force $(PREFIX)/sbin/mandos-keygen \
194
317
                $(PREFIX)/lib/mandos/plugin-runner \
195
318
                $(PREFIX)/lib/mandos/plugins.d/password-prompt \
196
 
                $(PREFIX)/lib/mandos/plugins.d/password-request \
197
 
                /usr/share/initramfs-tools/hooks/mandos \
198
 
                /usr/share/initramfs-tools/conf-hooks.d/mandos \
 
319
                $(PREFIX)/lib/mandos/plugins.d/mandos-client \
 
320
                $(PREFIX)/lib/mandos/plugins.d/usplash \
 
321
                $(PREFIX)/lib/mandos/plugins.d/splashy \
 
322
                $(PREFIX)/lib/mandos/plugins.d/askpass-fifo \
 
323
                $(INITRAMFSTOOLS)/hooks/mandos \
 
324
                $(INITRAMFSTOOLS)/conf-hooks.d/mandos \
 
325
                $(INITRAMFSTOOLS)/scripts/local-top/mandos \
199
326
                $(MANDIR)/man8/plugin-runner.8mandos.gz \
200
327
                $(MANDIR)/man8/mandos-keygen.8.gz \
201
328
                $(MANDIR)/man8/password-prompt.8mandos.gz \
202
 
                $(MANDIR)/man8/password-request.8mandos.gz
 
329
                $(MANDIR)/man8/usplash.8mandos.gz \
 
330
                $(MANDIR)/man8/splashy.8mandos.gz \
 
331
                $(MANDIR)/man8/askpass-fifo.8mandos.gz \
 
332
                $(MANDIR)/man8/mandos-client.8mandos.gz
203
333
        -rmdir $(PREFIX)/lib/mandos/plugins.d $(CONFDIR)/plugins.d \
204
 
                 $(PREFIX)/lib/mandos $(CONFDIR)
 
334
                 $(PREFIX)/lib/mandos $(CONFDIR) $(KEYDIR)
205
335
        update-initramfs -k all -u
206
336
 
207
337
purge: purge-server purge-client
208
338
 
209
339
purge-server: uninstall-server
210
 
        -rm --force $(CONFDIR)/mandos.conf $(CONFDIR)/clients.conf
 
340
        -rm --force $(CONFDIR)/mandos.conf $(CONFDIR)/clients.conf \
 
341
                $(DESTDIR)/etc/default/mandos \
 
342
                $(DESTDIR)/etc/init.d/mandos \
 
343
                $(DESTDIR)/var/run/mandos.pid
211
344
        -rmdir $(CONFDIR)
212
345
 
213
346
purge-client: uninstall-client
214
 
        -rm --force $(CONFDIR)/seckey.txt $(CONFDIR)/pubkey.txt
215
 
        -rmdir $(CONFDIR) $(CONFDIR)/plugins.d
 
347
        -shred --remove $(KEYDIR)/seckey.txt
 
348
        -rm --force $(CONFDIR)/plugin-runner.conf \
 
349
                $(KEYDIR)/pubkey.txt $(KEYDIR)/seckey.txt
 
350
        -rmdir $(KEYDIR) $(CONFDIR)/plugins.d $(CONFDIR)