@@ -, +, @@ --- firehol.sh | 25 +++++++++---------------- 1 files changed, 9 insertions(+), 16 deletions(-) --- a/firehol.sh +++ a/firehol.sh @@ -238,8 +238,15 @@ ${IPTABLES_CMD} -nxvL >/dev/null 2>&1 # ---------------------------------------------------------------------- # Directories and files -# These files will be created and deleted during our run. -FIREHOL_DIR="/tmp/.firehol-tmp-$$-${RANDOM}-${RANDOM}" +# Create an empty temporary directory we need for this run. +if ! FIREHOL_DIR="`mktemp -d -t .firehol-tmp-XXXXXX`" +then + echo >&2 + echo >&2 + echo >&2 "Cannot create temporary directory." + echo >&2 + exit 1 +fi FIREHOL_CHAINS_DIR="${FIREHOL_DIR}/chains" FIREHOL_OUTPUT="${FIREHOL_DIR}/firehol-out.sh" FIREHOL_SAVED="${FIREHOL_DIR}/firehol-save.sh" @@ -329,20 +336,6 @@ then "${CHMOD_CMD}" 700 "${FIREHOL_CONFIG_DIR}/services" fi -# Remove any old directories that might be there. -if [ -d "${FIREHOL_DIR}" ] -then - "${RM_CMD}" -rf "${FIREHOL_DIR}" - if [ $? -ne 0 -o -e "${FIREHOL_DIR}" ] - then - echo >&2 - echo >&2 - echo >&2 "Cannot clean temporary directory '${FIREHOL_DIR}'." - echo >&2 - exit 1 - fi -fi -"${MKDIR_CMD}" "${FIREHOL_DIR}" || exit 1 "${MKDIR_CMD}" "${FIREHOL_CHAINS_DIR}" || exit 1 # prepare the file that will hold all modules to be loaded. --