#!/bin/ksh
# Add a user or host to an existing netgroup

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

usage () {
	echo "Usage: $0 netgroup user|host username|hostname"
}

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

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

if [ $# -lt 3 ]
then
	usage
	exit 1
else
	NETGROUP=$1
	TYPE=$2
	NAME=$3
fi

if [ $TYPE = "user" ]
then
    cat ${LDIFTMPLTDIR}/add2netgroup.ldif | sed -e "s/NETGROUP/${NETGROUP}/" -e "s/DNDOMAIN/${DNDOMAIN}/" -e "s/LDAPDOMAIN/${LDAPDOMAIN}/" -e "s/,,/,${NAME},/" > ${WORKDIR}/add2netgroup-${NETGROUP}-${NAME}.ldif
elif [ $TYPE = "host" ]
then
    cat ${LDIFTMPLTDIR}/add2netgroup.ldif | sed -e "s/NETGROUP/${NETGROUP}/" -e "s/DNDOMAIN/${DNDOMAIN}/" -e "s/LDAPDOMAIN/${LDAPDOMAIN}/" -e "s/,,/${NAME}.in.snowball.com,,/" > ${WORKDIR}/add2netgroup-${NETGROUP}-${NAME}.ldif
else
	usage
fi

ldapmodify -a -x -w $DIRMGRPW -D "cn=Directory Manager" -h localhost -f ${WORKDIR}/add2netgroup-${NETGROUP}-${NAME}.ldif
if [ $? -eq 0 ]
then
	mv ${WORKDIR}/add2netgroup-${NETGROUP}-${NAME}.ldif ${ADDEDDIR}
else
	echo "Error adding $NAME to netgroup $NETGROUP"
	exit 1
fi
