]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
[MINOR] Support of unix listener sockets for debug and log event messages on frontend.c
authorEmeric Brun <ebrun@exceliance.fr>
Fri, 22 Oct 2010 14:33:18 +0000 (16:33 +0200)
committerWilly Tarreau <w@1wt.eu>
Tue, 9 Nov 2010 14:57:37 +0000 (15:57 +0100)
src/frontend.c

index ec9e03d6e1f53ee8bd13ab6454d1a22ad1723b66..eea1ce043046858b28bb54a4cdcf33ec87e2f6f7 100644 (file)
@@ -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);
        }