#!/bin/sh

. /etc/kwartz-client.conf
# ensure a non-empty password is someone has entered nothing
[ -n "$userpassword" ] || userpassword="nonEmpty"

# sauvegarde d'un précédent fichier nslcd.conf s'il n'existe pas
if [ ! -f /etc/nslcd.conf.before-kwartz ] && [ -f /etc/nslcd.conf ] && \
       ! grep -q kwartz /etc/nslcd.conf; then
    cp  /etc/nslcd.conf /etc/nslcd.conf.before-kwartz
fi

# ecriture de /etc/nslcd.conf
cat /usr/share/doc/kwartz-client/nslcd.conf.template | \
    sed -e "s%@@ldapuri@@%$ldapuri%" \
	-e "s/@@ldapbase@@/$ldapbase/" \
	-e "s/@@user@@/$user/" \
	-e "s/@@userpassword@@/$userpassword/" > /etc/nslcd.conf

# ecriture de /etc/nsswitch.conf
cp /usr/share/doc/kwartz-client/nsswitch.conf.template /etc/nsswitch.conf

#ajout d'une ligne dans /etc/pam.d/common-session
l="session required pam_mkhomedir.so skel=/etc/skel umask=0022"

if ! grep -q "pam_mkhomedir.so" /etc/pam.d/common-session; then
    echo $l >> /etc/pam.d/common-session
fi

# ajout d'un bloc dans /etc/security/pam_mount.conf.xml
# pour monter automatiquement les partages du serveur Kwartz
# destinés à un utilisateur

# le nom du Bureau peut être Desktop, comme avec LXDE
skeltop=$(ls /etc/skel)
desktopname=Bureau
if echo $skeltop | grep -q Desktop ; then
    desktopname=Desktop
fi

if ! grep -q "Volume definitions for Kwartz" /etc/security/pam_mount.conf.xml; then
    cat /etc/security/pam_mount.conf.xml | \
	sed -e '/.*<!-- Volume definitions -->/ r /usr/share/doc/kwartz-client/pam_mount.conf.xml.template' | \
	sed -e "s/SERVEUR/$servername/" -e "s/Bureau/$desktopname/" > \
	    /etc/security/pam_mount.conf.xml.tmp && \
	mv /etc/security/pam_mount.conf.xml.tmp /etc/security/pam_mount.conf.xml
fi

# ajout d'une ligne dans /etc/inetd.conf pour le "kwartz-auth"
l="ident stream tcp wait identd /usr/sbin/identd identd"
if ! grep -q "ident *stream *tcp *wait *identd" /etc/inetd.conf; then
    update-inetd --add "$l"
fi

# ajout d'un lien pour que les utilisateurs aient un shell
ln -sf bash /bin/kwartz-sh

service nslcd restart

# écriture de la configuration pour kwartz-cloud
sed -i \
    -e 's/SERVER_IP=.*/SERVER_IP='${cloud_ip}'/' \
    -e 's/ALT_IP=.*/ALT_IP='${alt_ip}'/' \
    -e 's/TLS_PORT=.*/TLS_PORT='${tls_port}'/' \
    -e 's%DAVPATH=.*%DAVPATH='${davpath}'%' \
    /etc/kwartz-cloud.conf
