function update() { if (system_is_overloaded()) { return; } $unix = new unix(); $sock = new sockets(); $pidfile = "/etc/artica-postfix/pids/exec.ipblock.php.update.pid"; $pidtime = "/etc/artica-postfix/pids/exec.ipblock.php.update.time"; $pid = @file_get_contents($pidfile); if (!$GLOBALS["FORCE"]) { if ($unix->process_exists($pid)) { echo "Already running pid {$pid}\n"; return; } } include_once dirname(__FILE__) . '/ressources/class.ccurl.inc'; if (!is_file($pidtime)) { @file_put_contents($pidtime, time()); } if (!$GLOBALS["FORCE"]) { if ($unix->file_time_min($pidtime) > 720) { @unlink($pidtime); @file_put_contents($pidtime, time()); return; } } @file_put_contents($pidfile, getmypid()); $EnableIpBlocks = intval($sock->GET_INFO("EnableIpBlocks")); if ($EnableIpBlocks == 0) { return; } $DIR_TEMP = $unix->TEMP_DIR(); $curl = new ccurl("http://www.ipdeny.com/ipblocks/data/countries/all-zones.tar.gz"); if (!$curl->GetFile("{$DIR_TEMP}/all-zones.tar.gz")) { system_admin_events(0, "Fatal, Unable to download all-zones.tar.gz from ipdeny.com", __FILE__, __LINE__); return; } $OldMd5 = $sock->GET_INFO("IpBlocksMD5"); $md5File = md5_file("{$DIR_TEMP}/all-zones.tar.gz"); if ($md5File == $OldMd5) { ipblocks(); return; } $tar = $unix->find_program("tar"); @mkdir("/home/artica/ipblocks", 0755, true); shell_exec("{$tar} xf {$DIR_TEMP}/all-zones.tar.gz -C /home/artica/ipblocks/"); if (ipblocks()) { $sock->SET_INFO("IpBlocksMD5", "{$md5File}"); system_admin_events(0, "Restarting Firewall in order to refresh countries blocking"); } }
if(preg_match("#--reload#",implode(" ",$argv))){$GLOBALS["RELOAD"]=true;} if(preg_match("#--force#",implode(" ",$argv))){$GLOBALS["FORCE"]=true;} if($argv[1]=='--build-server'){build_server_mode();die();} if($argv[1]=='--build-client'){build_client_mode();die();} if($argv[1]=='--auth-logs'){authlogs();sessions_logs();die();ipblocks();} if($argv[1]=='--authfw'){authfw();sessions_logs();die();ipblocks();} if($argv[1]=='--authfw-compile'){compile_sshd_rules();sessions_logs();ipblocks();die();} if($argv[1]=='--snort'){snort_logs();sessions_logs();ipblocks();die();} if($argv[1]=='--sessions'){sessions_logs();die();} if($argv[1]=='--loadavg'){loadavg_logs();die();} if($argv[1]=='--ipblocks'){ipblocks();die();} function build_server_mode(){ $sock=new sockets(); $ActAsASyslogServer=$sock->GET_INFO("ActAsASyslogServer"); if(!is_numeric($ActAsASyslogServer)){ echo "Starting......: syslog server parameters not defined, aborting tasks\n"; } if(is_file("/etc/default/syslogd")){ echo "Starting......: syslog old syslog mode\n"; build_server_mode_debian(); return;
if ($GLOBALS["VERBOSE"]) { echo "MAIN::" . __LINE__ . " ->authlogs()\n"; } authlogs(); if (system_is_overloaded(basename(__FILE__))) { system_admin_events("OVERLOADED system: {$GLOBALS["SYSTEM_INTERNAL_LOAD"]}, aborting", __FUNCTION__, __FILE__, __LINE__, "system"); die; } if ($GLOBALS["VERBOSE"]) { echo "MAIN::" . __LINE__ . " ->sessions_logs()\n"; } sessions_logs(); if ($GLOBALS["VERBOSE"]) { echo "MAIN::" . __LINE__ . " ->ipblocks()\n"; } ipblocks(); if (system_is_overloaded(basename(__FILE__))) { system_admin_events("OVERLOADED system: {$GLOBALS["SYSTEM_INTERNAL_LOAD"]}, aborting", __FUNCTION__, __FILE__, __LINE__, "system"); die; } if ($GLOBALS["VERBOSE"]) { echo "MAIN::" . __LINE__ . " ->clamd_mem()\n"; } clamd_mem(); if ($GLOBALS["VERBOSE"]) { echo "MAIN::" . __LINE__ . " ->crossroads()\n"; } crossroads(); if ($GLOBALS["VERBOSE"]) { echo "MAIN::" . __LINE__ . " ->dhcpd_logs()\n"; }