1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-16 06:01:02 +03:00
Commit Graph

8519 Commits

Author SHA1 Message Date
e76e252286 Prevent access to external files/URLs via contrib/xml2's xslt_process().
libxslt offers the ability to read and write both files and URLs through
stylesheet commands, thus allowing unprivileged database users to both read
and write data with the privileges of the database server.  Disable that
through proper use of libxslt's security options.

Also, remove xslt_process()'s ability to fetch documents and stylesheets
from external files/URLs.  While this was a documented "feature", it was
long regarded as a terrible idea.  The fix for CVE-2012-3489 broke that
capability, and rather than expend effort on trying to fix it, we're just
going to summarily remove it.

While the ability to write as well as read makes this security hole
considerably worse than CVE-2012-3489, the problem is mitigated by the fact
that xslt_process() is not available unless contrib/xml2 is installed,
and the longstanding warnings about security risks from that should have
discouraged prudent DBAs from installing it in security-exposed databases.

Reported and fixed by Peter Eisentraut.

Security: CVE-2012-3488
2012-08-14 18:32:03 -04:00
64d64a0530 Fix upper limit of superuser_reserved_connections, add limit for wal_senders
Should be limited to the maximum number of connections excluding
autovacuum workers, not including.

Add similar check for max_wal_senders, which should never be higher than
max_connections.
2012-08-10 14:52:16 +02:00
1c638c8074 Typo fixes for previous commit.
Noted by Thom Brown.
2012-08-06 16:12:39 -04:00
16a69120eb Warn more vigorously about the non-transactional behavior of sequences.
Craig Ringer, edited fairly heavily by me
2012-08-06 15:18:54 -04:00
c9c95202b0 Reword documentation for concurrent index rebuilds to be clearer.
Backpatch to 9.1 and 9.2.
2012-08-04 10:35:44 -04:00
d06dfc1b63 Document that, for psql -c, only the result of the last command is
returned, per report from Aleksey Tsalolikhin

Backpatch to 9.2 and 9.1.
2012-08-03 14:02:22 -04:00
27394f76bf Now that the diskchecker.pl author has updated the download link on his
website, revert the separate link to the download git repository.

Backpatch from 9.0 to current.
2012-07-30 10:15:56 -04:00
3d980e15ee Update doc mention of diskchecker.pl to add URL for script; retain URL
for description.

Patch to 9.0 and later, where script is mentioned.
2012-07-26 21:25:25 -04:00
119027ec8b Remove reference to default wal_buffers being 8
This hasn't been true since 9.1, when the default was changed to -1.
Remove the reference completely, keeping the discussion of the parameter
and it's shared memory effects on the config page.
2012-07-04 09:22:21 +02:00
85189bb930 Fix typo
gabrielle
2012-07-04 09:06:02 +02:00
94c35d5a96 Remove references to PostgreSQL bundled on Solaris
Also remove special references to downloads off pgfoundry since they are
not correct - downloads are done through the main website.
2012-07-04 09:02:20 +02:00
2006070528 Remove references to pgfoundry as recommended hosting platform
pgfoundry is deprectaed and no longer accepting new projects,
so we really shouldn't be directing people there.
2012-07-04 09:02:14 +02:00
e23e17ffb0 Update copyright year in forgotten places
found by Stefan Kaltenbrunner
2012-06-19 21:36:08 +03:00
1643031e5f Add missing subtitle for compressed archive logs 2012-06-17 21:20:32 +08:00
7651ec7987 Update release notes for 9.1.4, 9.0.8, 8.4.12, 8.3.19. 2012-05-31 19:03:39 -04:00
2c1382d96c Fix contrib/citext's upgrade script to handle array and domain cases.
We previously recognized that citext wouldn't get marked as collatable
during pg_upgrade from a pre-9.1 installation, and hacked its
create-from-unpackaged script to manually perform the necessary catalog
adjustments.  However, we overlooked the fact that domains over citext,
as well as the citext[] array type, need the same adjustments.  Extend
the script to handle those cases.

Also, the documentation suggested that this was only an issue in pg_upgrade
scenarios, which is quite wrong; loading any dump containing citext from a
pre-9.1 server will also result in the type being wrongly marked.

I approached the documentation problem by changing the 9.1.2 release note
paragraphs about this issue, which is historically inaccurate.  But it
seems better than having the information scattered in multiple places, and
leaving incorrect info in the 9.1.2 notes would be bad anyway.  We'll still
need to mention the issue again in the 9.1.4 notes, but perhaps they can
just reference 9.1.2 for fix instructions.

