function service_control_restart($name, $extras) { switch ($name) { case 'radvd': services_radvd_configure(); break; case 'ntpd': system_ntp_configure(); break; case 'apinger': killbypid("/var/run/apinger.pid"); setup_gateways_monitor(); break; case 'bsnmpd': services_snmpd_configure(); break; case 'dhcrelay': services_dhcrelay_configure(); break; case 'dhcrelay6': services_dhcrelay6_configure(); break; case 'dnsmasq': services_dnsmasq_configure(); break; case 'unbound': services_unbound_configure(); break; case 'dhcpd': services_dhcpd_configure(); break; case 'igmpproxy': services_igmpproxy_configure(); break; case 'miniupnpd': upnp_action('restart'); break; case 'ipsec': vpn_ipsec_force_reload(); break; case 'sshd': configd_run("sshd restart"); break; case 'openvpn': $vpnmode = htmlspecialchars($extras['vpnmode']); if ($vpnmode == "server" || $vpnmode == "client") { $id = htmlspecialchars($extras['id']); $configfile = "/var/etc/openvpn/{$vpnmode}{$id}.conf"; if (file_exists($configfile)) { openvpn_restart_by_vpnid($vpnmode, $id); } } break; case 'relayd': relayd_configure(true); break; case 'squid': configd_run("proxy restart"); break; case 'suricata': configd_run("ids restart"); break; default: log_error(sprintf(gettext("Could not restart unknown service `%s'"), $name)); break; } return sprintf(gettext("%s has been restarted."), htmlspecialchars($name)); }
} $svrlist .= $srv[0]; } } } } // Now $svrlist is a comma separated list of servers ready to save to the config system $pconfig['server'] = $svrlist; if (!$input_errors) { $config['dhcrelay']['enable'] = $_POST['enable'] ? true : false; $config['dhcrelay']['interface'] = implode(",", $_POST['interface']); $config['dhcrelay']['agentoption'] = $_POST['agentoption'] ? true : false; $config['dhcrelay']['server'] = $svrlist; write_config(); $retval = 0; $retval = services_dhcrelay_configure(); $savemsg = get_std_save_message($retval); filter_configure(); } } $pconfig['server'] = $config['dhcrelay']['server']; $pgtitle = array(gettext("Services"), gettext("DHCP Relay")); $shortcut_section = "dhcp"; include "head.inc"; if ($dhcpd_enabled) { print_info_box(gettext("DHCP Server is currently enabled. Cannot enable the DHCP Relay service while the DHCP Server is enabled on any interface."), 'danger', false); include "foot.inc"; exit; } if ($input_errors) { print_input_errors($input_errors);