Skip to content

Commit 3617699

Browse files
pandafynemesifier
authored andcommitted
[fix:openwrt] Remove fragment option from OpenVPN config when set to 0 #321
Fixes #321
1 parent 2e9f754 commit 3617699

2 files changed

Lines changed: 8 additions & 4 deletions

File tree

netjsonconfig/backends/openwrt/converters/openvpn.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ class OpenVpn(OpenWrtConverter, BaseOpenVpn):
66
_uci_types = ['openvpn']
77

88
def __intermediate_vpn(self, vpn):
9+
if vpn.get('fragment') == 0:
10+
del vpn['fragment']
911
vpn.update(
1012
{
1113
'.name': self._get_uci_name(vpn.pop('name')),

tests/openwrt/test_openvpn.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import unittest
2+
from copy import deepcopy
23

34
from netjsonconfig import OpenWrt
45
from netjsonconfig.utils import _TabsMixin
@@ -71,7 +72,6 @@ class TestOpenVpn(_TabsMixin, unittest.TestCase):
7172
option enabled '1'
7273
option engine 'rsax'
7374
option fast_io '1'
74-
option fragment '0'
7575
option group 'nogroup'
7676
option keepalive '20 60'
7777
option key 'key.pem'
@@ -104,7 +104,9 @@ def test_render_server_mode(self):
104104

105105
def test_parse_server_mode(self):
106106
c = OpenWrt(native=self._server_uci)
107-
self.assertEqual(c.config, self._server_netjson)
107+
expected = deepcopy(self._server_netjson)
108+
del expected['openvpn'][0]['fragment']
109+
self.assertEqual(c.config, expected)
108110

109111
_client_netjson = {
110112
"openvpn": [
@@ -119,7 +121,7 @@ def test_parse_server_mode(self):
119121
"down": "/home/user/down-command.sh",
120122
"disabled": False,
121123
"fast_io": False,
122-
"fragment": 0,
124+
"fragment": 68,
123125
"key": "key.pem",
124126
"log": "/var/log/openvpn.log",
125127
"mode": "p2p",
@@ -165,7 +167,7 @@ def test_parse_server_mode(self):
165167
option down '/home/user/down-command.sh'
166168
option enabled '1'
167169
option fast_io '0'
168-
option fragment '0'
170+
option fragment '68'
169171
option key 'key.pem'
170172
option log '/var/log/openvpn.log'
171173
option mode 'p2p'

0 commit comments

Comments
 (0)