From: PostgreSQL DataBase <postgres@scuba.pcpipeline.com>

This again fixes the problem
with the default permissions for PUBLIC and the preventing of
statements like "GRANT null on test to test_user;".
This commit is contained in:
Marc G. Fournier 1998-01-30 15:03:35 +00:00
parent b7ed95ae15
commit 2df6bba3ca
1 changed files with 20 additions and 5 deletions

View File

@ -21,7 +21,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.61 1998/01/29 02:26:25 scrappy Exp $
* $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.62 1998/01/30 15:03:35 scrappy Exp $
*
* Modifications - 6/10/96 - dave@bensoft.com - version 1.13.dhb
*
@ -2481,11 +2481,26 @@ dumpTables(FILE *fout, TableInfo *tblinfo, int numTables,
if (acls) {
ACLlist = ParseACL(tblinfo[i].relacl, &l);
if (ACLlist == (ACL *)NULL)
if (l == 0)
continue;
else {
fprintf(stderr,"Could not parse ACL list for %s...Exiting!\n",
tblinfo[i].relname);
exit_nicely(g_conn);
}
/* Revoke Default permissions for PUBLIC */
fprintf(fout,
"REVOKE ALL on %s from PUBLIC;\n",
tblinfo[i].relname);
for(k = 0; k < l; k++) {
fprintf(fout,
"GRANT %s on %s to %s;\n",
ACLlist[k].privledges, tblinfo[i].relname,
ACLlist[k].user);
if (ACLlist[k].privledges != (char *)NULL)
fprintf(fout,
"GRANT %s on %s to %s;\n",
ACLlist[k].privledges, tblinfo[i].relname,
ACLlist[k].user);
}
}
}