Mercurial > hg > nginx-quic
comparison src/http/modules/ngx_http_uwsgi_module.c @ 4615:adcd60233817
Added r->state reset on fastcgi/scgi/uwsgi request start.
Failing to do so results in problems if 400 or 414 requests are
redirected to fastcgi/scgi/uwsgi upstream, as well as after invalid
headers got from upstream. This was already fixed for proxy in r3478,
but fastcgi (the only affected protocol at that time) was missed.
Reported by Matthieu Tourne.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Fri, 11 May 2012 13:09:24 +0000 |
parents | 834049edae24 |
children | 4251e72b8bb4 |
comparison
equal
deleted
inserted
replaced
4614:347a54b2cb14 | 4615:adcd60233817 |
---|---|
465 u->create_request = ngx_http_uwsgi_create_request; | 465 u->create_request = ngx_http_uwsgi_create_request; |
466 u->reinit_request = ngx_http_uwsgi_reinit_request; | 466 u->reinit_request = ngx_http_uwsgi_reinit_request; |
467 u->process_header = ngx_http_uwsgi_process_status_line; | 467 u->process_header = ngx_http_uwsgi_process_status_line; |
468 u->abort_request = ngx_http_uwsgi_abort_request; | 468 u->abort_request = ngx_http_uwsgi_abort_request; |
469 u->finalize_request = ngx_http_uwsgi_finalize_request; | 469 u->finalize_request = ngx_http_uwsgi_finalize_request; |
470 r->state = 0; | |
470 | 471 |
471 u->buffering = uwcf->upstream.buffering; | 472 u->buffering = uwcf->upstream.buffering; |
472 | 473 |
473 u->pipe = ngx_pcalloc(r->pool, sizeof(ngx_event_pipe_t)); | 474 u->pipe = ngx_pcalloc(r->pool, sizeof(ngx_event_pipe_t)); |
474 if (u->pipe == NULL) { | 475 if (u->pipe == NULL) { |
881 status->count = 0; | 882 status->count = 0; |
882 status->start = NULL; | 883 status->start = NULL; |
883 status->end = NULL; | 884 status->end = NULL; |
884 | 885 |
885 r->upstream->process_header = ngx_http_uwsgi_process_status_line; | 886 r->upstream->process_header = ngx_http_uwsgi_process_status_line; |
887 r->state = 0; | |
886 | 888 |
887 return NGX_OK; | 889 return NGX_OK; |
888 } | 890 } |
889 | 891 |
890 | 892 |