diff options
author | Rosen Penev <rosenp@gmail.com> | 2020-12-01 12:36:46 -0800 |
---|---|---|
committer | Rosen Penev <rosenp@gmail.com> | 2020-12-01 12:37:37 -0800 |
commit | 4434915571b5c3dbc7d000215e48d8d0d60e41bc (patch) | |
tree | 5c5d7a0b5fe3db1f29475651a0aa2be33ce003a5 /net/openvpn/files/lib | |
parent | 0e77d0264e0c800d470581ce32a9d2f315a80fe6 (diff) |
openvpn: import from base
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Diffstat (limited to 'net/openvpn/files/lib')
-rw-r--r-- | net/openvpn/files/lib/functions/openvpn.sh | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/net/openvpn/files/lib/functions/openvpn.sh b/net/openvpn/files/lib/functions/openvpn.sh new file mode 100644 index 000000000..83fb1bb45 --- /dev/null +++ b/net/openvpn/files/lib/functions/openvpn.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +get_openvpn_option() { + local config="$1" + local variable="$2" + local option="$3" + + local value="$(sed -rne 's/^[ \t]*'"$option"'[ \t]+(([^ \t\\]|\\.)+)[ \t]*$/\1/p' "$config" | tail -n1 | sed -re 's/\\(.)/\1/g')" + [ -n "$value" ] || value="$(sed -rne 's/^[ \t]*'"$option"'[ \t]+'"'([^']+)'"'[ \t]*$/\1/p' "$config" | tail -n1)" + [ -n "$value" ] || value="$(sed -rne 's/^[ \t]*'"$option"'[ \t]+"(([^"\\]|\\.)+)"[ \t]*$/\1/p' "$config" | tail -n1 | sed -re 's/\\(.)/\1/g')" + [ -n "$value" ] || return 1 + + export -n "$variable=$value" + return 0 +} + |