<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/postgresql.git, branch REL8_3_12</title>
<subtitle>git.postgresql.org: git/postgresql.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/postgresql.git/'/>
<entry>
<title>Tag 8.3.12</title>
<updated>2010-10-01T13:36:12+00:00</updated>
<author>
<name>Marc G. Fournier</name>
<email>scrappy@hub.org</email>
</author>
<published>2010-10-01T13:36:12+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/postgresql.git/commit/?id=e32229adfa0769281b0650c8f999d54079c97661'/>
<id>e32229adfa0769281b0650c8f999d54079c97661</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use a separate interpreter for each calling SQL userid in plperl and pltcl.</title>
<updated>2010-09-30T21:21:04+00:00</updated>
<author>
<name>Tom Lane</name>
<email>tgl@sss.pgh.pa.us</email>
</author>
<published>2010-09-30T21:21:04+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/postgresql.git/commit/?id=3b4c327ca8c70a4aef1e128f676c7eb16963466b'/>
<id>3b4c327ca8c70a4aef1e128f676c7eb16963466b</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Translation updates for 8.3.12</title>
<updated>2010-09-30T19:21:39+00:00</updated>
<author>
<name>Peter Eisentraut</name>
<email>peter_e@gmx.net</email>
</author>
<published>2010-09-30T19:21:39+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/postgresql.git/commit/?id=65a192c44f4078a1466a0e156d0f209d2fd74e12'/>
<id>65a192c44f4078a1466a0e156d0f209d2fd74e12</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update release notes for releases 9.0.1, 8.4.5, 8.3.12, 8.2.18, 8.1.22,</title>
<updated>2010-09-30T18:27:41+00:00</updated>
<author>
<name>Tom Lane</name>
<email>tgl@sss.pgh.pa.us</email>
</author>
<published>2010-09-30T18:27:41+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/postgresql.git/commit/?id=f7282fc962d44dc76ea9ecdd40a95f272140e702'/>
<id>f7282fc962d44dc76ea9ecdd40a95f272140e702</id>
<content type='text'>
8.0.26, and 7.4.30.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
8.0.26, and 7.4.30.
</pre>
</div>
</content>
</entry>
<entry>
<title>Treat exit code 128 (ERROR_WAIT_NO_CHILDREN) as non-fatal on Win32,</title>
<updated>2010-09-29T14:06:24+00:00</updated>
<author>
<name>Magnus Hagander</name>
<email>magnus@hagander.net</email>
</author>
<published>2010-09-16T20:37:18+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/postgresql.git/commit/?id=26b01668cbd8bd1ad72b8eaca39f74323e5fbdc0'/>
<id>26b01668cbd8bd1ad72b8eaca39f74323e5fbdc0</id>
<content type='text'>
since it can happen when a process fails to start when the system
is under high load.

Per several bug reports and many peoples investigation.

Back-patch to 8.2, since testing shows no issues even though the
"deadman-switch" does not exist  in this version.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
since it can happen when a process fails to start when the system
is under high load.

Per several bug reports and many peoples investigation.

