Skip to content
Snippets Groups Projects
Commit ace46cb1 authored by Andreas Gohr's avatar Andreas Gohr
Browse files

cope with non-RFC-conform webservers in HTTPClient FS#1340

This fixes problems in the HTTP client for web servers which separate their
response headers with Unix linfeeds only (instead of CRLFs as stated in RFC
2616).

darcs-hash:20080223183639-7ad00-057b05a1134cbe2b8edb2d38d5a74912360cd071.gz
parent 73038c47
No related branches found
No related tags found
No related merge requests found
......@@ -228,13 +228,13 @@ class HTTPClient {
$this->error = 'Premature End of File (socket)';
return false;
}
$r_headers .= fread($socket,1); #FIXME read full lines here?
}while(!preg_match('/\r\n\r\n$/',$r_headers));
$r_headers .= fgets($socket,1024);
}while(!preg_match('/\r?\n\r?\n$/',$r_headers));
$this->_debug('response headers',$r_headers);
// check if expected body size exceeds allowance
if($this->max_bodysize && preg_match('/\r\nContent-Length:\s*(\d+)\r\n/i',$r_headers,$match)){
if($this->max_bodysize && preg_match('/\r?\nContent-Length:\s*(\d+)\r?\n/i',$r_headers,$match)){
if($match[1] > $this->max_bodysize){
$this->error = 'Reported content length exceeds allowed response size';
return false;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment