Commit Graph

4535 Commits

Author SHA1 Message Date
Marc G. Fournier fd7fdbc88b Tag 7.4.30 2010-10-01 10:40:30 -03:00
Tom Lane b68319c25b Use a separate interpreter for each calling SQL userid in plperl and pltcl.
There are numerous methods by which a Perl or Tcl function can subvert
the behavior of another such function executed later; for example, by
redefining standard functions or operators called by the target function.
If the target function is SECURITY DEFINER, or is called by such a
function, this means that any ordinary SQL user with Perl or Tcl language
usage rights can do essentially anything with the privileges of the target
function's owner.

To close this security hole, create a separate Perl or Tcl interpreter for
each SQL userid under which plperl or pltcl functions are executed within
a session.  However, all plperlu or pltclu functions run within a session
still share a single interpreter, since they all execute at the trust
level of a database superuser anyway.

Note: this change results in a functionality loss when libperl has been
built without the "multiplicity" option: it's no longer possible to call
plperl functions under different userids in one session, since such a
libperl can't support multiple interpreters in one process.  However, such
a libperl already failed to support concurrent use of plperl and plperlu,
so it's likely that few people use such versions with Postgres.

Security: CVE-2010-3433
2010-09-30 17:23:01 -04:00
Tom Lane 1bab34309d Update release notes for releases 9.0.1, 8.4.5, 8.3.12, 8.2.18, 8.1.22,
8.0.26, and 7.4.30.
2010-09-30 14:28:05 -04:00
Tom Lane ebcb677df5 Do some copy-editing on the Git usage docs. 2010-09-22 20:23:09 -04:00
Tom Lane 64f3b782ce Fix documentation gitignore for pre-9.0 doc build methods. 2010-09-22 18:26:39 -04:00
Magnus Hagander da907fdb03 Remove anonymous cvs instructions, and replace them with instructions
for git. Change other references from cvs to git as well.
2010-09-22 20:48:53 +02:00
Magnus Hagander 6b4453fd71 Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:22 +02:00
Peter Eisentraut a0baa965f5 Backpatch some blatant spelling mistakes 2010-08-17 04:49:31 +00:00
Robert Haas 120782773d Fix one more incorrect errno definition in the ECPG manual.
Again, back-patch all the way to 7.4.
2010-08-11 19:04:16 +00:00
Robert Haas 11dce1458d Fix incorrect errno definitions in ECPG manual.
ecpgerrno.h hasn't materially changed since PostgreSQL 7.4, so this has
been wrong for a very long time.  Back-patch all the way.

Satoshi Nagayasu
2010-08-11 18:53:04 +00:00
Tom Lane 5e77769413 Fix assorted misstatements and poor wording in the descriptions of the I/O
formats for geometric types.  Per bug #5536 from Jon Strait, and my own
testing.

Back-patch to all supported branches, since this doco has been wrong right
along -- we certainly haven't changed the I/O behavior of these types in
many years.
2010-07-03 04:03:46 +00:00
Robert Haas 5356cf7897 Fix longstanding typo in V1 calling conventions documentation.
Erik Rijkers
2010-05-16 03:55:47 +00:00
Tom Lane 00a80128ea Improve documentation of pg_restore's -l and -L switches to point out their
interactions with filtering switches, such as -n and -t.  Per a complaint
from Russell Smith.
2010-05-15 18:11:41 +00:00
Marc G. Fournier ab9536b134 tag 7.4.29 2010-05-14 03:44:21 +00:00
Tom Lane c30e3d82db Update release notes with security issues.
Security: CVE-2010-1169, CVE-2010-1170
2010-05-13 21:27:44 +00:00
Tom Lane 765b01b6c8 Use an entity instead of non-ASCII letter. Thom Brown 2010-05-13 19:16:52 +00:00
Tom Lane 4aadfba465 Prevent PL/Tcl from loading the "unknown" module from pltcl_modules unless
that is a regular table or view owned by a superuser.  This prevents a
trojan horse attack whereby any unprivileged SQL user could create such a
table and insert code into it that would then get executed in other users'
sessions whenever they call pltcl functions.

