comparison src/mail/ngx_mail_handler.c @ 5705:d5b8ee9f2201

Mail: output client port number on client connects (ticket #531).
author Ruslan Ermilov <ru@nginx.com>
date Thu, 22 May 2014 00:16:17 +0400
parents b42e7c790b81
children 8e7ee4c70a3c
comparison
equal deleted inserted replaced
5704:524741fd50ed 5705:d5b8ee9f2201
20 20
21 21
22 void 22 void
23 ngx_mail_init_connection(ngx_connection_t *c) 23 ngx_mail_init_connection(ngx_connection_t *c)
24 { 24 {
25 size_t len;
25 ngx_uint_t i; 26 ngx_uint_t i;
26 ngx_mail_port_t *port; 27 ngx_mail_port_t *port;
27 struct sockaddr *sa; 28 struct sockaddr *sa;
28 struct sockaddr_in *sin; 29 struct sockaddr_in *sin;
29 ngx_mail_log_ctx_t *ctx; 30 ngx_mail_log_ctx_t *ctx;
30 ngx_mail_in_addr_t *addr; 31 ngx_mail_in_addr_t *addr;
31 ngx_mail_session_t *s; 32 ngx_mail_session_t *s;
32 ngx_mail_addr_conf_t *addr_conf; 33 ngx_mail_addr_conf_t *addr_conf;
34 u_char text[NGX_SOCKADDR_STRLEN];
33 #if (NGX_HAVE_INET6) 35 #if (NGX_HAVE_INET6)
34 struct sockaddr_in6 *sin6; 36 struct sockaddr_in6 *sin6;
35 ngx_mail_in6_addr_t *addr6; 37 ngx_mail_in6_addr_t *addr6;
36 #endif 38 #endif
37 39
125 s->addr_text = &addr_conf->addr_text; 127 s->addr_text = &addr_conf->addr_text;
126 128
127 c->data = s; 129 c->data = s;
128 s->connection = c; 130 s->connection = c;
129 131
130 ngx_log_error(NGX_LOG_INFO, c->log, 0, "*%uA client %V connected to %V", 132 len = ngx_sock_ntop(c->sockaddr, c->socklen, text, NGX_SOCKADDR_STRLEN, 1);
131 c->number, &c->addr_text, s->addr_text); 133
134 ngx_log_error(NGX_LOG_INFO, c->log, 0, "*%uA client %*s connected to %V",
135 c->number, len, text, s->addr_text);
132 136
133 ctx = ngx_palloc(c->pool, sizeof(ngx_mail_log_ctx_t)); 137 ctx = ngx_palloc(c->pool, sizeof(ngx_mail_log_ctx_t));
134 if (ctx == NULL) { 138 if (ctx == NULL) {
135 ngx_mail_close_connection(c); 139 ngx_mail_close_connection(c);
136 return; 140 return;