@@ -7,13 +7,13 @@ abort() { cat <<< "$@" 1>&2; exit 1; }
7
7
#
8
8
# Generate openvpn.config file
9
9
#
10
- read -d ' ' EXTRA_SERVER_CONF << EOF
10
+ read -d ' ' MULTILINE_EXTRA_SERVER_CONF << EOF
11
11
management localhost 7505
12
12
max-clients 10
13
13
EOF
14
14
15
15
SERV_IP=$( ip -4 -o addr show scope global | awk ' {print $4}' | sed -e ' s:/.*::' | head -n1)
16
- ovpn_genconfig -u udp://$SERV_IP -f 1400 -e " $EXTRA_SERVER_CONF "
16
+ ovpn_genconfig -u udp://$SERV_IP -f 1400 -e " $MULTILINE_EXTRA_SERVER_CONF " -e " duplicate-cn " -e " topology subnet "
17
17
18
18
#
19
19
# grep for config lines from openvpn.conf
@@ -28,6 +28,7 @@ CONFIG_MATCH_VERB=$(busybox grep verb /etc/openvpn/openvpn.conf)
28
28
CONFIG_REQUIRED_FRAGMENT=" fragment 1400"
29
29
CONFIG_MATCH_FRAGMENT=$( busybox grep fragment /etc/openvpn/openvpn.conf)
30
30
31
+ # # Tests for extra configs
31
32
# 3. management config
32
33
CONFIG_REQUIRED_MANAGEMENT=" ^management localhost 7505"
33
34
CONFIG_MATCH_MANAGEMENT=$( busybox grep management /etc/openvpn/openvpn.conf)
@@ -36,6 +37,14 @@ CONFIG_MATCH_MANAGEMENT=$(busybox grep management /etc/openvpn/openvpn.conf)
36
37
CONFIG_REQUIRED_MAX_CLIENTS=" ^max-clients 10"
37
38
CONFIG_MATCH_MAX_CLIENTS=$( busybox grep max-clients /etc/openvpn/openvpn.conf)
38
39
40
+ # 5. duplicate-cn config
41
+ CONFIG_REQUIRED_DUPCN=" ^duplicate-cn"
42
+ CONFIG_MATCH_DUPCN=$( busybox grep duplicate-cn /etc/openvpn/openvpn.conf)
43
+
44
+ # 6. topology config
45
+ CONFIG_REQUIRED_TOPOLOGY=" ^topology subnet"
46
+ CONFIG_MATCH_TOPOLOGY=$( busybox grep ' topology subnet' /etc/openvpn/openvpn.conf)
47
+
39
48
#
40
49
# Tests
41
50
#
61
70
abort " ==> Config match not found: $CONFIG_REQUIRED_MANAGEMENT != $CONFIG_MATCH_MANAGEMENT "
62
71
fi
63
72
73
+
64
74
if [[ $CONFIG_MATCH_MAX_CLIENTS =~ $CONFIG_REQUIRED_MAX_CLIENTS ]]
65
75
then
66
76
echo " ==> Config match found: $CONFIG_REQUIRED_MAX_CLIENTS == $CONFIG_MATCH_MAX_CLIENTS "
67
77
else
68
78
abort " ==> Config match not found: $CONFIG_REQUIRED_MAX_CLIENTS != $CONFIG_MATCH_MAX_CLIENTS "
69
79
fi
80
+
81
+ if [[ $CONFIG_MATCH_DUPCN =~ $CONFIG_REQUIRED_DUPCN ]]
82
+ then
83
+ echo " ==> Config match found: $CONFIG_REQUIRED_DUPCN == $CONFIG_MATCH_DUPCN "
84
+ else
85
+ abort " ==> Config match not found: $CONFIG_REQUIRED_DUPCN != $CONFIG_MATCH_DUPCN "
86
+ fi
87
+
88
+ if [[ $CONFIG_MATCH_TOPOLOGY =~ $CONFIG_REQUIRED_TOPOLOGY ]]
89
+ then
90
+ echo " ==> Config match found: $CONFIG_REQUIRED_TOPOLOGY == $CONFIG_MATCH_TOPOLOGY "
91
+ else
92
+ abort " ==> Config match not found: $CONFIG_REQUIRED_TOPOLOGY != $CONFIG_MATCH_TOPOLOGY "
93
+ fi
0 commit comments