]> git.kaiwu.me - nginx.git/commit
Multiple WWW-Authenticate headers with "satisfy any;".
authorMaxim Dounin <mdounin@mdounin.ru>
Mon, 30 May 2022 18:25:56 +0000 (21:25 +0300)
committerMaxim Dounin <mdounin@mdounin.ru>
Mon, 30 May 2022 18:25:56 +0000 (21:25 +0300)
commitf74e1ea9959f714dd8c284a7811b97815171adc3
treeb0a01db06825a92bf1fee49495fce0c3ea48cc8c
parent911c95bfd3a17632c6f3d8c2f261055520278cc7
Multiple WWW-Authenticate headers with "satisfy any;".

If a module adds multiple WWW-Authenticate headers (ticket #485) to the
response, linked in r->headers_out.www_authenticate, all headers are now
cleared if another module later allows access.

This change is a nop for standard modules, since the only access module which
can add multiple WWW-Authenticate headers is the auth request module, and
it is checked after other standard access modules.  Though this might
affect some third party access modules.

Note that if a 3rd party module adds a single WWW-Authenticate header
and not yet modified to set the header's next pointer to NULL, attempt to
clear such a header with this change will result in a segmentation fault.
src/http/ngx_http_core_module.c