diff --git a/src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/forms/export_options.xml b/src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/forms/export_options.xml index a4b95fb00..9be23ed2f 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/forms/export_options.xml +++ b/src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/forms/export_options.xml @@ -45,6 +45,16 @@ checkbox Verify the server certificate name when the client connects + + openvpn_export.auth_nocache + + checkbox + + + Sets auth-nocache in the exported configuration when password authentication is used. + This prevents OpenVPN from caching passwords in memory. + + openvpn_export.plain_config diff --git a/src/opnsense/mvc/app/library/OPNsense/OpenVPN/ArchiveOpenVPN.php b/src/opnsense/mvc/app/library/OPNsense/OpenVPN/ArchiveOpenVPN.php index 059167b36..c0afb2cfe 100644 --- a/src/opnsense/mvc/app/library/OPNsense/OpenVPN/ArchiveOpenVPN.php +++ b/src/opnsense/mvc/app/library/OPNsense/OpenVPN/ArchiveOpenVPN.php @@ -48,7 +48,7 @@ class ArchiveOpenVPN extends PlainOpenVPN */ public function supportedOptions() { - return array("plain_config", "p12_password", "random_local_port"); + return array("plain_config", "p12_password", "random_local_port", "auth_nocache"); } /** diff --git a/src/opnsense/mvc/app/library/OPNsense/OpenVPN/PlainOpenVPN.php b/src/opnsense/mvc/app/library/OPNsense/OpenVPN/PlainOpenVPN.php index 4bb3fa999..501ef74bf 100644 --- a/src/opnsense/mvc/app/library/OPNsense/OpenVPN/PlainOpenVPN.php +++ b/src/opnsense/mvc/app/library/OPNsense/OpenVPN/PlainOpenVPN.php @@ -48,7 +48,7 @@ class PlainOpenVPN extends BaseExporter implements IExportProvider */ public function supportedOptions() { - return array("plain_config", "random_local_port"); + return array("plain_config", "random_local_port", "auth_nocache"); } /** @@ -132,6 +132,9 @@ class PlainOpenVPN extends BaseExporter implements IExportProvider } if (in_array($this->config['mode'], array('server_user', 'server_tls_user'))) { $conf[] = "auth-user-pass"; + if (!empty($this->config['auth_nocache'])) { + $conf[] = "auth-nocache"; + } } if (!empty($this->config['compression'])) { diff --git a/src/opnsense/mvc/app/library/OPNsense/OpenVPN/ViscosityVisz.php b/src/opnsense/mvc/app/library/OPNsense/OpenVPN/ViscosityVisz.php index 62517862a..e2ac61ce1 100644 --- a/src/opnsense/mvc/app/library/OPNsense/OpenVPN/ViscosityVisz.php +++ b/src/opnsense/mvc/app/library/OPNsense/OpenVPN/ViscosityVisz.php @@ -48,7 +48,7 @@ class ViscosityVisz extends PlainOpenVPN */ public function supportedOptions() { - return array("plain_config", "p12_password", "random_local_port"); + return array("plain_config", "p12_password", "random_local_port", "auth_nocache"); } /** diff --git a/src/opnsense/mvc/app/models/OPNsense/OpenVPN/Export.xml b/src/opnsense/mvc/app/models/OPNsense/OpenVPN/Export.xml index aea27dba7..95a19e6e8 100644 --- a/src/opnsense/mvc/app/models/OPNsense/OpenVPN/Export.xml +++ b/src/opnsense/mvc/app/models/OPNsense/OpenVPN/Export.xml @@ -27,6 +27,10 @@ 1 Y + + 0 + N +