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-09-28 07:44:16
Message-ID: 4AC06950.2060803@ak.jp.nec.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Thanks for your comments.

Jaime Casanova wrote:
> 2009/9/24 KaiGai Kohei <kaigai(at)ak(dot)jp(dot)nec(dot)com>:
>> The attached patch is revised from the previous revision at the following points:
>>
>> - The "largeobject_compat_acl" is renamed to "largeobject_check_acl".
>> Its default is on, and turning it off means the largeobject stuff
>> performs in compatible mode for the v8.4.x or prior releases.
>> - Notification messages were eliminated at the compatible mode.
>> It always allows to bypass ACL checks without any warnings.
>>
>
> a few minor points:
>
> + For example, the <literal>lo_import()</literal> and
> + <literal>lo_export</literal> need superuser privileges independent
> + from this setting, as if the prior version doing.
>
> that should read "as prior versions were doing"?

Yes.
It seems to me same meanings, but it is unnatural for you, isn't it?

> and you're still using pg_largeobject_meta in some comments in
> src/include/catalog/pg_largeobject_metadata.h

Fixed,

The attached patch is revised based on the comments.

Below is the diffset from the previous revision (r2328).

[kaigai(at)saba ~]$ diff -u r2328.patch r2333.patch
--- r2328.patch 2009-09-28 16:37:19.000000000 +0900
+++ r2333.patch 2009-09-28 16:36:55.000000000 +0900
@@ -1,6 +1,6 @@
diff -Nrpc base/doc/src/sgml/config.sgml blob/doc/src/sgml/config.sgml
*** base/doc/src/sgml/config.sgml Thu Sep 24 08:43:31 2009
---- blob/doc/src/sgml/config.sgml Fri Sep 25 09:00:55 2009
+--- blob/doc/src/sgml/config.sgml Mon Sep 28 16:32:50 2009
*************** dynamic_library_path = 'C:\tools\postgre
*** 4797,4802 ****
--- 4797,4830 ----
@@ -27,7 +27,7 @@
+ checks corresponding to largeobjects.
+ For example, the <literal>lo_import()</literal> and
+ <literal>lo_export</literal> need superuser privileges independent
-+ from this setting, as if the prior version doing.
++ from this setting as prior versions were doing.
+ </para>
+ <para>
+ It is <literal>on</literal> by default.
@@ -1990,21 +1990,21 @@
DECLARE_UNIQUE_INDEX(pg_namespace_oid_index, 2685, on pg_namespace using btree(oid oid_ops));
diff -Nrpc base/src/include/catalog/pg_largeobject_metadata.h blob/src/include/catalog/pg_largeobject_metadata.h
*** base/src/include/catalog/pg_largeobject_metadata.h Thu Jan 1 09:00:00 1970
---- blob/src/include/catalog/pg_largeobject_metadata.h Fri Sep 25 09:00:55 2009
+--- blob/src/include/catalog/pg_largeobject_metadata.h Mon Sep 28 16:31:11 2009
***************
*** 0 ****
--- 1,67 ----
+ /*-------------------------------------------------------------------------
+ *
-+ * pg_largeobject_meta.h
-+ * definition of the system "largeobject_meta" relation (pg_largeobject_meta)
++ * pg_largeobject_metadata.h
++ * definition of the system "largeobject_metadata" relation (pg_largeobject_metadata)
+ * along with the relation's initial contents.
+ *
+ *
+ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1994, Regents of the University of California
+ *
-+ * $PostgreSQL: pgsql/src/include/catalog/pg_largeobject_meta.h,v 1.24 2009/01/01 17:23:57 momjian Exp $
++ * $PostgreSQL: pgsql/src/include/catalog/pg_largeobject_metadata.h,v 1.24 2009/01/01 17:23:57 momjian Exp $
+ *
+ * NOTES
+ * the genbki.sh script reads this file and generates .bki
@@ -2012,14 +2012,14 @@
+ *
+ *-------------------------------------------------------------------------
+ */
-+ #ifndef PG_LARGEOBJECT_META_H
-+ #define PG_LARGEOBJECT_META_H
++ #ifndef PG_LARGEOBJECT_METADATA_H
++ #define PG_LARGEOBJECT_METADATA_H
+
+ #include "catalog/genbki.h"
+
+ /* ----------------
-+ * pg_largeobject definition. cpp turns this into
-+ * typedef struct FormData_pg_largeobject_meta
++ * pg_largeobject_metadata definition. cpp turns this into
++ * typedef struct FormData_pg_largeobject_metadata
+ * ----------------
+ */
+ #define LargeObjectMetadataRelationId 2336
@@ -2060,7 +2060,7 @@
+ extern void ac_largeobject_export(Oid loid, const char *filename);
+ extern void ac_largeobject_import(Oid loid, const char *filename);
+
-+ #endif /* PG_LARGEOBJECT_META_H */
++ #endif /* PG_LARGEOBJECT_METADATA_H */
diff -Nrpc base/src/include/nodes/parsenodes.h blob/src/include/nodes/parsenodes.h
*** base/src/include/nodes/parsenodes.h Thu Sep 24 08:43:31 2009
--- blob/src/include/nodes/parsenodes.h Thu Sep 24 09:04:49 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-r2333.patch.gz application/gzip 16.8 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2009-09-28 08:25:38 Re: Hot Standby on git
Previous Message Abhijit Menon-Sen 2009-09-28 07:33:06 Re: GRANT ON ALL IN schema