Add a config parameter: add capability to specify client config IP (client-config-dir)

This commit is contained in:
Edouard DUPIN 2019-03-30 14:05:43 +01:00
parent 7c82b535d7
commit 10a072ca17

View File

@ -106,6 +106,7 @@ usage() {
echo " -z Enable comp-lzo compression." echo " -z Enable comp-lzo compression."
echo " -S Change status folder. Default '/tmp'" echo " -S Change status folder. Default '/tmp'"
echo " -R Disable the reduce the OpenVPN daemon's privileges after initialization." echo " -R Disable the reduce the OpenVPN daemon's privileges after initialization."
echo " -K Set a client config directory. Default Disable. Example: 'ccd'"
} }
process_route_config() { process_route_config() {
@ -171,12 +172,13 @@ OVPN_SERVER_URL=''
OVPN_TLS_CIPHER='' OVPN_TLS_CIPHER=''
OVPN_STATUS_PATH='/tmp' OVPN_STATUS_PATH='/tmp'
OVPN_DISABLE_REDUCE_DEAMON_S_PRIVILEGES=0 OVPN_DISABLE_REDUCE_DEAMON_S_PRIVILEGES=0
OVPN_CLIENT_CONFIG_DIR=''
# Import existing configuration if present # Import existing configuration if present
[ -r "$OVPN_ENV" ] && source "$OVPN_ENV" [ -r "$OVPN_ENV" ] && source "$OVPN_ENV"
# Parse arguments # Parse arguments
while getopts ":a:e:E:C:T:r:s:du:bcp:n:k:DNm:f:tz2S:R" opt; do while getopts ":a:e:E:C:T:r:s:du:bcp:n:k:DNm:f:tz2S:RK:" opt; do
case $opt in case $opt in
a) a)
OVPN_AUTH="$OPTARG" OVPN_AUTH="$OPTARG"
@ -263,6 +265,9 @@ while getopts ":a:e:E:C:T:r:s:du:bcp:n:k:DNm:f:tz2S:R" opt; do
R) R)
OVPN_DISABLE_REDUCE_DEAMON_S_PRIVILEGES=1 OVPN_DISABLE_REDUCE_DEAMON_S_PRIVILEGES=1
;; ;;
K)
OVPN_CLIENT_CONFIG_DIR="$OPTARG"
;;
\?) \?)
set +x set +x
echo "Invalid option: -$OPTARG" >&2 echo "Invalid option: -$OPTARG" >&2
@ -361,6 +366,12 @@ else
process_push_config "block-outside-dns" process_push_config "block-outside-dns"
fi fi
if [ "${OVPN_CLIENT_CONFIG_DIR}" == "" ]; then
echo "Disable client config 'client-config-dir'"
else
echo "client-config-dir ${OVPN_CLIENT_CONFIG_DIR}" >> "$conf"
fi
[ -n "$OVPN_TLS_CIPHER" ] && echo "tls-cipher $OVPN_TLS_CIPHER" >> "$conf" [ -n "$OVPN_TLS_CIPHER" ] && echo "tls-cipher $OVPN_TLS_CIPHER" >> "$conf"
[ -n "$OVPN_CIPHER" ] && echo "cipher $OVPN_CIPHER" >> "$conf" [ -n "$OVPN_CIPHER" ] && echo "cipher $OVPN_CIPHER" >> "$conf"
[ -n "$OVPN_AUTH" ] && echo "auth $OVPN_AUTH" >> "$conf" [ -n "$OVPN_AUTH" ] && echo "auth $OVPN_AUTH" >> "$conf"