]> TLD Linux GIT Repositories - packages/dehydrated.git/blob - hook.functions
- moved hook processing code to functions
[packages/dehydrated.git] / hook.functions
1 #!/bin/sh
2
3 deploy_cert() {
4   local DOMAIN="${1}" KEYFILE="${2}" CERTFILE="${3}" FULLCHAINFILE="${4}" CHAINFILE="${5}" TIMESTAMP="${6}"
5   if [[ -n "${HOOKS_D}" ]]; then
6     if [[ ! -d "${HOOKS_D}" ]]; then
7       echo " + Hook: ${HANDLER}: The path ${HOOKS_D} specified for HOOKS_D does not point to a directory."
8     else
9       if [[ -f "${HOOKS_D}/${DOMAIN}" ]]; then 
10         if  [[ -r "${HOOKS_D}/${DOMAIN}" ]]; then
11           echo " + Hook: ${HANDLER}: Executing hook script for certificate ${DOMAIN}."
12           . "${HOOKS_D}/${DOMAIN}"
13         else
14           echo " + Hook: ${HANDLER}: Cannot execute hook script for certificate ${DOMAIN}."
15         fi
16       else
17         if [[ -f "${HOOKS_D}/global" ]] && [[ -r "${HOOKS_D}/global" ]]; then
18           echo " + Hook: ${HANDLER}: Executing global hook script"
19           . "${HOOKS_D}/global"
20         else
21           echo " + Hook: ${HANDLER}: Cannot execute global hook script."
22         fi
23       fi
24     fi
25   fi
26 }
27
28 clean_challenge() {
29   local DOMAIN="${1}" TOKEN_FILENAME="${2}" TOKEN_VALUE="${3}"
30   echo " + Hook: ${HANDLER}: Nothing to do..."
31 }
32
33 deploy_challenge() {
34   local DOMAIN="${1}" TOKEN_FILENAME="${2}" TOKEN_VALUE="${3}"
35   echo " + Hook: ${HANDLER}: Nothing to do..."
36 }
37
38 invalid_challenge() {
39   local DOMAIN="${1}" RESPONSE="${2}"
40   echo " + Hook: ${HANDLER}: Nothing to do..."
41 }
42
43 request_failure() {
44   local STATUSCODE="${1}" REASON="${2}" REQTYPE="${3}"
45   echo " + Hook: ${HANDLER}: Nothing to do..."
46 }
47
48 unchanged_cert() {
49   local DOMAIN="${1}" KEYFILE="${2}" CERTFILE="${3}" FULLCHAINFILE="${4}" CHAINFILE="${5}"
50   echo " + Hook: ${HANDLER}: Nothing to do..."
51 }
52
53 # concat file atomic way
54 atomic_concat() {
55   local file=$1; shift
56   > $file.new
57   chmod 600 $file.new
58   cat "$@" > $file.new
59   cp -f $file $file.dehydrated~
60   mv -f $file.new $file
61 }
62
63 lighttpd_reload() {
64   if [ ! -x /usr/sbin/lighttpd ] || [ ! -f /etc/lighttpd/server.pem ]; then
65     return
66   fi
67   echo " + Hook: Overwritting /etc/lighttpd/server.pem and reloading lighttpd..."
68   atomic_concat /etc/lighttpd/server.pem "$FULLCHAINCERT" "$PRIVKEY"
69   /sbin/service lighttpd reload
70 }
71
72 haproxy_reload() {
73   if [ ! -x /usr/sbin/haproxy ] || [ ! -f /etc/haproxy/server.pem ]; then
74     return
75   fi
76   echo " + Hook: Overwritting /etc/haproxy/server.pem and restarting haproxy..."
77   atomic_concat /etc/haproxy/server.pem "$FULLCHAINCERT" "$PRIVKEY"
78   /sbin/service haproxy reload
79 }
80
81 nginx_reload() {
82   if [ ! -f /etc/nginx/server.crt ] || [ ! -f /etc/nginx/server.key ]; then
83     return
84   fi
85   echo " + Hook: Overwritting /etc/nginx/server.{crt,key} and reloading nginx..."
86   atomic_concat /etc/nginx/server.crt "$FULLCHAINCERT"
87   atomic_concat /etc/nginx/server.key "$PRIVKEY"
88   /sbin/service nginx reload
89 }
90
91 apache_reload() {
92   if [ ! -x /etc/rc.d/init.d/httpd ]; then
93     return
94   fi
95   echo " + Hook: Reloading Apache..."
96   /sbin/service httpd graceful
97 }
98
99 postfix_reload() {
100   if [ ! -x /etc/rc.d/init.d/postfix ]; then
101     return
102   fi
103   echo " + Hook: Reloading Postfix..."
104   /sbin/service postfix reload
105 }
106
107 dovecot_reload() {
108   if [ ! -x /etc/rc.d/init.d/dovecot ]; then
109     return
110   fi
111   echo " + Hook: Reloading Dovecot..."
112   /sbin/service dovecot reload
113 }