Subject: CVS commit: pkgsrc/databases/postgresql80
To: None <pkgsrc-changes@NetBSD.org>
From: Marc Recht <recht@netbsd.org>
List: pkgsrc-changes
Date: 05/15/2005 12:31:57
Module Name: pkgsrc
Committed By: recht
Date: Sun May 15 12:31:57 UTC 2005
Modified Files:
pkgsrc/databases/postgresql80: Makefile.common distinfo
Log Message:
Update to PostgreSQL 8.0.3
This release contains a variety of fixes from 8.0.2, including several
security-related issues.
__________________________________________________________________
Migration to version 8.0.3
A dump/restore is not required for those running 8.0.X. However, it is
one possible way of handling two significant security problems that
have been found in the initial contents of 8.0.X system catalogs. A
dump/initdb/reload sequence using 8.0.3's initdb will automatically
correct these problems.
The larger security problem is that the built-in character set encoding
conversion functions can be invoked from SQL commands by unprivileged
users, but the functions were not designed for such use and are not
secure against malicious choices of arguments. The fix involves
changing the declared parameter list of these functions so that they
can no longer be invoked from SQL commands. (This does not affect their
normal use by the encoding conversion machinery.)
The lesser problem is that the "contrib/tsearch2" module creates
several functions that are misdeclared to return internal when they do
not accept internal arguments. This breaks type safety for all
functions using internal arguments.
It is strongly recommended that all installations repair these errors,
either by initdb or by following the manual repair procedure given
below. The errors at least allow unprivileged database users to crash
their server process, and may allow unprivileged users to gain the
privileges of a database superuser.
If you wish not to do an initdb, perform the same manual repair
procedures shown in the 7.4.8 release notes.
__________________________________________________________________
Changes
* Change encoding function signature to prevent misuse
* Change "contrib/tsearch2" to avoid unsafe use of INTERNAL function
results
* Guard against incorrect second parameter to record_out
* Repair ancient race condition that allowed a transaction to be seen
as committed for some purposes (eg SELECT FOR UPDATE) slightly
sooner than for other purposes
This is an extremely serious bug since it could lead to apparent
data inconsistencies being briefly visible to applications.
* Repair race condition between relation extension and VACUUM
This could theoretically have caused loss of a page's worth of
freshly-inserted data, although the scenario seems of very low
probability. There are no known cases of it having caused more than
an Assert failure.
* Fix comparisons of TIME WITH TIME ZONE values
The comparison code was wrong in the case where the
--enable-integer-datetimes configuration switch had been used.
NOTE: if you have an index on a TIME WITH TIME ZONE column, it will
need to be "REINDEX"ed after installing this update, because the
fix corrects the sort order of column values.
* Fix EXTRACT(EPOCH) for TIME WITH TIME ZONE values
* Fix mis-display of negative fractional seconds in INTERVAL values
This error only occurred when the --enable-integer-datetimes
configuration switch had been used.
* Fix pg_dump to dump trigger names containing % correctly (Neil)
* Still more 64-bit fixes for "contrib/intagg"
* Prevent incorrect optimization of functions returning RECORD
* Prevent crash on COALESCE(NULL,NULL)
* Fix Borland makefile for libpq
* Fix "contrib/btree_gist" for timetz type (Teodor)
* Make "pg_ctl" check the PID found in "postmaster.pid" to see if it
is still a live process
* Fix "pg_dump"/"pg_restore" problems caused by addition of dump
timestamps
* Fix interaction between materializing holdable cursors and firing
deferred triggers during transaction commit
* Fix memory leak in SQL functions returning pass-by-reference data
types
pkgsrc specific change:
Instead of setting CONFIGURE_ART let configure find the template to use
iteself.
To generate a diff of this commit:
cvs rdiff -r1.3 -r1.4 pkgsrc/databases/postgresql80/Makefile.common
cvs rdiff -r1.4 -r1.5 pkgsrc/databases/postgresql80/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.