diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2010-04-21 20:54:19 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2010-04-21 20:54:19 +0000 |
commit | a6dcd19a2a5064d753c1d5aa756a2d50cf05842d (patch) | |
tree | a9c85c845c4ffd7033c3d48f5fcae12c89a4f070 /src/backend/access/transam/xlog.c | |
parent | f6e092701c6ac7bb98ed88a769daa13d3a1755d9 (diff) | |
download | postgresql-a6dcd19a2a5064d753c1d5aa756a2d50cf05842d.tar.gz postgresql-a6dcd19a2a5064d753c1d5aa756a2d50cf05842d.zip |
Enforce superuser permissions checks during ALTER ROLE/DATABASE SET, rather
than during define_custom_variable(). This entails rejecting an ALTER
command if the target variable doesn't have a known (non-placeholder)
definition, unless the calling user is superuser. When the variable *is*
known, we can correctly apply the rule that only superusers can issue ALTER
for SUSET parameters. This allows define_custom_variable to apply ALTER's
values for SUSET parameters at module load time, secure in the knowledge
that only a superuser could have set the ALTER value. This change fixes a
longstanding gotcha in the usage of SUSET-level custom parameters; which
is a good thing to fix now that plpgsql defines such a parameter.
Diffstat (limited to 'src/backend/access/transam/xlog.c')
0 files changed, 0 insertions, 0 deletions