commit: 77ada7caca7d68e40cc8df6f026183474b250d4f Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org> AuthorDate: Sat Apr 4 22:36:59 2015 +0000 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org> CommitDate: Sat Apr 4 22:36:59 2015 +0000 URL: https://gitweb.gentoo.org/proj/hardened-dev.git/commit/?id=77ada7ca
sys-apps/ldconfig: Bug #545006. Package-Manager: portage-2.2.14 Manifest-Sign-Key: 0xF52D4BBA sys-apps/ldconfig/files/ldconfig-0.1 | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/sys-apps/ldconfig/files/ldconfig-0.1 b/sys-apps/ldconfig/files/ldconfig-0.1 index c5ec1df..55db851 100644 --- a/sys-apps/ldconfig/files/ldconfig-0.1 +++ b/sys-apps/ldconfig/files/ldconfig-0.1 @@ -10,16 +10,6 @@ fi LDSO_CONF_DIR=$(dirname $LDSO_CONF) -LDSO_PATH=$(ls /lib/ld-musl-*.so.1) -if [[ ! -e $LDSO_PATH ]]; then - echo "$LDSO_PATH not found" >&2 - exit 1 -fi - -LDSO_ARCH=$(basename $LDSO_PATH) -LDSO_NAME=${LDSO_ARCH%.so.1} -ETC_LDSO_PATH=/etc/${LDSO_NAME}.path - VERBOSE=0 get_options() { @@ -33,7 +23,7 @@ get_options() { ROOT=$OPTARG ;; f) - LDSOCONF=$OPTARG + LDSO_CONF=$OPTARG ;; \?) echo "Invalid option: -$opt" >&2 @@ -106,7 +96,7 @@ read_ldso_conf() { fi fi done - done < $LDSO_CONF + done < $1 echo $drs } @@ -121,16 +111,26 @@ sanitize() { } get_options "$@" -drs=$(read_ldso_conf) +drs=$(read_ldso_conf "$LDSO_CONF") +for f in $LDSO_CONF.d/*; do + drs="$drs $(read_ldso_conf "$f")" +done drs=$(sanitize $drs) +#LDSO_PATH=$(readelf -l /bin/bash | grep -o '\/lib\/ld-musl-.*\.so\.1') +LDSO_PATH=$(ls /lib/ld-musl-*.so.1) +if [[ ! -e $LDSO_PATH ]]; then + echo "$LDSO_PATH not found" >&2 + exit 1 +fi + +LDSO_ARCH=$(basename $LDSO_PATH) +LDSO_NAME=${LDSO_ARCH%.so.1} +ETC_LDSO_PATH=/etc/${LDSO_NAME}.path + X=$(mktemp --tmpdir=/tmp ${LDSO_NAME}.XXXXXX) -cat << EOF > $X -# $ETC_LDSO_PATH autogenerated by env-update; make all changes to -# contents of /etc/env.d directory -EOF for d in $drs; do echo $d >> $X done +chmod 644 $X mv $X $ETC_LDSO_PATH -