Skip to content

Commit

Permalink
Try harder to sanitize the environment before running configure.
Browse files Browse the repository at this point in the history
Remove a workaround for older Unbound versions that used sbrk.

Approved by:	re (gjb)
  • Loading branch information
dag-erling committed Oct 10, 2018
1 parent dbffe0f commit b319ead
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 26 deletions.
21 changes: 16 additions & 5 deletions contrib/ldns/freebsd-configure.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,26 @@

set -e

error() {
echo "$@" >&2
exit 1
}

ldns=$(dirname $(realpath $0))
cd $ldns

libtoolize --copy
autoheader
autoconf
# Run autotools before we drop LOCALBASE out of PATH
(cd $ldns && libtoolize --copy && autoheader && autoconf)
(cd $ldns/drill && aclocal && autoheader && autoconf)

# Ensure we use the correct toolchain and clean our environment
export CC=$(echo ".include <bsd.lib.mk>" | make -f /dev/stdin -VCC)
export CPP=$(echo ".include <bsd.lib.mk>" | make -f /dev/stdin -VCPP)
unset CFLAGS CPPFLAGS LDFLAGS LD_LIBRARY_PATH LIBS
export PATH=/bin:/sbin:/usr/bin:/usr/sbin

cd $ldns
./configure --prefix= --exec-prefix=/usr --disable-dane-ta-usage

cd $ldns/drill
autoheader
autoconf
./configure --prefix= --exec-prefix=/usr
19 changes: 10 additions & 9 deletions contrib/unbound/freebsd-configure.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,15 @@ error() {
unbound=$(dirname $(realpath $0))
cd $unbound

# Run autotools before we drop LOCALBASE out of PATH
(cd $unbound && libtoolize --copy && autoheader && autoconf)

# Ensure we use the correct toolchain and clean our environment
export CC=$(echo ".include <bsd.lib.mk>" | make -f /dev/stdin -VCC)
export CPP=$(echo ".include <bsd.lib.mk>" | make -f /dev/stdin -VCPP)
unset CFLAGS CPPFLAGS LDFLAGS LD_LIBRARY_PATH LIBS
export PATH=/bin:/sbin:/usr/bin:/usr/sbin

ldnssrc=$(realpath $unbound/../ldns)
[ -f $ldnssrc/ldns/ldns.h ] || error "can't find LDNS sources"
export CFLAGS="-I$ldnssrc"
Expand All @@ -24,17 +33,9 @@ ldnsobj=$(realpath $(make -C$ldnsbld -V.OBJDIR))
[ -f $ldnsobj/libprivateldns.a ] || error "can't find LDNS object directory"
export LDFLAGS="-L$ldnsobj"

export CC=$(echo ".include <bsd.lib.mk>" | make -f /dev/stdin -VCC)
export CPP=$(echo ".include <bsd.lib.mk>" | make -f /dev/stdin -VCPP)

autoconf
autoheader
cd $unbound
./configure \
--prefix= --exec-prefix=/usr \
--with-conf-file=/var/unbound/unbound.conf \
--with-run-dir=/var/unbound \
--with-username=unbound

# Don't try to provide bogus memory usage statistics based on sbrk(2).
sed -n -i.orig -e '/HAVE_SBRK/!p' config.status
./config.status config.h
23 changes: 11 additions & 12 deletions crypto/openssh/freebsd-configure.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,28 +16,27 @@ configure_args="

set -e

# make sure configure uses the correct compiler
export CC=$(echo ".include <bsd.lib.mk>" | make -f /dev/stdin -VCC)
export CPP=$(echo ".include <bsd.lib.mk>" | make -f /dev/stdin -VCPP)
unset CFLAGS CPPFLAGS LDFLAGS LIBS
openssh=$(dirname $(realpath $0))
cd $openssh

# regenerate configure and config.h.in
autoheader
autoconf
# Run autotools before we drop LOCALBASE out of PATH
(cd $openssh && libtoolize --copy && autoheader && autoconf)

# reset PATH to avoid picking up the wrong libraries
# Ensure we use the correct toolchain and clean our environment
export CC=$(echo ".include <bsd.lib.mk>" | make -f /dev/stdin -VCC)
export CPP=$(echo ".include <bsd.lib.mk>" | make -f /dev/stdin -VCPP)
unset CFLAGS CPPFLAGS LDFLAGS LD_LIBRARY_PATH LIBS
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
unset LD_LIBRARY_PATH

# generate config.h with krb5 and stash it
# Generate config.h with krb5 and stash it
sh configure $configure_args --with-kerberos5=/usr
mv config.log config.log.orig
mv config.h config.h.orig

# generate config.h without krb5
# Generate config.h without krb5
sh configure $configure_args --without-kerberos5

# extract the difference
# Extract the difference
echo '/* $Free''BSD$ */' > krb5_config.h
diff -u config.h.orig config.h |
sed -n '/^-#define/s/^-//p' |
Expand Down

0 comments on commit b319ead

Please sign in to comment.