Per report from Evan Carroll.  Back-patch into 9.1.
2012-05-11 15:22:37 -04:00
1c0e678678 Overdue code review for transaction-level advisory locks patch.
Commit 62c7bd31c8 had assorted problems, most
visibly that it broke PREPARE TRANSACTION in the presence of session-level
advisory locks (which should be ignored by PREPARE), as per a recent
complaint from Stephen Rees.  More abstractly, the patch made the
LockMethodData.transactional flag not merely useless but outright
dangerous, because in point of fact that flag no longer tells you anything
at all about whether a lock is held transactionally.  This fix therefore
removes that flag altogether.  We now rely entirely on the convention
already in use in lock.c that transactional lock holds must be owned by
some ResourceOwner, while session holds are never so owned.  Setting the
locallock struct's owner link to NULL thus denotes a session hold, and
there is no redundant marker for that.

PREPARE TRANSACTION now works again when there are session-level advisory
locks, and it is also able to transfer transactional advisory locks to the
prepared transaction, but for implementation reasons it throws an error if
we hold both types of lock on a single lockable object.  Perhaps it will be
worth improving that someday.

Assorted other minor cleanup and documentation editing, as well.

Back-patch to 9.1, except that in the 9.1 branch I did not remove the
LockMethodData.transactional flag for fear of causing an ABI break for
any external code that might be examining those structs.
2012-05-04 17:43:35 -04:00
6d362ec209 Remove link to ODBCng project from the docs.
This backatches Heikki's patch in 140a4fbf1a
to make sure the documentation on the website gets updated, since
we're regularly receiving complains about this link.
2012-05-03 13:01:31 +02:00
5cf6fddd63 Adjust various references to GEQO being non-deterministic.
It's still non-deterministic in some sense ... but given fixed settings
and identical planning problems, it will now always choose the same plan,
so we probably shouldn't tar it with that brush.  Per bug #6565 from
Guillaume Cottenceau.  Back-patch to 9.0 where the behavior was fixed.
2012-04-09 20:49:06 -04:00
63d8636c50 Update URL for pgtclng project.
Thom Brown
2012-04-06 19:00:18 -04:00
10b2e7404f Update docs on numeric storage requirements.
Since 9.1, the minimum overhead is three bytes, not five.

Fujii Masao
2012-03-23 08:49:42 -04:00
5bd06e619c Back-patch contrib/vacuumlo's new -l (limit) option into 9.0 and 9.1.
Since 9.0, removing lots of large objects in a single transaction risks
exceeding max_locks_per_transaction, because we merged large object removal
into the generic object-drop mechanism, which takes out an exclusive lock
on each object to be dropped.  This creates a hazard for contrib/vacuumlo,
which has historically tried to drop all unreferenced large objects in one
transaction.  There doesn't seem to be any correctness requirement to do it
that way, though; we only need to drop enough large objects per transaction
to amortize the commit costs.

To prevent a regression from pre-9.0 releases wherein vacuumlo worked just
fine, back-patch commits b69f2e3640 and
64c604898e, which break vacuumlo's deletions
into multiple transactions with a user-controllable upper limit on the
number of objects dropped per transaction.

Tim Lewis, Robert Haas, Tom Lane
2012-03-21 13:04:55 -04:00
52b03fbdfe Update struct Trigger in docs 2012-03-20 15:41:38 -03:00
5a264d4aa0 Remove tabs in SGML files 2012-03-12 10:13:39 -04:00
66d3e691db Add description for --no-locale and --text-search-config. 2012-03-11 19:24:34 +09:00
e076ee6d3f Improve documentation around logging_collector and use of stderr.
In backup.sgml, point out that you need to be using the logging collector
if you want to log messages from a failing archive_command script.  (This
is an oversimplification, in that it will work without the collector as
long as you're not sending postmaster stderr to /dev/null; but it seems
like a good idea to encourage use of the collector to avoid problems
with multiple processes concurrently scribbling on one file.)

In config.sgml, do some wordsmithing of logging_collector discussion.

Per bug #6518 from Janning Vygen
2012-03-05 14:08:57 -05:00
af1967239a Simplify references to backslash-doubling in func.sgml.
Several places were still written as though standard_conforming_strings
didn't exist, much less be the default.  Now that it is on by default,
we can simplify the text and just insert occasional notes suggesting that
you might have to think harder if it's turned off.  Per discussion of a
suggestion from Hannes Frederic Sowa.

