#!/bin/bash

[ "$(CreoleGet ad_local)" = 'oui' ] || exit 0

. /usr/lib/eole/ihm.sh
. /usr/lib/eole/eolead.sh

if [ "$1" = "instance" ]; then
    if [ ! -d $CONTAINER_ROOTFS ]; then
        if grep -qE ' (cdrom|file):' /etc/apt/sources.list
        then
            EchoOrange "La construction du conteneur est impossible à partir du CD-ROM"
            EchoCyan "Configuration des sources APT afin de mettre à jour depuis le réseau"
            # FIXME: gestion propre du conflit de locks #28283
            LOCK_NAME="$(ls /var/lock/eole/eole-system/reconfigure.*)"
            if [ $(echo $LOCK_NAME | wc -w) -ne 1 ];then
                echo
                EchoRouge "Erreur : un seul fichier de lock pour \"reconfigure\" devrait être présent dans /var/lock/eole/eole-system"
                echo
                exit 1
            fi
            rm -f $LOCK_NAME
            Query-Auto
            [ $? -ne 0 ] && exit 1
            touch $LOCK_NAME
        fi
        /usr/share/eole/sbin/eolead
        [ $? -ne 0 ] && exit 1
        keytool -delete -alias eole-ad -keystore /etc/ssl/certs/java/cacerts -storepass changeit >/dev/null
        keytool -import -trustcacerts -keystore /etc/ssl/certs/java/cacerts -storepass changeit -noprompt -alias eole-ad -file $CONTAINER_ROOTFS/var/lib/samba/private/tls/ca.pem
    fi
else
    if [ ! -d $CONTAINER_ROOTFS ]; then
        echo
        EchoRouge "Le conteneur $CONTAINER_NAME n'existe pas"
        echo "Il est nécessaire de relancer la procédure d'instanciation"
        echo
        exit 1
    elif [ -f "$(CreoleGet server_cert)" ]; then
        server_cert="$(CreoleGet server_cert)"

        echo """#-*- coding: utf-8-*-
from creole.cert import get_certs_chain
ca_root = get_certs_chain([\"$server_cert\",])[-1]
print(ca_root)
""" > /tmp/get_ca_root.py

        CA_PATH="$(python3 /tmp/get_ca_root.py)"
        rm -f /tmp/get_ca_root.py

        keytool -delete -alias eole-ad -keystore /etc/ssl/certs/java/cacerts -storepass changeit >/dev/null
        keytool -import -trustcacerts -keystore /etc/ssl/certs/java/cacerts -storepass changeit -noprompt -alias eole-ad -file $CA_PATH
    fi
fi

# Mise à jour du fichier hostname
sed -i "s/^127.0.1.1   addc$/127.0.1.1   $(CreoleGet ad_server_fullname) addc\n$(CreoleGet ad_public_address)   $(CreoleGet ad_server_fullname)/g" /var/lib/lxc/addc/rootfs/etc/hosts

exit 0
