From f00de363c773e00bf27812e752b60934b1dad3a3 Mon Sep 17 00:00:00 2001 From: Kyle Manna Date: Tue, 29 Sep 2015 11:19:19 -0700 Subject: [PATCH] ovpn_copy_server_files: Copy files without rsync * Hack around the missing rsync by using tar to preserve the directory structure. * Fixes #73 --- bin/ovpn_copy_server_files | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) 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"