comparison src/mail/ngx_mail_proxy_module.c @ 1892:057d362ee50e

resolver in smtp proxy module
author Igor Sysoev <igor@sysoev.ru>
date Wed, 13 Feb 2008 13:50:04 +0000
parents f69493e8faab
children 65581f79e81b
comparison
equal deleted inserted replaced
1891:782af1038115 1892:057d362ee50e
526 ngx_log_debug0(NGX_LOG_DEBUG_MAIL, rev->log, 0, 526 ngx_log_debug0(NGX_LOG_DEBUG_MAIL, rev->log, 0,
527 "mail proxy send xclient"); 527 "mail proxy send xclient");
528 528
529 s->connection->log->action = "sending XCLIENT to upstream"; 529 s->connection->log->action = "sending XCLIENT to upstream";
530 530
531 line.len = sizeof("XCLIENT PROTO=SMTP HELO= ADDR= LOGIN= " 531 line.len = sizeof("XCLIENT PROTO=SMTP HELO= ADDR= LOGIN= NAME="
532 "NAME=[UNAVAILABLE]" CRLF) - 1 532 CRLF) - 1
533 + s->esmtp + s->smtp_helo.len 533 + s->esmtp + s->smtp_helo.len
534 + s->connection->addr_text.len + s->login.len; 534 + s->connection->addr_text.len + s->login.len + s->host.len;
535 535
536 line.data = ngx_palloc(c->pool, line.len); 536 line.data = ngx_palloc(c->pool, line.len);
537 if (line.data == NULL) { 537 if (line.data == NULL) {
538 ngx_mail_proxy_internal_server_error(s); 538 ngx_mail_proxy_internal_server_error(s);
539 return; 539 return;
540 } 540 }
541 541
542 if (s->smtp_helo.len) { 542 if (s->smtp_helo.len) {
543 line.len = ngx_sprintf(line.data, 543 line.len = ngx_sprintf(line.data,
544 "XCLIENT PROTO=%sSMTP HELO=%V ADDR=%V LOGIN=%V " 544 "XCLIENT PROTO=%sSMTP HELO=%V ADDR=%V LOGIN=%V "
545 "NAME=[UNAVAILABLE]" CRLF, 545 "NAME=%V" CRLF,
546 (s->esmtp ? "E" : ""), &s->smtp_helo, 546 (s->esmtp ? "E" : ""), &s->smtp_helo,
547 &s->connection->addr_text, &s->login) 547 &s->connection->addr_text, &s->login, &s->host)
548 - line.data; 548 - line.data;
549 } else { 549 } else {
550 line.len = ngx_sprintf(line.data, 550 line.len = ngx_sprintf(line.data,
551 "XCLIENT PROTO=SMTP ADDR=%V LOGIN=%V " 551 "XCLIENT PROTO=SMTP ADDR=%V LOGIN=%V NAME=%V" CRLF,
552 "NAME=[UNAVAILABLE]" CRLF, 552 &s->connection->addr_text, &s->login, &s->host)
553 &s->connection->addr_text, &s->login)
554 - line.data; 553 - line.data;
555 } 554 }
556 555
557 s->mail_state = ngx_smtp_xclient; 556 s->mail_state = ngx_smtp_xclient;
558 break; 557 break;