Commit Graph

5578 Commits

Author SHA1 Message Date
Marc G. Fournier c689dacd6d Tag 8.0.26 2010-10-01 10:39:44 -03:00
Tom Lane 8d7694b0d4 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:22:23 -04:00
Tom Lane 5da1406e70 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:27:58 -04:00
Tom Lane 78fa6f0472 Do some copy-editing on the Git usage docs. 2010-09-22 20:22:59 -04:00
Tom Lane 699474f20b Fix documentation gitignore for pre-9.0 doc build methods. 2010-09-22 18:26:33 -04:00
Magnus Hagander da49d16035 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:49 +02:00
Magnus Hagander 92458c2c1f Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:19 +02:00
Robert Haas 019e2f4501 Fix one more incorrect errno definition in the ECPG manual.
Again, back-patch all the way to 7.4.
2010-08-11 19:04:09 +00:00
Robert Haas 815f242a44 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:52:58 +00:00
Tom Lane 971e11028f 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:39 +00:00
Robert Haas edf3df60e6 Fix longstanding typo in V1 calling conventions documentation.
Erik Rijkers
2010-05-16 03:55:55 +00:00
Tom Lane 8be5f6ecaa 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:35 +00:00
Marc G. Fournier 8a5b8aee74 tag 8.0.25 2010-05-14 03:38:45 +00:00
Tom Lane 250956f5b4 Update release notes with security issues.
Security: CVE-2010-1169, CVE-2010-1170
2010-05-13 21:27:35 +00:00
Tom Lane fdce45308f Use an entity instead of non-ASCII letter. Thom Brown 2010-05-13 19:16:45 +00:00
Tom Lane ef4e44a374 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:45 +00:00
Andrew Dunstan e089e04d3e 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:03 +00:00
Tom Lane e6deec6025 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:27:58 +00:00
Magnus Hagander 6434d08e36 Typo fixes.
Fujii Masao
2010-03-17 18:04:09 +00:00
Marc G. Fournier 115c90bbab tag 8.0.24, not .23 2010-03-12 03:59:00 +00:00
Tom Lane c15c8fbc38 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:15 +00:00
Magnus Hagander 098a8a4188 Add missing space in example.
Tim Landscheidt
2010-03-08 12:39:10 +00:00
Tom Lane 118e1cbec2 Back-patch addition of ssl_renegotiation_limit into 7.4 through 8.1. 2010-02-25 23:45:04 +00:00
Marc G. Fournier f061928c91 tag 8.0.23 2009-12-10 03:21:32 +00:00
Tom Lane 69b305279e 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:31:59 +00:00
Marc G. Fournier c29a386226 Tag 8.0.22 2009-09-04 05:28:47 +00:00
Tom Lane c377f39ee3 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:33 +00:00
Bruce Momjian 0ae8a8ed43 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:51 +00:00
Bruce Momjian 484fe41884 Remove tabs from SGML. 2009-08-15 20:22:50 +00:00
Andrew Dunstan 2c2fb7a2ef Re-add documentation for --no-readline option of psql, mistakenly removed a decade ago. Backpatch to release 7.4. 2009-08-10 02:39:12 +00:00
Tom Lane 1d3942e152 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:09 +00:00
Marc G. Fournier d60fdd2502 tag 8.0.21 2009-03-13 02:30:37 +00:00
Tom Lane d92059fe9f Update back-branch release notes. 2009-03-12 22:36:33 +00:00
Marc G. Fournier 287e6acae8 commit first then tag 8.0.20 2009-01-30 04:59:15 +00:00
Tom Lane e4f5645d72 Update back-branch release notes. 2009-01-30 00:38:14 +00:00
Tom Lane 0cdeea0e54 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:01 +00:00
Marc G. Fournier d297635721 tag for 8.0.19 2008-10-31 02:54:50 +00:00
Tom Lane f1ac413466 Update back-branch release notes. 2008-10-30 22:23:25 +00:00
Tom Lane d24efb83ee 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:48 +00:00
Marc G. Fournier b0ea4828e4 tag for 8.0.18 2008-09-19 03:23:34 +00:00
Tom Lane 9ca010304d Update back-branch release notes. 2008-09-19 02:45:56 +00:00
Tom Lane c1758175f8 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:43 +00:00
Tom Lane ee439b5242 Stamp 8.0.17 (except for configure.in/configure) 2008-06-08 22:15:07 +00:00
Tom Lane 1a7dadda5a Update release notes for 8.3.3 et al. 2008-06-07 22:11:25 +00:00
Tom Lane 5272652720 Remove link that pre-8.2 doc tools don't support. 2008-06-06 05:33:52 +00:00
Tom Lane 6a2cd0bfba Stamp 8.0.16 (except for configure.in/configure) 2008-06-05 23:56:24 +00:00
Tom Lane 0bb0f77d98 Draft release notes for upcoming back-branch updates. 2008-06-04 03:16:46 +00:00
Tom Lane 4fd6a97c09 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:05 +00:00
Magnus Hagander a357880dde 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:36 +00:00
Magnus Hagander e5fc7184ce 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:59 +00:00