From: Marko Kreen Date: Tue, 2 Apr 2013 21:25:51 +0000 (+0300) Subject: On connect to server, show local ip and port X-Git-Tag: pgbouncer_1_6_rc1~37 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4e2cef5093ab60a11d6fee38211459af56d6e172;p=pgbouncer On connect to server, show local ip and port --- diff --git a/src/objects.c b/src/objects.c index b1ec5b9..d56dcd8 100644 --- a/src/objects.c +++ b/src/objects.c @@ -833,8 +833,7 @@ static void connect_server(struct PgSocket *server, const struct sockaddr *sa, i pga_copy(&server->remote_addr, sa); } - if (cf_log_connections) - slog_info(server, "new connection to server"); + slog_debug(server, "launching new connection to server"); /* start connecting */ res = sbuf_connect(&server->sbuf, sa, salen, diff --git a/src/server.c b/src/server.c index c79052a..cb2a115 100644 --- a/src/server.c +++ b/src/server.c @@ -316,9 +316,18 @@ static bool handle_connect(PgSocket *server) { bool res = false; PgPool *pool = server->pool; + char buf[PGADDR_BUF + 32]; fill_local_addr(server, sbuf_socket(&server->sbuf), pga_is_unix(&server->remote_addr)); + if (cf_log_connections) { + if (pga_is_unix(&server->remote_addr)) + slog_info(server, "new connection to server"); + else + slog_info(server, "new connection to server (from %s)", + pga_str(&server->local_addr, buf, sizeof(buf))); + } + if (!statlist_empty(&pool->cancel_req_list)) { slog_debug(server, "use it for pending cancel req"); /* if pending cancel req, send it */ diff --git a/src/util.c b/src/util.c index bb67618..5af06f1 100644 --- a/src/util.c +++ b/src/util.c @@ -443,6 +443,9 @@ const char *pga_str(const PgAddr *a, char *dst, int dstlen) { char buf[PGADDR_BUF]; pga_ntop(a, buf, sizeof(buf)); - snprintf(dst, dstlen, "%s@%d", buf, pga_port(a)); + if (pga_family(a) == AF_INET6) + snprintf(dst, dstlen, "[%s]:%d", buf, pga_port(a)); + else + snprintf(dst, dstlen, "%s:%d", buf, pga_port(a)); return dst; }