Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion net/openvpn/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=openvpn

PKG_VERSION:=2.7.1
PKG_RELEASE:=1
PKG_RELEASE:=2

PKG_SOURCE_URL:=\
https://build.openvpn.net/downloads/releases/ \
Expand Down
7 changes: 7 additions & 0 deletions net/openvpn/files/lib/netifd/proto/openvpn.sh
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ option_builder() {
# Not real config params used by openvpn - only by our proto handler
PROTO_BOOLS='
allow_deprecated
ipv6
'

PROTO_STRINGS='
Expand Down Expand Up @@ -191,6 +192,7 @@ proto_openvpn_setup() {

# Add default hotplug handling if 'script_security' option is equal '3'
if [ "$script_security" -eq '3' ]; then
local ipv6
local up down route_up route_pre_down
local client tls_client tls_server
local tls_crypt_v2_verify mode learn_address client_connect
Expand All @@ -206,6 +208,11 @@ proto_openvpn_setup() {
json_get_vars tls_crypt_v2_verify mode learn_address client_connect
json_get_vars client_crresponse client_disconnect auth_user_pass_verify

json_get_vars ipv6
#default ipv6 is enabled
[ -n "$ipv6" ] || ipv6=1
append exec_params "--setenv IPV6 '$ipv6'"
Comment thread
ptpt52 marked this conversation as resolved.

json_get_vars ifconfig_noexec route_noexec
[ -z "$ifconfig_noexec" ] && append exec_params "--ifconfig-noexec"
[ -z "$route_noexec" ] && append exec_params "--route-noexec"
Expand Down
62 changes: 37 additions & 25 deletions net/openvpn/files/usr/libexec/openvpn-hotplug
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,17 @@ case "$script_type" in

[ -n "$ifconfig_local" ] && proto_add_ipv4_address "$ifconfig_local" "${ifconfig_netmask:-255.255.255.255}"

[ -n "$trusted_ip" ] && [ -n "$route_net_gateway" ] && {
proto_add_ipv4_route "$trusted_ip" 32 "$route_net_gateway"
[ -n "$trusted_ip" ] && {
if [ -n "$route_net_gateway" -a "$route_net_gateway" != "0.0.0.0" ]; then
proto_add_ipv4_route "$trusted_ip" 32 "$route_net_gateway"
fi
}

[ -n "$route_vpn_gateway" ] && proto_add_ipv4_route "0.0.0.0" 0 "$route_vpn_gateway"

for i in $(seq 1 32); do
i=0
while :; do
i=$((i+1))
eval "net=\$route_network_$i mask=\$route_netmask_$i gw=\$route_gateway_$i"
[ -z "$net" ] && break
[ -z "$mask" ] && continue
Expand All @@ -64,32 +68,40 @@ case "$script_type" in
proto_add_ipv4_route "$net" "$plen" "$gw"
done

if [ -n "$ifconfig_ipv6_local" ]; then
read -r v6addr v6plen <<-EOF
$(parse_cidr6 "$ifconfig_ipv6_local" "${ifconfig_ipv6_netbits:-128}")
EOF
proto_add_ipv6_address "$v6addr" "$v6plen"
if [ "$IPV6" = "1" ]; then
if [ -n "$ifconfig_ipv6_local" ]; then
read -r v6addr v6plen <<-EOF
$(parse_cidr6 "$ifconfig_ipv6_local" "${ifconfig_ipv6_netbits:-128}")
EOF
proto_add_ipv6_address "$v6addr" "$v6plen"
fi

[ -n "$trusted_ip6" ] && {
if [ -n "$route_ipv6_gateway" -a "$route_ipv6_gateway" != "::" ]; then
proto_add_ipv6_route "$trusted_ip6" 128 "$route_ipv6_gateway"
fi
}

[ -n "$ifconfig_ipv6_remote" ] && proto_add_ipv6_route "::" 0 "$ifconfig_ipv6_remote"

i=0
while :; do
i=$((i+1))
eval "net=\$route_ipv6_network_$i gw=\$route_ipv6_gateway_$i"
[ -z "$net" ] && break

read -r v6net v6plen <<-EOF
$(parse_cidr6 "$net" 128)
EOF
proto_add_ipv6_route "$v6net" "$v6plen" "$gw"
done
fi

[ -n "$trusted_ip6" ] && [ -n "$route_ipv6_gateway" ] && {
proto_add_ipv6_route "$trusted_ip6" 128 "$route_ipv6_gateway"
}

[ -n "$ifconfig_ipv6_remote" ] && proto_add_ipv6_route "::" 0 "$ifconfig_ipv6_remote"

for i in $(seq 1 32); do
eval "net=\$route_ipv6_network_$i gw=\$route_ipv6_gateway_$i"
[ -z "$net" ] && break

read -r v6net v6plen <<-EOF
$(parse_cidr6 "$net" 128)
EOF
proto_add_ipv6_route "$v6net" "$v6plen" "$gw"
done

[ -n "$tun_mtu" ] && json_add_int mtu "$tun_mtu"

for i in $(seq 1 32); do
i=0
while :; do
i=$((i+1))
eval "option=\$foreign_option_$i"
[ -z "$option" ] && break

Expand Down
Loading