From e2aab0cbf136a82c663ee67b39fd5cb3d8aa973f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Tue, 26 Nov 2019 16:55:08 +0100 Subject: [PATCH] Fix multiple issues in named setuid check (cherry picked from commit 4a6d9ea15210342bbab33f54dbca14ef50ccb91e) --- bin/tests/system/runtime/tests.sh | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/bin/tests/system/runtime/tests.sh b/bin/tests/system/runtime/tests.sh index d34383dd25..e7d98f3765 100644 --- a/bin/tests/system/runtime/tests.sh +++ b/bin/tests/system/runtime/tests.sh @@ -165,22 +165,21 @@ status=$((status+ret)) n=$((n+1)) echo_i "verifying that named switches UID ($n)" -if [ "`id -u`" -eq 0 ] && [ ! "$CYGWIN" ]; then +if [ "`id -u`" -eq 0 ] && [ -z "$CYGWIN" ]; then ret=0 - TEMP_NAMED_DIR=`mktemp -d` - if [ -d "${TEMP_NAMED_DIR}" ]; then + CURRENT_DIR="`pwd`" + TEMP_NAMED_DIR=`mktemp -d "${CURRENT_DIR}/ns2/tmp.XXXXXXXX"` + if [ "$?" -eq 0 ]; then copy_setports ns2/named-alt9.conf.in "${TEMP_NAMED_DIR}/named-alt9.conf" export SOFTHSM2_CONF="${TEMP_NAMED_DIR}/softhsm2.conf" sh -x "$TOP/bin/tests/prepare-softhsm2.sh" - chown -R nobody "${TEMP_NAMED_DIR}" + chown -R nobody: "${TEMP_NAMED_DIR}" chmod 0700 "${TEMP_NAMED_DIR}" - ( cd "${TEMP_NAMED_DIR}" && $NAMED -u nobody -c named-alt9.conf -d 99 -g -U 4 >> named9.run 2>&1 & ) - sleep 2 + ( cd "${TEMP_NAMED_DIR}" && $NAMED -u nobody -c named-alt9.conf -d 99 -g -U 4 >> named$n.run 2>&1 & ) || ret=1 + wait_for_named "running$" "${TEMP_NAMED_DIR}/named$n.run" || ret=1 [ -s "${TEMP_NAMED_DIR}/named9.pid" ] || ret=1 - grep "loading configuration: permission denied" "${TEMP_NAMED_DIR}/named9.run" > /dev/null && ret=1 - pid=`cat "${TEMP_NAMED_DIR}/named9.pid" 2>/dev/null` - [ "${pid:+set}" = "set" ] && $KILL -15 "${pid}" >/dev/null 2>&1 - mv "${TEMP_NAMED_DIR}" ns2/ + grep "loading configuration: permission denied" "${TEMP_NAMED_DIR}/named$n.run" > /dev/null && ret=1 + kill_named "${TEMP_NAMED_DIR}/named9.pid" || ret=1 else echo_i "mktemp failed" ret=1