Merge r756671, r756675, r756678, r756683 from trunk:
Creation of external gzip process fails, if we try to set the working directory to r->filename. Use ap_make_dirstr_parent() instead, like in all other similar places. Creating the external gzip process fails, because we call execve() with "gzip" without full path. Let's look for it in the PATH instead and drop the passing of the environment. There seems to be no reason why gzip should need the httpd environment. Set the content encoding for compressed content even if we can't detect the content type of the uncompressed content. When trying to detect the content type of the uncompressed content it is often not enough to read the same number of bytes, we already read compressed. Since uncompress() allocates a new buffer, we can increase the number of bytes to read to the same size, we use in the case, where the content isn't compressed. Furthermore zero-terminate the read data to keep assumptions consistent with the uncompressed case. Submitted by: rjung Reviewed/backported by: jim git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@765999 13f79535-47bb-0310-9956-ffa450edef68
parent
909e1a44
Please register or sign in to comment