permission issue - Mailing list pgsql-hackers

From Vadim B. Mikheev
Subject permission issue
Date
Msg-id 34F66B80.F66AE20E@sable.krasnoyarsk.su
Whole thread Raw
Responses Re: [HACKERS] permission issue  (Bruce Momjian <maillist@candle.pha.pa.us>)
Re: [HACKERS] permission issue  (jwieck@debis.com (Jan Wieck))
List pgsql-hackers
Tables INS (x int) and SEL (y int) are owned by dbadm, for another
user SELECT granted on SEL, INSERT - on INS.

Should another user be able to do

insert into ins select y from sel where x = y;

or not ?
Currently, PG allows this. Backend tries to check
(in execMain.c:ExecCheckPerms()) is READ access to
table being changed granted to user or not, but this check
seems to be quite stupid:

            qvars = pull_varnos(parseTree->qual);
            tvars = pull_varnos((Node *) parseTree->targetList);
            if (intMember(resultRelation, qvars) ||
                intMember(resultRelation, tvars))

: pull_varnos is very simple and just skips expressions in
qual & target list.

We have to either get rid of this check or change it.

What do you think ?
How "big boys" handle this ?

Vadim

pgsql-hackers by date:

Previous
From: "Vadim B. Mikheev"
Date:
Subject: Re: [HACKERS] INT2OID, etc.
Next
From: "Maurice Gittens"
Date:
Subject: Howto add a field to each postgresql tuple