#!/bin/bash

function log_debug()
{
    echo "[$(date)] $1"
}

function log_warning()
{
    echo "[$(date)] [WARNING] $1" 1>&2
}

function remove_keytalk_common_settings()
{
    rm -rf /usr/local/bin/keytalk/
    rm -rf /usr/local/lib/keytalk/
    rm -rf /etc/keytalk/
    rm -rf /usr/share/doc/keytalk/

    systemctl stop keytalk-ca-updater.service || true
    systemctl disable keytalk-ca-updater.service || true
    rm -f /etc/systemd/system/keytalk-ca-updater.service
    systemctl daemon-reload || true

    rm -f /etc/cron.d/keytalk*

    rm -f /usr/local/share/ca-certificates/keytalk_*.crt
    update-ca-certificates --fresh > /dev/null 2>&1
}

function uninstall()
{
    echo "Uninstalling KeyTalk..."

    [ -f "/usr/local/bin/keytalk/ktclient" ] && {
        echo "Removing KeyTalk NSS DB module..."

        if [ -n "$SUDO_USER" ]; then
            runuser -u $SUDO_USER -- /usr/local/bin/keytalk/ktclient --nss-remove-keytalk-module > /dev/null 2>&1 || true
        else
            /usr/local/bin/keytalk/ktclient --nss-remove-keytalk-module > /dev/null 2>&1 || true
        fi
    }

    killall --quiet ktclient
    remove_keytalk_common_settings
}

#
# Entry point
#

if apt show -qq keytalk >/dev/null 2>&1 ; then
    echo "WARNING: KeyTalk system package is installed. Please use 'apt' to manage KeyTalk installation."
    exit 1
fi
uninstall
