/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: 2014-03-10 06:55:54 UTC
  • Revision ID: teddy@recompile.se-20140310065554-of3kz8jdhlll42l3
Use "struct sockaddr_storage" instead of a union in mandos-client.

Apparently using struct sockaddr_storage the way POSIX intended is
incompatible with strict aliasing, so turn that off in the Makefile.

* plugins.d/mandos-client.c (start_mandos_communication): Change "to"
                                                          from a union
                                                          to a struct
                                                          sockaddr_storage.
* Makefile (OPTIMIZE): Add "-fno-strict-aliasing".

Show diffs side-by-side

added added

removed removed

Lines of Context:
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 \
 
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 \
6
4
        -Wunsafe-loop-optimizations -Wpointer-arith \
7
5
        -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings \
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
 
6
        -Wconversion -Wstrict-prototypes -Wold-style-definition \
 
7
        -Wpacked -Wnested-externs -Winline -Wvolatile-register-var \
 
8
        -Wunreachable-code
13
9
#DEBUG=-ggdb3
14
10
# For info about _FORTIFY_SOURCE, see feature_test_macros(7)
15
11
# and <http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html>.
26
22
OPTIMIZE=-Os -fno-strict-aliasing
27
23
LANGUAGE=-std=gnu99
28
24
htmldir=man
29
 
version=1.6.9
 
25
version=1.6.4
30
26
SED=sed
31
27
 
32
28
USER=$(firstword $(subst :, ,$(shell getent passwd _mandos || getent passwd nobody || echo 65534)))
85
81
        --param man.authors.section.enabled     0 \
86
82
        /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl \
87
83
        $(notdir $<); \
 
84
        $(MANPOST) $(notdir $@);\
88
85
        if locale --all 2>/dev/null | grep --regexp='^en_US\.utf8$$' \
89
86
        && type man 2>/dev/null; then LANG=en_US.UTF-8 MANWIDTH=80 \
90
87
        man --warnings --encoding=UTF-8 --local-file $(notdir $@); \
91
88
        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'
92
91
 
93
92
DOCBOOKTOHTML=$(strip xsltproc --nonet --xinclude \
94
93
        --param make.year.ranges                1 \
264
263
        @echo "# ignored.  The messages are caused by not running as root, but   #"
265
264
        @echo "# you should NOT run \"make run-client\" as root unless you also    #"
266
265
        @echo "# unpacked and compiled Mandos as root, which is NOT recommended. #"
267
 
        @echo "# From plugin-runner: setgid: Operation not permitted             #"
268
 
        @echo "#                     setuid: Operation not permitted             #"
 
266
        @echo "# From plugin-runner: setuid: Operation not permitted             #"
269
267
        @echo "# From askpass-fifo:  mkfifo: Permission denied                   #"
270
 
        @echo "# From mandos-client:                                             #"
271
 
        @echo "#             Failed to raise privileges: Operation not permitted #"
272
 
        @echo "#             Warning: network hook \"*\" exited with status *      #"
 
268
        @echo "# From mandos-client: setuid: Operation not permitted             #"
 
269
        @echo "#                     seteuid: Operation not permitted            #"
 
270
        @echo "#                     klogctl: Operation not permitted            #"
273
271
        @echo "###################################################################"
274
 
# We set GNOME_KEYRING_CONTROL to block pam_gnome_keyring
275
272
        ./plugin-runner --plugin-dir=plugins.d \
276
273
                --config-file=plugin-runner.conf \
277
274
                --options-for=mandos-client:--seckey=keydir/seckey.txt,--pubkey=keydir/pubkey.txt,--network-hook-dir=network-hooks.d \
278
 
                --env-for=mandos-client:GNOME_KEYRING_CONTROL= \
279
275
                $(CLIENTARGS)
280
276
 
281
277
# Used by run-client
296
292
        install --directory confdir
297
293
        install --mode=u=rw $< $@
298
294
# Add a client password
299
 
        ./mandos-keygen --dir keydir --password --no-ssh >> $@
 
295
        ./mandos-keygen --dir keydir --password >> $@
300
296
statedir:
301
297
        install --directory statedir
302
298