Fix cascading privilege revoke to notice when privileges are still held. If we revoke a grant option from some role X, but X still holds the option via another grant, we should not recursively revoke the privilege from role(s) Y that X had granted it to. This was supposedly fixed as one aspect of commit 4b2dafcc0b1a579ef5daaa2728223006d1ff98e9, but I must not have tested it, because in fact that code never worked: it forgot to shift the grant-option bits back over when masking the bits being revoked. Per bug #6728 from Daniel German. Back-patch to all active branches, since this has been wrong since 8.0. Branch ------ REL8_4_STABLE Details ------- http://git.postgresql.org/pg/commitdiff/d6a3863506599a4d22dd62e0601da9ab2ed933da Modified Files -------------- src/backend/utils/adt/acl.c | 4 +- src/test/regress/expected/privileges.out | 50 ++++++++++++++++++++++++++++++ src/test/regress/sql/privileges.sql | 24 ++++++++++++++ 3 files changed, 76 insertions(+), 2 deletions(-)
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера