#!/bin/bash

# arrêt en cas d'erreur #5665
set -e

. /usr/lib/eole/utils.sh

# initialisation du fichier des fournisseurs ldap
touch $(CreoleGet container_path_annuaire)/etc/ldap/replication.conf

if [ $(CreoleGet activer_client_ldap) = "local" ];then
    # Mise en place de l'arborescence SSL - ref #23389
    container_path_annuaire=$(CreoleGet container_path_annuaire)
    . ${container_path_annuaire}/etc/default/slapd
    ldap_conf_dir=$(dirname ${SLAPD_CONF})
    InstallSSLFiles openldap $SLAPD_USER $SLAPD_GROUP ${ldap_conf_dir}/ssl annuaire

    #Copie du fichier DB_CONFIG que si le fichier est différent (#16862)
    SRC=/tmp/DB_CONFIG
    DST=$(CreoleGet container_path_annuaire)/var/lib/ldap/DB_CONFIG
    if [ -f $SRC ]; then
        diff -q $SRC $DST &> /dev/null || cp -af $SRC $DST
    fi

    # gestion de Upgrade-Auto avec changement de backend (ref #34782)
    CreoleRun "[ -f '/var/lib/eole/upgrade.ldif' ] && (rm -f /var/lib/ldap/*.*; su openldap -s /bin/bash -c 'slapadd -f /etc/ldap/slapd.conf -l /var/lib/eole/upgrade.ldif'; rm -f /var/lib/eole/upgrade.ldif)" annuaire || true
    if [ $(CreoleGet activer_admin_passfile) = 'oui' ]; then
        ldap_admin_passfile=$(CreoleGet ldap_admin_passfile)
        pass=$(cat $ldap_admin_passfile)
    else
        pass=$(/usr/bin/pwgen -cn1 12)
    fi
    /usr/share/eole/sbin/ldap_pwd.py $pass norestart > /dev/null
fi
exit 0
