Re: [PATCH] Largeobject access controls

From: KaiGai Kohei <kaigai(at)ak(dot)jp(dot)nec(dot)com>
To: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
Cc: KaiGai Kohei <kaigai(at)kaigai(dot)gr(dot)jp>, Robert Haas <robertmhaas(at)gmail(dot)com>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [PATCH] Largeobject access controls
Date: 2009-10-06 02:15:57
Message-ID: 4ACAA85D.3060804@ak.jp.nec.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I rebased the largeobject access controls patch to the CVS HEAD
because of the patch confliction to the default ACL patch.

The only difference was a switch-case statement was moved from
shdepDropOwned() to RemoveRoleFromObjectACL(), so we had to
change the point to be patched.

I don't think this change needs whole of reviewing again.

Actual changes are as follows:

$ diff -up r2333.patch r2353.patch
<snip>
+*** base/src/backend/catalog/aclchk.c Tue Oct 6 08:45:40 2009
+--- blob/src/backend/catalog/aclchk.c Tue Oct 6 09:44:51 2009
@@ -310,9 +310,21 @@ diff -Nrpc base/src/backend/catalog/aclc
case ACL_OBJECT_NAMESPACE:
foreach(cell, objnames)
{
+*************** RemoveRoleFromObjectACL(Oid roleid, Oid
+*** 1156,1161 ****
+--- 1184,1192 ----
+ case LanguageRelationId:
+ istmt.objtype = ACL_OBJECT_LANGUAGE;
+ break;
++ case LargeObjectMetadataRelationId:
++ istmt.objtype = ACL_OBJECT_LARGEOBJECT;
++ break;
+ case NamespaceRelationId:
+ istmt.objtype = ACL_OBJECT_NAMESPACE;
+ break;
*************** ExecGrant_Language(InternalGrant *istmt)
<snip>
-*** base/src/backend/catalog/pg_shdepend.c Thu Jun 18 10:20:52 2009
---- blob/src/backend/catalog/pg_shdepend.c Thu Sep 24 10:46:38 2009
+*** base/src/backend/catalog/pg_shdepend.c Tue Oct 6 08:45:40 2009
+--- blob/src/backend/catalog/pg_shdepend.c Tue Oct 6 09:44:51 2009
***************
-*** 24,29 ****
---- 24,30 ----
- #include "catalog/pg_conversion.h"
+*** 25,30 ****
+--- 25,31 ----
#include "catalog/pg_database.h"
+ #include "catalog/pg_default_acl.h"
#include "catalog/pg_language.h"
+ #include "catalog/pg_largeobject_metadata.h"
#include "catalog/pg_namespace.h"
#include "catalog/pg_operator.h"
#include "catalog/pg_proc.h"
-*************** shdepDropOwned(List *roleids, DropBehavi
-*** 1210,1215 ****
---- 1211,1219 ----
- case LanguageRelationId:
- istmt.objtype = ACL_OBJECT_LANGUAGE;
- break;
-+ case LargeObjectMetadataRelationId:
-+ istmt.objtype = ACL_OBJECT_LARGEOBJECT;
-+ break;
- case NamespaceRelationId:
- istmt.objtype = ACL_OBJECT_NAMESPACE;
- break;
*************** shdepReassignOwned(List *roleids, Oid ne
-*** 1365,1370 ****
---- 1369,1378 ----
+*** 1332,1337 ****
+--- 1333,1342 ----
AlterLanguageOwner_oid(sdepForm->objid, newrole);
break;

@@ -1178,9 +1178,9 @@ diff -Nrpc base/src/backend/catalog/pg_s
+ AlterLargeObjectOwner(sdepForm->objid, newrole);
+ break;
+
- default:
- elog(ERROR, "unexpected classid %d", sdepForm->classid);
- break;
+ case DefaultAclRelationId:
+ /*
+ * Ignore default ACLs; they should be handled by
diff -Nrpc base/src/backend/commands/alter.c blob/src/backend/commands/alter.c
*** base/src/backend/commands/alter.c Sat Jan 3 13:01:35 2009
--- blob/src/backend/commands/alter.c Thu Sep 24 10:46:38 2009

--
OSS Platform Development Division, NEC
KaiGai Kohei <kaigai(at)ak(dot)jp(dot)nec(dot)com>

Attachment Content-Type Size
sepgsql-02-blob-8.5devel-r2353.patch.gz application/gzip 16.8 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message KaiGai Kohei 2009-10-06 02:32:29 Re: [PATCH] Reworks for Access Control facilities (r2311)
Previous Message Andrew Gierth 2009-10-06 01:56:07 Re: Rules: A Modest Proposal