From 07d7dfcf87238d920900ca468d9399d80d8b7247 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 24 Sep 2010 09:56:40 +0200 Subject: ignore wrong content-encoding header FS#2037 Some servers send a content-encoding for gzip files but do not encode the content themselves. This is IMHO wrong, this patch detects this and ignores the header. The request will return true but set a warning message in $this->error --- inc/HTTPClient.php | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'inc/HTTPClient.php') diff --git a/inc/HTTPClient.php b/inc/HTTPClient.php index 71b6326ef..eea01f9d5 100644 --- a/inc/HTTPClient.php +++ b/inc/HTTPClient.php @@ -459,6 +459,10 @@ class HTTPClient { $this->resp_headers['content-encoding'] == 'gzip' && strlen($r_body) > 10 && substr($r_body,0,3)=="\x1f\x8b\x08"){ $this->resp_body = @gzinflate(substr($r_body, 10)); + if($this->resp_body === false){ + $this->error = 'Failed to decompress gzip encoded content'; + $this->resp_body = $r_body; + } }else{ $this->resp_body = $r_body; } -- cgit v1.2.3