diff --git a/bin/ovpn_copy_server_files b/bin/ovpn_copy_server_files index be92f0e..ed10eac 100755 --- a/bin/ovpn_copy_server_files +++ b/bin/ovpn_copy_server_files @@ -2,6 +2,8 @@ ## @licence MIT ## @author Copyright (C) 2015 Robin Schneider +set -e + if [ -z "$OPENVPN" ]; then export OPENVPN="$PWD" fi @@ -10,27 +12,30 @@ if ! source "$OPENVPN/ovpn_env.sh"; then exit 1 fi -TARGET="/tmp/openvpn_${OVPN_CN}" +TARGET="$OPENVPN/server" if [ -n "$1" ]; then TARGET="$1" -else - TARGET="$OPENVPN/server" fi +mkdir -p "${TARGET}" ## Ensure that no other keys then the one for the server is present. rm --recursive --force "$TARGET/pki/private" "$TARGET/pki/issued" -echo " -openvpn.conf -ovpn_env.sh -pki/private/${OVPN_CN}.key -pki/issued/${OVPN_CN}.crt -pki/dh.pem -pki/ta.key -pki/ca.crt -" | rsync --recursive --verbose \ - --files-from - \ - "$OPENVPN/" "$TARGET" +FILES=( + "openvpn.conf" + "ovpn_env.sh" + "pki/private/${OVPN_CN}.key" + "pki/issued/${OVPN_CN}.crt" + "pki/dh.pem" + "pki/ta.key" + "pki/ca.crt" +) + +# rsync isn't available to keep size down +# cp --parents isn't in busybox version +# hack the directory structure with tar +tar cf - -C "${OPENVPN}" "${FILES[@]}" | tar xvf - -C "${TARGET}" + mkdir -p "$TARGET/ccd" echo "Created the openvpn configuration for the server: $TARGET"