/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: 2016-03-13 00:37:02 UTC
  • Revision ID: teddy@recompile.se-20160313003702-dulwtwt8ilpojra9
Server: Fix bug where it did not exit timely on signals

Use GLib.unix_signal_add() instead of signal.signal() to catch
signals; this will allow GLib to do its internal magic with signal
file descriptors.  (GLib does not handle signals properly otherwise.)
The function unix_signal_add() requires GLib 2.30 or later, which was
not required by PyGobject until version 3.7.1, so depend on this.

* INSTALL (Mandos Server): Document dependency on PyGObject 3.7.1
* mandos (main): Use GLib.unix_signal_add instead of signal.signal.
* init.d-mandos (do_stop): Remove workaround.
* mandos.service ([Service]): - '' -

Show diffs side-by-side

added added

removed removed

Lines of Context:
10
10
        -Wmissing-format-attribute -Wnormalized=nfc -Wpacked \
11
11
        -Wredundant-decls -Wnested-externs -Winline -Wvla \
12
12
        -Wvolatile-register-var -Woverlength-strings
13
 
#DEBUG=-ggdb3 -fsanitize=address 
 
13
#DEBUG=-ggdb3
14
14
# For info about _FORTIFY_SOURCE, see feature_test_macros(7)
15
 
# and <https://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html>.
 
15
# and <http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html>.
16
16
FORTIFY=-D_FORTIFY_SOURCE=2 -fstack-protector-all -fPIC
17
17
# <https://developerblog.redhat.com/2014/10/16/gcc-undefined-behavior-sanitizer-ubsan/>
18
 
ALL_SANITIZE_OPTIONS:=-fsanitize=leak -fsanitize=undefined \
 
18
ALL_SANITIZE_OPTIONS:=-fsanitize=address -fsanitize=undefined \
19
19
        -fsanitize=shift -fsanitize=integer-divide-by-zero \
20
20
        -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null \
21
21
        -fsanitize=return -fsanitize=signed-integer-overflow \
40
40
OPTIMIZE=-Os -fno-strict-aliasing
41
41
LANGUAGE=-std=gnu11
42
42
htmldir=man
43
 
version=1.7.11
 
43
version=1.7.5
44
44
SED=sed
45
45
 
46
46
USER=$(firstword $(subst :, ,$(shell getent passwd _mandos || getent passwd nobody || echo 65534)))
75
75
##
76
76
 
77
77
SYSTEMD=$(DESTDIR)$(shell pkg-config systemd --variable=systemdsystemunitdir)
78
 
TMPFILES=$(DESTDIR)$(shell pkg-config systemd --variable=tmpfilesdir)
79
78
 
80
79
GNUTLS_CFLAGS=$(shell pkg-config --cflags-only-I gnutls)
81
80
GNUTLS_LIBS=$(shell pkg-config --libs gnutls)
338
337
        elif install --directory --mode=u=rwx $(STATEDIR); then \
339
338
                chown -- $(USER):$(GROUP) $(STATEDIR) || :; \
340
339
        fi
341
 
        if [ "$(TMPFILES)" != "$(DESTDIR)" -a -d "$(TMPFILES)" ]; then \
342
 
                install --mode=u=rw,go=r tmpfiles.d-mandos.conf \
343
 
                        $(TMPFILES)/mandos.conf; \
344
 
        fi
345
340
        install --mode=u=rwx,go=rx mandos $(PREFIX)/sbin/mandos
346
341
        install --mode=u=rwx,go=rx --target-directory=$(PREFIX)/sbin \
347
342
                mandos-ctl
383
378
                $(LIBDIR)/mandos/plugin-helpers
384
379
        if [ "$(CONFDIR)" != "$(LIBDIR)/mandos" ]; then \
385
380
                install --mode=u=rwx \
386
 
                        --directory "$(CONFDIR)/plugins.d" \
387
 
                        "$(CONFDIR)/plugin-helpers"; \
 
381
                        --directory "$(CONFDIR)/plugins.d"; \
 
382
                install --directory "$(CONFDIR)/plugin-helpers"; \
388
383
        fi
389
384
        install --mode=u=rwx,go=rx --directory \
390
385
                "$(CONFDIR)/network-hooks.d"
410
405
        install --mode=u=rwxs,go=rx \
411
406
                --target-directory=$(LIBDIR)/mandos/plugins.d \
412
407
                plugins.d/plymouth
413
 
        install --mode=u=rwx,go=rx \
 
408
        install --mode=u=rwxs,go=rx \
414
409
                --target-directory=$(LIBDIR)/mandos/plugin-helpers \
415
410
                plugin-helpers/mandos-client-iprouteadddel
416
411
        install initramfs-tools-hook \