#!/bin/bash
. /usr/lib/eole/diagnose.sh

SAMBA4_VARS=/etc/eole/samba4-vars.conf
if [ -f "${SAMBA4_VARS}" ]
then
    . "${SAMBA4_VARS}"
else
    # Template is disabled => samba is disabled
    echo "Samba is disabled"
    exit 0
fi

. /usr/lib/eole/samba4.sh

SAMBA_LIB_PRIVATE_DIR="/var/lib/samba/private"

EchoGras "*** Serveur Active Directory"
echo
echo "Test du fichier de configuration :"
printf ".  %${len_pf}s => " "Syntaxe"
CreoleRun "testparm -s >/dev/null 2>&1"
[[ $? -eq 0 ]] && EchoVert "Ok" || EchoRouge "Erreur"
echo

echo "Resolution DNS :"
printf ".  %${len_pf}s => " "Syntaxe"
CDU=NOK
if host -t SRV _ldap._tcp.dc._msdcs.${AD_REALM}. >/dev/null 2>&1
then
    if host -t SRV _ldap._tcp.${AD_REALM}. >/dev/null 2>&1
    then
        if host -t SRV _kerberos._udp.${AD_REALM}. >/dev/null 2>&1
        then
            CDU=OK
        fi
    fi
fi
[ "$CDU" = "OK" ] && EchoVert "Ok" || EchoRouge "Erreur"

if [ "${AD_SERVER_ROLE}" == "controleur de domaine" ]; then
    printf ".  %${len_pf}s => " "DNS AD"
    dig @localhost ${AD_HOST_NAME}.${AD_REALM} >/dev/null 2>&1
    [ $? = 0 ] && EchoVert "Ok" || EchoRouge "Erreur"
    echo

    echo "Réplication :"
    printf ".  %${len_pf}s => " ""
    CDU=$(samba-tool drs showrepl | grep Enabled | grep TRUE)
    [ -n "$CDU" ] && EchoVert "Actif" || EchoOrange "Inactif"
    echo
fi
exit 0
