function parse_request($rawRequest) { // First of all, is the request a valid JSON object? $request = json_decode($rawRequest, true); if ($request === null) { // Invalid request, error out invalid_request(); } // Decoding succeeded, continue if (isset($request['function'])) { switch ($request['function']) { case 'get_scan_list': return get_scan_list($request); break; case 'get_list_hash': return get_list_hash($request); break; case 'delete_scan': return delete_scan($request); break; default: invalid_request(); break; } } else { invalid_request(); } }
main_page($job_id, $op); } else { if ($entity != "" && $entity != "none") { $username = $entity; } if ($user != "" && $user != "none") { $username = $user; } submit_scan($op, $sched_id, $sname, $notify_email, $schedule_type, $ROYEAR, $ROMONTH, $ROday, $time_hour, $time_min, $dayofweek, $dayofmonth, $timeout, $SVRid, $sid, $tarSel, $ip_list, $ip_exceptions_list, $ip_start, $ip_end, $named_list, $cidr, $subnet, $system, $cred_type, $credid, $acc, $domain, $accpass, $acctype, $passtype, $passstore, $wpolicies, $wfpolicies, $upolicies, $custadd_type, $cust_plugins, $is_enabled, $hosts_alive, $scan_locally, $nthweekday, $semail, $not_resolve); } break; case "edit_sched": edit_schedule($sched_id); break; case "delete_scan": delete_scan($job_id); break; case "rerun": rerun($job_id); break; default: main_page($job_id, $op); break; } function createHiddenDiv($name, $num, $data) { $text = ""; $style = ""; if ($num == 0) { $style = "style='display: block;'"; } else {
function flush_scans(&$dbh, $age) { $due = time() + 5; while (time() < $due) { $q = sprintf('SELECT id FROM scans WHERE NOT decoded AND created < NOW() - INTERVAL %d SECOND LIMIT 1', $age); //error_log(preg_replace('/\s+/', ' ', $q)); $res = $dbh->query($q); if (PEAR::isError($res)) { die_with_code(500, "{$res->message}\n{$q}\n"); } $scan = $res->fetchRow(DB_FETCHMODE_ASSOC); if (empty($scan)) { break; } delete_scan($dbh, $scan['id']); } return true; }