#!/bin/sh
# Generate a SSHA password for LDIF entry

usage () {
	echo "Usage: $0 password_string ([CRYPT]|MD5|SHA|SSHA)"
}

if [ $# -lt 1 ]
then
	usage
	exit 1
else
	PW=$1
fi

# Get the schema arg, default CRYPT
if [ $# -eq 2 ]
then
	case $2 in
	crypt|CRYPT)
		SCHEME=CRYPT
	;;
	md5|MD5)
		SCHEME=MD5
	;;
	sha|SHA)
		SCHEME=SHA
	;;
	ssha|SSHA)
		SCHEME=SSHA
	;;
	*)
		usage
        	exit 1
	;;
	esac
else
	SCHEME=CRYPT
fi

PWLENGTH=`echo -e "${PW}\c" | wc -c`

if [ $PWLENGTH -lt 6 -o $PWLENGTH -gt 8 ]
then
	echo "Password should be 6-8 characters"
	exit 1
fi

LDIFPW=`slappasswd -h {$SCHEME} -s $PW`
echo "Password string is: $PW"
echo "LDIF string is: $LDIFPW"
