diff options
Diffstat (limited to 'debian/examples/dhcp/dhclient-exit-hooks.d/sendmail.in')
-rw-r--r-- | debian/examples/dhcp/dhclient-exit-hooks.d/sendmail.in | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/debian/examples/dhcp/dhclient-exit-hooks.d/sendmail.in b/debian/examples/dhcp/dhclient-exit-hooks.d/sendmail.in new file mode 100644 index 0000000..c517033 --- /dev/null +++ b/debian/examples/dhcp/dhclient-exit-hooks.d/sendmail.in @@ -0,0 +1,49 @@ +#!/bin/sh +# +# This script is called when a dhcp event occurs. +# +# Here is where we'll start/stop sendmail if needed. +# +# Written By Richard Nelson <cowboy@debian.org> +# +# NOTE: The following lines (without the #) must be in /etc/mail/sendmail.mc: +# include(`/etc/mail/dialup.m4')dnl +# include(`/etc/mail/provider.m4')dnl +# +# NOTE: The dhcp DNS name is used as the peer name in /etc/mail/peers. +# + +# No need to continue if we're called with an unsupported option +case "$reason" in + EXPIRE|FAIL|RELEASE|STOP) #down... and TIMEOUT too ??? + ;; + BOUND|RENEW|REBIND|REBOOT|TIMEOUT) #up... why TIMEOUT here ??? + ;; + *) + return; + ;; + esac; + +# Bring in some script functions to handle dynamic configuration +. @datadir@/sendmail/dynamic; + +# Note the interface that just changed +update_interface "$interface" "$reason"; + +# If the domain name has changed, update the provider information +if [ "$new_domain_name" != "$old_domain_name" ]; then + update_provider "$new_domain_name"; + fi; + +# If the ip address has changed, update the host information +if [ "$new_ip_address" != "$oldnew_ip_address" ]; then + update_host "$new_ip_address"; + fi; + +# If anything has been changed, update sendmail.cf and reload +# Actually, we'll delay the reload because we'll be hit in a moment +# to handle the change by /etc/network/if-up.d/sendmail +update_sendmail "dhcp" Delayed; + +return; + |