On Mon, 10 Aug 2026 at 15:35, Ayush Tiwari <[email protected]> wrote:
>
> Hi,
>
> On Mon, 10 Aug 2026 at 15:13, Andrey Borodin <[email protected]> wrote:
>>
>>
>>
>> > On 10 Aug 2026, at 12:03, Kirill Reshke <[email protected]> wrote:
>> >
>> > I discovered a sequence of ddl which creates grant configuration,
>> > unrestorable from pg_dump-pg_restore.
>>
>> The diagnosis looks right, but I think the proposed fix is too broad.
>>
>> Suppose the owner grants an option directly to role A, role B is a member
>> of A, and A grants the option to B.  This is not circular: after revoking
>> B's membership in A, the grant from A remains valid.  Changing the loop to
>> has_privs_of_role(B, A) would remove A's independently held option and
>> reject this case.
>>
>> select_best_grantor() uses aclmask_direct() instead of aclmask(). WDYT about
>> this route?
>
>
> There was some prior discussion around this area on [0].
>
> Not sure if it's the same block, but just adding reference.
>
> Regards,
> Ayush
>
> [0] 
> https://www.postgresql.org/message-id/CAJTYsWUvyQchDAA6y2a9YdLcApG%3DccArpsbr77FeNZyx40bnmQ%40mail.gmail.com


v2 with aclmask_direct function used in check_circular + regress test for this.

Ayush, yep i am aware of the thread you are pointing to, I had looked
into it before posting, but it looks like this is a slightly different
case.
Anyway, I want to review [0] soon, It was on my to-do list. Thank you

[0] 
https://www.postgresql.org/message-id/CAJTYsWUvyQchDAA6y2a9YdLcApG%3DccArpsbr77FeNZyx40bnmQ%40mail.gmail.com
-- 
Best regards,
Kirill Reshke

Attachment: v2-0001-Fix-circular-grant-bug.patch
Description: Binary data

Reply via email to