comparison src/mail/ngx_mail.h @ 7843:b38728495e1a

Mail: IMAP pipelining support. The change is mostly the same as the SMTP one (04e43d03e153 and 3f5d0af4e40a), and ensures that nginx is able to properly handle or reject multiple IMAP commands. The s->cmd field is not really used and set for consistency. Non-synchronizing literals handling in invalid/unknown commands is limited, so when a non-synchronizing literal is detected at the end of a discarded line, the connection is closed.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 19 May 2021 03:13:28 +0300
parents 379d461eccf4
children ec1071830799
comparison
equal deleted inserted replaced
7842:4b15f1b92100 7843:b38728495e1a
234 ngx_uint_t login_attempt; 234 ngx_uint_t login_attempt;
235 235
236 /* used to parse POP3/IMAP/SMTP command */ 236 /* used to parse POP3/IMAP/SMTP command */
237 237
238 ngx_uint_t state; 238 ngx_uint_t state;
239 u_char *tag_start;
239 u_char *cmd_start; 240 u_char *cmd_start;
240 u_char *arg_start; 241 u_char *arg_start;
241 ngx_uint_t literal_len; 242 ngx_uint_t literal_len;
242 } ngx_mail_session_t; 243 } ngx_mail_session_t;
243 244