Check connection info string in ALTER SUBSCRIPTION
Previously it would allow an invalid connection string to be set. Author: Petr Jelinek <petr.jelinek@2ndquadrant.com> Reported-by: tushar <tushar.ahuja@enterprisedb.com>
This commit is contained in:
parent
c89d2d0204
commit
fe974cc5a6
@ -653,6 +653,11 @@ AlterSubscription(AlterSubscriptionStmt *stmt)
|
||||
}
|
||||
|
||||
case ALTER_SUBSCRIPTION_CONNECTION:
|
||||
/* Load the library providing us libpq calls. */
|
||||
load_file("libpqwalreceiver", false);
|
||||
/* Check the connection info string. */
|
||||
walrcv_check_conninfo(stmt->conninfo);
|
||||
|
||||
values[Anum_pg_subscription_subconninfo - 1] =
|
||||
CStringGetTextDatum(stmt->conninfo);
|
||||
replaces[Anum_pg_subscription_subconninfo - 1] = true;
|
||||
|
@ -45,6 +45,10 @@ SET SESSION AUTHORIZATION 'regress_subscription_user2';
|
||||
CREATE SUBSCRIPTION testsub2 CONNECTION 'dbname=doesnotexist' PUBLICATION foo WITH (NOCONNECT);
|
||||
ERROR: must be superuser to create subscriptions
|
||||
SET SESSION AUTHORIZATION 'regress_subscription_user';
|
||||
-- fail - invalid connection string
|
||||
ALTER SUBSCRIPTION testsub CONNECTION 'foobar';
|
||||
ERROR: invalid connection string syntax: missing "=" after "foobar" in connection info string
|
||||
|
||||
\dRs+
|
||||
List of subscriptions
|
||||
Name | Owner | Enabled | Publication | Synchronous commit | Conninfo
|
||||
|
@ -38,6 +38,9 @@ SET SESSION AUTHORIZATION 'regress_subscription_user2';
|
||||
CREATE SUBSCRIPTION testsub2 CONNECTION 'dbname=doesnotexist' PUBLICATION foo WITH (NOCONNECT);
|
||||
SET SESSION AUTHORIZATION 'regress_subscription_user';
|
||||
|
||||
-- fail - invalid connection string
|
||||
ALTER SUBSCRIPTION testsub CONNECTION 'foobar';
|
||||
|
||||
\dRs+
|
||||
|
||||
ALTER SUBSCRIPTION testsub SET PUBLICATION testpub2, testpub3 NOREFRESH;
|
||||
|
Loading…
x
Reference in New Issue
Block a user