#!/bin/sh

. shell-config

rdelim='[[:space:]]\+'
wdelim=' '

SLAPD_CONF="/etc/openldap/slapd-generated.conf"
PROXYUSER_FILE="/etc/openldap/proxyuser.pass"

read_ldap()
{
shell_config_get "$1" "$2" "$rdelim"
}

BASE=$(read_ldap "$SLAPD_CONF" suffix|sed -e 's/"//g')
LDAP_PASS=`pwgen 16 1`
LDAP_PROXYUSER_PASS=`pwgen -n 25 -1`

alterator-cmdline auth action write profile ldap ldap_uri ldap://localhost ldap_basedn $BASE
rpm -e alterator-auth


ldap-init > /dev/null

touch "$PROXYUSER_FILE"
chmod 644 "$PROXYUSER_FILE"
echo "$LDAP_PROXYUSER_PASS" > "$PROXYUSER_FILE"

ldap-proxyuser create > /dev/null 2>&1

# enable samba3.schema
sed -i -e "s,^[[:space:]]*#include[[:space:]]\+/etc/openldap/schema/samba3.schema,include\t/etc/openldap/schema/samba3.schema," "/etc/openldap/slapd.conf"
sed -i s/secret/$LDAP_PASS/ /etc/openldap/slapd-generated.conf
sed -i s/dc=DCexampleDomain/$BASE/ /usr/share/installed-db-school-server/LocalSettings.php
sed -i s/dc=localhost/$BASE/g /usr/share/installed-db-school-server/moodle.sql
sed -i s/idae7xahh0/$LDAP_PROXYUSER_PASS/ /usr/share/installed-db-school-server/moodle.sql


service slapd restart

ldapsearch -x -b $BASE > /dev/null 2>&1

STATUS=$?
i=0
while [ $i -lt 10 ] && [ "$STATUS" != "0" ]; do
	ldapsearch -x -b $BASE > /dev/null 2>&1
	STATUS=$?
	let i=i+1
	[ "$STATUS" -ge "1" ] && sleep 1
done

chkconfig nslcd on
service nslcd start 
