Commit Graph

5528 Commits

Author SHA1 Message Date
Tom Lane
aff5af7dad Fix an ancient oversight in libpq's handling of V3-protocol COPY OUT mode:
we need to be able to swallow NOTICE messages, and potentially also
ParameterStatus messages (although the latter would be a bit weird),
without exiting COPY OUT state.  Fix it, and adjust the protocol documentation
to emphasize the need for this.  Per off-list report from Alexander Galler.
2008-01-14 18:46:40 +00:00
Tom Lane
231967907d Stamp release 8.0.15.
Security: CVE-2007-4769, CVE-2007-4772, CVE-2007-6067, CVE-2007-6600, CVE-2007-6601
2008-01-03 21:41:51 +00:00
Tom Lane
b161e26de6 Update release notes for security releases.
Security: CVE-2007-4769, CVE-2007-4772, CVE-2007-6067, CVE-2007-6600, CVE-2007-6601
2008-01-03 21:36:02 +00:00
Tom Lane
108b19d860 Make standard maintenance operations (including VACUUM, ANALYZE, REINDEX,
and CLUSTER) execute as the table owner rather than the calling user, using
the same privilege-switching mechanism already used for SECURITY DEFINER
functions.  The purpose of this change is to ensure that user-defined
functions used in index definitions cannot acquire the privileges of a
superuser account that is performing routine maintenance.  While a function
used in an index is supposed to be IMMUTABLE and thus not able to do anything
very interesting, there are several easy ways around that restriction; and
even if we could plug them all, there would remain a risk of reading sensitive
information and broadcasting it through a covert channel such as CPU usage.

To prevent bypassing this security measure, execution of SET SESSION
AUTHORIZATION and SET ROLE is now forbidden within a SECURITY DEFINER context.

Thanks to Itagaki Takahiro for reporting this vulnerability.

Security: CVE-2007-6600
2008-01-03 21:25:00 +00:00
Magnus Hagander
0e9888b90d Fix invalid ipv6 address in example. Per doc comment 7211. 2008-01-02 19:53:17 +00:00
Tatsuo Ishii
2f5a7506c6 Fix "Overall Page Layout" table. The second row should be ItemIdData, not
ItemPointerData.
2007-11-23 00:35:44 +00:00
Tom Lane
ef00409020 Make archive recovery always start a new timeline, rather than only when a
recovery stop time was used.  This avoids a corner-case risk of trying to
overwrite an existing archived copy of the last WAL segment, and seems
simpler and cleaner all around than the original definition.  Per example
from Jon Colverson and subsequent analysis by Simon.
2007-09-29 01:36:39 +00:00
Tom Lane
038f7e4afb Update release notes for last-minute fix. 2007-09-16 03:03:40 +00:00
Tom Lane
d620f2d383 Fix markup that doesn't work in back branches. 2007-09-14 16:04:35 +00:00
Tom Lane
42765a29f9 Minor editorialization on release notes. 2007-09-14 15:51:31 +00:00
Bruce Momjian
37ac2f6d1f Stamp releases 8.2.5, 8.1.10, 8.0.14, 7.4.18, 7.3.20.
Update FAQs for 8.2.5.
2007-09-11 17:36:57 +00:00
Bruce Momjian
30099c28f0 Stamp 2007-09-11 17:19:25 +00:00
Tom Lane
94dc2d8e3b Fix array_dims() example to be consistent with the data previously shown.
Christian Rossow
2007-06-07 14:50:18 +00:00
Peter Eisentraut
e7933588eb Fix spurious German index entry 2007-05-21 15:06:44 +00:00
Magnus Hagander
8e0bcdc855 Document that CLUSTER breaks MVCC visibility rules.
(Not needed in cvs head, because CLUSTER itself is fixed there)

Heikki Linnakangas
2007-05-13 16:04:28 +00:00
Neil Conway
d221ef7bdf Fix newly-introduced documentation typo. 2007-04-23 16:53:09 +00:00
Tom Lane
cfe1b04c66 Fix markup.
Security: CVE-2007-2138
2007-04-20 03:27:54 +00:00
Tom Lane
566331a2e9 Support explicit placement of the temporary-table schema within search_path.
This is needed to allow a security-definer function to set a truly secure
value of search_path.  Without it, a malicious user can use temporary objects
to execute code with the privileges of the security-definer function.  Even
pushing the temp schema to the back of the search path is not quite good
enough, because a function or operator at the back of the path might still
capture control from one nearer the front due to having a more exact datatype
match.  Hence, disable searching the temp schema altogether for functions and
operators.

