while (true) { phpsocks5_log("receive process 2 {$phpsid}"); $rslt = mysql_query("SELECT id, cnt FROM {$dbprefix}recving WHERE sid = '" . $phpsid . "' ORDER BY id ASC LIMIT 1"); if (!$rslt) { phpsocks5_http_500('mysql_query SELECT error'); } phpsocks5_log("receive process 3 {$phpsid}"); $row = mysql_fetch_row($rslt); phpsocks5_usleep(0); if ($row) { phpsocks5_log("receive process 4 {$phpsid}"); mysql_query("DELETE FROM {$dbprefix}recving WHERE id = {$row['0']}"); phpsocks5_usleep(0); if ($row[1]) { $cnt = base64_decode($row[1]); phpsocks5_log("receive process 5 {$phpsid} echo: " . phpsocks5_tohex($cnt)); echo $prefix . phpsocks5_encrypt($cnt) . $postfix; } else { phpsocks5_http_500('break'); } phpsocks5_log("receive process 6 {$phpsid}"); break; } phpsocks5_log("receive process 7 {$phpsid}"); $inv += $invstep; if ($inv > $invmax) { $inv = $invmax; } phpsocks5_log("receive process 8 {$phpsid}"); phpsocks5_usleep($inv); phpsocks5_log("receive process 9 {$phpsid}");
{ $ips = gethostbynamel($hostname); foreach ($ips as $ip) { if (socket_connect($socket, $ip, $port)) { return TRUE; } } return FALSE; } phpsocks5_log("process 1"); set_time_limit(60); phpsocks5_log("process 2"); $postdata = file_get_contents("php://input"); phpsocks5_log("process 3 before decrypt postdata: " . phpsocks5_tohex($postdata)); $postdata = phpsocks5_decrypt($postdata); phpsocks5_log("process 4 after decrypt postdata: " . phpsocks5_tohex($postdata)); if (!$postdata) { exit; } phpsocks5_log("process 5"); if ($postdata[0] != $version[0] || $postdata[1] != $version[1]) { phpsocks5_http_500('version not match'); } phpsocks5_log("process 6"); if ($postdata[2] == "1") { phpsocks5_log("start session process 1"); if (!session_start()) { phpsocks5_http_500('start session error'); } phpsocks5_log("start session process 2"); } elseif ($postdata[2] == "2") {