#!/bin/sh
#
# This script is called when a network device comes up.
#
# Here is where we'll start 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
#
# ALSO: make sure to use a 'provider <isp>' tag in /etc/network/interfaces
#		it will be used as the name of a file in /etc/mail/peers
#       If you don't use provider, we'll use DNS_DOMAIN, or lacking that,
#       the first entry in DNS_SEARCH
#


# These variables are for the use of the scripts run by run-parts
#IFACE=;            <-- ifupdown
#IF_ADDRESS=;       <-- ifupdown
#IF_PROVIDER=;      <-- sendmail specific
#IF_DNS_DOMAIN=;    <-- resolvconf
#IF_DNS_SEARCH=;	<-- resolvconf

if [ ! -z "$IFACE" ]; then
	addr=$IF_ADDRESS;
	if [ -n "$IF_PROVIDER" ]; then
		provider="$IF_PROVIDER";
	elif [ -n "$IF_DNS_DOMAIN" ]; then
		provider="$IF_DNS_DOMAIN";
	elif [ -n "$IF_DNS_SEARCH" ]; then
		provider=$(echo "$IF_DNS_SEARCH" | /usr/bin/cut -d' ' -f 1);
		fi;
	iface=$IFACE;
else
	addr=$1;
	provider=$2;
	iface=$3;
	fi;

# Bring in some script functions to handle dynamic configuration
test -r @datadir@/sendmail/dynamic || exit 0
. @datadir@/sendmail/dynamic;

# Note the interface that just changed
update_interface "$iface" "BOUND";

# If the domain name has changed, update the provider information
if [ -n "$provider" ]; then
	update_provider "$provider";
	fi;

# If the ip address has changed, update the host information
if [ -n "$addr" ]; then
	update_host "$addr";
	fi;

# If anything has been changed, update sendmail.cf and reload
update_sendmail "ifupdown";

exit 0;

