/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:
1
 
WARN=-O -Wall -Wformat=2 -Winit-self -Wmissing-include-dirs \
2
 
        -Wswitch-default -Wswitch-enum -Wunused-parameter \
3
 
        -Wstrict-aliasing=1 -Wextra -Wfloat-equal -Wundef -Wshadow \
 
1
WARN=-O -Wall -Wextra -Wdouble-promotion -Wformat=2 -Winit-self \
 
2
        -Wmissing-include-dirs -Wswitch-default -Wswitch-enum \
 
3
        -Wunused -Wuninitialized -Wstrict-overflow=5 \
 
4
        -Wsuggest-attribute=pure -Wsuggest-attribute=const \
 
5
        -Wsuggest-attribute=noreturn -Wfloat-equal -Wundef -Wshadow \
4
6
        -Wunsafe-loop-optimizations -Wpointer-arith \
5
7
        -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings \
6
 
        -Wconversion -Wstrict-prototypes -Wold-style-definition \
7
 
        -Wpacked -Wnested-externs -Winline -Wvolatile-register-var \
8
 
        -Wunreachable-code
 
8
        -Wconversion -Wlogical-op -Waggregate-return \
 
9
        -Wstrict-prototypes -Wold-style-definition \
 
10
        -Wmissing-format-attribute -Wnormalized=nfc -Wpacked \
 
11
        -Wredundant-decls -Wnested-externs -Winline -Wvla \
 
12
        -Wvolatile-register-var -Woverlength-strings
9
13
#DEBUG=-ggdb3
10
14
# For info about _FORTIFY_SOURCE, see feature_test_macros(7)
11
15
# and <http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html>.
19
23
LINK_FORTIFY += -pie
20
24
endif
21
25
#COVERAGE=--coverage
22
 
OPTIMIZE=-Os
23
 
LANGUAGE=-std=gnu99
 
26
OPTIMIZE=-Os -fno-strict-aliasing
 
27
LANGUAGE=-std=gnu11
24
28
htmldir=man
25
 
version=1.6.4
 
29
version=1.6.9
26
30
SED=sed
27
31
 
28
32
USER=$(firstword $(subst :, ,$(shell getent passwd _mandos || getent passwd nobody || echo 65534)))
65
69
GPGME_CFLAGS=$(shell gpgme-config --cflags; getconf LFS_CFLAGS)
66
70
GPGME_LIBS=$(shell gpgme-config --libs; getconf LFS_LIBS; \
67
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)
68
74
 
69
75
# Do not change these two
70
76
CFLAGS+=$(WARN) $(DEBUG) $(FORTIFY) $(COVERAGE) $(OPTIMIZE) \
81
87
        --param man.authors.section.enabled     0 \
82
88
        /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl \
83
89
        $(notdir $<); \
84
 
        $(MANPOST) $(notdir $@);\
85
90
        if locale --all 2>/dev/null | grep --regexp='^en_US\.utf8$$' \
86
91
        && type man 2>/dev/null; then LANG=en_US.UTF-8 MANWIDTH=80 \
87
92
        man --warnings --encoding=UTF-8 --local-file $(notdir $@); \
88
93
        fi >/dev/null)
89
 
# DocBook-to-man post-processing to fix a '\n' escape bug
90
 
MANPOST=$(SED) --in-place --expression='s,\\\\en,\\en,g;s,\\n,\\en,g'
91
94
 
92
95
DOCBOOKTOHTML=$(strip xsltproc --nonet --xinclude \
93
96
        --param make.year.ranges                1 \
105
108
PLUGINS=plugins.d/password-prompt plugins.d/mandos-client \
106
109
        plugins.d/usplash plugins.d/splashy plugins.d/askpass-fifo \
107
110
        plugins.d/plymouth
108
 
CPROGS=plugin-runner $(PLUGINS)
 
111
PLUGIN_HELPERS=plugin-helpers/mandos-client-iprouteadddel
 
112
CPROGS=plugin-runner $(PLUGINS) $(PLUGIN_HELPERS)
109
113
PROGS=mandos mandos-keygen mandos-ctl mandos-monitor $(CPROGS)
110
114
DOCS=mandos.8 mandos-keygen.8 mandos-monitor.8 mandos-ctl.8 \
111
115
        mandos.conf.5 mandos-clients.conf.5 plugin-runner.8mandos \
238
242
        $(LINK.c) $^ -lrt $(GNUTLS_LIBS) $(AVAHI_LIBS) $(strip\
239
243
                ) $(GPGME_LIBS) $(LOADLIBES) $(LDLIBS) -o $@
240
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
 
241
249
.PHONY : all doc html clean distclean mostlyclean maintainer-clean \
242
250
        check run-client run-server install install-html \
243
251
        install-server install-client-nokey install-client uninstall \
263
271
        @echo "# ignored.  The messages are caused by not running as root, but   #"
264
272
        @echo "# you should NOT run \"make run-client\" as root unless you also    #"
265
273
        @echo "# unpacked and compiled Mandos as root, which is NOT recommended. #"
266
 
        @echo "# From plugin-runner: setuid: Operation not permitted             #"
 
274
        @echo "# From plugin-runner: setgid: Operation not permitted             #"
 
275
        @echo "#                     setuid: Operation not permitted             #"
267
276
        @echo "# From askpass-fifo:  mkfifo: Permission denied                   #"
268
 
        @echo "# From mandos-client: setuid: Operation not permitted             #"
269
 
        @echo "#                     seteuid: Operation not permitted            #"
270
 
        @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 *      #"
271
280
        @echo "###################################################################"
 
281
# We set GNOME_KEYRING_CONTROL to block pam_gnome_keyring
272
282
        ./plugin-runner --plugin-dir=plugins.d \
 
283
                --plugin-helper-dir=plugin-helpers \
273
284
                --config-file=plugin-runner.conf \
274
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= \
275
287
                $(CLIENTARGS)
276
288
 
277
289
# Used by run-client
292
304
        install --directory confdir
293
305
        install --mode=u=rw $< $@
294
306
# Add a client password
295
 
        ./mandos-keygen --dir keydir --password >> $@
 
307
        ./mandos-keygen --dir keydir --password --no-ssh >> $@
296
308
statedir:
297
309
        install --directory statedir
298
310
 
348
360
install-client-nokey: all doc
349
361
        install --directory $(LIBDIR)/mandos $(CONFDIR)
350
362
        install --directory --mode=u=rwx $(KEYDIR) \
351
 
                $(LIBDIR)/mandos/plugins.d
 
363
                $(LIBDIR)/mandos/plugins.d \
 
364
                $(LIBDIR)/mandos/plugin-helpers
352
365
        if [ "$(CONFDIR)" != "$(LIBDIR)/mandos" ]; then \
353
366
                install --mode=u=rwx \
354
367
                        --directory "$(CONFDIR)/plugins.d"; \
 
368
                install --directory "$(CONFDIR)/plugin-helpers"; \
355
369
        fi
356
370
        install --mode=u=rwx,go=rx --directory \
357
371
                "$(CONFDIR)/network-hooks.d"
377
391
        install --mode=u=rwxs,go=rx \
378
392
                --target-directory=$(LIBDIR)/mandos/plugins.d \
379
393
                plugins.d/plymouth
 
394
        install --mode=u=rwxs,go=rx \
 
395
                --target-directory=$(LIBDIR)/mandos/plugin-helpers \
 
396
                plugin-helpers/mandos-client-iprouteadddel
380
397
        install initramfs-tools-hook \
381
398
                $(INITRAMFSTOOLS)/hooks/mandos
382
399
        install --mode=u=rw,go=r initramfs-tools-hook-conf \