[MAJOR] invalid header offset broke cookies and authentication

Since the request is no longer part of the headers, cookies and
authentication did not work anymore. Obvious fix is to add the
request offset to the start pointer.
This commit is contained in:
Willy Tarreau 2007-01-22 08:55:47 +01:00
parent 49e1ee83be
commit 83969f42ba
1 changed files with 4 additions and 4 deletions

View File

@ -3933,10 +3933,10 @@ void manage_client_side_cookies(struct session *t, struct buffer *req)
/* Iterate through the headers.
* we start with the start line.
*/
old_idx = cur_idx = 0;
cur_next = req->data + hreq->req.sor;
old_idx = 0;
cur_next = req->data + hreq->req.sor + hdr_idx_first_pos(&hreq->hdr_idx);
while ((cur_idx = hreq->hdr_idx.v[cur_idx].next)) {
while ((cur_idx = hreq->hdr_idx.v[old_idx].next)) {
struct hdr_idx_elem *cur_hdr;
cur_hdr = &hreq->hdr_idx.v[cur_idx];
@ -4380,7 +4380,7 @@ int stats_check_uri_auth(struct session *t, struct proxy *backend)
/* FIXME: this should move to an earlier place */
cur_idx = 0;
h = t->req->data + hreq->req.sor;
h = t->req->data + hreq->req.sor + hdr_idx_first_pos(&hreq->hdr_idx);
while ((cur_idx = hreq->hdr_idx.v[cur_idx].next)) {
int len = hreq->hdr_idx.v[cur_idx].len;
if (len > 14 &&