Set application name to pgproto.
authorTatsuo Ishii <ishii@sraoss.co.jp>
Sun, 25 Apr 2021 08:24:36 +0000 (17:24 +0900)
committerTatsuo Ishii <ishii@sraoss.co.jp>
Sun, 25 Apr 2021 08:29:51 +0000 (17:29 +0900)
Now that from 4.2 application name can be used in the pgpool log,
pgproto now has its own application name "pgproto".

Also fix a bug in creating connection string. While adding user name,
it did not use strncat(), instead it used strcat().

src/tools/pgproto/main.c

index 02ffd379fda866e4eee57241fe68fef22bfa0565..90dce71b727b7d2cd9e9b38adaf327bc9644fd67 100644 (file)
@@ -200,6 +200,7 @@ connect_db(char *host, char *port, char *user, char *database)
        char            conninfo[1024];
        PGconn     *conn;
        size_t          n;
+       char    *app_name_str = " application_name=pgproto";
 
        conninfo[0] = '\0';
        n = sizeof(conninfo);
@@ -225,7 +226,7 @@ connect_db(char *host, char *port, char *user, char *database)
                n -= sizeof("user=");
                strncat(conninfo, " user=", n);
                n -= strlen(user) + 1;
-               strcat(conninfo, user);
+               strncat(conninfo, user, n);
        }
 
        if (database && database[0] != '\0')
@@ -236,6 +237,9 @@ connect_db(char *host, char *port, char *user, char *database)
                strncat(conninfo, database, n);
        }
 
+       n -= strlen(app_name_str);
+       strncat(conninfo, app_name_str, n);
+
        conn = PQconnectdb(conninfo);
 
        if (conn == NULL || PQstatus(conn) == CONNECTION_BAD)