#!/bin/ksh
# Set (change) a users password

export TOPDIR=/usr/local/lib/ldap
. ${TOPDIR}/etc/vars

if [ ! $LDAPDOMAIN ]
then
	LDAPDOMAIN=$DEFAULTLDAPDOMAIN
fi

DNDOMAIN=`echo $LDAPDOMAIN | sed -e "s/^/dc=/g" -e "s/\./,dc=/g"`

if [ $# -lt 2 ]
then
	echo "Usage: $0 user newpassword"
	exit 1
else
	USER=$1
fi

TODAY=`dse`
NEWPWHASH=`dspw $2 | grep CRYPT | awk ' { print $4 } '`

cat ${LDIFTMPLTDIR}/pw-set.ldif | sed -e "s/UID/${USER}/" -e "s/DNDOMAIN/${DNDOMAIN}/" -e "s/TODAY/${TODAY}/" -e "s%PWHASH%${NEWPWHASH}%" > ${WORKDIR}/pw-set-${USER}.ldif
ldapmodify -x -w $DIRMGRPW -D "cn=Directory Manager" -h $LDAPSERVER -f ${WORKDIR}/pw-set-${USER}.ldif
if [ $? -eq 0 ]
then
        mv ${WORKDIR}/pw-set-${USER}.ldif ${PWCHGSDIR}
else
        echo "Error setting password for $USER"
        exit 1
fi

