Mercurial > hg > nginx
view src/mail/ngx_mail_imap_module.h @ 9155:35bb47f65cab
Upstream: fixed handling of Status headers without reason-phrase.
Status header with an empty reason-phrase, such as "Status: 404 ", is
valid per CGI specification, but looses the trailing space during parsing.
Currently, this results in "HTTP/1.1 404" HTTP status line in the response,
which violates HTTP specification due to missing trailing space.
With this change, only the status code is used from such short Status
header lines, so nginx will generate status line itself, with the space
and appropriate reason phrase if available.
Reported at:
https://mailman.nginx.org/pipermail/nginx/2023-August/EX7G4JUUHJWJE5UOAZMO5UD6OJILCYGX.html
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 31 Aug 2023 22:59:17 +0300 |
parents | d620f497c50f |
children |
line wrap: on
line source
/* * Copyright (C) Igor Sysoev * Copyright (C) Nginx, Inc. */ #ifndef _NGX_MAIL_IMAP_MODULE_H_INCLUDED_ #define _NGX_MAIL_IMAP_MODULE_H_INCLUDED_ #include <ngx_config.h> #include <ngx_core.h> #include <ngx_mail.h> typedef struct { size_t client_buffer_size; ngx_str_t capability; ngx_str_t starttls_capability; ngx_str_t starttls_only_capability; ngx_uint_t auth_methods; ngx_array_t capabilities; } ngx_mail_imap_srv_conf_t; void ngx_mail_imap_init_session(ngx_mail_session_t *s, ngx_connection_t *c); void ngx_mail_imap_init_protocol(ngx_event_t *rev); void ngx_mail_imap_auth_state(ngx_event_t *rev); ngx_int_t ngx_mail_imap_parse_command(ngx_mail_session_t *s); extern ngx_module_t ngx_mail_imap_module; #endif /* _NGX_MAIL_IMAP_MODULE_H_INCLUDED_ */