#!/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

if [ ! -z "$( ls -A '/etc/openvpn/routed/priv/' )" ]; then
    chmod 0600 /etc/openvpn/routed/priv/*
    chown root:admin /etc/openvpn/routed/priv/* 
fi
if [ ! -z "$( ls -A '/etc/openvpn/routed/pub/' )" ]; then
    chmod 0644 /etc/openvpn/routed/pub/*
    chown root:admin /etc/openvpn/routed/pub/*
fi
