summaryrefslogtreecommitdiffstats
path: root/src/etc
diff options
context:
space:
mode:
authorChris Buechler <cmb@pfsense.org>2016-07-12 20:14:48 -0500
committerChris Buechler <cmb@pfsense.org>2016-07-12 20:14:48 -0500
commit9046c581321e43430465c84d12759ace7b1328c0 (patch)
tree91665306cb84e1948a0f35ea9d7b3bd0b272db08 /src/etc
parent6c947c1daa86f77a820d2912a8ba30720f39a0cf (diff)
parent3b44f18b8fe0cd865b5cd66fb7f95e72a055d945 (diff)
downloadpfsense-9046c581321e43430465c84d12759ace7b1328c0.zip
pfsense-9046c581321e43430465c84d12759ace7b1328c0.tar.gz
Merge pull request #2966 from scipiojr/master
Diffstat (limited to 'src/etc')
-rw-r--r--src/etc/inc/openvpn.inc12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/etc/inc/openvpn.inc b/src/etc/inc/openvpn.inc
index 2be9b37..fb11747 100644
--- a/src/etc/inc/openvpn.inc
+++ b/src/etc/inc/openvpn.inc
@@ -1008,8 +1008,16 @@ function openvpn_reconfigure($mode, $settings) {
case 'server_tls':
case 'server_tls_user':
case 'server_user':
- $ca = lookup_ca($settings['caref']);
- openvpn_add_keyfile($ca['crt'], $conf, $mode_id, "ca");
+ // ca_chain() expects parameter to be passed by reference.
+ // avoid passing the whole settings array, as param names or
+ // types might change in future releases.
+ $param = array('caref' => $settings['caref']);
+ $ca = ca_chain($param);
+ $ca = base64_encode($ca);
+
+ openvpn_add_keyfile($ca, $conf, $mode_id, "ca");
+
+ unset($ca, $param);
if (!empty($settings['certref'])) {
$cert = lookup_cert($settings['certref']);
OpenPOWER on IntegriCloud