#!/bin/bash

###########################################
# Résolution de noms et remontées des WINS
#
. /usr/lib/eole/diagnose.sh

nom_domaine=$(CreoleGet smb_workgroup)
wins_servers=$(CreoleGet smb_wins_server "")
broadcast_eth0=$(CreoleGet adresse_broadcast_eth0)
share_container="fichier"

EchoGras "*** Vérification de la résolution de nom netbios :"
echo
if [ -n "$wins_servers" ]
then
    printf ".  %${len_pf}s => " "Serveurs WINS"
    echo $wins_servers
    echo
    echo "PDC du domaine $nom_domaine via broadcast :"
    printf ".  %${len_pf}s => " "IP"
    cmd="nmblookup -B $broadcast_eth0 $nom_domaine#1B"
    res=$(CreoleRun "${cmd}" fichier | awk '/<1b>/ { print $1}')
    echo "${res}"
    echo
    echo "PDC via serveur WINS :"
    echo
    for wins in ${wins_servers}
    do
        printf ".  %${len_pf}s => " "WINS $wins"
        cmd="nmblookup -R -U $wins $nom_domaine#1B"
        res=$(CreoleRun "${cmd}" ${share_container} | awk '/1b/ {if (match($1, /name_query/)) {print "Erreur"} else {print $1}}')
        [[ "$res" != "Erreur" ]] && echo "$res" || EchoRouge $res
    done
    echo
    echo "BDC du domaine $nom_domaine via broadcast :"
    printf ".  %${len_pf}s => " "IP"
    echo $(nmblookup -B $broadcast_eth0 $nom_domaine#1C | awk '/<1c>/ { print $1}')
    echo
    echo "BDC via serveur WINS :"
    for wins in ${wins_servers}
    do
        printf ".  %${len_pf}s => " "WINS $wins"
        cmd="nmblookup -R -U $wins $nom_domaine#1C"
        res=$(CreoleRun "${cmd}" ${share_container} | awk '/1c/ {if (match($1, /name_query/)) {print "Erreur"} else {print $1}}')
        [[ "$res" != "Erreur" ]] && echo $res || EchoRouge $res
    done
    echo
#else
#    EchoOrange "Aucun serveur WINS"
fi
echo "Maître explorateur du domaine $nom_domaine:"

printf ".  %${len_pf}s => " "IP"
cmd="nmblookup -S $nom_domaine#1D"
res=$(CreoleRun "${cmd}" ${share_container})
if [[ ${res} == *failed* ]]
then
  EchoRouge "Erreur"
else
  echo ${res} | awk '/1d/ {print $1}'
fi
echo

exit 0
