<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/postgresql.git, branch REL8_3_8</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.8</title>
<updated>2009-09-04T00:53:29+00:00</updated>
<author>
<name>Marc G. Fournier</name>
<email>scrappy@hub.org</email>
</author>
<published>2009-09-04T00:53:29+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/postgresql.git/commit/?id=e01fdca9f7bc94b37c63b2ca10350a50f5df59ab'/>
<id>e01fdca9f7bc94b37c63b2ca10350a50f5df59ab</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Final updates of release notes for 8.4.1, 8.3.8, 8.2.14, 8.1.18, 8.0.22,</title>
<updated>2009-09-03T22:14:07+00:00</updated>
<author>
<name>Tom Lane</name>
<email>tgl@sss.pgh.pa.us</email>
</author>
<published>2009-09-03T22:14:07+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/postgresql.git/commit/?id=7e2024be1042349831a2c4923e300a27b59e9903'/>
<id>7e2024be1042349831a2c4923e300a27b59e9903</id>
<content type='text'>
7.4.26.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
7.4.26.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make LOAD of an already-loaded library into a no-op, instead of attempting</title>
<updated>2009-09-03T22:11:22+00:00</updated>
<author>
<name>Tom Lane</name>
<email>tgl@sss.pgh.pa.us</email>
</author>
<published>2009-09-03T22:11:22+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/postgresql.git/commit/?id=5927d9f642c4cf6233e5fedd3468087995c00523'/>
<id>5927d9f642c4cf6233e5fedd3468087995c00523</id>
<content type='text'>
to unload and re-load the library.

The difficulty with unloading a library is that we haven't defined safe
protocols for doing so.  In particular, there's no safe mechanism for
getting out of a "hook" function pointer unless libraries are unloaded
in reverse order of loading.  And there's no mechanism at all for undefining
a custom GUC variable, so GUC would be left with a pointer to an old value
that might or might not still be valid, and very possibly wouldn't be in
the same place anymore.

While the unload and reload behavior had some usefulness in easing
development of new loadable libraries, it's of no use whatever to normal
users, so just disabling it isn't giving up that much.  Someday we might
care to expend the effort to develop safe unload protocols; but even if
we did, there'd be little certainty that every third-party loadable module
was following them, so some security restrictions would still be needed.

Back-patch to 8.2; before that, LOAD was superuser-only anyway.

Security: unprivileged users could crash backend.  CVE not assigned yet
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
to unload and re-load the library.

The difficulty with unloading a library is that we haven't defined safe
protocols for doing so.  In particular, there's no safe mechanism for
getting out of a "hook" function pointer unless libraries are unloaded
in reverse order of loading.  And there's no mechanism at all for undefining
a custom GUC variable, so GUC would be left with a pointer to an old value
that might or might not still be valid, and very possibly wouldn't be in
the same place anymore.

While the unload and reload behavior had some usefulness in easing
development of new loadable libraries, it's of no use whatever to normal
users, so just disabling it isn't giving up that much.  Someday we might
care to expend the effort to develop safe unload protocols; but even if
we did, there'd be little certainty that every third-party loadable module
was following them, so some security restrictions would still be needed.

Back-patch to 8.2; before that, LOAD was superuser-only anyway.

Security: unprivileged users could crash backend.  CVE not assigned yet
</pre>
</div>
</content>
</entry>
<entry>
<title>Disallow RESET ROLE and RESET SESSION AUTHORIZATION inside security-definer</title>
<updated>2009-09-03T22:08:23+00:00</updated>
<author>
<name>Tom Lane</name>
<email>tgl@sss.pgh.pa.us</email>
</author>
<published>2009-09-03T22:08:23+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/postgresql.git/commit/?id=fe8170dcfa9dda7cb46735a17542955cae2acf79'/>
<id>fe8170dcfa9dda7cb46735a17542955cae2acf79</id>
<content type='text'>
functions.

This extends the previous patch that forbade SETting these variables inside
security-definer functions.  RESET is equally a security hole, since it
would allow regaining privileges of the caller; furthermore it can trigger
Assert failures and perhaps other internal errors, since the code is not
expecting these variables to change in such contexts.  The previous patch
did not cover this case because assign hooks don't really have enough
information, so move the responsibility for preventing this into guc.c.

Problem discovered by Heikki Linnakangas.

Security: no CVE assigned yet, extends CVE-2007-6600
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
functions.

This extends the previous patch that forbade SETting these variables inside
security-definer functions.  RESET is equally a security hole, since it
would allow regaining privileges of the caller; furthermore it can trigger
Assert failures and perhaps other internal errors, since the code is not
expecting these variables to change in such contexts.  The previous patch
did not cover this case because assign hooks don't really have enough
information, so move the responsibility for preventing this into guc.c.

Problem discovered by Heikki Linnakangas.

