Commit Graph

32 Commits

Author SHA1 Message Date
Maxim Dounin
44f45a5466 Mail: discard pipelined commands after SMTP STARTTLS.
The bug had appeared in nginx 1.5.6 (04e43d03e153).

Reported by Chris Boulton.
2014-08-05 12:22:07 +04:00
Maxim Dounin
ca02a1020c Mail: added a check for the number of arguments in MAIL/RCPT.
Missed during introduction of the SMTP pipelining support (04e43d03e153,
1.5.6).  Previously, the check wasn't needed as s->buffer was used directly
and the number of arguments didn't matter.

Reported by Svyatoslav Nikolsky.
2014-05-21 21:56:20 +04:00
Ruslan Ermilov
769eded732 Resolver: implemented IPv6 name to address resolving. 2013-12-09 10:53:28 +04:00
Ruslan Ermilov
3aeefbcaea Changed resolver API to use ngx_addr_t. 2013-12-06 14:30:27 +04:00
Maxim Dounin
4f6f653f48 Mail: smtp pipelining support.
Basically, this does the following two changes (and corresponding
modifications of related code):

1. Does not reset session buffer unless it's reached it's end, and always
wait for LF to terminate command (even if we detected invalid command).

2. Record command name to make it available for handlers (since now we
can't assume that command starts from s->buffer->start).
2013-09-30 22:09:57 +04:00
Maxim Dounin
32d6035303 Mail: added session close on smtp_greeting_delay violation.
A server MUST send greeting before other replies, while before this
change in case of smtp_greeting_delay violation the 220 greeting was
sent after several 503 replies to commands received before greeting,
resulting in protocol synchronization loss.  Moreover, further commands
were accepted after the greeting.

While closing a connection isn't strictly RFC compliant (RFC 5321
requires servers to wait for a QUIT before closing a connection), it's
probably good enough for practial uses.
2013-09-30 22:09:50 +04:00
Maxim Konovalov
f8d59e33f3 Copyright updated. 2012-01-18 15:07:43 +00:00
Igor Sysoev
05b1a8f1e3 ngx_str_set() and ngx_str_null() 2010-05-14 09:56:37 +00:00
Igor Sysoev
a59ba33060 *) fix resolving an empty name ("."),
*) add quotes in an error message,
*) backout r3299 in ngx_mail_smtp_handler.c
2009-11-09 19:15:11 +00:00
Igor Sysoev
70966c154f fix "PTR ." case in address resolver 2009-11-09 18:04:05 +00:00
Igor Sysoev
610cbd4223 mail proxy listen IPv6 support 2009-05-18 12:20:22 +00:00
Igor Sysoev
09f6cd5fa9 compatibility with Microsoft's
AUTH LOGIN [base64 encoded user name ]
patch by Maxim Dounin
2009-02-09 12:03:55 +00:00
Igor Sysoev
bd5c23ee0a avoid deep nested calls, flatten call tree 2009-01-31 20:34:26 +00:00
Igor Sysoev
c9aae14a7e use "!= NGX_OK" instead of "== NGX_ERROR" 2008-12-09 17:27:48 +00:00
Igor Sysoev
d0e8e5456c smtp_auth none
patch by Maxim Dounin
2008-11-13 13:25:34 +00:00
Igor Sysoev
7f6b2ffc60 *) back out r2040
*) refactor ngx_palloc()
*) introduce ngx_pnalloc()
*) additional pool blocks have smaller header
2008-06-17 15:00:30 +00:00
Igor Sysoev
5fa1146dd5 do not resolve SMTP clients by default 2008-02-16 13:46:33 +00:00
Igor Sysoev
45450461b6 resolver in smtp proxy module 2008-02-13 13:50:04 +00:00
Igor Sysoev
09085e3b38 fix STARTTLS prompt in SMTP 2007-12-21 10:24:59 +00:00
Igor Sysoev
86ef6aaa6b move condition declarations inside blocks where they are used 2007-12-10 12:09:51 +00:00
Igor Sysoev
964c4a8c9a use "_" instead of " " as new line substitute, do not delete trailing new line 2007-09-21 13:47:33 +00:00
Igor Sysoev
48714085dd ngx_mail_pop3_module, ngx_mail_imap_module, and ngx_mail_smtp_module 2007-09-15 16:51:16 +00:00
Igor Sysoev
05a75d0d94 style fix: remove trailing spaces 2007-09-14 15:04:45 +00:00
Igor Sysoev
945af2aac9 create salt just before it will be used 2007-09-14 15:00:19 +00:00
Igor Sysoev
c95d44bb73 fix r1482 2007-09-14 14:56:46 +00:00
Igor Sysoev
dac63a2f28 ngx_mail_smtp_create_buffer() 2007-09-14 14:13:25 +00:00
Igor Sysoev
2422950571 optimizations 2007-09-14 14:04:24 +00:00
Igor Sysoev
711c36b825 smtp_client_buffer and smtp_greeting_delay 2007-09-14 13:58:49 +00:00
Igor Sysoev
706ab65f54 move event handling to protocol specific code,
it is required to support SMTP greeting delay
2007-09-14 10:42:19 +00:00
Igor Sysoev
5fbe12146e optimizations 2007-09-13 21:24:27 +00:00
Igor Sysoev
c4cb0c7cf1 style fix and optimizations 2007-09-13 20:27:28 +00:00
Igor Sysoev
6cc54cc3be split pop3, imap, and smtp handlers 2007-09-13 20:13:18 +00:00