comparison src/mail/ngx_mail_smtp_handler.c @ 358:9121a0a91f47 NGINX_0_6_23

nginx 0.6.23 *) Change: the "off" parameter in the "ssl_session_cache" directive; now this is default parameter. *) Change: the "open_file_cache_retest" directive was renamed to the "open_file_cache_valid". *) Feature: the "open_file_cache_min_uses" directive. *) Feature: the ngx_http_gzip_static_module. *) Feature: the "gzip_disable" directive. *) Feature: the "memcached_pass" directive may be used inside the "if" block. *) Bugfix: a segmentation fault occurred in worker process, if the "memcached_pass" and "if" directives were used in the same location. *) Bugfix: if a "satisfy_any on" directive was used and not all access and auth modules directives were set, then other given access and auth directives were not tested; *) Bugfix: regex parameters in a "valid_referers" directive were not inherited from previous level. *) Bugfix: a "post_action" directive did run if a request was completed with 499 status code. *) Bugfix: optimization of 16K buffer usage in a SSL connection. Thanks to Ben Maurer. *) Bugfix: the STARTTLS in SMTP mode did not work. Thanks to Oleg Motienko. *) Bugfix: in HTTPS mode requests might fail with the "bad write retry" error; bug appeared in 0.5.13.
author Igor Sysoev <http://sysoev.ru>
date Thu, 27 Dec 2007 00:00:00 +0300
parents b743d290eb3b
children babd3d9efb62
comparison
equal deleted inserted replaced
357:16d557a75356 358:9121a0a91f47
27 ngx_connection_t *c, char *err); 27 ngx_connection_t *c, char *err);
28 28
29 29
30 static u_char smtp_ok[] = "250 2.0.0 OK" CRLF; 30 static u_char smtp_ok[] = "250 2.0.0 OK" CRLF;
31 static u_char smtp_bye[] = "221 2.0.0 Bye" CRLF; 31 static u_char smtp_bye[] = "221 2.0.0 Bye" CRLF;
32 static u_char smtp_starttls[] = "220 2.0.0 Start TLS" CRLF;
32 static u_char smtp_next[] = "334 " CRLF; 33 static u_char smtp_next[] = "334 " CRLF;
33 static u_char smtp_username[] = "334 VXNlcm5hbWU6" CRLF; 34 static u_char smtp_username[] = "334 VXNlcm5hbWU6" CRLF;
34 static u_char smtp_password[] = "334 UGFzc3dvcmQ6" CRLF; 35 static u_char smtp_password[] = "334 UGFzc3dvcmQ6" CRLF;
35 static u_char smtp_invalid_command[] = "500 5.5.1 Invalid command" CRLF; 36 static u_char smtp_invalid_command[] = "500 5.5.1 Invalid command" CRLF;
36 static u_char smtp_invalid_pipelining[] = 37 static u_char smtp_invalid_pipelining[] =
248 case NGX_SMTP_RSET: 249 case NGX_SMTP_RSET:
249 break; 250 break;
250 251
251 case NGX_SMTP_STARTTLS: 252 case NGX_SMTP_STARTTLS:
252 rc = ngx_mail_smtp_starttls(s, c); 253 rc = ngx_mail_smtp_starttls(s, c);
254 s->out.len = sizeof(smtp_starttls) - 1;
255 s->out.data = smtp_starttls;
253 break; 256 break;
254 257
255 default: 258 default:
256 rc = NGX_MAIL_PARSE_INVALID_COMMAND; 259 rc = NGX_MAIL_PARSE_INVALID_COMMAND;
257 break; 260 break;