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;
}
Exemplo n.º 2
0
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);
}
Exemplo n.º 3
0
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);
}
Exemplo n.º 4
0
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);
}
Exemplo n.º 5
0
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;
}
Exemplo n.º 6
0
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;
}