function send_to_mysql($buffer) { $dbpath = "/home/artica/postfix/milter-greylist/logger/" . date("YmdH") . ".miltergreylist.db"; if (!berekley_db_create($dbpath)) { return; } $db_con = @dba_open($dbpath, "w", "db4"); if (!$db_con) { ToSyslog("send_to_mysql:: {$dbpath} failed connect"); @dba_close($db_con); continue; } $results = explode(",", $buffer); $md5 = md5($buffer . time()); $instance = $results[0]; $publicip = $results[1]; $mailfrom = mysql_escape_string2($results[2]); $rcpt = mysql_escape_string2($results[3]); $failed = $results[6]; $Country = $results[7]; $HOUR = date('H'); $date = date("Y-m-d H:i:s"); $tablename = "mgreyh_" . date("YmdH"); $mailfromZ = explode("@", $mailfrom); $rcptZ = explode("@", $rcpt); $prefix = "INSERT IGNORE INTO {$tablename} (`zmd5`,`ztime`,`zhour`,`mailfrom`,`instancename`,`mailto`,`domainfrom`,`domainto`,`senderhost`,`failed`) VALUES "; $suffix = "('{$md5}','{$date}','{$HOUR}','{$mailfrom}','{$instance}','{$rcpt}','{$mailfromZ[1]}','{$rcptZ[1]}','{$publicip}','{$failed}')"; $md5 = md5($suffix); dba_replace($md5, $suffix, $db_con); @dba_close($db_con); return; }
function logsize($uuid, $ipaddr, $hostname, $file, $size) { $time = time(); $key = md5("{$uuid}{$size}{$file}{$time}{$ipaddr}"); writelogs_stats("{$uuid},{$ipaddr},{$hostname},{$file},{$size}", __FUNCTION__, __FILE__, __LINE__); $DatabasePath = "/usr/share/artica-postfix/ressources/conf/STATSAPPUPLD_" . date("Ymdi") . ".db"; if (!berekley_db_create($DatabasePath)) { writelogs_meta("Fatal: Creating {$DatabasePath}", __FUNCTION__, __FILE__, __LINE__); return; } $db_con = @dba_open($DatabasePath, "c", "db4"); $ARRAY["UUID"] = $uuid; $ARRAY["IPADDR"] = $ipaddr; $ARRAY["HOSTNAME"] = $hostname; $ARRAY["SIZE"] = $size; $ARRAY["FILE"] = $file; $ARRAY["TIME"] = time(); dba_replace($key, base64_encode(serialize($ARRAY)), $db_con); @dba_close($db_con); }
function berekley_add($key, $value) { if (!is_numeric($GLOBALS["MYPID"])) { $GLOBALS["MYPID"] = getmypid(); } $db_path = "{$GLOBALS["LogFileDeamonLogDir"]}/" . date("YmdHi") . "." . $GLOBALS["MYPID"] . "_realtime.db"; if (!berekley_db_create($db_path)) { return; } $db_con = @dba_open($db_path, "c", "db4"); if (!$db_con) { events("berekley_db_size:: FATAL!!!::{$db_path}, unable to open"); return false; } dba_replace($key, $value, $db_con); }
function ufdb_phistank_createdb() { ini_set('memory_limit', '1000M'); $sock = new sockets(); $database = "/etc/squid3/phistank.db"; $path = "/home/artica/squid/phishtank/online-valid.php_serialized"; $q = new mysql_squid_builder(); if (!is_file($path)) { echo "{$path} no such file\n"; return; } $data = unserialize(@file_get_contents($path)); if (count($data) < 10) { updatev2_progress(90, "Phishtank {failed}..."); echo "Corrupted source file\n"; squid_admin_mysql(1, "phishtank: Corrupted source file", null, __FILE__, __LINE__); @unlink($path); return; } if (is_file($database)) { @unlink($database); } if (!berekley_db_create($database)) { updatev2_progress(90, "Phishtank {failed}..."); echo "phishtank: Failed to create DB\n"; squid_admin_mysql(1, "phishtank: Failed to create DB", null, __FILE__, __LINE__); return false; } $db_con = @dba_open($database, "w", "db4"); if (!$db_con) { updatev2_progress(90, "Phishtank {failed}..."); echo "phishtank: Failed to open DB\n"; squid_admin_mysql(1, "phishtank: Failed to open DB", null, __FILE__, __LINE__); @dba_close($db_con); return; } $c = 0; updatev2_progress(90, "Phishtank {compiling}..."); while (list($key, $value) = each($data)) { $c++; $url = $value["url"]; $array = parse_url($url); if (isset($array["path"])) { if ($array["path"] == "/") { if (!isset($array["query"])) { echo $array["host"] . "\n"; $md5 = md5($array["host"]); @dba_replace($md5, 1, $db_con); continue; } } } $md5 = md5($url); @dba_replace($md5, 1, $db_con); continue; } updatev2_progress(90, "Phishtank {done} {$c} urls..."); $data = array(); @dba_close($db_con); echo "{$c} urls\n"; $sock->SET_INFO("PhishTankLastCount", $c); }
function STATS_BuildCurrentTable_parse_WEEK($ARRAY) { $MESSAGE_ID = $ARRAY["MESSAGE_ID"]; if ($MESSAGE_ID == "NOQUEUE") { return true; } if (isset($array["RECIPIENT"])) { if (preg_match("#^(.*?)>#", $ARRAY["RECIPIENT"], $re)) { $ARRAY = $re[1]; } } if (isset($ARRAY["HOSTNAME"])) { if ($ARRAY["HOSTNAME"] == "127.0.0.1") { unset($ARRAY["HOSTNAME"]); } } if (isset($ARRAY["IPADDR"])) { if ($ARRAY["IPADDR"] == "127.0.0.1") { unset($ARRAY["IPADDR"]); } } if (preg_match("#:\\s+([A-Z0-9]+)\$#", $MESSAGE_ID, $re)) { $MESSAGE_ID = $re[1]; } if (preg_match("#postfix\\/smtp.*?:\\s+([0-9]+)#", $MESSAGE_ID, $re)) { $MESSAGE_ID = $re[1]; } echo "-- > {$MESSAGE_ID}\n"; $path = "/home/artica/postfix/WEEK"; @mkdir($path); $dbpath = "{$path}/" . date("YW") . ".db"; if (!berekley_db_create($dbpath)) { return false; } $db_con = dba_open($dbpath, "w", "db4"); if (!$db_con) { echo "DB open {$path} failed\n"; return false; } if (!dba_exists($MESSAGE_ID, $db_con)) { dba_replace($MESSAGE_ID, serialize($ARRAY), $db_con); @dba_close($db_con); return true; } $FETCH = dba_fetch($MESSAGE_ID, $db_con); $array_src = unserialize($FETCH); while (list($key, $value) = each($ARRAY)) { if (isset($array_src[$key])) { continue; } $array_src[$key] = $value; } dba_replace($MESSAGE_ID, serialize($array_src), $db_con); @dba_close($db_con); return true; }
function HyperCacheRetranslation_set($uri, $MD5File, $FileType, $TargetFile) { $familysite = tool_get_familysite($uri); $unix = new unix(); $extention = $unix->file_extension(basename($TargetFile)); $dbfile = "/usr/share/squid3/HyperCache-{$familysite}-Retranslation.db"; berekley_db_create($dbfile); if (!is_file($dbfile)) { events("FATAL ERROR on {$dbfile}", 0, 0, __LINE__); return; } $db_con = dba_open($dbfile, "c", "db4"); $md5 = md5($uri); $array["MD5FILE"] = $MD5File; $array["MD5TYPE"] = $FileType; $array["EXT"] = $extention; $array["TARGET"] = $TargetFile; if (!@dba_replace($md5, serialize($array), $db_con)) { events("{$dbfile} unable to save {$md5} information...", 0, 0, __LINE__); @dba_close($db_con); return false; } @dba_close($db_con); return true; }