#!/bin/sh

# Distribute KDC database to slave servers
# Created by Jason Garmon for use with MIT Kerberos 5

# Configurables
slavekdcs="ldap.example.com"
krb5prefix="/usr"
slavedata="/etc/krb5kdc/slavedata"

success=1

/usr/sbin/kdb5_util dump ${slavedata}
error=$?
if [ ${error} -ne 0 ];
then
	echo "Kerberos database dump failed with exit code ${error}."
	exit 1
fi

for kdc in ${slavekdcs}
do
	${krb5prefix}/sbin/kprop -f ${slavedata} ${kdc} 2>&1 > /dev/null
	error=$?
	if [ ${error} -ne 0 ]
	then
		echo "Propagation of database to host ${kdc} failed with exit code ${error}."
		success=0
	fi
done

if [ ${success} -eq 1 ]
then
	exit 0
else
	exit 1
fi
