postgresql/src/backend/utils
Tom Lane 602a9ef5a7 Make LOAD of an already-loaded library into a no-op, instead of attempting
to unload and re-load the library.

The difficulty with unloading a library is that we haven't defined safe
protocols for doing so.  In particular, there's no safe mechanism for
getting out of a "hook" function pointer unless libraries are unloaded
in reverse order of loading.  And there's no mechanism at all for undefining
a custom GUC variable, so GUC would be left with a pointer to an old value
that might or might not still be valid, and very possibly wouldn't be in
the same place anymore.

While the unload and reload behavior had some usefulness in easing
development of new loadable libraries, it's of no use whatever to normal
users, so just disabling it isn't giving up that much.  Someday we might
care to expend the effort to develop safe unload protocols; but even if
we did, there'd be little certainty that every third-party loadable module
was following them, so some security restrictions would still be needed.

Back-patch to 8.2; before that, LOAD was superuser-only anyway.

Security: unprivileged users could crash backend.  CVE not assigned yet
2009-09-03 22:11:07 +00:00
..
adt Install a workaround for a longstanding gcc bug that allows SIGFPE traps 2009-09-03 18:48:14 +00:00
cache Remove some useless assignments of the result of fread(). Quiets warnings 2009-08-30 17:18:52 +00:00
error Add log_line_prefix placeholder %e to contain the current SQL state 2009-07-03 19:14:25 +00:00
fmgr Make LOAD of an already-loaded library into a no-op, instead of attempting 2009-09-03 22:11:07 +00:00
hash Update copyright for 2009. 2009-01-01 17:24:05 +00:00
init Remove flatfiles.c, which is now obsolete. 2009-09-01 02:54:52 +00:00
mb Update of install-sh, mkinstalldirs, and associated configury 2009-08-26 22:24:44 +00:00
misc Disallow RESET ROLE and RESET SESSION AUTHORIZATION inside security-definer 2009-09-03 22:08:05 +00:00
mmgr Speed up AllocSetFreeIndex, which is a significant cost in palloc and pfree, 2009-07-21 19:53:12 +00:00
resowner 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
sort Extend EXPLAIN to support output in XML or JSON format. 2009-08-10 05:46:50 +00:00
time 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
.cvsignore Cleanup to ensure good state of derived files in tarballs. 2000-06-09 02:38:36 +00:00
Gen_dummy_probes.sed Update copyright for 2009. 2009-01-01 17:24:05 +00:00
Gen_fmgrtab.pl Update copyright for 2009. 2009-01-01 17:24:05 +00:00
Gen_fmgrtab.sh Update copyright for 2009. 2009-01-01 17:24:05 +00:00
Makefile Add a few more DTrace probes to the backend. 2008-08-01 13:16:09 +00:00
probes.d Revert DTrace patch from Robert Lor 2009-04-02 20:59:10 +00:00