Fix incorrect tracking of session authorization in the presence of ACLs
that contain rights granted by non-owners. Per bug report from Nishad Prakash.
This commit is contained in:
parent
3998d0fdca
commit
ab50cb14a4
@ -15,7 +15,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_archiver.c,v 1.79.2.2 2004/02/24 03:35:43 tgl Exp $
|
* $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_archiver.c,v 1.79.2.3 2004/07/19 21:02:42 tgl Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -2262,6 +2262,17 @@ _printTocEntry(ArchiveHandle *AH, TocEntry *te, RestoreOptions *ropt, bool isDat
|
|||||||
ahprintf(AH, "%s\n\n", te->defn);
|
ahprintf(AH, "%s\n\n", te->defn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If it's an ACL entry, it might contain SET SESSION AUTHORIZATION
|
||||||
|
* commands, so we can no longer assume we know the current auth setting.
|
||||||
|
*/
|
||||||
|
if (strncmp(te->desc, "ACL", 3) == 0)
|
||||||
|
{
|
||||||
|
if (AH->currUser)
|
||||||
|
free(AH->currUser);
|
||||||
|
AH->currUser = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user