31 lines
1.8 KiB
Bash

#!/bin/bash
[[ ! -f /etc/openvpn/routed/pub/cert.pem && -f /etc/openvpn/bridge/pub/cert.pem ]] && cp -a /etc/openvpn/bridge/pub/cert.pem /etc/openvpn/routed/pub/cert.pem
[[ ! -f /etc/openvpn/routed/pub/cacert.pem && -f /etc/openvpn/bridge/pub/cacert.pem ]] && cp -a /etc/openvpn/bridge/pub/cacert.pem /etc/openvpn/routed/pub/cacert.pem
[[ ! -f /etc/openvpn/routed/pub/dh.pem && -f /etc/openvpn/bridge/pub/dh.pem ]] && cp -a /etc/openvpn/bridge/pub/dh.pem /etc/openvpn/routed/pub/dh.pem
[[ ! -f /etc/openvpn/routed/priv/key.pem && -f /etc/openvpn/bridge/priv/key.pem ]] && cp -a /etc/openvpn/bridge/priv/key.pem /etc/openvpn/routed/priv/key.pem
[[ ! -f /etc/openvpn/routed/priv/takey.pem && -f /etc/openvpn/bridge/priv/takey.pem ]] && cp -a /etc/openvpn/bridge/priv/takey.pem /etc/openvpn/routed/priv/takey.pem
if [[ ! -f /etc/openvpn/routed/pub/cacrl.pem && -f /etc/openvpn/bridge/pub/cacrl.pem ]] ; then
cp -a /etc/openvpn/bridge/pub/cacrl.pem /etc/openvpn/routed/pub/cacrl.pem
CrlUrl=`/sbin/e-smith/config getprop openvpn-bridge CrlUrl`
/sbin/e-smith/config setprop openvpn-routed CrlUrl "$CrlUrl="
myport=`/sbin/e-smith/config getprop openvpn-routed UDPPort`
oriport="$myiport"
bridgeport=`/sbin/e-smith/config getprop openvpn-bridge UDPPort`
s2sports=`/sbin/e-smith/db openvpn-s2s print |sed -re 's/.*Port\|([0-9]+).*/\1/'|sort|uniq`
while [[ $s2sports =~ $myport || $myport == $bridgeport ]]
do
myport=$[$myport+1]
done
if [[ $myport != $oriport ]]; then
echo "set UDPPort to $myport as $oriport was already taken"
/sbin/e-smith/db configuration setprop openvpn-routed UDPPort $myport
/sbin/e-smith/expand-template /etc/openvpn/routed/openvpn.conf
fi
fi
chmod 0600 /etc/openvpn/routed/priv/*
chmod 0644 /etc/openvpn/routed/pub/*
chown root:admin /etc/openvpn/routed/priv/*
chown root:admin /etc/openvpn/routed/pub/*