Worse yet, because the code was automatically loaded into both the "normal"
and "safe" interpreters at first use, the attacker could execute unrestricted
Tcl code in the "normal" interpreter without there being any pltclu functions
anywhere, or indeed anyone else using pltcl at all: installing pltcl is
sufficient to open the hole.  Change the initialization logic so that the
"unknown" code is only loaded into an interpreter when the interpreter is
first really used.  (That doesn't add any additional security in this
particular context, but it seems a prudent change, and anyway the former
behavior violated the principle of least astonishment.)

Security: CVE-2010-1170
2010-05-13 18:29:54 +00:00
Andrew Dunstan 60028fda9f Abandon the use of Perl's Safe.pm to enforce restrictions in plperl, as it is
fundamentally insecure. Instead apply an opmask to the whole interpreter that
imposes restrictions on unsafe operations. These restrictions are much harder
to subvert than is Safe.pm, since there is no container to be broken out of.
Backported to release 7.4.

In releases 7.4, 8.0 and 8.1 this also includes the necessary backporting of
the two interpreters model for plperl and plperlu adopted in release 8.2.

In versions 8.0 and up, the use of Perl's POSIX module to undo its locale
mangling on Windows has become insecure with these changes, so it is
replaced by our own routine, which is also faster.

Nice side effects of the changes include that it is now possible to use perl's
"strict" pragma in a natural way in plperl, and that perl's $a and
$b variables now work as expected in sort routines, and that function
compilation is significantly faster.

Tim Bunce and Andrew Dunstan, with reviews from Alex Hunsaker and
Alexey Klyukin.

Security: CVE-2010-1169
2010-05-13 16:44:35 +00:00
Tom Lane 03bbb02999 Preliminary release notes for releases 8.4.4, 8.3.11, 8.2.17, 8.1.21, 8.0.25,
7.4.29.
2010-05-12 23:28:06 +00:00
Magnus Hagander 2eec67aac8 Typo fixes.
Fujii Masao
2010-03-17 18:04:01 +00:00
Marc G. Fournier 249271d387 tag 7.4.28 2010-03-12 04:06:01 +00:00
Tom Lane d0d6885015 Preliminary release notes for releases 8.4.3, 8.3.10, 8.2.16, 8.1.20, 8.0.24,
7.4.28.
2010-03-10 01:59:30 +00:00
Magnus Hagander f9ed879d7f Add missing space in example.
Tim Landscheidt
2010-03-08 12:38:54 +00:00
Tom Lane 8b33d83cc5 Back-patch addition of ssl_renegotiation_limit into 7.4 through 8.1. 2010-02-25 23:45:29 +00:00
Marc G. Fournier df4b86a004 tag 7.4.27 2009-12-10 03:26:04 +00:00
Tom Lane 1b4f16b5e1 Update release notes for releases 8.4.2, 8.3.9, 8.2.15, 8.1.19, 8.0.23,
7.4.27.
2009-12-10 00:32:06 +00:00
Marc G. Fournier ef31ff159f Tag 7.4.26 2009-09-04 05:33:18 +00:00
Tom Lane 02a87f18f2 Final updates of release notes for 8.4.1, 8.3.8, 8.2.14, 8.1.18, 8.0.22,
7.4.26.
2009-09-03 22:14:41 +00:00
Bruce Momjian 322404c958 Update release notes for 7.4.26, 8.0.22, 8.1.18, 8.2.14, 8.3.8, 8.4.1. 2009-08-27 01:26:40 +00:00
Andrew Dunstan c5b758bcb9 Re-add documentation for --no-readline option of psql, mistakenly removed a decade ago. Backpatch to release 7.4. 2009-08-10 02:39:09 +00:00
Tom Lane f16cd6ec38 Split the release notes into a separate file for each (active) major branch,
as per my recent proposal.  release.sgml itself is now just a stub that should
change rarely; ideally, only once per major release to add a new include line.
Most editing work will occur in the release-N.N.sgml files.  To update a back
branch for a minor release, just copy the appropriate release-N.N.sgml
file(s) into the back branch.

