Fix per-session activation of ALTER {ROLE|DATABASE} SET role.
authorNoah Misch <noah@leadboat.com>
Sat, 16 Nov 2024 04:39:56 +0000 (20:39 -0800)
committerNoah Misch <noah@leadboat.com>
Sat, 16 Nov 2024 04:39:59 +0000 (20:39 -0800)
commit1c05004a895308da10ec000ba6b92f72f4f5b8e2
tree3e1372221680a0f431a8d7d0eec5c4d0c35d72ed
parent568e78a653ee9f96796e3bb7e38da7afd6786eb9
Fix per-session activation of ALTER {ROLE|DATABASE} SET role.

After commit 5a2fed911a85ed6d8a015a6bafe3a0d9a69334ae, the catalog state
resulting from these commands ceased to affect sessions.  Restore the
longstanding behavior, which is like beginning the session with a SET
ROLE command.  If cherry-picking the CVE-2024-10978 fixes, default to
including this, too.  (This fixes an unintended side effect of fixing
CVE-2024-10978.)  Back-patch to v12, like that commit.  The release team
decided to include v12, despite the original intent to halt v12 commits
earlier this week.

Tom Lane and Noah Misch.  Reported by Etienne LAFARGE.

Discussion: https://postgr.es/m/CADOZwSb0UsEr4_UTFXC5k7=fyyK8uKXekucd+-uuGjJsGBfxgw@mail.gmail.com
src/backend/utils/init/miscinit.c
src/backend/utils/misc/guc.c
src/test/modules/unsafe_tests/Makefile
src/test/modules/unsafe_tests/expected/setconfig.out [new file with mode: 0644]
src/test/modules/unsafe_tests/meson.build
src/test/modules/unsafe_tests/sql/setconfig.sql [new file with mode: 0644]