aboutsummaryrefslogtreecommitdiff
path: root/src/mail/ngx_mail_smtp_handler.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2009-11-09 18:04:05 +0000
committerIgor Sysoev <igor@sysoev.ru>2009-11-09 18:04:05 +0000
commit70966c154fa867a0465e18cf64d46b6a1a61a597 (patch)
treee9552eba2fb820fb6c681d57d5b4a713fa96de2c /src/mail/ngx_mail_smtp_handler.c
parent64bfa87e7305cbc61662a3aa964d29b4f89cef69 (diff)
downloadnginx-70966c154fa867a0465e18cf64d46b6a1a61a597.tar.gz
nginx-70966c154fa867a0465e18cf64d46b6a1a61a597.zip
fix "PTR ." case in address resolver
Diffstat (limited to 'src/mail/ngx_mail_smtp_handler.c')
-rw-r--r--src/mail/ngx_mail_smtp_handler.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mail/ngx_mail_smtp_handler.c b/src/mail/ngx_mail_smtp_handler.c
index 5d9be1484..12e4b5711 100644
--- a/src/mail/ngx_mail_smtp_handler.c
+++ b/src/mail/ngx_mail_smtp_handler.c
@@ -124,6 +124,19 @@ ngx_mail_smtp_resolve_addr_handler(ngx_resolver_ctx_t *ctx)
return;
}
+ if (ctx->name.len == 0) {
+ ngx_log_error(NGX_LOG_ERR, c->log, 0,
+ "%V has been resolved to zero name", &c->addr_text);
+
+ s->host = smtp_unavailable;
+
+ ngx_resolve_addr_done(ctx);
+
+ ngx_mail_smtp_greeting(s, s->connection);
+
+ return;
+ }
+
c->log->action = "in resolving client hostname";
s->host.data = ngx_pstrdup(c->pool, &ctx->name);