Mercurial > hg > nginx
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; |