function UFDGUARD_UNLOCKED($url) { if (trim($url) == null) { if ($GLOBALS["DEBUG_UNLOCK"]) { WLOG("UFDGUARD_UNLOCKED::URL is null"); return false; } } if (strpos(" {$url}", "127.0.0.1 00:00:00:00:00:00") > 0) { return false; } if ($GLOBALS["DEBUG_UNLOCK"]) { WLOG("UFDGUARD_UNLOCKED::Call api_mysql_COUNT_ROWS"); } if (api_mysql_COUNT_ROWS("ufdbunlock") == 0) { return false; } $values = explode(" ", $url); $IPADDR = $values[0]; $MAC = $values[1]; $XFORWARD = $values[2]; $WWW = $values[3]; $IPADDR = str_replace("%25", "-", $IPADDR); $MAC = str_replace("%25", "-", $MAC); $XFORWARD = str_replace("%25", "-", $XFORWARD); if ($XFORWARD == "-") { $XFORWARD = null; } if ($MAC == "00:00:00:00:00:00") { $MAC = null; } if ($MAC == "-") { $MAC = null; } if ($GLOBALS["DEBUG_UNLOCK"]) { WLOG("UFDGUARD_UNLOCKED::Call IPCalls"); } $IPCalls = new IP(); if ($IPCalls->isIPAddress($XFORWARD)) { $IPADDR = $XFORWARD; } if (preg_match("#(.+?):[0-9]+#", $WWW, $re)) { $WWW = $re[1]; } if (preg_match("#^www\\.(.+)#", $WWW, $re)) { $WWW = $re[1]; } if ($GLOBALS["DEBUG_UNLOCK"]) { WLOG("UFDGUARD_UNLOCKED::{$WWW}"); } $WWW = api_GetFamilySites($WWW); if ($GLOBALS["DEBUG_UNLOCK"]) { WLOG("api_GetFamilySites::{$WWW}"); } if (!isset($GLOBALS["ufdbunlock_c"])) { $GLOBALS["ufdbunlock_c"] = 0; } if ($GLOBALS["ufdbunlock_c"] > 90) { QUERY_MYSQL("DELETE FROM ufdbunlock WHERE `finaltime` <" . time()); //if(!$q->ok){WLOG("$q->mysql_error");} $GLOBALS["ufdbunlock_c"] = 0; } if ($MAC != null) { if ($GLOBALS["DEBUG_UNLOCK"]) { WLOG("SELECT md5,finaltime FROM ufdbunlock WHERE `www`='{$WWW}' AND MAC='{$MAC}'"); } $ligne = mysql_fetch_array(QUERY_MYSQL("SELECT md5,finaltime FROM ufdbunlock WHERE `www`='{$WWW}' AND MAC='{$MAC}'")); if ($ligne["md5"] != null) { if ($ligne["finaltime"] < time()) { return false; } if ($IPADDR != null) { QUERY_MYSQL("UPDATE ufdbunlock SET ipaddr='{$IPADDR}' WHERE MAC='{$MAC}'"); } return true; } } if ($IPADDR != null) { if ($GLOBALS["DEBUG_UNLOCK"]) { WLOG("SELECT md5,finaltime FROM ufdbunlock WHERE `www`='{$WWW}' AND ipaddr='{$IPADDR}'"); } $ligne = mysql_fetch_array(QUERY_MYSQL("SELECT md5,finaltime FROM ufdbunlock WHERE `www`='{$WWW}' AND ipaddr='{$IPADDR}'")); $time = time(); if ($ligne["md5"] != null) { if ($ligne["finaltime"] < time()) { WLOG("{$ligne["finaltime"]} < {$time} -> FALSE"); return false; } if ($MAC != null) { QUERY_MYSQL("UPDATE ufdbunlock SET MAC='{$MAC}' WHERE ipaddr='{$IPADDR}'"); } return true; } } }
function ngx_mail_auth($username, $ip, $proto, $rcptto) { $HTTP_CLIENT_IP_NET = explode(".", $ip); $HTTP_CLIENT_NET = "{$HTTP_CLIENT_IP_NET[0]}.{$HTTP_CLIENT_IP_NET[1]}.{$HTTP_CLIENT_IP_NET[1]}.0"; $username = mysql_escape_string3($username); $sql = "SELECT backend,backend_port FROM reverse_mailauth WHERE\n\t\t\tusername='******'\n\t\t\t\tAND ipsrc='{$ip}'\n\t\t\t\tAND protocol='{$proto}'\n\t\t\t\tAND enabled=1"; $ligne = mysql_fetch_array(QUERY_MYSQL($sql)); if ($ligne["backend"] != null) { return array($ligne["backend"], $ligne["backend_port"]); } ngx_mail_events("[NONE]: {$username} {$ip} {$proto} ", __LINE__); $sql = "SELECT backend,backend_port FROM reverse_mailauth WHERE\n\tusername='******'\n\tAND ipsrc='{$HTTP_CLIENT_NET}'\n\tAND protocol='{$proto}'\n\tAND enabled=1"; $ligne = mysql_fetch_array(QUERY_MYSQL($sql)); if ($ligne["backend"] != null) { return array($ligne["backend"], $ligne["backend_port"]); } ngx_mail_events("[NONE]: {$username} {$HTTP_CLIENT_NET} {$proto} ", __LINE__); $sql = "SELECT backend,backend_port FROM reverse_mailauth WHERE\n\tusername='******'\n\tAND protocol='{$proto}'\n\tAND enabled=1"; $ligne = mysql_fetch_array(QUERY_MYSQL($sql)); if ($ligne["backend"] != null) { return array($ligne["backend"], $ligne["backend_port"]); } ngx_mail_events("[FAILED]: {$username} {$proto} ", __LINE__); return false; }