diff --git a/src/etc/inc/captiveportal.inc b/src/etc/inc/captiveportal.inc index d88461814..9cc049278 100644 --- a/src/etc/inc/captiveportal.inc +++ b/src/etc/inc/captiveportal.inc @@ -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; - if (!isset($cpcfg['enable'])) + if (!isset($cpcfg['enable'])) { return; + } if (isset($cpcfg['httpslogin'])) { $cert = lookup_cert($cpcfg['certref']); @@ -643,23 +645,45 @@ function captiveportal_init_webgui_zone($cpcfg) { $ca = ca_chain($cert); /* generate lighttpd configuration */ - if (!empty($cpcfg['listenporthttps'])) + if (!empty($cpcfg['listenporthttps'])) { $listenporthttps = $cpcfg['listenporthttps']; - else + } else { $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 */ - if (!empty($cpcfg['listenporthttp'])) + if (!empty($cpcfg['listenporthttp'])) { $listenporthttp = $cpcfg['listenporthttp']; - else + } else { $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"); /* attempt to start lighttpd */ diff --git a/src/etc/inc/service-utils.inc b/src/etc/inc/service-utils.inc index 5b0fd8064..8f720f972 100644 --- a/src/etc/inc/service-utils.inc +++ b/src/etc/inc/service-utils.inc @@ -428,8 +428,7 @@ if (!function_exists('service_control_start')) { services_radvd_configure(); break; case 'captiveportal': - $zone = htmlspecialchars($extras['zone']); - captiveportal_init_webgui_zonename($zone); + captiveportal_configure(); break; case 'ntpd': system_ntp_configure(); @@ -569,10 +568,6 @@ if (!function_exists('service_control_restart')) { services_radvd_configure(); break; 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(); break; case 'ntpd':