Commit a98e94b3 authored by Franco Fichtner's avatar Franco Fichtner

captiveportal: simplify start/restart for #114

Even though the webgui is restarted selectively, the other function
runs the complete captiveportal reconfigure and restarts all webguis
again.  I am suspecting this prevents the reload from working properly.
parent 36b9cb78
...@@ -630,11 +630,13 @@ function captiveportal_init_webgui_zonename($zone) { ...@@ -630,11 +630,13 @@ function captiveportal_init_webgui_zonename($zone) {
} }
} }
function captiveportal_init_webgui_zone($cpcfg) { function captiveportal_init_webgui_zone($cpcfg)
{
global $g, $config, $cpzone; global $g, $config, $cpzone;
if (!isset($cpcfg['enable'])) if (!isset($cpcfg['enable'])) {
return; return;
}
if (isset($cpcfg['httpslogin'])) { if (isset($cpcfg['httpslogin'])) {
$cert = lookup_cert($cpcfg['certref']); $cert = lookup_cert($cpcfg['certref']);
...@@ -643,23 +645,45 @@ function captiveportal_init_webgui_zone($cpcfg) { ...@@ -643,23 +645,45 @@ function captiveportal_init_webgui_zone($cpcfg) {
$ca = ca_chain($cert); $ca = ca_chain($cert);
/* generate lighttpd configuration */ /* generate lighttpd configuration */
if (!empty($cpcfg['listenporthttps'])) if (!empty($cpcfg['listenporthttps'])) {
$listenporthttps = $cpcfg['listenporthttps']; $listenporthttps = $cpcfg['listenporthttps'];
else } else {
$listenporthttps = 8001 + $cpcfg['zoneid']; $listenporthttps = 8001 + $cpcfg['zoneid'];
system_generate_lighty_config("{$g['varetc_path']}/lighty-{$cpzone}-CaptivePortal-SSL.conf", }
$crt, $key, $ca, "lighty-{$cpzone}-CaptivePortal-SSL.pid", $listenporthttps, "/usr/local/captiveportal",
"cert-{$cpzone}-portal.pem", "ca-{$cpzone}-portal.pem", $cpzone); system_generate_lighty_config(
"{$g['varetc_path']}/lighty-{$cpzone}-CaptivePortal-SSL.conf",
$crt,
$key,
$ca,
"lighty-{$cpzone}-CaptivePortal-SSL.pid",
$listenporthttps,
"/usr/local/captiveportal",
"cert-{$cpzone}-portal.pem",
"ca-{$cpzone}-portal.pem",
$cpzone
);
} }
/* generate lighttpd configuration */ /* generate lighttpd configuration */
if (!empty($cpcfg['listenporthttp'])) if (!empty($cpcfg['listenporthttp'])) {
$listenporthttp = $cpcfg['listenporthttp']; $listenporthttp = $cpcfg['listenporthttp'];
else } else {
$listenporthttp = 8000 + $cpcfg['zoneid']; $listenporthttp = 8000 + $cpcfg['zoneid'];
system_generate_lighty_config("{$g['varetc_path']}/lighty-{$cpzone}-CaptivePortal.conf", }
"", "", "", "lighty-{$cpzone}-CaptivePortal.pid", $listenporthttp, "/usr/local/captiveportal",
"", "", $cpzone); system_generate_lighty_config(
"{$g['varetc_path']}/lighty-{$cpzone}-CaptivePortal.conf",
"",
"",
"",
"lighty-{$cpzone}-CaptivePortal.pid",
$listenporthttp,
"/usr/local/captiveportal",
"",
"",
$cpzone
);
@unlink("{$g['varrun']}/lighty-{$cpzone}-CaptivePortal.pid"); @unlink("{$g['varrun']}/lighty-{$cpzone}-CaptivePortal.pid");
/* attempt to start lighttpd */ /* attempt to start lighttpd */
......
...@@ -428,8 +428,7 @@ if (!function_exists('service_control_start')) { ...@@ -428,8 +428,7 @@ if (!function_exists('service_control_start')) {
services_radvd_configure(); services_radvd_configure();
break; break;
case 'captiveportal': case 'captiveportal':
$zone = htmlspecialchars($extras['zone']); captiveportal_configure();
captiveportal_init_webgui_zonename($zone);
break; break;
case 'ntpd': case 'ntpd':
system_ntp_configure(); system_ntp_configure();
...@@ -569,10 +568,6 @@ if (!function_exists('service_control_restart')) { ...@@ -569,10 +568,6 @@ if (!function_exists('service_control_restart')) {
services_radvd_configure(); services_radvd_configure();
break; break;
case 'captiveportal': case 'captiveportal':
$zone = htmlspecialchars($extras['zone']);
killbypid("{$g['varrun_path']}/lighty-{$zone}-CaptivePortal.pid");
killbypid("{$g['varrun_path']}/lighty-{$zone}-CaptivePortal-SSL.pid");
captiveportal_init_webgui_zonename($zone);
captiveportal_configure(); captiveportal_configure();
break; break;
case 'ntpd': case 'ntpd':
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment