$method = $req[0];
if (isset($header['Cookie'])) {
- $cookies = explode(";", $header['Cookie']);
+
+ // LINE: [Cookie:sess=50e053a9511ef; CO_splashdate4=1356420646; CO_list=all; table_idx=7; table_token=510d494986925; lang=it; CO_bin5_pref_ring_endauct=false; CO_splashdate5=1358372822; CO_splashdate1=1363203374; CO_splashdate2=1363374826; __utma=43654517.209888411.1356605271.1356605271.1356605271.1; __utmz=43654517.1356605271.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)]
+
+ $cookies = explode("; ", $header['Cookie']);
for ($i = 0 ; $i < count($cookies) ; $i++) {
- $nameval = explode("=", trim($cookies[$i]));
- if (count($nameval) != 2) {
- printf("WARNING: malformat cookie element [%s]\n", $cookies[$i]);
+ $name = mb_strstr($cookies[$i], "=", TRUE, 'UTF-8');
+ if ($name == FALSE) {
+ if (mb_strlen($cookies[$i]) > 0) {
+ $cookie[$cookies[$i]] = "";
+ }
+ else {
+ printf("WARNING: malformat cookie element [%s]\n", $cookies[$i]);
+ }
continue;
}
- $cookie[$nameval[0]] = urldecode($nameval[1]);
+
+ $value = mb_substr($cookies[$i], mb_strlen($name)+1, 10140, 'UTF-8');
+ $cookie[$name] = urldecode($value);
}
}
// GET params management
continue;
}
$split = explode(":", $line, 2);
- $header[$split[0]] = $split[1];
+ $hea_id = trim(mb_convert_case($split[0], MB_CASE_TITLE, 'UTF-8'));
+ $header[$hea_id] = $split[1];
}
return $path;
}
$cont_comp = $content;
}
$cont_comp_l = mb_strlen($cont_comp, "ASCII");
- printf("CHUNK: [%s]\n", $content);
+ // printf("CHUNK: [%s]\n", $content);
return (sprintf("%X\r\n", $cont_comp_l).$cont_comp."\r\n");
}
}
$write = NULL;
$except = NULL;
- $num_changed_sockets = @stream_select($read, $write, $except, 5, 500000);
+ $num_changed_sockets = @stream_select($read, $write, $except, 0, 500000);
if ($num_changed_sockets == 0) {
printf(" no data in 5 secs, splash [%d]\n", $G_with_splash);
if ($response != "") {
// echo "SPIA: [".substr($response, 0, 60)."...]\n";
- echo "SPIA: [".$response."]\n";
+ // echo "SPIA: [".$response."]\n";
$response_l = mb_strlen($response, "ASCII");
$wret = @fwrite($sock, $response);
if ($wret < $response_l) {