#!/bin/sh

MYUSER="bbraun"

if [ ! -z "$SUDO_USER" ]; then
	MYUSER=$SUDO_USER
fi

ASUSER="sudo -u $MYUSER"

create_mountrec() {
	if [ $# != 3 ]; then
		echo "Usage: create_mountrec server:/path linkdir proto"
		return -1
	fi

	server=`echo $1 | sed -e 's/:/\ /' | awk '{print $1}'`
	share=`echo $1 | sed -e 's/:/\ /' | awk '{print $2}'`

	escapename=`echo $1 | sed -e 's,/,\\\/,g'`

	linkdir=$2
	proto=$3
	case "$proto" in
	"smb")
		url="url==smb://guest@$1"
		;;
	"cifs")
		url="url==cifs://guest@$1"
		;;
	"afp")
		url="url==afp://;AUTH=NO%20%USER%20AUTHENT@$1"
		;;
	*)
		echo "Unknown protocol: $proto"
		return -1;
		;;
	esac

	dscl /Local/Default -delete "/Mounts/${escapename}" > /dev/null 2>&1

	echo Creating mount point for $url

	dscl /Local/Default -create "/Mounts/${escapename}"
	if [ "$?" != "0" ]; then
		echo "Error creating /Mounts/${escapename}"
		return -1;
	fi
	dscl /Local/Default -create "/Mounts/${escapename}" VFSLinkDir ${linkdir}
	if [ "$?" != "0" ]; then
		echo "Error creating VFSLinkDir attribute for /Mounts/${escapename}"
		return -1;
	fi
	dscl /Local/Default -create "/Mounts/${escapename}" VFSType url
	if [ "$?" != "0" ]; then
		echo "Error creating VFSType attribute for /Mounts/${escapename}"
		return -1;
	fi
	dscl /Local/Default -create "/Mounts/${escapename}" VFSOpts net
	if [ "$?" != "0" ]; then
		echo "Error creating VFSOpts attribute for /Mounts/${escapename}"
		return -1;
	fi
	dscl /Local/Default -append "/Mounts/${escapename}" VFSOpts "${url}"
	if [ "$?" != "0" ]; then
		echo "Error appending VFSOpts attribute with url ${url} for /Mounts/${escapename}"
		return -1;
	fi
}

for share in e 3000a backuparray iphoneitunes itunes d g; do
	create_mountrec "ariel.home:/${share}" /Network/Servers smb
done

create_mountrec "xserve3.home:/NetBootSP0" /Network/Servers afp

# Flush automount cache after adding mount records
automount -c
