Changes with Apache 2.0.50
+ *) mod_isapi: GetServerVariable returned improperly terminated header
+ fields given "ALL_HTTP" or "ALL_RAW". PR 20656.
+ [Jesse Pelton <jsp pkc.com>]
+
*) mod_isapi: GetServerVariable("ALL_RAW") returned the wrong buffer
size. PR 20617. [Jesse Pelton <jsp pkc.com>]
APACHE 2.0 STATUS: -*-text-*-
-Last modified at [$Date: 2004/04/26 15:54:22 $]
+Last modified at [$Date: 2004/04/26 15:58:31 $]
Release:
http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/arch/win32/mod_isapi.c?r1=1.97&r2=1.98
+1: trawick, stoddard
- * mod_isapi: GetServerVariable returned improperly terminated header
- fields given "ALL_HTTP" or "ALL_RAW". PR 20656.
- [Jesse Pelton <jsp pkc.com>]
- http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/arch/win32/mod_isapi.c?r1=1.98&r2=1.99
- +1: trawick, stoddard, nd
-
* Unix MPMs: Stop dropping connections when the file descriptor
is at least FD_SETSIZE
os/unix/unixd.c: r1.63
if (!strcmp(variable_name, "ALL_HTTP"))
{
- /* lf delimited, colon split, comma seperated and
+ /* crlf delimited, colon split, comma separated and
* null terminated list of HTTP_ vars
*/
const apr_array_header_t *arr = apr_table_elts(r->subprocess_env);
for (len = 0, i = 0; i < arr->nelts; i++) {
if (!strncmp(elts[i].key, "HTTP_", 5)) {
- len += strlen(elts[i].key) + strlen(elts[i].val) + 2;
+ len += strlen(elts[i].key) + strlen(elts[i].val) + 3;
}
}
*(((char*)buf_data)++) = ':';
strcpy(buf_data, elts[i].val);
((char*)buf_data) += strlen(elts[i].val);
+ *(((char*)buf_data)++) = '\r';
*(((char*)buf_data)++) = '\n';
}
}
if (!strcmp(variable_name, "ALL_RAW"))
{
- /* lf delimited, colon split, comma seperated and
+ /* crlf delimited, colon split, comma separated and
* null terminated list of the raw request header
*/
const apr_array_header_t *arr = apr_table_elts(r->headers_in);
int i;
for (len = 0, i = 0; i < arr->nelts; i++) {
- len += strlen(elts[i].key) + strlen(elts[i].val) + 3;
+ len += strlen(elts[i].key) + strlen(elts[i].val) + 4;
}
if (*buf_size < len + 1) {
*(((char*)buf_data)++) = ' ';
strcpy(buf_data, elts[i].val);
((char*)buf_data) += strlen(elts[i].val);
+ *(((char*)buf_data)++) = '\r';
*(((char*)buf_data)++) = '\n';
}
*(((char*)buf_data)++) = '\0';