Security: CVE-2007-2138
2007-04-20 02:38:33 +00:00
Bruce Momjian
77be1e891d Release wording updates for releases 8.2.4, 8.1.9, 8.0.13, 7.4.17, 7.3.19. 2007-04-19 13:02:15 +00:00
Bruce Momjian
447b2b9220 Update FAQ to mention most recent release for releases
8.2.4, 8.1.9, 8.0.13, 7.4.17, 7.3.19.
2007-04-19 04:04:41 +00:00
Bruce Momjian
416dcc4927 Stamp releases 8.2.4, 8.1.9, 8.0.13, 7.4.17, 7.3.19. 2007-04-19 03:06:46 +00:00
Bruce Momjian
a7ce947b63 Release note updates for 8.2.4, 8.1.9, 8.0.13, 7.4.17, 7.3.19. 2007-04-19 02:47:01 +00:00
Tom Lane
967d6add8d Arrange to install a "posixrules" entry in our timezone database, so that
POSIX-style timezone specs that don't exactly match any database entry will
be treated as having correct USA DST rules.  Also, document that this can
be changed if you want to use some other DST rules with a POSIX zone spec.

We could consider changing localtime.c's TZDEFRULESTRING, but since that
facility can only deal with one DST transition rule, it seems fairly useless
now; might as well just plan to override it using a "posixrules" entry.

Backpatch as far as 8.0.  There isn't much we can do in 7.x ... either your
libc gets it right, or it doesn't.
2007-03-14 17:38:29 +00:00
Bruce Momjian
dc80902bcc Stamp releases notes for 8.2.3, 8.1.8, 8.0.12. 2007-02-07 04:22:08 +00:00
Bruce Momjian
8cbd1c3ba8 Stamp releases 8.2.3, 8.1.8, 8.0.12. No release notes yet. 2007-02-07 03:48:21 +00:00
Neil Conway
2f92bea3a5 Reword suggestion that libpq.dll be installed in WINNT\SYSTEM32 under
Windows. Per Magnus Hagander, this is not recommended.
2007-02-02 16:10:18 +00:00
Tom Lane
d724689b73 Stamp release 8.0.11.
Security: CVE-2007-0555, CVE-2007-0556
2007-02-02 00:15:09 +00:00
Tom Lane
384f05d55a Update release notes for security-related releases in all active branches.
Security: CVE-2007-0555, CVE-2007-0556
2007-02-02 00:10:51 +00:00
Tom Lane
3d5f28671a Links to GUC variables from HISTORY don't work in back branches... 2007-01-06 06:01:48 +00:00
Bruce Momjian
a05e93ed52 Fix markup because older releases couldn't link to the reference section. 2007-01-06 04:17:33 +00:00
Tom Lane
ccd743ef5d Minor copy-editing for release note updates. 2007-01-05 22:35:04 +00:00
Bruce Momjian
e0f20bbe44 Stamp release 8.0.10. 2007-01-05 20:53:30 +00:00
Bruce Momjian
1f503f27d5 Create release notes for 8.0.10. 2007-01-05 20:03:19 +00:00
Tom Lane
1eaf9ef62a Document the recently-understood hazard that a rollback can release row-level
locks that logically should not be released, because when a subtransaction
overwrites XMAX all knowledge of the previous lock state is lost.  It seems
unlikely that we will be able to fix this before 8.3...
2006-12-01 20:50:06 +00:00
Tom Lane
db9ebafca1 Update release notes for SQL functions vs triggers fix. 2006-10-12 19:25:32 +00:00
Tom Lane
b6a71905d3 A bit of copy-editing on back-branch release notes. 2006-10-11 20:56:10 +00:00
Bruce Momjian
bc0fa10440 Stamp releases 7.3.16, 7.4.14, 8.0.9, and 8.1.5. 2006-10-09 23:38:46 +00:00
Bruce Momjian
b07bda6312 Update release notes for releases 7.3.16, 7.4.14, 8.0.9, and 8.1.5. 2006-10-09 23:23:29 +00:00
Tom Lane
4d3760f674 date_trunc also accepts 'quarter'. Noted by Yoshihisa Nakano. 2006-10-01 18:54:48 +00:00
Alvaro Herrera
632db651cb Fix confusion between COPY FROM and COPY TO, per Gavin Sharry and Arul Shaji. 2006-07-31 01:09:48 +00:00
Tom Lane
f39fc4769e Stamp release 8.0.8. 2006-05-21 21:53:31 +00:00
Tom Lane
e35c0aee33 Update release notes for upcoming releases. 2006-05-21 21:49:50 +00:00
Bruce Momjian
29dd673a94 Stamp releases 7.3.15, 7.4.13, and 8.0.8. 2006-05-21 20:28:35 +00:00
Tom Lane
94dec9114b Modify libpq's string-escaping routines to be aware of encoding considerations
and standard_conforming_strings.  The encoding changes are needed for proper
escaping in multibyte encodings, as per the SQL-injection vulnerabilities
noted in CVE-2006-2313 and CVE-2006-2314.  Concurrent fixes are being applied
to the server to ensure that it rejects queries that may have been corrupted
by attempted SQL injection, but this merely guarantees that unpatched clients
will fail rather than allow injection.  An actual fix requires changing the
client-side code.  While at it we have also fixed these routines to understand
about standard_conforming_strings, so that the upcoming changeover to SQL-spec
string syntax can be somewhat transparent to client code.

