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>
## @author Copyright (C) 2015 Robin Schneider <ypid@riseup.net>
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"