do_input_validation($_POST, $reqdfields, $reqdfieldsn, $input_errors);
 for ($i = 0; isset($config['load_balancer']['virtual_server'][$i]); $i++) {
     if ($_POST['name'] == $config['load_balancer']['virtual_server'][$i]['name'] && $i != $id) {
         $input_errors[] = gettext("This virtual server name has already been used.  Virtual server names must be unique.");
     }
 }
 if (preg_match('/[ \\/]/', $_POST['name'])) {
     $input_errors[] = gettext("You cannot use spaces or slashes in the 'name' field.");
 }
 if ($_POST['port'] != "" && !is_portoralias($_POST['port'])) {
     $input_errors[] = gettext("The port must be an integer between 1 and 65535, a port alias, or left blank.");
 }
 if (!is_ipaddroralias($_POST['ipaddr']) && !is_subnetv4($_POST['ipaddr'])) {
     $input_errors[] = sprintf(gettext("%s is not a valid IP address, IPv4 subnet, or alias."), $_POST['ipaddr']);
 } else {
     if (is_subnetv4($_POST['ipaddr']) && subnet_size($_POST['ipaddr']) > 64) {
         $input_errors[] = sprintf(gettext("%s is a subnet containing more than 64 IP addresses."), $_POST['ipaddr']);
     }
 }
 if (strtolower($_POST['relay_protocol']) == "dns" && !empty($_POST['sitedown'])) {
     $input_errors[] = gettext("You cannot select a Fall Back Pool when using the DNS relay protocol.");
 }
 if (!$input_errors) {
     $vsent = array();
     if (isset($id) && $a_vs[$id]) {
         $vsent = $a_vs[$id];
     }
     if ($vsent['name'] != "") {
         $changedesc .= " " . sprintf(gettext("modified '%s' vs:"), $vsent['name']);
     } else {
         $changedesc .= " " . sprintf(gettext("created '%s' vs:"), $_POST['name']);
     foreach ($pconfig['servers'] as $svrent) {
         if (!is_ipaddr($svrent) && !is_subnetv4($svrent)) {
             $input_errors[] = sprintf(gettext("%s is not a valid IP address or IPv4 subnet (in \"enabled\" list)."), $svrent);
         } else {
             if (is_subnetv4($svrent) && subnet_size($svrent) > 64) {
                 $input_errors[] = sprintf(gettext("%s is a subnet containing more than 64 IP addresses (in \"enabled\" list)."), $svrent);
             }
         }
     }
 }
 if (is_array($_POST['serversdisabled'])) {
     foreach ($pconfig['serversdisabled'] as $svrent) {
         if (!is_ipaddr($svrent) && !is_subnetv4($svrent)) {
             $input_errors[] = sprintf(gettext("%s is not a valid IP address or IPv4 subnet (in \"disabled\" list)."), $svrent);
         } else {
             if (is_subnetv4($svrent) && subnet_size($svrent) > 64) {
                 $input_errors[] = sprintf(gettext("%s is a subnet containing more than 64 IP addresses (in \"disabled\" list)."), $svrent);
             }
         }
     }
 }
 $m = array();
 for ($i = 0; isset($config['load_balancer']['monitor_type'][$i]); $i++) {
     $m[$config['load_balancer']['monitor_type'][$i]['name']] = $config['load_balancer']['monitor_type'][$i];
 }
 if (!isset($m[$_POST['monitor']])) {
     $input_errors[] = gettext("Invalid monitor chosen.");
 }
 if (!$input_errors) {
     $poolent = array();
     if (isset($id) && $a_pool[$id]) {
if (empty($suricatacfg['libhtp_policy']['item'])) {
    $http_hosts_default_policy = "default-config:\n     personality: IDS\n     request-body-limit: 4096\n     response-body-limit: 4096\n";
    $http_hosts_default_policy .= "     double-decode-path: no\n     double-decode-query: no\n     uri-include-all: no\n";
} else {
    foreach ($suricatacfg['libhtp_policy']['item'] as $k => $v) {
        if ($v['bind_to'] != "all") {
            $engine = "server-config:\n     - {$v['name']}:\n";
            $tmp = trim(filter_expand_alias($v['bind_to']));
            if (!empty($tmp)) {
                $engine .= "         address: [";
                $tmp = preg_replace('/\\s+/', ',', $tmp);
                $list = explode(',', $tmp);
                foreach ($list as $addr) {
                    if (is_ipaddrv6($addr) || is_subnetv6($addr)) {
                        $engine .= "\"{$addr}\", ";
                    } elseif (is_ipaddrv4($addr) || is_subnetv4($addr)) {
                        $engine .= "{$addr}, ";
                    } else {
                        log_error("[suricata] WARNING: invalid IP address value '{$addr}' in Alias {$v['bind_to']} will be ignored.");
                        continue;
                    }
                }
                $engine = trim($engine, ' ,');
                $engine .= "]\n";
                $engine .= "         personality: {$v['personality']}\n         request-body-limit: {$v['request-body-limit']}\n";
                $engine .= "         response-body-limit: {$v['response-body-limit']}\n";
                $engine .= "         double-decode-path: {$v['double-decode-path']}\n";
                $engine .= "         double-decode-query: {$v['double-decode-query']}\n";
                $engine .= "         uri-include-all: {$v['uri-include-all']}\n";
                $http_hosts_policy .= "   {$engine}\n";
            } else {