This commit doesn't change the end-product documentation at all, only the
source layout.  However, it makes it easy to start omitting ancient information
from newer branches' documentation, should we ever decide to do that.
2009-05-02 20:18:21 +00:00
Marc G. Fournier e3c0d679dc tag 7.4.25 2009-03-13 02:39:42 +00:00
Tom Lane dbb6d2f959 Update back-branch release notes. 2009-03-12 22:36:46 +00:00
Marc G. Fournier cedefbdf13 tag 7.4.24 2009-01-30 03:54:33 +00:00
Tom Lane fc39a00022 Update back-branch release notes. 2009-01-30 00:38:26 +00:00
Tom Lane e3a4d5cf8c Remove references to pgsql-ports and pgsql-patches mailing lists from
various documentation, since those lists are now dead/deprecated.
Point to pgsql-bugs and/or pgsql-hackers as appropriate.
2009-01-06 17:28:15 +00:00
Marc G. Fournier 31f6cfb690 tag 7.4.23 2008-10-31 03:15:21 +00:00
Tom Lane ef15b87f45 Update back-branch release notes. 2008-10-30 22:23:39 +00:00
Tom Lane 771374b34b Install a more robust solution for the problem of infinite error-processing
recursion when we are unable to convert a localized error message to the
client's encoding.  We've been over this ground before, but as reported by
Ibrar Ahmed, it still didn't work in the case of conversion failures for
the conversion-failure message itself :-(.  Fix by installing a "circuit
breaker" that disables attempts to localize this message once we get into
recursion trouble.

Patch all supported branches, because it is in fact broken in all of them;
though I had to add some missing translations to the older branches in
order to expose the failure in the particular test case I was using.
2008-10-27 19:37:56 +00:00
Marc G. Fournier b304b8640b tag for 7.4.22 2008-09-19 03:30:27 +00:00
Tom Lane ff1c15e020 Update back-branch release notes. 2008-09-19 02:46:08 +00:00
Tom Lane d32b17a5fd Fix pg_dump docs to acknowledge that you can use -Z with plain text output. Pointed out by Daniel Migowski. 2008-08-26 00:03:52 +00:00
Tom Lane 33266e0716 Stamp 7.4.21 (except for configure.in/configure) 2008-06-08 22:15:45 +00:00
Tom Lane ad17600267 Update release notes for 8.3.3 et al. 2008-06-07 22:11:40 +00:00
Tom Lane bef81252ca Remove link that pre-8.2 doc tools don't support. 2008-06-06 05:34:03 +00:00
Tom Lane fd3a83436a Stamp 7.4.20 (except for configure.in/configure) 2008-06-05 23:56:42 +00:00
Tom Lane 9245557602 Draft release notes for upcoming back-branch updates. 2008-06-04 03:17:01 +00:00
Tom Lane 8b0d5949a8 Improve GRANT documentation to point out that UPDATE and DELETE typically
require SELECT privilege as well, since you normally need to read existing
column values within such commands.  This behavior is according to spec,
but we'd never documented it before.  Per gripe from Volkan Yazici.
2008-05-28 00:46:12 +00:00
Magnus Hagander e29ed89781 Replace developer FAQ with a reference to the wiki, which is where
it now lives (per discussion). Leave the other FAQs alone for now.
2008-04-22 09:26:34 +00:00
Magnus Hagander b457536d8f Add link to major version release notes at the top of the minor
version ones, to make it clear to users just browsing the notes
that there are a lot more changes available from whatever version
they are at than what's in the minor version release notes.
2008-04-21 09:44:54 +00:00