Since the existing API of PQescapeString and PQescapeBytea provides no way to
inform them which settings are in use, these functions are now deprecated in
favor of new functions PQescapeStringConn and PQescapeByteaConn.  The new
functions take the PGconn to which the string will be sent as an additional
parameter, and look inside the connection structure to determine what to do.
So as to provide some functionality for clients using the old functions,
libpq stores the latest encoding and standard_conforming_strings values
received from the backend in static variables, and the old functions consult
these variables.  This will work reliably in clients using only one Postgres
connection at a time, or even multiple connections if they all use the same
encoding and string syntax settings; which should cover many practical
scenarios.

Clients that use homebrew escaping methods, such as PHP's addslashes()
function or even hardwired regexp substitution, will require extra effort
to fix :-(.  It is strongly recommended that such code be replaced by use of
PQescapeStringConn/PQescapeByteaConn if at all feasible.
2006-05-21 20:20:05 +00:00
Tom Lane
9bc62ddd5f Add a new GUC parameter backslash_quote, which determines whether the SQL
parser will allow "\'" to be used to represent a literal quote mark.  The
"\'" representation has been deprecated for some time in favor of the
SQL-standard representation "''" (two single quote marks), but it has been
used often enough that just disallowing it immediately won't do.  Hence
backslash_quote allows the settings "on", "off", and "safe_encoding",
the last meaning to allow "\'" only if client_encoding is a valid server
encoding.  That is now the default, and the reason is that in encodings
such as SJIS that allow 0x5c (ASCII backslash) to be the last byte of a
multibyte character, accepting "\'" allows SQL-injection attacks as per
CVE-2006-2314 (further details will be published after release).  The
"on" setting is available for backward compatibility, but it must not be
used with clients that are exposed to untrusted input.

Thanks to Akio Ishida and Yasuo Ohgaki for identifying this security issue.
2006-05-21 20:11:25 +00:00
Tom Lane
2d584b5c1b Update release notes. 2006-02-12 22:35:52 +00:00
Bruce Momjian
9bb401cd73 Update FAQ latest version 2006-02-12 18:50:45 +00:00
Bruce Momjian
5ae9c6138b Stamp releases for 2006-02-14 release 2006-02-12 18:41:53 +00:00
Bruce Momjian
dfa879bc98 Update release notes for 2006-02-14 release 2006-02-12 18:23:46 +00:00
Tom Lane
a14302080f Reject out-of-range dates in date_in().
Kris Jurka
2006-02-09 03:40:42 +00:00