*) fix resolving an empty name ("."),
*) add quotes in an error message,
*) backout r3299 in ngx_mail_smtp_handler.c
diff --git a/src/core/ngx_resolver.c b/src/core/ngx_resolver.c
index 775f17f..48d569e 100644
--- a/src/core/ngx_resolver.c
+++ b/src/core/ngx_resolver.c
@@ -1754,7 +1754,8 @@
     query->nns_hi = 0; query->nns_lo = 0;
     query->nar_hi = 0; query->nar_lo = 0;
 
-    p += sizeof(ngx_resolver_query_t) + 1 + ctx->name.len + 1;
+    p += sizeof(ngx_resolver_query_t)
+         + ctx->name.len ? (1 + ctx->name.len + 1) : 1;
 
     qs = (ngx_resolver_qs_t *) p;
 
diff --git a/src/mail/ngx_mail_smtp_handler.c b/src/mail/ngx_mail_smtp_handler.c
index 12e4b57..0bc422a 100644
--- a/src/mail/ngx_mail_smtp_handler.c
+++ b/src/mail/ngx_mail_smtp_handler.c
@@ -124,19 +124,6 @@
         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);
@@ -204,7 +191,7 @@
 
     if (ctx->state) {
         ngx_log_error(NGX_LOG_ERR, c->log, 0,
-                      "%V could not be resolved (%i: %s)",
+                      "\"%V\" could not be resolved (%i: %s)",
                       &ctx->name, ctx->state,
                       ngx_resolver_strerror(ctx->state));