#!/bin/sh

PATH="/usr/local/sbin:/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin"
export PATH

. need_root

echo -n "ldap"

. which_user  # sets $user and $home, will exit if borked
. user_info   # sets other variables

ldif_file=`temp -s .ldif`

{
cat <<End
version: 1
dn:uid=$user,ou=People,dc=ucm,dc=net
uid: $user
givenName: $firstname
cn: $name
sn: ${surname:-X}
loginShell: $shell
uidNumber: $uid
gidNumber: $gid
homeDirectory: $home
shadowMin: -1
shadowMax: 999999
shadowWarning: 7
shadowInactive: -1
shadowExpire: -1
shadowFlag: 0
objectClass: top
objectClass: person
objectClass: posixAccount
objectClass: shadowAccount
objectClass: inetOrgPerson
objectClass: simpleSecurityObject
mail: $email
userPassword: $password
End

#clearPassword: $password
#objectClass: freePerson
#telephoneNumber: $phone
} > "$ldif_file"

log=`temp -s .log`

suldap -a < "$ldif_file" >"$log" 2>&1 || suldap < "$ldif_file" >>"$log" 2>&1 || {
	echo
	echo "ldap add/modify failed for $user:"
	cat "$log"
	echo
	echo "ldif data:"
	cat "$ldif_file"
} >&2
rm "$log"
rm "$ldif_file"

echo " (directory)."

. which_user  # sets $user and $home, will exit if borked
. user_info   # sets other variables
