diff --git a/src/opnsense/mvc/app/library/OPNsense/OpenVPN/PlainOpenVPN.php b/src/opnsense/mvc/app/library/OPNsense/OpenVPN/PlainOpenVPN.php index dbc7b7167..2beadb8b4 100644 --- a/src/opnsense/mvc/app/library/OPNsense/OpenVPN/PlainOpenVPN.php +++ b/src/opnsense/mvc/app/library/OPNsense/OpenVPN/PlainOpenVPN.php @@ -118,12 +118,36 @@ class PlainOpenVPN extends BaseExporter implements IExportProvider return $conf; } + + /** + * @return array inline OpenVPN files + */ + protected function openvpnInlineFiles() + { + $conf = array(); + if ($this->config['mode'] !== "server_user") { + $conf[] = ""; + $conf = array_merge($conf, explode("\n", trim($this->config['client_crt']))); + $conf[] = ""; + + $conf[] = ""; + $conf = array_merge($conf, explode("\n", trim($this->config['client_prv']))); + $conf[] = ""; + } + if (!empty($this->config['tls'])) { + $conf[] = ""; + $conf = array_merge($conf, explode("\n", trim(base64_decode($this->config['tls'])))); + $conf[] = ""; + } + + return $conf; + } + /** * @return string content */ public function getContent() { - - return implode("\n", $this->openvpnConfParts()); + return implode("\n", array_merge($this->openvpnConfParts(), $this->openvpnInlineFiles())); } }