3 # This file contains base functions for dehydrated hook scripts.
4 # Please do not edit this file! It will be overwritten by package updates!
5 # If you need to implement your own functions, take a look at
6 # custom_functions file.
8 # This function checks for per certificate hook scripts in hooks.d directory.
9 # If not found, it executes global hook script instead.
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."
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}"
21 echo " + Hook: ${HANDLER}: Cannot execute hook script for certificate ${DOMAIN}."
24 if [[ -f "${HOOKS_D}/global" ]] && [[ -r "${HOOKS_D}/global" ]]; then
25 echo " + Hook: ${HANDLER}: Executing global hook script"
28 echo " + Hook: ${HANDLER}: Cannot execute global hook script."
36 local DOMAIN="${1}" TOKEN_FILENAME="${2}" TOKEN_VALUE="${3}"
37 echo " + Hook: ${HANDLER}: Nothing to do..."
41 local DOMAIN="${1}" TOKEN_FILENAME="${2}" TOKEN_VALUE="${3}"
42 echo " + Hook: ${HANDLER}: Nothing to do..."
46 local DOMAIN="${1}" RESPONSE="${2}"
47 echo " + Hook: ${HANDLER}: Nothing to do..."
51 local STATUSCODE="${1}" REASON="${2}" REQTYPE="${3}"
52 echo " + Hook: ${HANDLER}: Nothing to do..."
56 local DOMAIN="${1}" KEYFILE="${2}" CERTFILE="${3}" FULLCHAINFILE="${4}" CHAINFILE="${5}"
57 echo " + Hook: ${HANDLER}: Nothing to do..."
60 # Function to concat files atomic way to avoid MITM problems
66 cp -f $file $file.dehydrated~
71 if [ ! -x /usr/sbin/lighttpd ] || [ ! -f /etc/lighttpd/server.pem ]; then
74 echo " + Hook: Overwritting /etc/lighttpd/server.pem and reloading lighttpd..."
75 atomic_concat /etc/lighttpd/server.pem "$FULLCHAINCERT" "$PRIVKEY"
76 /sbin/service lighttpd reload
80 if [ ! -x /usr/sbin/haproxy ] || [ ! -f /etc/haproxy/server.pem ]; then
83 echo " + Hook: Overwritting /etc/haproxy/server.pem and restarting haproxy..."
84 atomic_concat /etc/haproxy/server.pem "$FULLCHAINCERT" "$PRIVKEY"
85 /sbin/service haproxy reload
89 if [ ! -f /etc/nginx/server.crt ] || [ ! -f /etc/nginx/server.key ]; then
92 echo " + Hook: Overwritting /etc/nginx/server.{crt,key} and reloading nginx..."
93 atomic_concat /etc/nginx/server.crt "$FULLCHAINCERT"
94 atomic_concat /etc/nginx/server.key "$PRIVKEY"
95 /sbin/service nginx reload
99 if [ ! -x /etc/rc.d/init.d/httpd ]; then
102 echo " + Hook: Reloading Apache..."
103 /sbin/service httpd graceful
107 if [ ! -x /etc/rc.d/init.d/postfix ]; then
110 echo " + Hook: Reloading Postfix..."
111 /sbin/service postfix reload
115 if [ ! -x /etc/rc.d/init.d/dovecot ]; then
118 echo " + Hook: Reloading Dovecot..."
119 /sbin/service dovecot reload