mirror of
https://github.com/postgres/postgres.git
synced 2026-06-09 08:42:38 -04:00
postgres_fdw, dblink: Validate use_scram_passthrough values
The use_scram_passthrough option in postgres_fdw and dblink accepts only boolean values. However, unlike other boolean options such as keep_connections, its value was not previously validated. As a result, commands such as "CREATE SERVER ... OPTIONS (use_scram_passthrough 'invalid')" could succeed unexpectedly. This commit updates postgres_fdw and dblink to validate that use_scram_passthrough is assigned a valid boolean value, and throw an error for invalid input. Backpatch to v18, where use_scram_passthrough was introduced. Author: Fujii Masao <masao.fujii@gmail.com> Reviewed-by: Ayush Tiwari <ayushtiwari.slg01@gmail.com> Reviewed-by: Matheus Alcantara <matheusssilv97@gmail.com> Discussion: https://postgr.es/m/CAHGQGwF+-k-Ehsu5W94ZP7GxS3wiBd+mi0PfGTdJ_i2Yr0zR3g@mail.gmail.com Backpatch-through: 18
This commit is contained in:
parent
d79bf7612a
commit
8a86aa313a
2 changed files with 5 additions and 1 deletions
|
|
@ -1995,6 +1995,9 @@ dblink_fdw_validator(PG_FUNCTION_ARGS)
|
|||
closest_match) : 0 :
|
||||
errhint("There are no valid options in this context.")));
|
||||
}
|
||||
|
||||
if (strcmp(def->defname, "use_scram_passthrough") == 0)
|
||||
(void) defGetBoolean(def); /* accept only boolean values */
|
||||
}
|
||||
|
||||
PG_RETURN_VOID();
|
||||
|
|
|
|||
|
|
@ -121,7 +121,8 @@ postgres_fdw_validator(PG_FUNCTION_ARGS)
|
|||
strcmp(def->defname, "parallel_commit") == 0 ||
|
||||
strcmp(def->defname, "parallel_abort") == 0 ||
|
||||
strcmp(def->defname, "keep_connections") == 0 ||
|
||||
strcmp(def->defname, "restore_stats") == 0)
|
||||
strcmp(def->defname, "restore_stats") == 0 ||
|
||||
strcmp(def->defname, "use_scram_passthrough") == 0)
|
||||
{
|
||||
/* these accept only boolean values */
|
||||
(void) defGetBoolean(def);
|
||||
|
|
|
|||
Loading…
Reference in a new issue