#!/usr/local/bin/php-cgi -q 0) { log_error("{$argv[0]}: Starting up."); if ($argv[1] != "now") { // Wait a little before updating. $wait = mt_rand(5, 60); log_error("{$argv[0]}: Sleeping for {$wait} seconds."); sleep($wait); } // Set whether or not to force the table update before it's time. if (!empty($argv[2]) && ($argv[2] == "forceupdate")) { $forceupdate = true; } else { $forceupdate = false; } log_error("{$argv[0]}: Starting URL table alias updates"); $filter_reload = false; foreach ($todo as $t) { // Update a specifically named URL table only. if (!empty($argv[3]) && ($argv[3] != $t['name'])) { continue; } $r = process_alias_urltable($t['name'], $t['type'], $t['url'], $t['freq'], $forceupdate); if ($r == 1) { $result = ""; // TODO: Change it when pf supports tables with ports if ($t['type'] == "urltable") { exec("/sbin/pfctl -t " . escapeshellarg($t['name']) . " -T replace -f /var/db/aliastables/" . escapeshellarg($t['name']) . ".txt 2>&1", $result); } else { $filter_reload = true; } log_error("{$argv[0]}: Updated {$t['name']} content from {$t['url']}: {$result[0]}"); } elseif ($r == -1) { log_error("{$argv[0]}: {$t['name']} does not need updating."); } else { log_error("{$argv[0]}: ERROR: could not update {$t['name']} content from {$t['url']}"); } } if ($filter_reload) { send_event("filter reload"); } } ?>