Пример #1
0
    $error_msg = "<div style='text-align: left;'>" . _('The following errors occurred') . ":</div>\n                  <div style='padding-left:15px; text-align: left;'>" . implode('<br/>', $validation_errors) . "</div>";
    $error = Token::create_error_message();
    Util::response_bad_request($error_msg);
}
$warning_msg = '';
//Validate IP/CIDR
if ($ip_cidr != 'any' && $ip_cidr != '0.0.0.0/0') {
    if (Asset_host_ips::valid_ip($ip_cidr)) {
        //Agent IP/CIDR is an IP address
        $asset_ips = Asset_host_ips::get_ips_to_string($conn, $asset_id);
        if (preg_match('/' . $ip_cidr . '/', $asset_ips) == FALSE) {
            $warning_msg = _('The asset IP and IP/CIDR do not match');
        }
    } else {
        //Agent IP/CIDR is an CIDR
        $ip_range = CIDR::expand_cidr($ip_cidr, 'SHORT', 'LONG');
        $asset_ips_obj = new Asset_host_ips($asset_id);
        $asset_ips_obj->load_from_db($conn);
        $asset_ips = $asset_ips_obj->get_ips();
        $valid_ip_range = FALSE;
        foreach ($asset_ips as $a_data) {
            $ip = Asset_host_ips::ip2ulong($a_data['ip']);
            if ($ip >= $ip_range[0] && $ip <= $ip_range[1]) {
                $valid_ip_range = TRUE;
                break;
            }
        }
        if ($valid_ip_range == FALSE) {
            $warning_msg = _('The selected asset IP is out of the IP/CIDR range');
        }
    }