mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-25 15:51:24 +02:00
BUG/MEDIUM: http: 100-continue responses must process the next part immediately
Since commit d7ad9f5 ("MAJOR: channel: add a new flag CF_WAKE_WRITE to notify the task of writes"), we got another bug with 100-continue responses. If the final response comes in the same packet as the 100, then the rest of the buffer is not processed since there is no wake-up event. In fact the change above uncoverred the real culprit which is more likely session.c which should detect that an earlier analyser was set and should loop back to it. A cleaner fix would be better, but setting the flag works fine. This issue was introduced in 1.5-dev22, no backport is needed.
This commit is contained in:
parent
efdf094df2
commit
4d1f128a18
@ -5932,6 +5932,7 @@ int http_process_res_common(struct session *t, struct channel *rep, int an_bit,
|
||||
txn->status = 0;
|
||||
t->logs.t_data = -1; /* was not a response yet */
|
||||
rep->analysers |= AN_RES_WAIT_HTTP | an_bit;
|
||||
rep->flags |= CF_WAKE_WRITE;
|
||||
return 1;
|
||||
}
|
||||
else if (unlikely(txn->status < 200))
|
||||
|
Loading…
x
Reference in New Issue
Block a user