From 14d9b37607ad30c3848ea0f2955a78436eff1268 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Tue, 9 Mar 2021 15:01:22 +0100 Subject: [PATCH] libpq: Remove deprecated connection parameters authtype and tty The authtype parameter was deprecated and made inactive in commit d5bbe2aca55bc8, but the environment variable was left defined and thus tested with a getenv call even though the value is of no use. Also, if it would exist it would be copied but never freed as the cleanup code had been removed. tty was deprecated in commit cb7fb3ca958ec8bd5a14e7 but most of the infrastructure around it remained in place. Author: Daniel Gustafsson Discussion: https://postgr.es/m/DDDF36F3-582A-4C02-8598-9B464CC42B34@yesql.se --- doc/src/sgml/libpq.sgml | 13 ++++++++---- src/interfaces/libpq/fe-connect.c | 35 +++++-------------------------- src/interfaces/libpq/libpq-int.h | 2 -- src/test/examples/testlibpq4.c | 8 +++---- 4 files changed, 17 insertions(+), 41 deletions(-) diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index 6d2e86a1f59..2e0c06102ee 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -232,6 +232,11 @@ PGconn *PQsetdbLogin(const char *pghost, if it had been passed to , and the remaining parameters are then applied as specified for . + + + pgtty is no longer used and any value passed will + be ignored. + @@ -2119,10 +2124,10 @@ char *PQport(const PGconn *conn); - Returns the debug TTY of the connection. - (This is obsolete, since the server no longer pays attention - to the TTY setting, but the function remains - for backward compatibility.) + This function no longer does anything, but it remains for backwards + compatibility. The function always return an empty string, or + NULL if the conn argument is + NULL. char *PQtty(const PGconn *conn); diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c index a294d293ebe..aeb64c5bca3 100644 --- a/src/interfaces/libpq/fe-connect.c +++ b/src/interfaces/libpq/fe-connect.c @@ -120,9 +120,7 @@ static int ldapServiceLookup(const char *purl, PQconninfoOption *options, * by environment variables */ #define DefaultHost "localhost" -#define DefaultTty "" #define DefaultOption "" -#define DefaultAuthtype "" #ifdef USE_SSL #define DefaultChannelBinding "prefer" #else @@ -192,14 +190,6 @@ typedef struct _internalPQconninfoOption } internalPQconninfoOption; static const internalPQconninfoOption PQconninfoOptions[] = { - /* - * "authtype" is no longer used, so mark it "don't show". We keep it in - * the array so as not to reject conninfo strings from old apps that might - * still try to set it. - */ - {"authtype", "PGAUTHTYPE", DefaultAuthtype, NULL, - "Database-Authtype", "D", 20, -1}, - {"service", "PGSERVICE", NULL, NULL, "Database-Service", "", 20, -1}, @@ -243,14 +233,6 @@ static const internalPQconninfoOption PQconninfoOptions[] = { "Client-Encoding", "", 10, offsetof(struct pg_conn, client_encoding_initial)}, - /* - * "tty" is no longer used either, but keep it present for backwards - * compatibility. - */ - {"tty", "PGTTY", DefaultTty, NULL, - "Backend-Debug-TTY", "D", 40, - offsetof(struct pg_conn, pgtty)}, - {"options", "PGOPTIONS", DefaultOption, NULL, "Backend-Options", "", 40, offsetof(struct pg_conn, pgoptions)}, @@ -1581,15 +1563,6 @@ PQsetdbLogin(const char *pghost, const char *pgport, const char *pgoptions, goto oom_error; } - if (pgtty && pgtty[0] != '\0') - { - if (conn->pgtty) - free(conn->pgtty); - conn->pgtty = strdup(pgtty); - if (!conn->pgtty) - goto oom_error; - } - if (login && login[0] != '\0') { if (conn->pguser) @@ -4031,8 +4004,6 @@ freePGconn(PGconn *conn) free(conn->pghostaddr); if (conn->pgport) free(conn->pgport); - if (conn->pgtty) - free(conn->pgtty); if (conn->connect_timeout) free(conn->connect_timeout); if (conn->pgtcp_user_timeout) @@ -6633,12 +6604,16 @@ PQport(const PGconn *conn) return ""; } +/* + * No longer does anything, but the function remains for API backwards + * compatibility. + */ char * PQtty(const PGconn *conn) { if (!conn) return NULL; - return conn->pgtty; + return ""; } char * diff --git a/src/interfaces/libpq/libpq-int.h b/src/interfaces/libpq/libpq-int.h index cca98c14bf8..0965c5ac511 100644 --- a/src/interfaces/libpq/libpq-int.h +++ b/src/interfaces/libpq/libpq-int.h @@ -338,8 +338,6 @@ struct pg_conn * precedence over pghost. */ char *pgport; /* the server's communication port number, or * a comma-separated list of ports */ - char *pgtty; /* tty on which the backend messages is - * displayed (OBSOLETE, NOT USED) */ char *connect_timeout; /* connection timeout (numeric string) */ char *pgtcp_user_timeout; /* tcp user timeout (numeric string) */ char *client_encoding_initial; /* encoding to use */ diff --git a/src/test/examples/testlibpq4.c b/src/test/examples/testlibpq4.c index dd11bbc46dc..da4443072da 100644 --- a/src/test/examples/testlibpq4.c +++ b/src/test/examples/testlibpq4.c @@ -50,8 +50,7 @@ main(int argc, char **argv) { char *pghost, *pgport, - *pgoptions, - *pgtty; + *pgoptions; char *dbName1, *dbName2; char *tblName; @@ -88,13 +87,12 @@ main(int argc, char **argv) pgport = NULL; /* port of the backend */ pgoptions = NULL; /* special options to start up the backend * server */ - pgtty = NULL; /* debugging tty for the backend */ /* make a connection to the database */ - conn1 = PQsetdb(pghost, pgport, pgoptions, pgtty, dbName1); + conn1 = PQsetdb(pghost, pgport, pgoptions, NULL, dbName1); check_prepare_conn(conn1, dbName1); - conn2 = PQsetdb(pghost, pgport, pgoptions, pgtty, dbName2); + conn2 = PQsetdb(pghost, pgport, pgoptions, NULL, dbName2); check_prepare_conn(conn2, dbName2); /* start a transaction block */