From 44763a2b232f2ba0172b12c5af00491eeb0dc1db Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Fri, 30 Jul 1999 18:09:49 +0000
Subject: [PATCH] Make usecatupd disabled for normal users, and allow normal
 users to update temp tables with this setting.

---
 src/backend/catalog/aclchk.c     | 3 ++-
 src/backend/commands/user.c      | 4 ++--
 src/bin/createuser/createuser.sh | 4 ++--
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/backend/catalog/aclchk.c b/src/backend/catalog/aclchk.c
index 685985e79a0..186ecd07f32 100644
--- a/src/backend/catalog/aclchk.c
+++ b/src/backend/catalog/aclchk.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/catalog/aclchk.c,v 1.26 1999/07/17 20:16:47 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/catalog/aclchk.c,v 1.27 1999/07/30 18:09:44 momjian Exp $
  *
  * NOTES
  *	  See acl.h.
@@ -392,6 +392,7 @@ pg_aclcheck(char *relname, char *usename, AclMode mode)
 	 */
 	if (((mode & ACL_WR) || (mode & ACL_AP)) &&
 		!allowSystemTableMods && IsSystemRelationName(relname) &&
+		strncmp(relname,"pg_temp.", strlen("pg_temp.")) != 0 &&
 		!((Form_pg_shadow) GETSTRUCT(tuple))->usecatupd)
 	{
 		elog(DEBUG, "pg_aclcheck: catalog update to \"%s\": permission denied",
diff --git a/src/backend/commands/user.c b/src/backend/commands/user.c
index 984fc33453f..1b0d972839e 100644
--- a/src/backend/commands/user.c
+++ b/src/backend/commands/user.c
@@ -5,7 +5,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: user.c,v 1.32 1999/07/17 20:16:54 momjian Exp $
+ * $Id: user.c,v 1.33 1999/07/30 18:09:47 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -169,7 +169,7 @@ DefineUser(CreateUserStmt *stmt, CommandDest dest)
 	snprintf(sql, SQL_LENGTH,
 			 "insert into %s (usename,usesysid,usecreatedb,usetrace,"
 			 "usesuper,usecatupd,passwd,valuntil) "
-			 "values('%s',%d,'%c','t','%c','t',%s%s%s,%s%s%s)",
+			 "values('%s',%d,'%c','f','%c','f',%s%s%s,%s%s%s)",
 			 ShadowRelationName,
 			 stmt->user,
 			 max_id + 1,
diff --git a/src/bin/createuser/createuser.sh b/src/bin/createuser/createuser.sh
index 8d3fc90fe1e..a1bd0a24b5e 100644
--- a/src/bin/createuser/createuser.sh
+++ b/src/bin/createuser/createuser.sh
@@ -8,7 +8,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/bin/createuser/Attic/createuser.sh,v 1.11 1999/01/31 05:04:25 scrappy Exp $
+#    $Header: /cvsroot/pgsql/src/bin/createuser/Attic/createuser.sh,v 1.12 1999/07/30 18:09:49 momjian Exp $
 #
 # Note - this should NOT be setuid.
 #
@@ -218,7 +218,7 @@ fi
 QUERY="insert into pg_shadow \
         (usename, usesysid, usecreatedb, usetrace, usesuper, usecatupd) \
        values \
-         ('$NEWUSER', $SYSID, '$CANCREATE', 't', '$CANADDUSER','t')"
+         ('$NEWUSER', $SYSID, '$CANCREATE', 'f', '$CANADDUSER','f')"
 
 RES=`$PSQL -c "$QUERY" template1`
 
-- 
GitLab