From: Emeric Brun Date: Fri, 22 Oct 2010 14:33:18 +0000 (+0200) Subject: [MINOR] Support of unix listener sockets for debug and log event messages on frontend.c X-Git-Tag: v1.5-dev8~408 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ab844ea9e15d14f857e90102beab4b629d83ba53;p=thirdparty%2Fhaproxy.git [MINOR] Support of unix listener sockets for debug and log event messages on frontend.c --- diff --git a/src/frontend.c b/src/frontend.c index ec9e03d6e1..eea1ce0430 100644 --- a/src/frontend.c +++ b/src/frontend.c @@ -153,7 +153,7 @@ int frontend_accept(struct session *s) s->fe->id, (s->fe->mode == PR_MODE_HTTP) ? "HTTP" : "TCP"); } } - else { + else if (s->cli_addr.ss_family == AF_INET6) { char pn[INET6_ADDRSTRLEN], sn[INET6_ADDRSTRLEN]; if (!(s->flags & SN_FRT_ADDR_SET)) @@ -169,6 +169,12 @@ int frontend_accept(struct session *s) s->fe->id, (s->fe->mode == PR_MODE_HTTP) ? "HTTP" : "TCP"); } } + else { + /* UNIX socket, only the destination is known */ + send_log(s->fe, LOG_INFO, "Connect to unix:%d (%s/%s)\n", + s->listener->luid, + s->fe->id, (s->fe->mode == PR_MODE_HTTP) ? "HTTP" : "TCP"); + } } if (unlikely((global.mode & MODE_DEBUG) && (!(global.mode & MODE_QUIET) || (global.mode & MODE_VERBOSE)))) { @@ -187,7 +193,7 @@ int frontend_accept(struct session *s) s->uniq_id, s->fe->id, (unsigned short)s->listener->fd, (unsigned short)cfd, pn, ntohs(((struct sockaddr_in *)&s->cli_addr)->sin_port)); } - else { + else if (s->cli_addr.ss_family == AF_INET6) { char pn[INET6_ADDRSTRLEN]; inet_ntop(AF_INET6, (const void *)&((struct sockaddr_in6 *)(&s->cli_addr))->sin6_addr, @@ -197,6 +203,11 @@ int frontend_accept(struct session *s) s->uniq_id, s->fe->id, (unsigned short)s->listener->fd, (unsigned short)cfd, pn, ntohs(((struct sockaddr_in6 *)(&s->cli_addr))->sin6_port)); } + else { + len = sprintf(trash, "%08x:%s.accept(%04x)=%04x from [unix:%d]\n", + s->uniq_id, s->fe->id, (unsigned short)s->listener->fd, (unsigned short)cfd, + s->listener->luid); + } write(1, trash, len); }