Security: no CVE assigned yet, extends CVE-2007-6600
</pre>
</div>
</content>
</entry>
<entry>
<title>Translation updates</title>
<updated>2009-09-03T19:25:46+00:00</updated>
<author>
<name>Peter Eisentraut</name>
<email>peter_e@gmx.net</email>
</author>
<published>2009-09-03T19:25:46+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/postgresql.git/commit/?id=095f7ba339ea26d66bbd84f6aa92fbc3e9d28ff2'/>
<id>095f7ba339ea26d66bbd84f6aa92fbc3e9d28ff2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update time zone data files to tzdata release 2009l: DST law changes in</title>
<updated>2009-09-03T04:44:50+00:00</updated>
<author>
<name>Tom Lane</name>
<email>tgl@sss.pgh.pa.us</email>
</author>
<published>2009-09-03T04:44:50+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/postgresql.git/commit/?id=1e4a3cfd0fe067f1e5128d41e1a9e1c6d8aea91a'/>
<id>1e4a3cfd0fe067f1e5128d41e1a9e1c6d8aea91a</id>
<content type='text'>
Egypt, Mauritius, Bangladesh.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Egypt, Mauritius, Bangladesh.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix pg_ctl's readfile() to not go into infinite loop on an empty file</title>
<updated>2009-09-02T02:41:07+00:00</updated>
<author>
<name>Tom Lane</name>
<email>tgl@sss.pgh.pa.us</email>
</author>
<published>2009-09-02T02:41:07+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/postgresql.git/commit/?id=bcdb5788953a40c216c8870c59d8299f6d796170'/>
<id>bcdb5788953a40c216c8870c59d8299f6d796170</id>
<content type='text'>
(could happen if either postgresql.conf or postmaster.opts is empty).
It's been broken since the C version was written for 8.0, so patch
all the way back.

initdb's copy of the function is broken in the same way, but it's
less important there since the input files should never be empty.
Patch that in HEAD only, and also fix some cosmetic differences that
crept into that copy of the function.

Per report from Corry Haines and Jeff Davis.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(could happen if either postgresql.conf or postmaster.opts is empty).
It's been broken since the C version was written for 8.0, so patch
all the way back.

initdb's copy of the function is broken in the same way, but it's
less important there since the input files should never be empty.
Patch that in HEAD only, and also fix some cosmetic differences that
crept into that copy of the function.

Per report from Corry Haines and Jeff Davis.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove duplicate variable initializations identified by clang static checker.</title>
<updated>2009-08-30T16:53:45+00:00</updated>
<author>
<name>Tom Lane</name>
<email>tgl@sss.pgh.pa.us</email>
</author>
<published>2009-08-30T16:53:45+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/postgresql.git/commit/?id=d40ef0dc0ba6fc66261aa73f08484369e5165e85'/>
<id>d40ef0dc0ba6fc66261aa73f08484369e5165e85</id>
<content type='text'>
One of these represents a nontrivial bug (a promptly-leaked palloc), so
backpatch.

Greg Stark
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
One of these represents a nontrivial bug (a promptly-leaked palloc), so
backpatch.

Greg Stark
</pre>
</div>
</content>
</entry>
<entry>
<title>Update release notes for 7.4.26, 8.0.22, 8.1.18, 8.2.14, 8.3.8, 8.4.1.</title>
<updated>2009-08-27T01:27:24+00:00</updated>
<author>
<name>Bruce Momjian</name>
<email>bruce@momjian.us</email>
</author>
<published>2009-08-27T01:27:24+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/postgresql.git/commit/?id=143373bee58553fdc0d7c284aec69aecf0ec7ad0'/>
<id>143373bee58553fdc0d7c284aec69aecf0ec7ad0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid calling kill() in a postmaster signal handler.</title>
<updated>2009-08-24T17:23:28+00:00</updated>
<author>
<name>Alvaro Herrera</name>
<email>alvherre@alvh.no-ip.org</email>
</author>
<published>2009-08-24T17:23:28+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/postgresql.git/commit/?id=fa837ad637c8c50d499ac51b84e7a3eb4ed2b1c2'/>
<id>fa837ad637c8c50d499ac51b84e7a3eb4ed2b1c2</id>
<content type='text'>
This causes problems when the system load is high, per report from Zdenek
Kotala in &lt;1250860954.1239.114.camel@localhost&gt;; instead of calling kill
directly, have the signal handler set a flag which is checked in ServerLoop.
This way, the handler can return before being called again by a subsequent
signal sent from the autovacuum launcher.  Also, increase the sleep in the
launcher in this failure path to 1 second.

Backpatch to 8.3, which is when the signalling between autovacuum
launcher/postmaster was introduced.

Also, add a couple of ReleasePostmasterChildSlot calls in error paths; this
part backpatched to 8.4 which is when the child slot stuff was introduced.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This causes problems when the system load is high, per report from Zdenek
Kotala in &lt;1250860954.1239.114.camel@localhost&gt;; instead of calling kill
directly, have the signal handler set a flag which is checked in ServerLoop.
This way, the handler can return before being called again by a subsequent
signal sent from the autovacuum launcher.  Also, increase the sleep in the
launcher in this failure path to 1 second.

Backpatch to 8.3, which is when the signalling between autovacuum
launcher/postmaster was introduced.

Also, add a couple of ReleasePostmasterChildSlot calls in error paths; this
part backpatched to 8.4 which is when the child slot stuff was introduced.
</pre>
</div>
</content>
</entry>
</feed>
