10610 Commits

Author SHA1 Message Date
Tom Lane
ae51ce4c47 Stamp 9.1.12. 2014-02-17 14:40:10 -05:00
Tom Lane
c09f340eb3 Last-minute updates for release notes.
Add entries for security issues.

Security: CVE-2014-0060 through CVE-2014-0067
2014-02-17 14:25:46 -05:00
Tom Lane
800a3744b8 Document risks of "make check" in the regression testing instructions.
Since the temporary server started by "make check" uses "trust"
authentication, another user on the same machine could connect to it
as database superuser, and then potentially exploit the privileges of
the operating-system user who started the tests.  We should change
the testing procedures to prevent this risk; but discussion is required
about the best way to do that, as well as more testing than is practical
for an undisclosed security problem.  Besides, the same issue probably
affects some user-written test harnesses.  So for the moment, we'll just
warn people against using "make check" when there are untrusted users on
the same machine.

In passing, remove some ancient advice that suggested making the
regression testing subtree world-writable if you'd built as root.
That looks dangerously insecure in modern contexts, and anyway we
should not be encouraging people to build Postgres as root.

Security: CVE-2014-0067
2014-02-17 11:24:45 -05:00
Noah Misch
338daafe01 Document security implications of check_function_bodies.
Back-patch to 8.4 (all supported versions).
2014-02-17 09:33:36 -05:00
Noah Misch
23b5a85e60 Prevent privilege escalation in explicit calls to PL validators.
The primary role of PL validators is to be called implicitly during
CREATE FUNCTION, but they are also normal functions that a user can call
explicitly.  Add a permissions check to each validator to ensure that a
user cannot use explicit validator calls to achieve things he could not
otherwise achieve.  Back-patch to 8.4 (all supported versions).
Non-core procedural language extensions ought to make the same two-line
change to their own validators.

Andres Freund, reviewed by Tom Lane and Noah Misch.

Security: CVE-2014-0061
2014-02-17 09:33:36 -05:00
Noah Misch
5d320a16ca Shore up ADMIN OPTION restrictions.
Granting a role without ADMIN OPTION is supposed to prevent the grantee
from adding or removing members from the granted role.  Issuing SET ROLE
before the GRANT bypassed that, because the role itself had an implicit
right to add or remove members.  Plug that hole by recognizing that
implicit right only when the session user matches the current role.
Additionally, do not recognize it during a security-restricted operation
or during execution of a SECURITY DEFINER function.  The restriction on
SECURITY DEFINER is not security-critical.  However, it seems best for a
user testing his own SECURITY DEFINER function to see the same behavior
others will see.  Back-patch to 8.4 (all supported versions).

The SQL standards do not conflate roles and users as PostgreSQL does;
only SQL roles have members, and only SQL users initiate sessions.  An
application using PostgreSQL users and roles as SQL users and roles will
never attempt to grant membership in the role that is the session user,
so the implicit right to add or remove members will never arise.

The security impact was mostly that a role member could revoke access
from others, contrary to the wishes of his own grantor.  Unapproved role
member additions are less notable, because the member can still largely
achieve that by creating a view or a SECURITY DEFINER function.

Reviewed by Andres Freund and Tom Lane.  Reported, independently, by
Jonas Sundman and Noah Misch.

Security: CVE-2014-0060
2014-02-17 09:33:33 -05:00
Tom Lane
3b4db30f94 Release notes for 9.3.3, 9.2.7, 9.1.12, 9.0.16, 8.4.20. 2014-02-16 22:08:37 -05:00
Tom Lane
3921181369 Update regression testing instructions.
This documentation never got the word about the existence of check-world or
installcheck-world.  Revise to recommend use of those, and document all the
subsidiary test suites.  Do some minor wordsmithing elsewhere, too.

In passing, remove markup related to generation of plain-text regression
test instructions, since we don't do that anymore.

