aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2003-12-19 14:21:56 +0000
committerPeter Eisentraut <peter_e@gmx.net>2003-12-19 14:21:56 +0000
commitf39748a70f8734c8df0099a6839660e7976d0ff6 (patch)
tree98a86491b9f967cdda16253b0331fb3f4a95d292 /src
parent9a1cab43913b7fcc3a6d975b260dfa7bdbb54072 (diff)
downloadpostgresql-f39748a70f8734c8df0099a6839660e7976d0ff6.tar.gz
postgresql-f39748a70f8734c8df0099a6839660e7976d0ff6.zip
Forbid REVOKE on untrusted languages, and don't dump privileges of
untrusted languages (in case they sneak in).
Diffstat (limited to 'src')
-rw-r--r--src/backend/catalog/aclchk.c4
-rw-r--r--src/bin/pg_dump/pg_dump.c11
2 files changed, 8 insertions, 7 deletions
diff --git a/src/backend/catalog/aclchk.c b/src/backend/catalog/aclchk.c
index 398e7a93ccb..203cc4e4dec 100644
--- a/src/backend/catalog/aclchk.c
+++ b/src/backend/catalog/aclchk.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/catalog/aclchk.c,v 1.95 2003/11/29 19:51:42 pgsql Exp $
+ * $PostgreSQL: pgsql/src/backend/catalog/aclchk.c,v 1.96 2003/12/19 14:21:56 petere Exp $
*
* NOTES
* See acl.h.
@@ -594,7 +594,7 @@ ExecuteGrantStmt_Language(GrantStmt *stmt)
aclcheck_error(ACLCHECK_NO_PRIV, ACL_KIND_LANGUAGE,
NameStr(pg_language_tuple->lanname));
- if (!pg_language_tuple->lanpltrusted && stmt->is_grant)
+ if (!pg_language_tuple->lanpltrusted)
ereport(ERROR,
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
errmsg("language \"%s\" is not trusted", langname)));
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index 7b21f65a239..102cbc0f4ac 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -12,7 +12,7 @@
* by PostgreSQL
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.360 2003/12/06 03:00:12 tgl Exp $
+ * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.361 2003/12/19 14:21:56 petere Exp $
*
*-------------------------------------------------------------------------
*/
@@ -4633,10 +4633,11 @@ dumpProcLang(Archive *fout, ProcLangInfo *plang)
NULL, "",
plang->dobj.catId, 0, plang->dobj.dumpId);
- dumpACL(fout, plang->dobj.catId, plang->dobj.dumpId, "LANGUAGE",
- qlanname, plang->lanname,
- funcInfo->pronamespace->nspname,
- NULL, plang->lanacl);
+ if (plang->lanpltrusted)
+ dumpACL(fout, plang->dobj.catId, plang->dobj.dumpId, "LANGUAGE",
+ qlanname, plang->lanname,
+ funcInfo->pronamespace->nspname,
+ NULL, plang->lanacl);
free(qlanname);