#!/bin/bash

DATE="`date +%F--%H-%M`"
DIR=/var/cache/ospfmap

mkdir -p "$DIR"
/usr/sbin/ospfmap > "$DIR"/map."$DATE"

cmp -s "$DIR"/map.current "$DIR"/map."$DATE" && {
	rm "$DIR"/map."$DATE"
	exit 0
}

SUBJ="$(diff -uN "$DIR"/map.current "$DIR"/map."$DATE" \
	| tail -n +3 \
	| sed -n '/^[+-]/{s/^. *//;/->/s/ ->.*//p;s/.*(\(.*\))$/\1/p}' \
	| sort -u | head -4 | xargs echo)"

diff \
	-uN \
	--label OSPF-MAP.old "$DIR"/map.current \
	--label OSPF-MAP.current "$DIR"/map."$DATE" \
	$WATCH_DIFF_OPTS \
	| mail -E -s "OSPF Map change $DATE $SUBJ" $MAILTO

rm -f "$DIR"/map.current
ln -s map."$DATE" "$DIR"/map.current

exit 0
