diff options
author | Igor Sysoev <igor@sysoev.ru> | 2009-11-09 18:04:05 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2009-11-09 18:04:05 +0000 |
commit | 70966c154fa867a0465e18cf64d46b6a1a61a597 (patch) | |
tree | e9552eba2fb820fb6c681d57d5b4a713fa96de2c /src/mail/ngx_mail_smtp_handler.c | |
parent | 64bfa87e7305cbc61662a3aa964d29b4f89cef69 (diff) | |
download | nginx-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.c | 13 |
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); |