mirror of
https://github.com/postgres/postgres.git
synced 2025-07-02 09:02:37 +03:00
Remove the SECURITY_ROW_LEVEL_DISABLED security context bit.
This commit's parent made superfluous the bit's sole usage. Referential integrity checks have long run as the subject table's owner, and that now implies RLS bypass. Safe use of the bit was tricky, requiring strict control over the SQL expressions evaluating therein. Back-patch to 9.5, where the bit was introduced. Based on a patch by Stephen Frost.
This commit is contained in:
@ -286,7 +286,6 @@ extern int trace_recovery(int trace_level);
|
||||
/* flags to be OR'd to form sec_context */
|
||||
#define SECURITY_LOCAL_USERID_CHANGE 0x0001
|
||||
#define SECURITY_RESTRICTED_OPERATION 0x0002
|
||||
#define SECURITY_ROW_LEVEL_DISABLED 0x0004
|
||||
|
||||
extern char *DatabasePath;
|
||||
|
||||
@ -305,7 +304,6 @@ extern void GetUserIdAndSecContext(Oid *userid, int *sec_context);
|
||||
extern void SetUserIdAndSecContext(Oid userid, int sec_context);
|
||||
extern bool InLocalUserIdChange(void);
|
||||
extern bool InSecurityRestrictedOperation(void);
|
||||
extern bool InRowLevelSecurityDisabled(void);
|
||||
extern void GetUserIdAndContext(Oid *userid, bool *sec_def_context);
|
||||
extern void SetUserIdAndContext(Oid userid, bool sec_def_context);
|
||||
extern void InitializeSessionUserId(const char *rolename, Oid useroid);
|
||||
|
Reference in New Issue
Block a user