mirror of
https://github.com/postgres/postgres.git
synced 2026-05-27 20:27:28 -04:00
dblink: Reject use_scram_passthrough on foreign-data wrappers
Previously, dblink accepted the use_scram_passthrough option on foreign-data wrappers via ALTER FOREIGN DATA WRAPPER dblink_fdw OPTIONS, even though the setting had no effect there. use_scram_passthrough should be only meaningful for foreign servers and user mappings, so this commit updates dblink to accept the option only in those contexts. Backpatch to v18, where use_scram_passthrough was introduced. Author: Matheus Alcantara <matheusssilv97@gmail.com> Reviewed-by: Fujii Masao <masao.fujii@gmail.com> Discussion: https://postgr.es/m/CAHGQGwEJ8rZjmbOvCicyr4vbuLio082bNTde0WNoSWaWr9wVcg@mail.gmail.com Backpatch-through: 18
This commit is contained in:
parent
5f5165e2fe
commit
e2b8813403
3 changed files with 18 additions and 2 deletions
|
|
@ -3116,8 +3116,15 @@ static bool
|
|||
is_valid_dblink_fdw_option(const PQconninfoOption *options, const char *option,
|
||||
Oid context)
|
||||
{
|
||||
if (strcmp(option, "use_scram_passthrough") == 0)
|
||||
return true;
|
||||
/*
|
||||
* These options are only valid for foreign server or user mapping
|
||||
* contexts
|
||||
*/
|
||||
if (context == ForeignServerRelationId || context == UserMappingRelationId)
|
||||
{
|
||||
if (strcmp(option, "use_scram_passthrough") == 0)
|
||||
return true;
|
||||
}
|
||||
|
||||
return is_valid_dblink_option(options, option, context);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1220,6 +1220,11 @@ SHOW intervalstyle;
|
|||
postgres
|
||||
(1 row)
|
||||
|
||||
-- Check that adding use_scram_passthrough option on an foreign data wrapper is
|
||||
-- not allowed
|
||||
ALTER FOREIGN DATA WRAPPER dblink_fdw OPTIONS(add use_scram_passthrough 'true');
|
||||
ERROR: invalid option "use_scram_passthrough"
|
||||
HINT: There are no valid options in this context.
|
||||
-- Clean up GUC-setting tests
|
||||
SELECT dblink_disconnect('myconn');
|
||||
dblink_disconnect
|
||||
|
|
|
|||
|
|
@ -635,6 +635,10 @@ FROM dblink_fetch('myconn','error_cursor', 1) AS t(i int);
|
|||
SHOW datestyle;
|
||||
SHOW intervalstyle;
|
||||
|
||||
-- Check that adding use_scram_passthrough option on an foreign data wrapper is
|
||||
-- not allowed
|
||||
ALTER FOREIGN DATA WRAPPER dblink_fdw OPTIONS(add use_scram_passthrough 'true');
|
||||
|
||||
-- Clean up GUC-setting tests
|
||||
SELECT dblink_disconnect('myconn');
|
||||
RESET datestyle;
|
||||
|
|
|
|||
Loading…
Reference in a new issue