ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: модуль smtp и starttls



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
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:


 




Copyright © Lexa Software, 1996-2009.