ovpn_copy_server_files: Copy files without rsync

* Hack around the missing rsync by using tar to preserve the directory
  structure.
* Fixes #73
This commit is contained in:
Kyle Manna 2015-09-29 11:19:19 -07:00
parent 7f58926aa2
commit f00de363c7

View File

@ -2,6 +2,8 @@
## @licence MIT <http://opensource.org/licenses/MIT> ## @licence MIT <http://opensource.org/licenses/MIT>
## @author Copyright (C) 2015 Robin Schneider <ypid@riseup.net> ## @author Copyright (C) 2015 Robin Schneider <ypid@riseup.net>
set -e
if [ -z "$OPENVPN" ]; then if [ -z "$OPENVPN" ]; then
export OPENVPN="$PWD" export OPENVPN="$PWD"
fi fi
@ -10,27 +12,30 @@ if ! source "$OPENVPN/ovpn_env.sh"; then
exit 1 exit 1
fi fi
TARGET="/tmp/openvpn_${OVPN_CN}" TARGET="$OPENVPN/server"
if [ -n "$1" ]; then if [ -n "$1" ]; then
TARGET="$1" TARGET="$1"
else
TARGET="$OPENVPN/server"
fi fi
mkdir -p "${TARGET}"
## Ensure that no other keys then the one for the server is present. ## Ensure that no other keys then the one for the server is present.
rm --recursive --force "$TARGET/pki/private" "$TARGET/pki/issued" rm --recursive --force "$TARGET/pki/private" "$TARGET/pki/issued"
echo " FILES=(
openvpn.conf "openvpn.conf"
ovpn_env.sh "ovpn_env.sh"
pki/private/${OVPN_CN}.key "pki/private/${OVPN_CN}.key"
pki/issued/${OVPN_CN}.crt "pki/issued/${OVPN_CN}.crt"
pki/dh.pem "pki/dh.pem"
pki/ta.key "pki/ta.key"
pki/ca.crt "pki/ca.crt"
" | rsync --recursive --verbose \ )
--files-from - \
"$OPENVPN/" "$TARGET" # 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" mkdir -p "$TARGET/ccd"
echo "Created the openvpn configuration for the server: $TARGET" echo "Created the openvpn configuration for the server: $TARGET"