]> git.kaiwu.me - nginx.git/commitdiff
Mail: output client port number on client connects (ticket #531).
authorRuslan Ermilov <ru@nginx.com>
Wed, 21 May 2014 20:16:17 +0000 (00:16 +0400)
committerRuslan Ermilov <ru@nginx.com>
Wed, 21 May 2014 20:16:17 +0000 (00:16 +0400)
src/mail/ngx_mail_handler.c

index 47ddb0dcf056d24f3b25db593a66fe2d24d9a439..784111f6e80f406974c43e13c2594d91c8793ac3 100644 (file)
@@ -22,6 +22,7 @@ static void ngx_mail_ssl_handshake_handler(ngx_connection_t *c);
 void
 ngx_mail_init_connection(ngx_connection_t *c)
 {
+    size_t                 len;
     ngx_uint_t             i;
     ngx_mail_port_t       *port;
     struct sockaddr       *sa;
@@ -30,6 +31,7 @@ ngx_mail_init_connection(ngx_connection_t *c)
     ngx_mail_in_addr_t    *addr;
     ngx_mail_session_t    *s;
     ngx_mail_addr_conf_t  *addr_conf;
+    u_char                 text[NGX_SOCKADDR_STRLEN];
 #if (NGX_HAVE_INET6)
     struct sockaddr_in6   *sin6;
     ngx_mail_in6_addr_t   *addr6;
@@ -127,8 +129,10 @@ ngx_mail_init_connection(ngx_connection_t *c)
     c->data = s;
     s->connection = c;
 
-    ngx_log_error(NGX_LOG_INFO, c->log, 0, "*%uA client %V connected to %V",
-                  c->number, &c->addr_text, s->addr_text);
+    len = ngx_sock_ntop(c->sockaddr, c->socklen, text, NGX_SOCKADDR_STRLEN, 1);
+
+    ngx_log_error(NGX_LOG_INFO, c->log, 0, "*%uA client %*s connected to %V",
+                  c->number, len, text, s->addr_text);
 
     ctx = ngx_palloc(c->pool, sizeof(ngx_mail_log_ctx_t));
     if (ctx == NULL) {