check_dependencies() {
curl -V > /dev/null 2>&1 || _exiterr "This script requires curl."
openssl version > /dev/null 2>&1 || _exiterr "This script requres an openssl binary."
- sed "" < /dev/null > /dev/null 2>&1 || _exiterr "This script requres sed."
+ sed -E "" < /dev/null > /dev/null 2>&1 || _exiterr "This script requres sed with support for extended (modern) regular expressions."
grep -V > /dev/null 2>&1 || _exiterr "This script requres grep."
mktemp -u -t XXXXXX > /dev/null 2>&1 || _exiterr "This script requires mktemp."
}
load_config
# Lockfile handling (prevents concurrent access)
+ LOCKDIR="$(dirname "${LOCKFILE}")"
+ [[ -w "${LOCKDIR}" ]] || _exiterr "Directory ${LOCKDIR} for LOCKFILE ${LOCKFILE} is not writable, aborting."
( set -C; date > "${LOCKFILE}" ) 2>/dev/null || _exiterr "Lock file '${LOCKFILE}' present, aborting."
remove_lock() { rm -f "${LOCKFILE}"; }
trap 'remove_lock' EXIT
env) command_env;;
sign_domains) command_sign_domains;;
revoke) command_revoke "${PARAM_REVOKECERT}";;
- *) command_help; exit1;;
+ *) command_help; exit 1;;
esac
}