#!/bin/sh
# Creates soa.internal and soa.external files based serial.txt
# YYYYMMDDnn
# Takes no arguments
# Mark Kamichoff <prox@prolixium.com>

PATH="/bin:/usr/bin:/sbin:/usr/sbin"
SERIAL=$(cat serial.txt)
INDEX=$(echo $SERIAL|cut -b 9-)
DATE=$(echo $SERIAL|cut -b -8)

CURDATE=$(date +%Y%m%d)

if test "$CURDATE" == "$DATE"; then
	# bump index and add leading 0 if needed
	NEWINDEX=$(printf "%.2d" $(expr $INDEX + 1))
else
	NEWINDEX="01"
fi

NEWSERIAL="$CURDATE$NEWINDEX"

echo $NEWSERIAL > serial.txt

for CURFILE in soa.internal soa.external;
do
	echo "\$TTL 3600" > $CURFILE
	echo "@	IN	SOA	ns3.antiderivative.net.	hostmaster.prolixium.com. (" >> $CURFILE
	echo "        $NEWSERIAL	; Serial number (YYYYMMDDnn)" >> $CURFILE
	echo "        2h		; Refresh time" >> $CURFILE
	echo "        30m		; Retry time " >> $CURFILE
	echo "        756000	; Expire time" >> $CURFILE
	echo "        3600		; Default TTL" >> $CURFILE
	echo ")" >> $CURFILE

	echo >> $CURFILE

	if test "$CURFILE" == "soa.internal"; then
		echo "@       IN       NS      ns1.antiderivative.net.	; nat" >> $CURFILE
		echo "@       IN       NS      ns2.antiderivative.net.	; dax" >> $CURFILE
		echo "@       IN       NS      ns3.antiderivative.net.	; nox" >> $CURFILE
		echo "@       IN       NS      ns4.antiderivative.net.	; atlantis" >> $CURFILE
		echo "@       IN       NS      ns5.antiderivative.net.	; firefly" >> $CURFILE
		echo "@       IN       NS      ns6.antiderivative.net.	; scimitar" >> $CURFILE
		echo "@       IN       NS      ns7.antiderivative.net.	; centauri" >> $CURFILE
	else
		echo "@       IN       NS      ns2.antiderivative.net.	; dax" >> $CURFILE
		echo "@       IN       NS      ns3.antiderivative.net.	; nox" >> $CURFILE
	fi
done

