diff options
author | Tom Lane | 1999-06-04 21:13:38 +0000 |
---|---|---|
committer | Tom Lane | 1999-06-04 21:13:38 +0000 |
commit | 4cd4a54c80fc1ed7b16039a71706dc80ce5d422e (patch) | |
tree | aeb8e854651dc4d5c6766a92fa0cbf49865ae061 | |
parent | 1c3c08053452f342d9cf09aff9a36a5939508412 (diff) |
Add configurable option controlling security checks in LO functions.
-rw-r--r-- | src/backend/libpq/be-fsstubs.c | 6 | ||||
-rw-r--r-- | src/include/config.h.in | 12 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/backend/libpq/be-fsstubs.c b/src/backend/libpq/be-fsstubs.c index 135eb03b2da..443c2db76dc 100644 --- a/src/backend/libpq/be-fsstubs.c +++ b/src/backend/libpq/be-fsstubs.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/libpq/be-fsstubs.c,v 1.34 1999/05/31 22:53:57 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/libpq/be-fsstubs.c,v 1.35 1999/06/04 21:13:38 tgl Exp $ * * NOTES * This should be moved to a more appropriate place. It is here @@ -334,10 +334,12 @@ lo_import(text *filename) LargeObjectDesc *lobj; Oid lobjOid; +#ifndef ALLOW_DANGEROUS_LO_FUNCTIONS if (!superuser()) elog(ERROR, "You must have Postgres superuser privilege to use " "server-side lo_import().\n\tAnyone can use the " "client-side lo_import() provided by libpq."); +#endif /* * open the file to be read in @@ -405,10 +407,12 @@ lo_export(Oid lobjId, text *filename) LargeObjectDesc *lobj; mode_t oumask; +#ifndef ALLOW_DANGEROUS_LO_FUNCTIONS if (!superuser()) elog(ERROR, "You must have Postgres superuser privilege to use " "server-side lo_export().\n\tAnyone can use the " "client-side lo_export() provided by libpq."); +#endif /* * open the inversion "object" diff --git a/src/include/config.h.in b/src/include/config.h.in index f90501ed11b..9afb5e251f0 100644 --- a/src/include/config.h.in +++ b/src/include/config.h.in @@ -342,7 +342,7 @@ extern void srandom(unsigned int seed); #undef USE_POSIX_SIGNALS /* - * Code below this point should not require changes + * Pull in OS-specific declarations (using link created by configure) */ #include "os.h" @@ -495,6 +495,16 @@ extern void srandom(unsigned int seed); /* #define PSQL_ALWAYS_GET_PASSWORDS */ /* + * Define this if you want to allow the lo_import and lo_export SQL functions + * to be executed by ordinary users. By default these functions are only + * available to the Postgres superuser. CAUTION: these functions are + * SECURITY HOLES since they can read and write any file that the Postgres + * backend has permission to access. If you turn this on, don't say we + * didn't warn you. + */ +/* #define ALLOW_DANGEROUS_LO_FUNCTIONS */ + +/* * Use btree bulkload code: * this code is moderately slow (~10% slower) compared to the regular * btree (insertion) build code on sorted or well-clustered data. on |