/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: 2015-07-20 03:03:33 UTC
  • Revision ID: teddy@recompile.se-20150720030333-203m2aeblypcsfte
Bug fix for GnuTLS 3: be compatible with old 2048-bit DSA keys.

The mandos-keygen program in Mandos version 1.6.0 and older generated
2048-bit DSA keys, and when GnuTLS uses these it has trouble
connecting using the Mandos default priority string.  This was
previously fixed in Mandos 1.6.2, but the bug reappeared when using
GnuTLS 3, so the default priority string has to change again; this
time also the Mandos client has to change its default, so now the
server and the client should use the same default priority string:

SECURE256:!CTYPE-X.509:+CTYPE-OPENPGP:!RSA:+SIGN-DSA-SHA256

* mandos (main/server_defaults): Changed default priority string.
* mandos-options.xml (/section/para[id="priority_compat"]): Removed.
  (/section/para[id="priority"]): Changed default priority string.
* mandos.conf ([DEFAULT]/priority): - '' -
* mandos.conf.xml (OPTIONS/priority): Refer to the id "priority"
                                      instead of "priority_compat".
* mandos.xml (OPTIONS/--priority): - '' -
* plugins.d/mandos-client.c (main): Changed default priority string.

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
endif
25
25
#COVERAGE=--coverage
26
26
OPTIMIZE=-Os -fno-strict-aliasing
27
 
LANGUAGE=-std=gnu99
 
27
LANGUAGE=-std=gnu11
28
28
htmldir=man
29
 
version=1.6.4
 
29
version=1.6.9
30
30
SED=sed
31
31
 
32
32
USER=$(firstword $(subst :, ,$(shell getent passwd _mandos || getent passwd nobody || echo 65534)))
69
69
GPGME_CFLAGS=$(shell gpgme-config --cflags; getconf LFS_CFLAGS)
70
70
GPGME_LIBS=$(shell gpgme-config --libs; getconf LFS_LIBS; \
71
71
        getconf LFS_LDFLAGS)
 
72
LIBNL3_CFLAGS=$(shell pkg-config --cflags-only-I libnl-route-3.0)
 
73
LIBNL3_LIBS=$(shell pkg-config --libs libnl-route-3.0)
72
74
 
73
75
# Do not change these two
74
76
CFLAGS+=$(WARN) $(DEBUG) $(FORTIFY) $(COVERAGE) $(OPTIMIZE) \
85
87
        --param man.authors.section.enabled     0 \
86
88
        /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl \
87
89
        $(notdir $<); \
88
 
        $(MANPOST) $(notdir $@);\
89
90
        if locale --all 2>/dev/null | grep --regexp='^en_US\.utf8$$' \
90
91
        && type man 2>/dev/null; then LANG=en_US.UTF-8 MANWIDTH=80 \
91
92
        man --warnings --encoding=UTF-8 --local-file $(notdir $@); \
92
93
        fi >/dev/null)
93
 
# DocBook-to-man post-processing to fix a '\n' escape bug
94
 
MANPOST=$(SED) --in-place --expression='s,\\\\en,\\en,g;s,\\n,\\en,g'
95
94
 
