/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: 2019-02-10 03:50:20 UTC
  • Revision ID: teddy@recompile.se-20190210035020-nttr1tybgwwixueu
Show debconf note about new TLS key IDs

If mandos-client did not see TLS keys and had to create them, or if
mandos sees GnuTLS version 3.6.6 or later, show an important notice on
package installation about the importance of adding the new key_id
options to clients.conf on the Mandos server.

* debian/control (Package: mandos, Package: mandos-client): Depend on
                                                            debconf.
* debian/mandos-client.lintian-overrides: Override warnings.
* debian/mandos-client.postinst (create_keys): Show notice if new TLS
                                               key files were created.
* debian/mandos-client.templates: New.
* debian/mandos.lintian-overrides: Override warnings.
* debian/mandos.postinst (configure): If GnuTLS 3.6.6 or later is
                                      detected, show an important
                                      notice (once) about the new
                                      key_id option required in
                                      clients.conf.
* debian/mandos.templates: New.

Show diffs side-by-side

added added

removed removed

Lines of Context:
40
40
OPTIMIZE:=-Os -fno-strict-aliasing
41
41
LANGUAGE:=-std=gnu11
42
42
htmldir:=man
43
 
version:=1.7.18
 
43
version:=1.7.20
44
44
SED:=sed
45
45
 
46
46
USER:=$(firstword $(subst :, ,$(shell getent passwd _mandos || getent passwd nobody || echo 65534)))
89
89
 
90
90
# Do not change these two
91
91
CFLAGS+=$(WARN) $(DEBUG) $(FORTIFY) $(SANITIZE) $(COVERAGE) \
92
 
        $(OPTIMIZE) $(LANGUAGE) $(GNUTLS_CFLAGS) $(AVAHI_CFLAGS) \
93
 
        $(GPGME_CFLAGS) -DVERSION='"$(version)"'
 
92
        $(OPTIMIZE) $(LANGUAGE) -DVERSION='"$(version)"'
94
93
LDFLAGS+=-Xlinker --as-needed $(COVERAGE) $(LINK_FORTIFY) $(foreach flag,$(LINK_FORTIFY_LD),-Xlinker $(flag))
95
94
 
96
95
# Commands to format a DocBook <refentry> document into a manual page
257
256
# -fsanitize=leak because GnuTLS and GPGME both leak memory.
258
257
plugins.d/mandos-client: plugins.d/mandos-client.c
259
258
        $(CC) $(filter-out -fsanitize=leak,$(CFLAGS)) $(strip\
 
259
        ) $(GNUTLS_CFLAGS) $(AVAHI_CFLAGS) $(GPGME_CFLAGS) $(strip\
260
260
                ) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH) $^ $(strip\
261
261
                ) -lrt $(GNUTLS_LIBS) $(AVAHI_LIBS) $(strip\
262
262
                ) $(GPGME_LIBS) $(LOADLIBES) $(LDLIBS) -o $@
284
284
        ./mandos-ctl --check
285
285
 
286
286
# Run the client with a local config and key
287
 
run-client: all keydir/seckey.txt keydir/pubkey.txt
 
287
run-client: all keydir/seckey.txt keydir/pubkey.txt keydir/tls-privkey.pem keydir/tls-pubkey.pem
288
288
        @echo "###################################################################"
289
289
        @echo "# The following error messages are harmless and can be safely     #"
290
290
        @echo "# ignored:                                                        #"
303
303
        ./plugin-runner --plugin-dir=plugins.d \
304
304
                --plugin-helper-dir=plugin-helpers \
305
305
                --config-file=plugin-runner.conf \
306
 
                --options-for=mandos-client:--seckey=keydir/seckey.txt,--pubkey=keydir/pubkey.txt,--network-hook-dir=network-hooks.d \
 
306
                --options-for=mandos-client:--seckey=keydir/seckey.txt,--pubkey=keydir/pubkey.txt,--tls-privkey=keydir/tls-privkey.pem,--tls-pubkey=keydir/tls-pubkey.pem,--network-hook-dir=network-hooks.d \
307
307
                --env-for=mandos-client:GNOME_KEYRING_CONTROL= \
308
308
                $(CLIENTARGS)
309
309
 
310
310
# Used by run-client
311
 
keydir/seckey.txt keydir/pubkey.txt: mandos-keygen
 
311
keydir/seckey.txt keydir/pubkey.txt keydir/tls-privkey.pem keydir/tls-pubkey.pem: mandos-keygen
312
312
        install --directory keydir
313
313
        ./mandos-keygen --dir keydir --force
314
314
 
321
321
confdir/mandos.conf: mandos.conf
322
322
        install --directory confdir
323
323
        install --mode=u=rw,go=r $^ $@
324
 
confdir/clients.conf: clients.conf keydir/seckey.txt
 
324
confdir/clients.conf: clients.conf keydir/seckey.txt keydir/tls-pubkey.pem
325
325
        install --directory confdir
326
326
        install --mode=u=rw $< $@
327
327
# Add a client password
396
396
                "$(CONFDIR)/network-hooks.d"
397
397
        install --mode=u=rwx,go=rx \
398
398
                --target-directory=$(LIBDIR)/mandos plugin-runner
 
399
        install --mode=u=rwx,go=rx \
 
400
                --target-directory=$(LIBDIR)/mandos mandos-to-cryptroot-unlock
399
401
        install --mode=u=rwx,go=rx --target-directory=$(PREFIX)/sbin \
400
402
                mandos-keygen
401
403
        install --mode=u=rwx,go=rx \
421
423
                plugin-helpers/mandos-client-iprouteadddel
422
424
        install initramfs-tools-hook \
423
425
                $(INITRAMFSTOOLS)/hooks/mandos
424
 
        install --mode=u=rw,go=r initramfs-tools-hook-conf \
425
 
                $(INITRAMFSTOOLS)/conf-hooks.d/mandos
 
426
        install --mode=u=rw,go=r initramfs-tools-conf \
 
427
                $(INITRAMFSTOOLS)/conf.d/mandos-conf
426
428
        install initramfs-tools-script \
427
429
                $(INITRAMFSTOOLS)/scripts/init-premount/mandos
 
430
        install initramfs-tools-script-stop \
 
431
                $(INITRAMFSTOOLS)/scripts/local-premount/mandos
428
432
        install --mode=u=rw,go=r plugin-runner.conf $(CONFDIR)
429
433
        gzip --best --to-stdout mandos-keygen.8 \
430
434
                > $(MANDIR)/man8/mandos-keygen.8.gz
504
508
        -rmdir $(CONFDIR)
505
509
 
506
510
purge-client: uninstall-client
507
 
        -shred --remove $(KEYDIR)/seckey.txt
 
511
        -shred --remove $(KEYDIR)/seckey.txt $(KEYDIR)/tls-privkey.pem
508
512
        -rm --force $(CONFDIR)/plugin-runner.conf \
509
 
                $(KEYDIR)/pubkey.txt $(KEYDIR)/seckey.txt
 
513
                $(KEYDIR)/pubkey.txt $(KEYDIR)/seckey.txt \
 
514
                $(KEYDIR)/tls-pubkey.txt $(KEYDIR)/tls-privkey.txt
510
515
        -rmdir $(KEYDIR) $(CONFDIR)/plugins.d $(CONFDIR)