Back-patch to 8.2, since testing shows no issues even though the
"deadman-switch" does not exist  in this version.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix incorrect usage of non-strict OR joinclauses in appendrel indexscans.</title>
<updated>2010-09-28T20:13:09+00:00</updated>
<author>
<name>Tom Lane</name>
<email>tgl@sss.pgh.pa.us</email>
</author>
<published>2010-09-28T20:13:09+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/postgresql.git/commit/?id=a2e26a6f888a91da7efd7f59ca5d9b9383f2edd1'/>
<id>a2e26a6f888a91da7efd7f59ca5d9b9383f2edd1</id>
<content type='text'>
By chance I happened to notice that bug #5076 was still broken in the
8.3 branch, though it worked everywhere else.  The reason is that 8.3's
version of adjust_appendrel_attrs_mutator neglected to adjust
RestrictInfo.nullable_relids.  This was an oversight in my patch of
2009-04-16, which I apparently corrected in the later branches on
2009-08-13 without realizing that it affected the 8.3 branch as well.
By the time the bug report was filed, it was not reproducible in 8.4.
I don't recall if I wrote it off as already fixed, or it just fell through
the cracks; but anyway it's been a live bug in 8.3 for a year.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
By chance I happened to notice that bug #5076 was still broken in the
8.3 branch, though it worked everywhere else.  The reason is that 8.3's
version of adjust_appendrel_attrs_mutator neglected to adjust
RestrictInfo.nullable_relids.  This was an oversight in my patch of
2009-04-16, which I apparently corrected in the later branches on
2009-08-13 without realizing that it affected the 8.3 branch as well.
By the time the bug report was filed, it was not reproducible in 8.4.
I don't recall if I wrote it off as already fixed, or it just fell through
the cracks; but anyway it's been a live bug in 8.3 for a year.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix another small oversight in command_no_begin patch.</title>
<updated>2010-09-28T18:48:57+00:00</updated>
<author>
<name>Tom Lane</name>
<email>tgl@sss.pgh.pa.us</email>
</author>
<published>2010-09-28T18:47:25+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/postgresql.git/commit/?id=3e20490e862f9da0d7530b8bac80bcb9a5c05cac'/>
<id>3e20490e862f9da0d7530b8bac80bcb9a5c05cac</id>
<content type='text'>
Need a "return false" to prevent tests from continuing after we've moved
the "query" pointer.  As it stood, it'd accept "DROP DISCARD ALL" as a
match.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Need a "return false" to prevent tests from continuing after we've moved
the "query" pointer.  As it stood, it'd accept "DROP DISCARD ALL" as a
match.
</pre>
</div>
</content>
</entry>
<entry>
<title>Only DISCARD ALL should be in the command_no_begin list.</title>
<updated>2010-09-28T06:57:40+00:00</updated>
<author>
<name>Itagaki Takahiro</name>
<email>itagaki.takahiro@gmail.com</email>
</author>
<published>2010-09-28T06:57:40+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/postgresql.git/commit/?id=334ca4fef875097f08b64016b61dad9d97428ae9'/>
<id>334ca4fef875097f08b64016b61dad9d97428ae9</id>
<content type='text'>
We allowes DISCARD PLANS and TEMP in a transaction.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We allowes DISCARD PLANS and TEMP in a transaction.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add DISCARD to the command_no_begin list for AUTOCOMMIT=off.</title>
<updated>2010-09-28T05:27:53+00:00</updated>
<author>
<name>Itagaki Takahiro</name>
<email>itagaki.takahiro@gmail.com</email>
</author>
<published>2010-09-28T05:27:53+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/postgresql.git/commit/?id=b4f4d022b07ae162a29f36301a17e12da8011816'/>
<id>b4f4d022b07ae162a29f36301a17e12da8011816</id>
<content type='text'>
Backpatch to 8.3.

Reported by Sergey Burladyan.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backpatch to 8.3.

Reported by Sergey Burladyan.
</pre>
</div>
</content>
</entry>
<entry>
<title>Further fixes to the pg_get_expr() security fix in back branches.</title>
<updated>2010-09-25T20:19:35+00:00</updated>
<author>
<name>Tom Lane</name>
<email>tgl@sss.pgh.pa.us</email>
</author>
<published>2010-09-25T19:57:05+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/postgresql.git/commit/?id=a824c59c184435184c8466be62fd6a6ba3dfd6a6'/>
<id>a824c59c184435184c8466be62fd6a6ba3dfd6a6</id>
<content type='text'>
It now emerges that the JDBC driver expects to be able to use pg_get_expr()
on an output of a sub-SELECT.  So extend the check logic to be able to recurse
into a sub-SELECT to see if the argument is ultimately coming from an
appropriate column.  Per report from Thomas Kellerer.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It now emerges that the JDBC driver expects to be able to use pg_get_expr()
on an output of a sub-SELECT.  So extend the check logic to be able to recurse
into a sub-SELECT to see if the argument is ultimately coming from an
appropriate column.  Per report from Thomas Kellerer.
</pre>
</div>
</content>
</entry>
</feed>