96
95
DOCBOOKTOHTML=$(strip xsltproc --nonet --xinclude \
97
96
        --param make.year.ranges                1 \
109
108
PLUGINS=plugins.d/password-prompt plugins.d/mandos-client \
110
109
        plugins.d/usplash plugins.d/splashy plugins.d/askpass-fifo \
111
110
        plugins.d/plymouth
112
 
CPROGS=plugin-runner $(PLUGINS)
 
111
PLUGIN_HELPERS=plugin-helpers/mandos-client-iprouteadddel
 
112
CPROGS=plugin-runner $(PLUGINS) $(PLUGIN_HELPERS)
113
113
PROGS=mandos mandos-keygen mandos-ctl mandos-monitor $(CPROGS)
114
114
DOCS=mandos.8 mandos-keygen.8 mandos-monitor.8 mandos-ctl.8 \
115
115
        mandos.conf.5 mandos-clients.conf.5 plugin-runner.8mandos \
242
242
        $(LINK.c) $^ -lrt $(GNUTLS_LIBS) $(AVAHI_LIBS) $(strip\
243
243
                ) $(GPGME_LIBS) $(LOADLIBES) $(LDLIBS) -o $@
244
244
 
 
245
plugin-helpers/mandos-client-iprouteadddel: plugin-helpers/mandos-client-iprouteadddel.c
 
246
        $(LINK.c) $(LIBNL3_CFLAGS) $^ $(LIBNL3_LIBS) $(strip\
 
247
                ) $(LOADLIBES) $(LDLIBS) -o $@
 
248
 
245
249
.PHONY : all doc html clean distclean mostlyclean maintainer-clean \
246
250
        check run-client run-server install install-html \
247
251
        install-server install-client-nokey install-client uninstall \
267
271
        @echo "# ignored.  The messages are caused by not running as root, but   #"
268
272
        @echo "# you should NOT run \"make run-client\" as root unless you also    #"
269
273
        @echo "# unpacked and compiled Mandos as root, which is NOT recommended. #"
270
 
        @echo "# From plugin-runner: setuid: Operation not permitted             #"
 
274
        @echo "# From plugin-runner: setgid: Operation not permitted             #"
 
275
        @echo "#                     setuid: Operation not permitted             #"
271
276
        @echo "# From askpass-fifo:  mkfifo: Permission denied                   #"
272
 
        @echo "# From mandos-client: setuid: Operation not permitted             #"
273
 
        @echo "#                     seteuid: Operation not permitted            #"
274
 
        @echo "#                     klogctl: Operation not permitted            #"
 
277
        @echo "# From mandos-client:                                             #"
 
278
        @echo "#             Failed to raise privileges: Operation not permitted #"
 
279
        @echo "#             Warning: network hook \"*\" exited with status *      #"
275
280
        @echo "###################################################################"
 
281
# We set GNOME_KEYRING_CONTROL to block pam_gnome_keyring
276
282
        ./plugin-runner --plugin-dir=plugins.d \
 
283
                --plugin-helper-dir=plugin-helpers \
277
284
                --config-file=plugin-runner.conf \
278
285
                --options-for=mandos-client:--seckey=keydir/seckey.txt,--pubkey=keydir/pubkey.txt,--network-hook-dir=network-hooks.d \
 
286
                --env-for=mandos-client:GNOME_KEYRING_CONTROL= \
279
287
                $(CLIENTARGS)
280
288
 
281
289
# Used by run-client
296
304
        install --directory confdir
297
305
        install --mode=u=rw $< $@
298
306
# Add a client password
299
 
        ./mandos-keygen --dir keydir --password >> $@
 
307
        ./mandos-keygen --dir keydir --password --no-ssh >> $@
300
308
statedir:
301
309
        install --directory statedir
302
310
 
352
360
install-client-nokey: all doc
353
361
        install --directory $(LIBDIR)/mandos $(CONFDIR)
354
362
        install --directory --mode=u=rwx $(KEYDIR) \
355
 
                $(LIBDIR)/mandos/plugins.d
 
363
                $(LIBDIR)/mandos/plugins.d \
 
364
                $(LIBDIR)/mandos/plugin-helpers
356
365
        if [ "$(CONFDIR)" != "$(LIBDIR)/mandos" ]; then \
357
366
                install --mode=u=rwx \
358
367
                        --directory "$(CONFDIR)/plugins.d"; \
 
368
                install --directory "$(CONFDIR)/plugin-helpers"; \
359
369
        fi
360
370
        install --mode=u=rwx,go=rx --directory \
361
371
                "$(CONFDIR)/network-hooks.d"
381
391
        install --mode=u=rwxs,go=rx \
382
392
                --target-directory=$(LIBDIR)/mandos/plugins.d \
383
393
                plugins.d/plymouth
 
394
        install --mode=u=rwxs,go=rx \
 
395
                --target-directory=$(LIBDIR)/mandos/plugin-helpers \
 
396
                plugin-helpers/mandos-client-iprouteadddel
384
397
        install initramfs-tools-hook \
385
398
                $(INITRAMFSTOOLS)/hooks/mandos
386
399
        install --mode=u=rw,go=r initramfs-tools-hook-conf \