privileges regression problem on freebsd/alpha - Mailing list pgsql-hackers

From Christopher Kings-Lynne
Subject privileges regression problem on freebsd/alpha
Date
Msg-id GNELIHDDFBOCMGBFGEFOCEKOCBAA.chriskl@familyhealth.com.au
Whole thread Raw
Responses Re: privileges regression problem on freebsd/alpha  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: privileges regression problem on freebsd/alpha  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-hackers
Hi all,

Just tested latest CVS on my freebsd/alpha.  Only one test failed, and
that's privileges related...

*** ./expected/privileges.out    Thu Mar  7 09:53:51 2002
--- ./results/privileges.out    Fri Mar  8 11:03:36 2002
***************
*** 201,218 ****
  CREATE FUNCTION testfunc1(int) RETURNS int AS 'select 2 * $1;' LANGUAGE
sql;
  CREATE FUNCTION testfunc2(int) RETURNS int AS 'select 3 * $1;' LANGUAGE
sql;
  GRANT EXECUTE ON FUNCTION testfunc1(int), testfunc2(int) TO regressuser2;
  GRANT USAGE ON FUNCTION testfunc1(int) TO regressuser3; -- semantic error
! ERROR:  invalid privilege type USAGE for function object
  GRANT ALL PRIVILEGES ON FUNCTION testfunc1(int) TO regressuser4;
  GRANT ALL PRIVILEGES ON FUNCTION testfunc_nosuch(int) TO regressuser4;
! ERROR:  Function 'testfunc_nosuch(int4)' does not exist
  SET SESSION AUTHORIZATION regressuser2;
  SELECT testfunc1(5), testfunc2(5); -- ok
!  testfunc1 | testfunc2
! -----------+-----------
!         10 |        15
! (1 row)
!
  CREATE FUNCTION testfunc3(int) RETURNS int AS 'select 2 * $1;' LANGUAGE
sql; -- fail
  ERROR:  permission denied
  SET SESSION AUTHORIZATION regressuser3;
--- 201,216 ----
  CREATE FUNCTION testfunc1(int) RETURNS int AS 'select 2 * $1;' LANGUAGE
sql;
  CREATE FUNCTION testfunc2(int) RETURNS int AS 'select 3 * $1;' LANGUAGE
sql;
  GRANT EXECUTE ON FUNCTION testfunc1(int), testfunc2(int) TO regressuser2;
+ ERROR:  bogus GrantStmt.objtype 458
  GRANT USAGE ON FUNCTION testfunc1(int) TO regressuser3; -- semantic error
! ERROR:  bogus GrantStmt.objtype 458
  GRANT ALL PRIVILEGES ON FUNCTION testfunc1(int) TO regressuser4;
+ ERROR:  bogus GrantStmt.objtype 458
  GRANT ALL PRIVILEGES ON FUNCTION testfunc_nosuch(int) TO regressuser4;
! ERROR:  bogus GrantStmt.objtype 458
  SET SESSION AUTHORIZATION regressuser2;
  SELECT testfunc1(5), testfunc2(5); -- ok
! ERROR:  permission denied
  CREATE FUNCTION testfunc3(int) RETURNS int AS 'select 2 * $1;' LANGUAGE
sql; -- fail
  ERROR:  permission denied
  SET SESSION AUTHORIZATION regressuser3;
***************
*** 220,230 ****
  ERROR:  permission denied
  SET SESSION AUTHORIZATION regressuser4;
  SELECT testfunc1(5); -- ok
!  testfunc1
! -----------
!         10
! (1 row)
!
  DROP FUNCTION testfunc1(int); -- fail
  ERROR:  RemoveFunction: function 'testfunc1': permission denied
  \c -
--- 218,224 ----
  ERROR:  permission denied
  SET SESSION AUTHORIZATION regressuser4;
  SELECT testfunc1(5); -- ok
! ERROR:  permission denied
  DROP FUNCTION testfunc1(int); -- fail
  ERROR:  RemoveFunction: function 'testfunc1': permission denied
  \c -

======================================================================

Attachment

pgsql-hackers by date:

Previous
From: Neil Conway
Date:
Subject: bug in psql
Next
From: Tom Lane
Date:
Subject: Re: pg_class -> reltuples?