Back-patch to 9.1 where standard_conforming_strings was made the default.
2012-02-29 12:11:23 -05:00
22795f096b Last-minute release note updates.
Security: CVE-2012-0866, CVE-2012-0867, CVE-2012-0868
2012-02-23 17:47:59 -05:00
54e2b6488b Require execute permission on the trigger function for CREATE TRIGGER.
This check was overlooked when we added function execute permissions to the
system years ago.  For an ordinary trigger function it's not a big deal,
since trigger functions execute with the permissions of the table owner,
so they couldn't do anything the user issuing the CREATE TRIGGER couldn't
have done anyway.  However, if a trigger function is SECURITY DEFINER,
that is not the case.  The lack of checking would allow another user to
install it on his own table and then invoke it with, essentially, forged
input data; which the trigger function is unlikely to realize, so it might
do something undesirable, for instance insert false entries in an audit log
table.

Reported by Dinesh Kumar, patch by Robert Haas

Security: CVE-2012-0866
2012-02-23 15:39:02 -05:00
f209a0c559 Draft release notes for 9.1.3, 9.0.7, 8.4.11, 8.3.18. 2012-02-22 18:12:35 -05:00
b3bd5a093f Update statement about sorting of character-string data.
The sort order is no longer fixed at database creation time, but can be
controlled via COLLATE.  Noted by Thomas Kellerer.
2012-01-28 20:55:07 -05:00
b7922a6dd0 Fix wording, per Peter Geoghegan 2012-01-27 10:37:09 +01:00
e9cdb00ccd Remove tab in 9.1 SGML file. 2012-01-23 21:08:46 -05:00
f517ece063 Fix typo, pg_types_date.h => pgtypes_date.h.
Spotted by Koizumi Satoru.
2012-01-06 13:31:41 -05:00
d0ea1db52a Fix reference to "verify-ca" and "verify-full" in a note in the docs. 2011-12-16 15:06:45 +02:00
75594e0cf7 Add missing documentation for function pg_stat_get_wal_senders()
Euler Taveira de Oliveira
2011-12-06 11:03:05 +01:00
98fbce0931 In pg_upgrade, allow tables using regclass to be upgraded because we
preserve pg_class oids since PG 9.0.
2011-12-05 16:45:19 -05:00
1cd1a7c102 Add some weasel wording about threaded usage of PGresults.
PGresults used to be read-only from the application's viewpoint, but now
that we've exposed various functions that allow modification of a PGresult,
that sweeping statement is no longer accurate.  Noted by Dmitriy Igrishin.
2011-12-02 11:34:14 -05:00
92b9e439e7 Clarify documentation about SQL:2008 variant of LIMIT/OFFSET syntax.
The point that you need parentheses for non-constant expressions apparently
needs to be brought out a bit more clearly, per bug #6315.
2011-12-01 16:39:02 -05:00
0f90fb90c3 Update information about configuring SysV IPC parameters on NetBSD.
Per Emmanuel Kasper, sysctl works fine as of NetBSD 5.0.
2011-11-30 20:55:04 -05:00
2cbe4f4c9e Draft release notes for 9.1.2, 9.0.6, 8.4.10, 8.3.17, 8.2.23. 2011-11-30 19:34:52 -05:00
8ab9df0db1 Remove erroneous claim about use of pg_locks.objid for advisory locks.
The correct information appears in the text, so just remove the statement
in the table, where it did not fit nicely anyway.  (Curiously, the correct
info has been there much longer than the erroneous table entry.)
Resolves problem noted by Daniele Varrazzo.

In HEAD and 9.1, also do a bit of wordsmithing on other text on the page.
2011-11-28 13:52:04 -05:00
91e8cb61a5 Correct documentation for trace_userlocks. 2011-11-10 18:01:00 -05:00
0b6a1e8a16 Document that PQexec() can handle a NULL res pointer just fine.
Backpatch to 9.1.

Mark Hills
2011-11-10 13:00:51 -05:00
97c3d4853b -DLINUX_OOM_ADJ=0 should be in CPPFLAGS, not CFLAGS 2011-11-08 06:50:46 +02:00
97d5b21c86 Fix archive_command example
The given archive_command example didn't use %p or %f, which wouldn't
really work in practice.
2011-11-04 22:03:25 +02:00
864c38c59e Document that multiple LDAP servers can be specified 2011-11-01 15:45:07 +01:00
af0cc0f42d Clarify that ORDER BY/FOR UPDATE can't malfunction at higher iso levels.
Kevin Grittner
2011-10-28 12:03:05 -04:00
e489c000d9 Change "and and" to "and".
Report by Vik Reykja, patch by Kevin Grittner.
2011-10-28 12:00:50 -04:00
8be47f79d3 Typo fixes.
expect -> except, noted by Andrew Dunstan.  Also, "cannot" seems more
readable here than "can not", per David Wheeler.
2011-10-26 18:04:32 -04:00