#!/bin/bash

set -e

if [ -f /var/lib/openvpn-server/ca-store ]
then
#  /usr/lib/openvpn-server/ovs-commands/mount-ca-store
#    if [ $? = 1 ]
#    then
    if grep -q ca-store /proc/mounts
    then
        echo "ca-store mounted"
    else
        echo "ca-store not mounted, or your session has expired."
        echo "Use ovs mount-ca-store to mount your ca-store"
        exit 1
    fi

fi

. /usr/share/openvpn-server/functions.sh
. /etc/openvpn-server/config.sh

WORKDIR=$(mktemp -d)

pushd $WORKDIR >/dev/null

if [ -z $1 ] || [ -z $2 ] ; then
    ask_key_questions
else
    OVPN_COMMONNAME=$1
    OVPN_EMAIL=$2
fi

FILEBASE="${OVPN_ORGNICK}-${OVPN_COMMONNAME}"

make_pkcs12 "$OVPN_EMAIL" "$OVPN_COMMONNAME" "${FILEBASE}.p12"

sed "s/%%ORGNICK%%/$OVPN_ORGNICK/;
	s/%%USERNAME%%/$OVPN_COMMONNAME/;
	s/%%REMOTE%%/$OVPN_REMOTE/"					\
	/usr/share/openvpn-server/config-templates/ovpn-client.conf	\
	> ${FILEBASE}.conf

popd >/dev/null

zip -j openvpn-${FILEBASE}.zip ${WORKDIR}/*
if [ "$CACHE_BUILDS" == "yes" ]
        then mv openvpn-${FILEBASE}.zip /var/lib/openvpn-server/openssl/builds/
fi

rm -rf $WORKDIR

allocate_ip()

echo "Your OpenVPN config files are in openvpn-${FILEBASE}.zip"
