diff --git a/security/tinc/Makefile b/security/tinc/Makefile
index 79a4140ba..3b2b3c10d 100644
--- a/security/tinc/Makefile
+++ b/security/tinc/Makefile
@@ -1,6 +1,5 @@
PLUGIN_NAME= tinc
-PLUGIN_VERSION= 1.2
-PLUGIN_REVISION= 2
+PLUGIN_VERSION= 1.3
PLUGIN_COMMENT= Tinc VPN
PLUGIN_DEPENDS= tinc
PLUGIN_MAINTAINER= ad@opnsense.org
diff --git a/security/tinc/src/opnsense/mvc/app/controllers/OPNsense/Tinc/forms/dialogNetwork.xml b/security/tinc/src/opnsense/mvc/app/controllers/OPNsense/Tinc/forms/dialogNetwork.xml
index e37f379db..e2d9697f8 100644
--- a/security/tinc/src/opnsense/mvc/app/controllers/OPNsense/Tinc/forms/dialogNetwork.xml
+++ b/security/tinc/src/opnsense/mvc/app/controllers/OPNsense/Tinc/forms/dialogNetwork.xml
@@ -42,6 +42,13 @@
It is best to use only those ciphers which support CBC mode
+
+ network.PMTUDiscovery
+
+ checkbox
+ When this option is enabled, tinc will try to discover the path MTU to this node. After the path MTU has been discovered, it will be enforced on the VPN.
+ true
+
network.debuglevel
diff --git a/security/tinc/src/opnsense/mvc/app/models/OPNsense/Tinc/Tinc.xml b/security/tinc/src/opnsense/mvc/app/models/OPNsense/Tinc/Tinc.xml
index 6a3086b78..9741c5d3b 100644
--- a/security/tinc/src/opnsense/mvc/app/models/OPNsense/Tinc/Tinc.xml
+++ b/security/tinc/src/opnsense/mvc/app/models/OPNsense/Tinc/Tinc.xml
@@ -1,6 +1,6 @@
//OPNsense/Tinc
- 1.0.1
+ 1.0.2
OPNsense Tinc VPN
@@ -70,6 +70,10 @@
switch
+
+ 1
+ Y
+
1
Y
diff --git a/security/tinc/src/opnsense/scripts/OPNsense/Tinc/lib/objects.py b/security/tinc/src/opnsense/scripts/OPNsense/Tinc/lib/objects.py
index d6b5cdbdf..05c3fdf67 100644
--- a/security/tinc/src/opnsense/scripts/OPNsense/Tinc/lib/objects.py
+++ b/security/tinc/src/opnsense/scripts/OPNsense/Tinc/lib/objects.py
@@ -63,6 +63,7 @@ class Network(NetwConfObject):
self._payload['intaddress'] = None
self._payload['debuglevel'] = 'd0'
self._payload['mode'] = 'switch'
+ self._payload['PMTUDiscovery'] = 'yes'
self._hosts = list()
def get_id(self):
@@ -87,10 +88,17 @@ class Network(NetwConfObject):
hostObj.set(host_prop.tag, host_prop)
self._hosts.append(hostObj)
+ def set_PMTUDiscovery(self, value):
+ if value.text != '1':
+ self._payload['PMTUDiscovery'] = 'no'
+ else:
+ self._payload['PMTUDiscovery'] = 'yes'
+
def config_text(self):
result = list()
result.append('AddressFamily=any')
result.append('Mode=%(mode)s' % self._payload)
+ result.append('PMTUDiscovery=%(PMTUDiscovery)s' % self._payload)
result.append('Port=%(port)s' % self._payload)
result.append('PingTimeout=%(pingtimeout)s' % self._payload)
for host in self._hosts:
diff --git a/security/tinc/src/opnsense/service/templates/OPNsense/Tinc/tinc_deploy.xml b/security/tinc/src/opnsense/service/templates/OPNsense/Tinc/tinc_deploy.xml
index 440afed75..3479c3dea 100644
--- a/security/tinc/src/opnsense/service/templates/OPNsense/Tinc/tinc_deploy.xml
+++ b/security/tinc/src/opnsense/service/templates/OPNsense/Tinc/tinc_deploy.xml
@@ -5,6 +5,7 @@
{{network.id}}
{{network.mode}}
+ {{network.PMTUDiscovery}}
{{network.hostname}}
{{network.name}}
{{network.intaddress}}