summaryrefslogtreecommitdiffstats
path: root/etc/inc/upgrade_config.inc
diff options
context:
space:
mode:
authorbcyrill <cyrill@bannwart.info>2012-07-03 19:03:28 +0200
committerbcyrill <cyrill@bannwart.info>2012-07-03 19:03:28 +0200
commitadca02c4ea53e1f5076a4cb906e0797d4a6317e7 (patch)
tree92abc0395b5939fdd9fee68da636ba5840e4035b /etc/inc/upgrade_config.inc
parent95361ccdd3647a607067e99e5d36374a9e07c8a4 (diff)
downloadpfsense-adca02c4ea53e1f5076a4cb906e0797d4a6317e7.zip
pfsense-adca02c4ea53e1f5076a4cb906e0797d4a6317e7.tar.gz
Implement certificate chain in Captive Portal
Diffstat (limited to 'etc/inc/upgrade_config.inc')
-rw-r--r--etc/inc/upgrade_config.inc32
1 files changed, 20 insertions, 12 deletions
diff --git a/etc/inc/upgrade_config.inc b/etc/inc/upgrade_config.inc
index 88faba4..700cd25 100644
--- a/etc/inc/upgrade_config.inc
+++ b/etc/inc/upgrade_config.inc
@@ -2898,26 +2898,34 @@ function upgrade_088_to_089() {
/* create cert entry */
$cert = array();
$cert['refid'] = uniqid();
- $cert['descr'] = "Captive Portal SSL Cert - {$setting['zone']}";
+ $cert['descr'] = "Captive Portal Cert - {$setting['zone']}";
$cert['crt'] = $setting['certificate'];
$cert['prv'] = $setting['private-key'];
+
+ if (!empty($setting['cacertificate'])) {
+ /* create ca entry */
+ $ca = array();
+ $ca['refid'] = uniqid();
+ $ca['descr'] = "Captive Portal CA - {$setting['zone']}";
+ $ca['crt'] = $setting['cacertificate'];
+ $config['ca'][] = $ca;
+
+ /* add ca reference to certificate */
+ $cert['caref'] = $ca['refid'];
+
+ /* create ca reference */
+ $setting['caref'] = $ca['refid'];
+ }
+
$config['cert'][] = $cert;
/* create cert reference */
- unset($setting['certificate']);
- unset($setting['private-key']);
$setting['certref'] = $cert['refid'];
- /* create ca entry */
- $ca = array();
- $ca['refid'] = uniqid();
- $ca['descr'] = "Captive Portal SSL CA - {$setting['zone']}";
- $ca['crt'] = $setting['cacertificate'];
- $config['ca'][] = $ca;
-
- /* create ca reference */
+ unset($setting['certificate']);
+ unset($setting['private-key']);
unset($setting['cacertificate']);
- $setting['caref'] = $ca['refid'];
+
}
}
}
OpenPOWER on IntegriCloud