#!/bin/bash

activer_ad=$(CreoleGet activer_ad)
if [ $activer_ad != 'oui' ];then
    # désactivation de la synchronisation nocturne (#7878)
    /usr/share/eole/schedule/manage_schedule post eolead daily del >/dev/null 2>&1
    exit 0
fi
. /usr/lib/eole/ihm.sh
ad_user=$(CreoleGet ad_user)
ad_domain=$(CreoleGet ad_domain)

sync=1
initkrb()
{
    DOMAIN=`echo $ad_domain | tr 'a-z' 'A-Z'`
    echo $1 | kinit $ad_user@$DOMAIN
    net ads join -U $ad_user%$passwd -S $ad_server.$ad_domain
    sync=0
}
pwdfile=/root/.eolead
if [ -f $pwdfile ];then
    passwd=$(sed 's/\$/\\$/g' $pwdfile)
    klist &>/dev/null
    if [ $? -ne 0 ];then
        if [ "$1" != 'instance' ];then
            EchoRouge "Erreur de récupération du ticket Kerberos"
            echo "Relancer \"instance\""
            echo
        else
            initkrb $passwd
        fi
    fi
else
    if [ "$1" != 'instance' ];then
        echo
        EchoRouge "Erreur : mot de passe Active Directory inconnu !"
        echo "=> Relancez la procédure d'instanciation"
        echo
    else
        echo
        EchoCyan "Intégration au domaine Active Directory"
        echo -n "Mot de passe de l'administrateur Active Directory : "
        read -s passwd
        echo
        echo $passwd > $pwdfile
        passwd=$(sed 's/\$/\\$/g' $pwdfile)
        initkrb $passwd
    fi
fi
# activation de la synchronisation nocturne (#7878)
/usr/share/eole/schedule/manage_schedule post eolead daily add >/dev/null 2>&1
# Mise à jour du mot de passe AD dans /etc/lsc/lsc.xml et smbldap_bind.conf
perl -i -pe"s@\[ad_password\]@<password>$passwd</password>@"g /etc/lsc/lsc.xml
perl -i -pe"s@\[ad_password\]@$passwd@"g /etc/smbldap-tools/smbldap_bind.conf
if [ $sync -eq 0 ];then
    EchoCyan "Synchronisation ldap"
    lsc -f /etc/lsc -s all -t1
    echo
fi
exit 0
