Mercurial > hg > nginx-vendor-0-5
comparison src/mail/ngx_mail.h @ 324:7cf404023f50 NGINX_0_5_32
nginx 0.5.32
*) Change: now nginx tries to set the "worker_priority",
"worker_rlimit_nofile", "worker_rlimit_core", and
"worker_rlimit_sigpending" without super-user privileges.
*) Change: now nginx escapes space and "%" in request to a mail proxy
authentication server.
*) Change: now nginx escapes "%" in $memcached_key variable.
*) Change: the special make target "upgrade1" was defined for online
upgrade of 0.1.x versions.
*) Feature: the "add_header Last-Modified ..." directive changes the
"Last-Modified" response header line.
*) Feature: the mail proxy supports AUTHENTICATE in IMAP mode.
Thanks to Maxim Dounin.
*) Feature: the mail proxy supports STARTTLS in SMTP mode.
Thanks to Maxim Dounin.
*) Bugfix: nginx did not close directory file on HEAD request if
autoindex was used.
Thanks to Arkadiusz Patyk.
*) Bugfix: the "proxy_hide_header" and "fastcgi_hide_header" directives
did not hide response header lines whose name was longer than 32
characters.
Thanks to Manlio Perillo.
*) Bugfix: active connection counter always increased if mail proxy was
used.
*) Bugfix: if backend returned response header only using non-buffered
proxy, then nginx closed backend connection on timeout.
*) Bugfix: nginx did not support several "Connection" request header
lines.
*) Bugfix: a charset set by the "charset" directive was not appended to
the "Content-Type" header set by $r->send_http_header().
*) Bugfix: a segmentation fault might occur in worker process if
/dev/poll method was used.
*) Bugfix: nginx did not work on FreeBSD/sparc64.
*) Bugfix: a segmentation fault occurred in worker process if invalid
address was set in the "auth_http" directive.
*) Bugfix: now nginx uses default listen backlog value 511 on all
platforms except FreeBSD.
Thanks to Jiang Hong.
*) Bugfix: now Solaris sendfilev() is not used to transfer the client
request body to FastCGI-server via the unix domain socket.
*) Bugfix: if the same host without specified port was used as backend
for HTTP and HTTPS, then nginx used only one port - 80 or 443.
*) Bugfix: the "proxy_ignore_client_abort" and
"fastcgi_ignore_client_abort" directives did not work; bug appeared
in 0.5.13.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 24 Sep 2007 00:00:00 +0400 |
parents | f745bf973510 |
children | f70f2f565fe0 |
comparison
equal
deleted
inserted
replaced
323:85aeb2da6e4c | 324:7cf404023f50 |
---|---|
90 ngx_str_t imap_capability; | 90 ngx_str_t imap_capability; |
91 ngx_str_t imap_starttls_capability; | 91 ngx_str_t imap_starttls_capability; |
92 ngx_str_t imap_starttls_only_capability; | 92 ngx_str_t imap_starttls_only_capability; |
93 | 93 |
94 ngx_str_t smtp_capability; | 94 ngx_str_t smtp_capability; |
95 ngx_str_t smtp_starttls_capability; | |
96 ngx_str_t smtp_starttls_only_capability; | |
95 | 97 |
96 ngx_str_t server_name; | 98 ngx_str_t server_name; |
97 ngx_str_t smtp_server_name; | 99 ngx_str_t smtp_server_name; |
98 ngx_str_t smtp_greeting; | 100 ngx_str_t smtp_greeting; |
99 | 101 |
100 ngx_uint_t pop3_auth_methods; | 102 ngx_uint_t pop3_auth_methods; |
103 ngx_uint_t imap_auth_methods; | |
101 ngx_uint_t smtp_auth_methods; | 104 ngx_uint_t smtp_auth_methods; |
102 | 105 |
103 ngx_array_t pop3_capabilities; | 106 ngx_array_t pop3_capabilities; |
104 ngx_array_t imap_capabilities; | 107 ngx_array_t imap_capabilities; |
105 ngx_array_t smtp_capabilities; | 108 ngx_array_t smtp_capabilities; |
130 } ngx_po3_state_e; | 133 } ngx_po3_state_e; |
131 | 134 |
132 | 135 |
133 typedef enum { | 136 typedef enum { |
134 ngx_imap_start = 0, | 137 ngx_imap_start = 0, |
138 ngx_imap_auth_login_username, | |
139 ngx_imap_auth_login_password, | |
140 ngx_imap_auth_plain, | |
141 ngx_imap_auth_cram_md5, | |
135 ngx_imap_login, | 142 ngx_imap_login, |
136 ngx_imap_user, | 143 ngx_imap_user, |
137 ngx_imap_passwd | 144 ngx_imap_passwd |
138 } ngx_imap_state_e; | 145 } ngx_imap_state_e; |
139 | 146 |
212 ngx_str_t *client; | 219 ngx_str_t *client; |
213 ngx_mail_session_t *session; | 220 ngx_mail_session_t *session; |
214 } ngx_mail_log_ctx_t; | 221 } ngx_mail_log_ctx_t; |
215 | 222 |
216 | 223 |
217 #define NGX_POP3_USER 1 | 224 #define NGX_POP3_USER 1 |
218 #define NGX_POP3_PASS 2 | 225 #define NGX_POP3_PASS 2 |
219 #define NGX_POP3_CAPA 3 | 226 #define NGX_POP3_CAPA 3 |
220 #define NGX_POP3_QUIT 4 | 227 #define NGX_POP3_QUIT 4 |
221 #define NGX_POP3_NOOP 5 | 228 #define NGX_POP3_NOOP 5 |
222 #define NGX_POP3_STLS 6 | 229 #define NGX_POP3_STLS 6 |
223 #define NGX_POP3_APOP 7 | 230 #define NGX_POP3_APOP 7 |
224 #define NGX_POP3_AUTH 8 | 231 #define NGX_POP3_AUTH 8 |
225 #define NGX_POP3_STAT 9 | 232 #define NGX_POP3_STAT 9 |
226 #define NGX_POP3_LIST 10 | 233 #define NGX_POP3_LIST 10 |
227 #define NGX_POP3_RETR 11 | 234 #define NGX_POP3_RETR 11 |
228 #define NGX_POP3_DELE 12 | 235 #define NGX_POP3_DELE 12 |
229 #define NGX_POP3_RSET 13 | 236 #define NGX_POP3_RSET 13 |
230 #define NGX_POP3_TOP 14 | 237 #define NGX_POP3_TOP 14 |
231 #define NGX_POP3_UIDL 15 | 238 #define NGX_POP3_UIDL 15 |
232 | 239 |
233 | 240 |
234 #define NGX_IMAP_LOGIN 1 | 241 #define NGX_IMAP_LOGIN 1 |
235 #define NGX_IMAP_LOGOUT 2 | 242 #define NGX_IMAP_LOGOUT 2 |
236 #define NGX_IMAP_CAPABILITY 3 | 243 #define NGX_IMAP_CAPABILITY 3 |
237 #define NGX_IMAP_NOOP 4 | 244 #define NGX_IMAP_NOOP 4 |
238 #define NGX_IMAP_STARTTLS 5 | 245 #define NGX_IMAP_STARTTLS 5 |
239 | 246 |
240 #define NGX_IMAP_NEXT 6 | 247 #define NGX_IMAP_NEXT 6 |
241 | 248 |
242 | 249 #define NGX_IMAP_AUTHENTICATE 7 |
243 #define NGX_SMTP_HELO 1 | 250 |
244 #define NGX_SMTP_EHLO 2 | 251 |
245 #define NGX_SMTP_AUTH 3 | 252 #define NGX_SMTP_HELO 1 |
246 #define NGX_SMTP_QUIT 4 | 253 #define NGX_SMTP_EHLO 2 |
247 #define NGX_SMTP_NOOP 5 | 254 #define NGX_SMTP_AUTH 3 |
248 #define NGX_SMTP_MAIL 6 | 255 #define NGX_SMTP_QUIT 4 |
249 #define NGX_SMTP_RSET 7 | 256 #define NGX_SMTP_NOOP 5 |
257 #define NGX_SMTP_MAIL 6 | |
258 #define NGX_SMTP_RSET 7 | |
259 #define NGX_SMTP_RCPT 8 | |
260 #define NGX_SMTP_DATA 9 | |
261 #define NGX_SMTP_VRFY 10 | |
262 #define NGX_SMTP_EXPN 11 | |
263 #define NGX_SMTP_HELP 12 | |
264 #define NGX_SMTP_STARTTLS 13 | |
250 | 265 |
251 | 266 |
252 #define NGX_MAIL_AUTH_PLAIN 0 | 267 #define NGX_MAIL_AUTH_PLAIN 0 |
253 #define NGX_MAIL_AUTH_LOGIN 1 | 268 #define NGX_MAIL_AUTH_LOGIN 1 |
254 #define NGX_MAIL_AUTH_APOP 2 | 269 #define NGX_MAIL_AUTH_APOP 2 |
283 (s)->main_conf[module.ctx_index] | 298 (s)->main_conf[module.ctx_index] |
284 #define ngx_mail_get_module_srv_conf(s, module) (s)->srv_conf[module.ctx_index] | 299 #define ngx_mail_get_module_srv_conf(s, module) (s)->srv_conf[module.ctx_index] |
285 | 300 |
286 #define ngx_mail_conf_get_module_main_conf(cf, module) \ | 301 #define ngx_mail_conf_get_module_main_conf(cf, module) \ |
287 ((ngx_mail_conf_ctx_t *) cf->ctx)->main_conf[module.ctx_index] | 302 ((ngx_mail_conf_ctx_t *) cf->ctx)->main_conf[module.ctx_index] |
303 #define ngx_mail_conf_get_module_srv_conf(cf, module) \ | |
304 ((ngx_mail_conf_ctx_t *) cf->ctx)->srv_conf[module.ctx_index] | |
288 | 305 |
289 | 306 |
290 void ngx_mail_init_connection(ngx_connection_t *c); | 307 void ngx_mail_init_connection(ngx_connection_t *c); |
291 void ngx_mail_send(ngx_event_t *wev); | 308 void ngx_mail_send(ngx_event_t *wev); |
292 void ngx_pop3_auth_state(ngx_event_t *rev); | 309 void ngx_pop3_auth_state(ngx_event_t *rev); |