Back-patch to 9.1 where check-world was added.  (installcheck-world exists
in 9.0; but since check-world doesn't, this patch would need additional
work to cover that branch, and it doesn't seem worth the effort.)
2014-02-14 16:50:32 -05:00
Tom Lane
e7cf0b89fb Suggest shell here-documents instead of psql -c for multiple commands.
The documentation suggested using "echo | psql", but not the often-superior
alternative of a here-document.  Also, be more direct about suggesting
that people avoid -c for multiple commands.  Per discussion.
2014-02-14 12:54:50 -05:00
Tom Lane
0d4a2f8d4c Improve cross-references between minor version release notes.
We have a practice of providing a "bread crumb" trail between the minor
versions where the migration section actually tells you to do something.
Historically that was just plain text, eg, "see the release notes for
9.2.4"; but if you're using a browser or PDF reader, it's a lot nicer
if it's a live hyperlink.  So use "<xref>" instead.  Any argument against
doing this vanished with the recent decommissioning of plain-text release
notes.

Vik Fearing
2014-02-12 19:09:27 -05:00
Tom Lane
3bf5c16f15 Don't generate plain-text HISTORY and src/test/regress/README anymore.
Providing this information as plain text was doubtless worth the trouble
ten years ago, but it seems likely that hardly anyone reads it in this
format anymore.  And the effort required to maintain these files (in the
form of extra-complex markup rules in the relevant parts of the SGML
documentation) is significant.  So, let's stop doing that and rely solely
on the other documentation formats.

Per discussion, the plain-text INSTALL instructions might still be worth
their keep, so we continue to generate that file.

Rather than remove HISTORY and src/test/regress/README from distribution
tarballs entirely, replace them with simple stub files that tell the reader
where to find the relevant documentation.  This is mainly to avoid possibly
breaking packaging recipes that expect these files to exist.

Back-patch to all supported branches, because simplifying the markup
requirements for release notes won't help much unless we do it in all
branches.
2014-02-10 20:48:23 -05:00
Bruce Momjian
9402169a35 Update copyright for 2014
Update all files in head, and files COPYRIGHT and legal.sgml in all back
branches.
2014-01-07 16:05:29 -05:00
Tom Lane
17776250a5 Fix ancient docs/comments thinko: XID comparison is mod 2^32, not 2^31.
Pointed out by Gianni Ciolli.
2013-12-12 12:40:00 -05:00
Tom Lane
c53cbb39f8 Stamp 9.1.11. 2013-12-02 16:02:21 -05:00
Tom Lane
45f0620fc7 Update release notes for 9.3.2, 9.2.6, 9.1.11, 9.0.15, 8.4.19. 2013-12-02 15:54:05 -05:00
Michael Meskes
a1726994bf Documentation fix for ecpg.
The latest fixes removed a limitation that was still in the docs, so Zoltan updated the docs, too.
2013-11-27 11:15:32 +01:00
Fujii Masao
375ed999ef Fix typo in release note.
Backpatch to 9.1.

Josh Kupershmidt
2013-11-27 13:45:41 +09:00
Tom Lane
71ff6c1ebe Clarify CREATE FUNCTION documentation about handling of typmods.
The previous text was a bit misleading, as well as unnecessarily vague
about what information would be discarded.  Per gripe from Craig Skinner.
2013-11-13 13:26:47 -05:00
Tom Lane
aad87e3f25 Prevent creating window functions with default arguments.
Insertion of default arguments doesn't work for window functions, which is
likely to cause a crash at runtime if the implementation code doesn't check
the number of actual arguments carefully.  It doesn't seem worth working
harder than this for pre-9.2 branches.
2013-11-06 13:32:26 -05:00
Tom Lane
db157fb141 Improve the error message given for modifying a window with frame clause.
For rather inscrutable reasons, SQL:2008 disallows copying-and-modifying a
window definition that has any explicit framing clause.  The error message
we gave for this only made sense if the referencing window definition
itself contains an explicit framing clause, which it might well not.
Moreover, in the context of an OVER clause it's not exactly obvious that
"OVER (windowname)" implies copy-and-modify while "OVER windowname" does
not.  This has led to multiple complaints, eg bug #5199 from Iliya
Krapchatov.  Change to a hopefully more intelligible error message, and
in the case where we have just "OVER (windowname)", add a HINT suggesting
that omitting the parentheses will fix it.  Also improve the related
documentation.  Back-patch to all supported branches.
2013-11-05 21:58:19 -05:00
Peter Eisentraut
e78ed0402b doc: Remove i18ngurus.com link
The web site is dead, and the Wayback Machine shows that it didn't have
much useful content before.
2013-10-21 06:23:31 -04:00
Bruce Momjian
38ee3c55a7 docs: correct 9.1 and 9.2 release note mention of timeline switch fix
Backpatch through 9.1.

KONDO Mitsumasa
2013-10-15 10:34:04 -04:00
Bruce Momjian
6defa661e0 doc: fix typo in release notes
Backpatch through 8.4

Per suggestion by Amit Langote
2013-10-09 08:44:52 -04:00
Peter Eisentraut
b444726ef6 Stamp 9.1.10. 2013-10-07 23:13:47 -04:00
Peter Eisentraut
4a72c60e4a Revert "Document support for VPATH builds of extensions."
This reverts commit 6ed3c5f7b2846be9e176ea1c99b2d45bba0d6972.
2013-10-07 22:41:53 -04:00
Bruce Momjian
56e90da8da docs: update release notes for 8.4.18, 9.0.14, 9.1.10, 9.2.5, 9.3.1 2013-10-07 21:35:01 -04:00
Andrew Dunstan
6ed3c5f7b2 Document support for VPATH builds of extensions.
Cédric Villemain and me.
2013-10-06 23:07:28 -04:00
Peter Eisentraut
d648af0df4 doc: Correct psycopg URL 2013-10-02 21:34:28 -04:00
Tom Lane
8e67a28eea Don't fail for bad GUCs in CREATE FUNCTION with check_function_bodies off.
The previous coding attempted to activate all the GUC settings specified
in SET clauses, so that the function validator could operate in the GUC
environment expected by the function body.  However, this is problematic
when restoring a dump, since the SET clauses might refer to database
objects that don't exist yet.  We already have the parameter
check_function_bodies that's meant to prevent forward references in
function definitions from breaking dumps, so let's change CREATE FUNCTION
to not install the SET values if check_function_bodies is off.

Authors of function validators were already advised not to make any
"context sensitive" checks when check_function_bodies is off, if indeed
they're checking anything at all in that mode.  But extend the
documentation to point out the GUC issue in particular.

(Note that we still check the SET clauses to some extent; the behavior
with !check_function_bodies is now approximately equivalent to what ALTER
DATABASE/ROLE have been doing for awhile with context-dependent GUCs.)

This problem can be demonstrated in all active branches, so back-patch
all the way.
2013-09-03 18:32:29 -04:00
Andrew Dunstan
c558e1e64d Fix relfrozenxid query in docs to include TOAST tables.
The original query ignored TOAST tables which could result in tables
needing a vacuum not being reported.

Backpatch to all live branches.
2013-09-02 14:36:08 -04:00
Robert Haas
e23adeff0c doc: Fix typos in conversion names.
David Christensen
2013-07-19 10:54:26 -04:00
Michael Meskes
703bc145f7 Fixed incorrect description of EXEC SQL VAR command.
Thanks to MauMau <maumau307@gmail.com> for finding and fixing this.
2013-07-12 15:03:52 +02:00
Bruce Momjian
ad4c625ee4 pg_upgrade: document possible pg_hba.conf options
Previously, pg_upgrade docs recommended using .pgpass if using MD5
authentication to avoid being prompted for a password.  Turns out pg_ctl
never prompts for a password, so MD5 requires .pgpass --- document that.
Also recommend 'peer' for authentication too.
Backpatch back to 9.1.
2013-07-11 09:43:15 -04:00
Magnus Hagander
456d37a0bf Remove stray | character
Erikjan Rijkers
2013-07-05 16:22:45 +02:00
Alvaro Herrera
8455b70fee Mention extra_float_digits in floating point docs
Make it easier for readers of the FP docs to find out about possibly
truncated values.

Per complaint from Tom Duffey in message
F0E0F874-C86F-48D1-AA2A-0C5365BF5118@trillitech.com

Author: Albe Laurenz
Reviewed by: Abhijit Menon-Sen
2013-07-02 13:14:02 -04:00
Tom Lane
0ae7d63b5c Tweak wording in sequence-function docs to avoid PDF build failures.
Adjust the wording in the first para of "Sequence Manipulation Functions"
so that neither of the link phrases in it break across line boundaries,
in either A4- or US-page-size PDF output.  This fixes a reported build
failure for the 9.3beta2 A4 PDF docs, and future-proofs this particular
para against causing similar problems in future.  (Perhaps somebody will
fix this issue in the SGML/TeX documentation tool chain someday, but I'm
not holding my breath.)

Back-patch to all supported branches, since the same problem could rise up
to bite us in future updates if anyone changes anything earlier than this
in func.sgml.
2013-06-27 00:27:26 -04:00
Noah Misch
8356d94988 Document effect of constant folding on CASE.
Back-patch to all supported versions.

Laurenz Albe
2013-06-26 20:33:47 -04:00
Peter Eisentraut
27e9e86f6d Update CREATE FUNCTION documentation about argument names
More languages than PL/pgSQL actually support parameter names.
2013-06-19 22:31:42 -04:00
Simon Riggs
be039d4b29 Fix docs on lock level for ALTER TABLE VALIDATE
ALTER TABLE .. VALIDATE CONSTRAINT previously
gave incorrect details about lock levels and
therefore incomplete reasons to use the option.

Initial bug report and fix from Marko Tiikkaja
Reworded by me to include comments by Kevin Grittner
2013-06-18 12:05:48 +01:00
Robert Haas
e19c932edf Improve description of loread/lowrite.
Patch by me, reviewed by Tatsuo Ishii.
2013-06-12 12:21:57 -04:00
Tatsuo Ishii
219ef8e33c Add description that loread()/lowrite() are corresponding to
lo_read()/lo_write() in libpq to avoid confusion.
2013-06-11 14:29:25 +09:00
Tom Lane
aee8a60c72 Remove ALTER DEFAULT PRIVILEGES' requirement of schema CREATE permissions.
Per discussion, this restriction isn't needed for any real security reason,
and it seems to confuse people more often than it helps them.  It could
also result in some database states being unrestorable.  So just drop it.

Back-patch to 9.0, where ALTER DEFAULT PRIVILEGES was introduced.
2013-06-09 15:26:55 -04:00
Kevin Grittner
8af3f277b4 Correct the documentation of pg_rewrite.ev_attr.
It claimed the value was always zero; it is really always -1.

Per report from Hari Babu

backpatch 734fbbd1d2d1babfbd195414e2445024ad549ae3 to 8.4
2013-06-07 09:24:07 -05:00
Tom Lane
ca6566612c Minor docs wordsmithing.
Swap the order of a couple of phrases to clarify what the adjective
"subsequent" applies to.

Joshua Tolley
2013-06-07 00:08:38 -04:00
Stephen Frost
39485bbdba Documentation fix for ALTER TYPE .. RENAME
The documentation for ALTER TYPE .. RENAME claimed to support a
RESTRICT/CASCADE option at the 'type' level, which wasn't implemented
and doesn't make a whole lot of sense to begin with.  What is supported,
and previously undocumented, is

ALTER TYPE .. RENAME ATTRIBUTE .. RESTRICT/CASCADE.

I've updated the documentation and back-patched this to 9.1 where it was
first introduced.
2013-05-27 11:18:37 -04:00
Bruce Momjian
6f3ec222fc docs: log_line_prefix session id fix
Restore 4-byte designation for docs.  Fix 9.3 doc query to properly pad
to four digits.

Backpatch to all active branches

Per suggestions from Ian Lawrence Barwick
2013-05-04 13:15:54 -04:00
Bruce Momjian
8f80e35b55 doc: fix log_line_prefix session_id %c item
Backpatch to 9.1 and earlier

Report from Ian Lawrence Barwick
2013-05-04 11:09:44 -04:00
Tom Lane
d189deebd3 Improve documentation about the relationship of extensions and schemas.
There's been some confusion expressed about this point, so clarify.
Extended version of a patch by David Wheeler.
2013-04-04 22:37:32 -04:00
Peter Eisentraut
7ef110757e doc: Fix number of columns in table 2013-04-04 21:14:21 -04:00
Tom Lane
114fca526e Stamp 9.1.9. 2013-04-01 14:23:05 -04:00