unexpected default ACL type 83

Started by Shigeru Hanadaover 14 years ago2 messages
#1Shigeru Hanada
hanada@metrosystems.co.jp
1 attachment(s)

I found that DROP OWNED BY can cause $SUBJECT.

How to reproduce the error:

----
CREATE USER foo;
ALTER DEFAULT PRIVILEGES GRANT ALL ON SEQUENCES TO foo;
DROP OWNED BY foo;
----

Attached patch would fix this issue.

Regards,
--
Shigeru Hanada

Attachments:

wrong_defaclobjtype.patchtext/plain; name=wrong_defaclobjtype.patchDownload
diff --git a/src/backend/catalog/aclchk.c b/src/backend/catalog/aclchk.c
index 693b634..db58ec2 100644
*** a/src/backend/catalog/aclchk.c
--- b/src/backend/catalog/aclchk.c
*************** RemoveRoleFromObjectACL(Oid roleid, Oid 
*** 1299,1305 ****
  			case DEFACLOBJ_RELATION:
  				iacls.objtype = ACL_OBJECT_RELATION;
  				break;
! 			case ACL_OBJECT_SEQUENCE:
  				iacls.objtype = ACL_OBJECT_SEQUENCE;
  				break;
  			case DEFACLOBJ_FUNCTION:
--- 1299,1305 ----
  			case DEFACLOBJ_RELATION:
  				iacls.objtype = ACL_OBJECT_RELATION;
  				break;
! 			case DEFACLOBJ_SEQUENCE:
  				iacls.objtype = ACL_OBJECT_SEQUENCE;
  				break;
  			case DEFACLOBJ_FUNCTION:
#2Robert Haas
robertmhaas@gmail.com
In reply to: Shigeru Hanada (#1)
Re: unexpected default ACL type 83

On Wed, Apr 20, 2011 at 7:34 AM, Shigeru Hanada
<hanada@metrosystems.co.jp> wrote:

I found that DROP OWNED BY can cause $SUBJECT.

How to reproduce the error:

----
CREATE USER foo;
ALTER DEFAULT PRIVILEGES GRANT ALL ON SEQUENCES TO foo;
DROP OWNED BY foo;
----

Attached patch would fix this issue.

Nice catch. Committed and back-patched to 9.0.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company