Loading APACHE_1_2_X/src/CHANGES +5 −1 Original line number Diff line number Diff line Loading @@ -30,6 +30,10 @@ Changes with Apache 1.2.1 [Somehow it took four of us: Randy Terbush, Jim Jagielski, Dean Gaudet, Marc Slemko] *) Request processing now retains state of whether or not the request body has been read, so that internal redirects and subrequests will not try to read it twice (and block). [Roy Fielding] *) Add a placeholder in modules/Makefile to avoid errors with certain makes. [Marc Slemko] Loading APACHE_1_2_X/src/include/httpd.h +1 −0 Original line number Diff line number Diff line Loading @@ -472,6 +472,7 @@ struct request_rec { long read_length; /* bytes that have been read */ int read_body; /* how the request body should be read */ int read_chunked; /* reading chunked transfer-coding */ int begun_read_body; /* false (0) until first get_client_block */ /* MIME header environments, in and out. Also, an array containing * environment variables to be passed to subprocesses, so people can Loading APACHE_1_2_X/src/main/http_protocol.c +4 −1 Original line number Diff line number Diff line Loading @@ -868,6 +868,7 @@ void set_sub_req_protocol (request_rec *rnew, const request_rec *r) rnew->read_length = r->read_length; rnew->read_body = REQUEST_NO_BODY; rnew->begun_read_body = r->begun_read_body; rnew->main = (request_rec *)r; } Loading Loading @@ -1345,7 +1346,7 @@ int setup_client_block (request_rec *r, int read_policy) int should_client_block (request_rec *r) { if (is_HTTP_ERROR(r->status)) if (r->begun_read_body || is_HTTP_ERROR(r->status)) return 0; if (!r->read_chunked && (r->remaining <= 0)) Loading Loading @@ -1397,6 +1398,8 @@ long get_client_block (request_rec *r, char *buffer, int bufsiz) long len_read, len_to_read; long chunk_start = 0; r->begun_read_body = 1; if (!r->read_chunked) { /* Content-length read */ len_to_read = (r->remaining > bufsiz) ? bufsiz : r->remaining; len_read = bread(r->connection->client, buffer, len_to_read); Loading APACHE_1_2_X/src/main/http_request.c +2 −0 Original line number Diff line number Diff line Loading @@ -1095,6 +1095,8 @@ request_rec *internal_internal_redirect (const char *new_uri, request_rec *r) */ new->no_local_copy = r->no_local_copy; new->begun_read_body = r->begun_read_body; /* We can only read it once */ ap_snprintf (t, sizeof(t), "%d", r->status); table_set (new->subprocess_env, "REDIRECT_STATUS", pstrdup (r->pool, t)); Loading Loading
APACHE_1_2_X/src/CHANGES +5 −1 Original line number Diff line number Diff line Loading @@ -30,6 +30,10 @@ Changes with Apache 1.2.1 [Somehow it took four of us: Randy Terbush, Jim Jagielski, Dean Gaudet, Marc Slemko] *) Request processing now retains state of whether or not the request body has been read, so that internal redirects and subrequests will not try to read it twice (and block). [Roy Fielding] *) Add a placeholder in modules/Makefile to avoid errors with certain makes. [Marc Slemko] Loading
APACHE_1_2_X/src/include/httpd.h +1 −0 Original line number Diff line number Diff line Loading @@ -472,6 +472,7 @@ struct request_rec { long read_length; /* bytes that have been read */ int read_body; /* how the request body should be read */ int read_chunked; /* reading chunked transfer-coding */ int begun_read_body; /* false (0) until first get_client_block */ /* MIME header environments, in and out. Also, an array containing * environment variables to be passed to subprocesses, so people can Loading
APACHE_1_2_X/src/main/http_protocol.c +4 −1 Original line number Diff line number Diff line Loading @@ -868,6 +868,7 @@ void set_sub_req_protocol (request_rec *rnew, const request_rec *r) rnew->read_length = r->read_length; rnew->read_body = REQUEST_NO_BODY; rnew->begun_read_body = r->begun_read_body; rnew->main = (request_rec *)r; } Loading Loading @@ -1345,7 +1346,7 @@ int setup_client_block (request_rec *r, int read_policy) int should_client_block (request_rec *r) { if (is_HTTP_ERROR(r->status)) if (r->begun_read_body || is_HTTP_ERROR(r->status)) return 0; if (!r->read_chunked && (r->remaining <= 0)) Loading Loading @@ -1397,6 +1398,8 @@ long get_client_block (request_rec *r, char *buffer, int bufsiz) long len_read, len_to_read; long chunk_start = 0; r->begun_read_body = 1; if (!r->read_chunked) { /* Content-length read */ len_to_read = (r->remaining > bufsiz) ? bufsiz : r->remaining; len_read = bread(r->connection->client, buffer, len_to_read); Loading
APACHE_1_2_X/src/main/http_request.c +2 −0 Original line number Diff line number Diff line Loading @@ -1095,6 +1095,8 @@ request_rec *internal_internal_redirect (const char *new_uri, request_rec *r) */ new->no_local_copy = r->no_local_copy; new->begun_read_body = r->begun_read_body; /* We can only read it once */ ap_snprintf (t, sizeof(t), "%d", r->status); table_set (new->subprocess_env, "REDIRECT_STATUS", pstrdup (r->pool, t)); Loading