mirror of
https://github.com/postgres/postgres.git
synced 2025-11-04 20:11:56 +03:00
Restrict lo_import()/lo_export() via SQL permissions not hard-wired checks.
While it's generally unwise to give permissions on these functions to
anyone but a superuser, we've been moving away from hard-wired permission
checks inside functions in favor of using the SQL permission system to
control access. Bring lo_import() and lo_export() into compliance with
that approach.
In particular, this removes the manual configuration option
ALLOW_DANGEROUS_LO_FUNCTIONS. That dates back to 1999 (commit 4cd4a54c8);
it's unlikely anyone has used it in many years. Moreover, if you really
want such behavior, now you can get it with GRANT ... TO PUBLIC instead.
Michael Paquier
Discussion: https://postgr.es/m/CAB7nPqRHmNOYbETnc_2EjsuzSM00Z+BWKv9sy6tnvSd5gWT_JA@mail.gmail.com
This commit is contained in:
@@ -72,16 +72,6 @@
|
||||
*/
|
||||
#define NUM_ATOMICS_SEMAPHORES 64
|
||||
|
||||
/*
|
||||
* 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 PostgreSQL server has permission to access. If
|
||||
* you turn this on, don't say we didn't warn you.
|
||||
*/
|
||||
/* #define ALLOW_DANGEROUS_LO_FUNCTIONS */
|
||||
|
||||
/*
|
||||
* MAXPGPATH: standard size of a pathname buffer in PostgreSQL (hence,
|
||||
* maximum usable pathname length is one less).
|
||||
|
||||
Reference in New Issue
Block a user