Skip to content

Commit 25762c2

Browse files
committed
add check for interrupt in prompt for password
1 parent dfdebfc commit 25762c2

File tree

3 files changed

+9
-7
lines changed

3 files changed

+9
-7
lines changed

src/backup.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -447,8 +447,7 @@ do_backup(void)
447447
elog(ERROR, "Options for connection to master must be provided to perform backup from replica");
448448

449449
/* Create connection to master server */
450-
master_conn = pgut_connect_extended(master_host, master_port,
451-
master_db, master_user, password);
450+
master_conn = pgut_connect_extended(master_host, master_port, master_db, master_user);
452451
}
453452

454453
/* Get exclusive lock of backup catalog */

src/utils/pgut.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1015,12 +1015,12 @@ prompt_for_password(const char *username)
10151015
PGconn *
10161016
pgut_connect(const char *dbname)
10171017
{
1018-
return pgut_connect_extended(host, port, dbname, username, password);
1018+
return pgut_connect_extended(host, port, dbname, username);
10191019
}
10201020

10211021
PGconn *
10221022
pgut_connect_extended(const char *pghost, const char *pgport,
1023-
const char *dbname, const char *login, const char *pwd)
1023+
const char *dbname, const char *login)
10241024
{
10251025
PGconn *conn;
10261026

@@ -1031,7 +1031,7 @@ pgut_connect_extended(const char *pghost, const char *pgport,
10311031
for (;;)
10321032
{
10331033
conn = PQsetdbLogin(pghost, pgport, NULL, NULL,
1034-
dbname, login, pwd);
1034+
dbname, login, password);
10351035

10361036
if (PQstatus(conn) == CONNECTION_OK)
10371037
return conn;
@@ -1040,6 +1040,10 @@ pgut_connect_extended(const char *pghost, const char *pgport,
10401040
{
10411041
PQfinish(conn);
10421042
prompt_for_password(username);
1043+
1044+
if (interrupted)
1045+
elog(ERROR, "interrupted");
1046+
10431047
continue;
10441048
}
10451049
elog(ERROR, "could not connect to database %s: %s",

src/utils/pgut.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,7 @@ extern void pgut_atexit_pop(pgut_atexit_callback callback, void *userdata);
117117
*/
118118
extern PGconn *pgut_connect(const char *dbname);
119119
extern PGconn *pgut_connect_extended(const char *pghost, const char *pgport,
120-
const char *dbname, const char *login,
121-
const char *pwd);
120+
const char *dbname, const char *login);
122121
extern void pgut_disconnect(PGconn *conn);
123122
extern PGresult *pgut_execute(PGconn* conn, const char *query, int nParams, const char **params);
124123
extern bool pgut_send(PGconn* conn, const char *query, int nParams, const char **params, int elevel);

0 commit comments

Comments
 (0)