mirror of
https://github.com/apache/httpd.git
synced 2025-08-08 15:02:10 +03:00
AJP was dropping pre-existing cookies. Use same logic
as HTTP to tuck them away git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@707649 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -457,6 +457,11 @@ body_chunk :=
|
||||
|
||||
*/
|
||||
|
||||
static int addit_dammit(void *v, const char *key, const char *val)
|
||||
{
|
||||
apr_table_addn(v, key, val);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static apr_status_t ajp_unmarshal_response(ajp_msg_t *msg,
|
||||
request_rec *r,
|
||||
@@ -493,7 +498,15 @@ static apr_status_t ajp_unmarshal_response(ajp_msg_t *msg,
|
||||
|
||||
rc = ajp_msg_get_uint16(msg, &num_headers);
|
||||
if (rc == APR_SUCCESS) {
|
||||
r->headers_out = apr_table_make(r->pool, num_headers);
|
||||
/* First, tuck away all already existing cookies */
|
||||
/*
|
||||
* Could optimize here, but just in case we want to
|
||||
* also save other headers, keep this logic.
|
||||
*/
|
||||
save_table = apr_table_make(r->pool, num_headers+2);
|
||||
apr_table_do(addit_dammit, save_table, r->headers_out,
|
||||
"Set-Cookie", NULL);
|
||||
r->headers_out = save_table;
|
||||
} else {
|
||||
r->headers_out = NULL;
|
||||
num_headers = 0;
|
||||
|
Reference in New Issue
Block a user