#!/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

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

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

echo "DNS AD :"
printf ".  %${len_pf}s => " "Enregistrements SRV"
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
if [ "$CDU" = "OK" ]
then
	EchoVert "Ok"
else
	EchoRouge "Erreur (Vérifier 'Nom DNS du réseau local')"
fi

if [ "${AD_SERVER_ROLE}" == "controleur de domaine" ]; then
	# Attention au é qui compte 2 caractères
    printf ".   %${len_pf}s => " "Résolution ${AD_HOST_NAME}.${AD_REALM}"
    dig @localhost ${AD_HOST_NAME}.${AD_REALM} >/dev/null 2>&1
    if [ $? = 0 ]
	then
		EchoVert "Ok"
	else
		EchoRouge "Erreur"
	fi
    echo

    echo "Réplication :"
    printf ".  %${len_pf}s => " "Statut"
	if [[ ${AD_ADDITIONAL_DC} = 'non' ]]
	then
		EchoOrange "Inactif"
	else
		CDU=$(samba-tool drs showrepl | grep Enabled | grep TRUE)
    	if [ -n "$CDU" ]
		then
			EchoVert "Actif"
		else
			EchoRouge "Erreur"
		fi
	fi
    echo
else
    echo
fi
exit 0
