модуль smtp и starttls

Igor Sysoev is at rambler-co.ru
Fri Dec 21 12:08:44 MSK 2007


On Fri, Dec 21, 2007 at 01:23:02AM +0300, Oleg Motienko wrote:

> Попробовал запустить smtp+starttls на nginx.
> Клиенты отваливаются сразу после startls.
> Сравнил сессии:
> 
> #nginx
> 
> STARTTLS
> 250 2.0.0 OK
> 
> #exim
> 
> STARTTLS
> 220 TLS go ahead
> 
> #CommuniGate Pro
> 
> STARTTLS
> 220 please start a TLS connection
> 
> Выходит, что nginx выдаёт неправильный статус (250 вместо 220) ?

Патч.


-- 
Игорь Сысоев
http://sysoev.ru
-------------- next part --------------
Index: src/mail/ngx_mail_smtp_handler.c
===================================================================
--- src/mail/ngx_mail_smtp_handler.c	(revision 1081)
+++ src/mail/ngx_mail_smtp_handler.c	(working copy)
@@ -29,6 +29,7 @@
 
 static u_char  smtp_ok[] = "250 2.0.0 OK" CRLF;
 static u_char  smtp_bye[] = "221 2.0.0 Bye" CRLF;
+static u_char  smtp_starttls[] = "220 2.0.0 Start TLS" CRLF;
 static u_char  smtp_next[] = "334 " CRLF;
 static u_char  smtp_username[] = "334 VXNlcm5hbWU6" CRLF;
 static u_char  smtp_password[] = "334 UGFzc3dvcmQ6" CRLF;
@@ -250,6 +251,8 @@
 
             case NGX_SMTP_STARTTLS:
                 rc = ngx_mail_smtp_starttls(s, c);
+                s->out.len = sizeof(smtp_starttls) - 1;
+                s->out.data = smtp_starttls;
                 break;
 
             default:


More information about the nginx-ru mailing list