]> TLD Linux GIT Repositories - packages/dehydrated.git/blob - hook.sh
- better hook script supporting per certificate or global scripts
[packages/dehydrated.git] / hook.sh
1 #!/bin/sh
2
3 # Directory with per certificate hook scripts called after
4 # certificate is successfully deployed
5 HOOKS_D="/etc/dehydrated/hooks.d"
6
7 HANDLER="${1}"
8 shift
9 case "${HANDLER}" in
10 deploy_cert)
11   local DOMAIN="${1}" KEYFILE="${2}" CERTFILE="${3}" FULLCHAINFILE="${4}" CHAINFILE="${5}" TIMESTAMP="${6}"
12   if [[ -n "${HOOKS_D}" ]]; then
13     if [[ ! -d "${HOOKS_D}" ]]; then
14       echo " + Hook: ${HANDLER}: The path ${HOOKS_D} specified for HOOKS_D does not point to a directory."
15     else
16       if [[ -f "${HOOKS_D}/${DOMAIN}" ]]; then 
17         if  [[ -r "${HOOKS_D}/${DOMAIN}" ]]; then
18           echo " + Hook: ${HANDLER}: Executing hook script for certificate ${DOMAIN}."
19           . "${HOOKS_D}/${DOMAIN}"
20         else
21           echo " + Hook: ${HANDLER}: Cannot execute hook script for certificate ${DOMAIN}."
22         fi
23       else
24         if [[ -f "${HOOKS_D}/global" ]] && [[ -r "${HOOKS_D}/global" ]]; then
25           echo " + Hook: ${HANDLER}: Executing global hook script"
26           . "${HOOKS_D}/global"
27         else
28           echo " + Hook: ${HANDLER}: Cannot execute global hook script."
29         fi
30       fi
31     fi
32   fi
33   ;;
34 clean_challenge)
35   local DOMAIN="${1}" TOKEN_FILENAME="${2}" TOKEN_VALUE="${3}"
36   echo " + Hook: ${HANDLER}: Nothing to do..."
37   ;;
38 deploy_challenge)
39   local DOMAIN="${1}" TOKEN_FILENAME="${2}" TOKEN_VALUE="${3}"
40   echo " + Hook: ${HANDLER}: Nothing to do..."
41   ;;
42 invalid_challenge)
43   local DOMAIN="${1}" RESPONSE="${2}"
44   echo " + Hook: ${HANDLER}: Nothing to do..."
45   ;;
46 request_failure)
47   local STATUSCODE="${1}" REASON="${2}" REQTYPE="${3}"
48   echo " + Hook: ${HANDLER}: Nothing to do..."
49   ;;
50 unchanged_cert)
51   local DOMAIN="${1}" KEYFILE="${2}" CERTFILE="${3}" FULLCHAINFILE="${4}" CHAINFILE="${5}"
52   echo " + Hook: ${HANDLER}: Nothing to do..."
53   ;;
54 *)
55   echo " + Hook: ${HANDLER}: Nothing to do..."
56   ;;
57 esac