From:
"Joe Conway" <joe(at)conway-family(dot)com>
To:
"Peter Eisentraut" <peter_e(at)gmx(dot)net>, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc:
<pgsql-patches(at)postgresql(dot)org>
Subject:
Re: Fw: Isn't pg_statistic a security hole - Solution Proposal
Date:
2001-06-01 22:33:30
Message-ID:
00a101c0eaea$e2a67320$dad410ac@jecw2k1 (view raw or flat )
Thread:
2001-06-01 06:31:51 from "Joe Conway" <joe(at)conway-family(dot)com>
2001-06-01 15:04:10 from Peter Eisentraut <peter_e(at)gmx(dot)net>
2001-06-01 17:18:07 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2001-06-01 22:33:30 from "Joe Conway" <joe(at)conway-family(dot)com>
2001-06-02 22:14:41 from "Joe Conway" <joe(at)conway-family(dot)com>
2001-06-02 23:26:12 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2001-06-03 03:22:44 from "Joe Conway" <joe(at)conway-family(dot)com>
2001-06-09 22:15:54 from Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
2001-06-09 22:18:33 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2001-06-09 22:20:32 from Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
2001-06-02 14:49:11 from Peter Eisentraut <peter_e(at)gmx(dot)net>
2001-06-02 15:04:05 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2001-06-03 15:18:20 from Peter Eisentraut <peter_e(at)gmx(dot)net>
2001-06-03 17:17:21 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2001-06-06 21:45:57 from "Joe Conway" <joe(at)conway-family(dot)com>
2001-06-06 22:10:00 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2001-06-07 05:09:05 from "Joe Conway" <joe(dot)conway(at)mail(dot)com>
2001-06-07 05:09:27 from "Joe Conway" <joe(at)conway-family(dot)com>
2001-06-07 05:20:02 from "Joe Conway" <joe(at)conway-family(dot)com>
2001-06-07 05:09:31 from "Joe Conway" <joe(at)conway-family(dot)com>
2001-06-07 05:09:35 from "Joe Conway" <joe(at)conway-family(dot)com>
2001-06-07 14:16:33 from Peter Eisentraut <peter_e(at)gmx(dot)net>
2001-06-08 04:06:05 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2001-06-08 16:09:50 from Peter Eisentraut <peter_e(at)gmx(dot)net>
2001-06-09 01:28:20 from "Joe Conway" <joe(at)conway-family(dot)com>
2001-06-09 04:31:21 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2001-06-10 02:26:52 from "Joe Conway" <joe(at)conway-family(dot)com>
2001-06-12 01:44:53 from Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
2001-06-12 01:45:31 from Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
2001-06-12 02:32:14 from "Joe Conway" <joseph(dot)conway(at)home(dot)com>
2001-06-12 02:34:53 from Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
2001-06-14 02:52:59 from Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
2001-06-11 04:57:21 from Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
2001-06-12 16:01:23 from Peter Eisentraut <peter_e(at)gmx(dot)net>
2001-06-12 16:15:22 from Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
2001-06-13 17:22:01 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2001-06-13 21:14:38 from Peter Eisentraut <peter_e(at)gmx(dot)net>
2001-06-14 01:19:52 from "Joe Conway" <joseph(dot)conway(at)home(dot)com>
2001-06-14 01:27:20 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2001-06-14 01:37:00 from "Joe Conway" <joseph(dot)conway(at)home(dot)com>
2001-06-14 01:40:55 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Lists:
pgsql-hackers pgsql-patches
> The standard approach for C-coded functions is to mark them
> 'proisstrict' in pg_proc, and then not waste any code checking for NULL;
> the function manager takes care of it for you. The only reason not to
> do it that way is if you actually want to return non-NULL for (some
> cases with) NULL inputs. Offhand this looks like a strict function to
> me...
>
Thanks for the feedback! To summarize the recommended changes:
- put function into backend/utils/adt/acl.c.
- remove PG_FUNCTION_INFO_V1
- mark 'proisstrict' in pg_proc
- rename to has_table_privilege()
- overload the function name for 6 versions (OIDs 1920 - 1925):
-> has_table_privilege(text username, text relname, text priv)
-> has_table_privilege(oid usesysid, text relname, text priv)
-> has_table_privilege(oid usesysid, oid reloid, text priv)
-> has_table_privilege(text username, oid reloid, text priv)
-> has_table_privilege(text relname, text priv) /* assumes
current_user */
-> has_table_privilege(oid reloid, text priv) /* assumes current_user
*/
New patch forthcoming . . .
-- Joe
In response to
Responses
pgsql-hackers by date
Next :From: Jan WieckDate: 2001-06-01 23:17:37
Subject : Sorry
Previous :From : Ryan MahoneyDate : 2001-06-01 21:08:07
Subject : Re: Re: Interesting Atricle
pgsql-patches by date
Next :From: Bruce MomjianDate: 2001-06-01 22:35:16
Subject : Re: show all;
Previous :From : Marko KreenDate : 2001-06-01 22:17:02
Subject : Re: show all;