#!/bin/bash -e
# vim: set ts=4 sw=4 sts=4 et :
#
# qubes-whonix-postinit - Called by systemd used to setup other required
#                         configurations before network is started.
#
# This file is part of Qubes+Whonix.
# Copyright (C) 2014 - 2015 Jason Mehring <nrgaway@gmail.com>
# License: GPL-2+
# Authors: Jason Mehring
#
#   This program is free software; you can redistribute it and/or
#   modify it under the terms of the GNU General Public License
#   as published by the Free Software Foundation; either version 2
#   of the License, or (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#   along with this program.  If not, see <http://www.gnu.org/licenses/>.

# Gateway or Workstation
if [ -e /var/run/qubes-service/whonix-gateway ] || [ -e /var/run/qubes-service/whonix-workstation ]; then

    # Bind whonix directories to allow changes to persist
    /usr/lib/qubes-whonix/bind-directories

    # Replace IP addresses in known configuration files / scripts with
    # currently discovered IP address
    /usr/lib/qubes-whonix/replace-ips

    # Repository setup should only be run in template
    if [ ! -e /var/cache/whonix-setup-wizard/status-files/whonix_repository.skip ]; then
        touch /var/cache/whonix-setup-wizard/status-files/whonix_repository.skip
    fi
fi

if [ -e /var/run/qubes-service/whonix-gateway ]; then

    # Enable/Disable Tor if qubes-service is enabled
    if [ -e /var/run/qubes-service/whonix-tor-enable ]; then
        if grep "^#DisableNetwork 0$" /etc/tor/torrc; then
            sed -i "s/^#DisableNetwork/DisableNetwork/g" /etc/tor/torrc
        fi
    elif [ -e /var/run/qubes-service/whonix-tor-disable ]; then
        if grep "^DisableNetwork 0$" /etc/tor/torrc; then
            sed -i "s/^DisableNetwork/#DisableNetwork/g" /etc/tor/torrc
        fi
    fi

    # Make sure we remove whonixsetup.{skip, done} if Tor is not enabled so
    # whonix-setup-wizard will prompt to enable
    grep "^DisableNetwork 0$" /etc/tor/torrc || {
        rm -f /var/cache/whonix-setup-wizard/status-files/whonixsetup.skip
        rm -f /var/cache/whonix-setup-wizard/status-files/whonixsetup.done
    }

fi
