de59c01 | Tom Lane | 02 February 2007, 00:15:35 UTC | Stamp release 7.4.16. Security: CVE-2007-0555, CVE-2007-0556 | 02 February 2007, 00:15:35 UTC |
abeae11 | Tom Lane | 02 February 2007, 00:11:02 UTC | Update release notes for security-related releases in all active branches. Security: CVE-2007-0555, CVE-2007-0556 | 02 February 2007, 00:11:02 UTC |
b4ddb79 | Tom Lane | 02 February 2007, 00:04:02 UTC | Repair insufficiently careful type checking for SQL-language functions: we should check that the function code returns the claimed result datatype every time we parse the function for execution. Formerly, for simple scalar result types we assumed the creation-time check was sufficient, but this fails if the function selects from a table that's been redefined since then, and even more obviously fails if check_function_bodies had been OFF. This is a significant security hole: not only can one trivially crash the backend, but with appropriate misuse of pass-by-reference datatypes it is possible to read out arbitrary locations in the server process's memory, which could allow retrieving database content the user should not be able to see. Our thanks to Jeff Trout for the initial report. Security: CVE-2007-0555 | 02 February 2007, 00:04:02 UTC |
65ada7c | Peter Eisentraut | 31 January 2007, 08:12:56 UTC | Translation updates | 31 January 2007, 08:12:56 UTC |
372c651 | Tom Lane | 27 January 2007, 20:53:52 UTC | Correct an old logic error in btree page splitting: when considering a split exactly at the point where we need to insert a new item, the calculation used the wrong size for the "high key" of the new left page. This could lead to choosing an unworkable split, resulting in "PANIC: failed to add item to the left sibling" (or "right sibling") failure. Although this bug has been there a long time, it's very difficult to trigger a failure before 8.2, since there was generally a lot of free space on both sides of a chosen split. In 8.2, where the user-selected fill factor determines how much free space the code tries to leave, an unworkable split is much more likely. Report by Joe Conway, diagnosis and fix by Heikki Linnakangas. | 27 January 2007, 20:53:52 UTC |
4461eb1 | Tom Lane | 24 January 2007, 17:12:41 UTC | Get pg_utf_mblen(), pg_utf2wchar_with_len(), and utf2ucs() all on the same page about the maximum UTF8 sequence length we support (4 bytes since 8.1, 3 before that). pg_utf2wchar_with_len never got updated to support 4-byte characters at all, and in any case had a buffer-overrun risk in that it could produce multiple pg_wchars from what mblen claims to be just one UTF8 character. The only reason we don't have a major security hole is that most callers allocate worst-case output buffers; the sole exception in released versions appears to be pre-8.2 iwchareq() (ie, ILIKE), which can be crashed due to zeroing out its return address --- but AFAICS that can't be exploited for anything more than a crash, due to inability to control what gets written there. Per report from James Russell and Michael Fuhr. Pre-8.1 the risk is much less, but I still think pg_utf2wchar_with_len's behavior given an incomplete final character risks buffer overrun, so back-patch that logic change anyway. This patch also makes sure that UTF8 sequences exceeding the supported length (whichever it is) are consistently treated as error cases, rather than being treated like a valid shorter sequence in some places. | 24 January 2007, 17:12:41 UTC |
234db5b | Tom Lane | 24 January 2007, 01:26:08 UTC | Relax an Assert() that has been found to be too strict in some situations involving unions of types having typmods. Variants of the failure are known to occur in 8.1 and up; not sure if it's possible in 8.0 and 7.4, but since the code exists that far back, I'll just patch 'em all. Per report from Brian Hurt. | 24 January 2007, 01:26:08 UTC |
fe7b0fc | Tatsuo Ishii | 13 January 2007, 03:24:55 UTC | Back port patch. Call srandom() instead of srand(). pgbench calls random() later, so it should have called srandom(). On most platforms except Windows srandom() is actually identical to srand(), so the bug only bites Windows users. per bug report from Akio Ishida. | 13 January 2007, 03:24:55 UTC |
2ece691 | PostgreSQL Daemon | 06 January 2007, 06:40:31 UTC | commit before tag ... | 06 January 2007, 06:40:31 UTC |
230ae1a | Bruce Momjian | 06 January 2007, 04:17:15 UTC | Fix markup because older releases couldn't link to the reference section. | 06 January 2007, 04:17:15 UTC |
c1478c8 | Bruce Momjian | 06 January 2007, 03:36:32 UTC | Remove extra character added to top. | 06 January 2007, 03:36:32 UTC |
77c7616 | Bruce Momjian | 06 January 2007, 03:14:32 UTC | Fix markup because lc_numeric didn't have an SGML tag in this release. | 06 January 2007, 03:14:32 UTC |
6faab66 | Tom Lane | 05 January 2007, 22:35:13 UTC | Minor copy-editing for release note updates. | 05 January 2007, 22:35:13 UTC |
37a86cd | Bruce Momjian | 05 January 2007, 20:53:11 UTC | Stamp release 7.4.15. | 05 January 2007, 20:53:11 UTC |
e105a65 | Bruce Momjian | 05 January 2007, 20:02:55 UTC | Create release notes for 7.4.15. | 05 January 2007, 20:02:55 UTC |
8d96a06 | Tom Lane | 03 January 2007, 22:39:57 UTC | Fix regex_fixed_prefix() to cope reasonably well with regex patterns of the form '^(foo)$'. Before, these could never be optimized into indexscans. The recent changes to make psql and pg_dump generate such patterns (for \d commands and -t and related switches, respectively) therefore represented a big performance hit for people with large pg_class catalogs, as seen in recent gripe from Erik Jones. While at it, be more paranoid about case-sensitivity checking in multibyte encodings, and fix some other corner cases in which a regex might be interpreted too liberally. | 03 January 2007, 22:39:57 UTC |
0fbfdf5 | Tom Lane | 26 December 2006, 19:27:20 UTC | Repair bug #2839: the various ExecReScan functions need to reset ps_TupFromTlist in plan nodes that make use of it. This was being done correctly in join nodes and Result nodes but not in any relation-scan nodes. Bug would lead to bogus results if a set-returning function appeared in the targetlist of a subquery that could be rescanned after partial execution, for example a subquery within EXISTS(). Bug has been around forever :-( ... surprising it wasn't reported before. | 26 December 2006, 19:27:20 UTC |
8eb0f23 | Tom Lane | 28 November 2006, 19:19:16 UTC | Mark to_number() and the numeric-type variants of to_char() as stable, not immutable, because their results depend on lc_numeric; this is a longstanding oversight. We cannot force initdb for this in the back branches, but we can at least provide correct catalog entries for future installations. | 28 November 2006, 19:19:16 UTC |
e53a43b | Tom Lane | 24 November 2006, 23:07:07 UTC | Fix psql's \copy command to ensure that it cycles libpq back to the idle state (in particular, causing the ReadyForQuery message to be eaten) before returning from do_copy. The only known consequence of failing to do so is that get_prompt might show a wrong result for the %x transaction status escape, as reported by Bernd Helmle; but it's possible there are other issues. Back-patch as far as 7.4, the oldest version supporting %x. | 24 November 2006, 23:07:07 UTC |
8637cd1 | Tom Lane | 22 November 2006, 21:13:11 UTC | Fix 1-byte buffer overrun when OID exceeds 1 billion. This probably can't cause any serious harm in normal cases, but if you have gcc buffer overrun checking turned on, that will notice. Found by Jack Orenstein. Problem was already fixed in CVS HEAD. | 22 November 2006, 21:13:11 UTC |
ddefff7 | Tom Lane | 19 November 2006, 21:33:46 UTC | Repair problems with hash indexes that span multiple segments: the hash code's preference for filling pages out-of-order tends to confuse the sanity checks in md.c, as per report from Balazs Nagy in bug #2737. The fix is to ensure that the smgr-level code always has the same idea of the logical EOF as the hash index code does, by using ReadBuffer(P_NEW) where we are adding a single page to the end of the index, and using smgrextend() to reserve a large batch of pages when creating a new splitpoint. The patch is a bit ugly because it avoids making any changes in md.c, which seems the most prudent approach for a backpatchable beta-period fix. After 8.3 development opens, I'll take a look at a cleaner but more invasive patch, in particular getting rid of the now unnecessary hack to allow reading beyond EOF in mdread(). Backpatch as far as 7.4. The bug likely exists in 7.3 as well, but because of the magnitude of the 7.3-to-7.4 changes in hash, the later-version patch doesn't even begin to apply. Given the other known bugs in the 7.3-era hash code, it does not seem worth trying to develop a separate patch for 7.3. | 19 November 2006, 21:33:46 UTC |
5ae883f | Tom Lane | 06 November 2006, 18:21:58 UTC | Repair bug #2694 concerning an ARRAY[] construct whose inputs are empty sub-arrays. Per discussion, if all inputs are empty arrays then result must be an empty array too, whereas a mix of empty and nonempty arrays should (and already did) draw an error. In the back branches, the construct was strict: any NULL input immediately yielded a NULL output; so I left that behavior alone. HEAD was simply ignoring NULL sub-arrays, which doesn't seem very sensible. For lack of a better idea it now treats NULL sub-arrays the same as empty ones. | 06 November 2006, 18:21:58 UTC |
4e4c165 | Tom Lane | 01 November 2006, 19:50:15 UTC | Fix "failed to re-find parent key" btree VACUUM failure by tweaking _bt_pagedel to recover from the failure: just search the whole parent level if searching to the right fails. This does nothing for the underlying problem that index keys became out-of-order in the grandparent level. However, we believe that there is no other consequence worse than slightly inefficient searching, so this narrow patch seems like the safest solution for the back branches. | 01 November 2006, 19:50:15 UTC |
c4c0082 | Tom Lane | 20 October 2006, 01:10:40 UTC | Back-patch second version of AIX getaddrinfo fix. | 20 October 2006, 01:10:40 UTC |
8df0bcc | Tom Lane | 19 October 2006, 17:26:51 UTC | Work around reported problem that AIX's getaddrinfo() doesn't seem to zero sin_port in the returned IP address struct when servname is NULL. This has been observed to cause failure to bind the stats collection socket, and could perhaps cause other issues too. Per reports from Brad Nicholson and Chris Browne. | 19 October 2006, 17:26:51 UTC |
62f9cbf | Tom Lane | 12 October 2006, 19:42:03 UTC | Stamp 7.4.14. | 12 October 2006, 19:42:03 UTC |
1d5ad22 | Tom Lane | 11 October 2006, 20:56:21 UTC | A bit of copy-editing on back-branch release notes. | 11 October 2006, 20:56:21 UTC |
47cec03 | Tom Lane | 11 October 2006, 20:21:28 UTC | Repair incorrect check for coercion of unknown literal to ANYARRAY, a bug I introduced in 7.4.1 :-(. It's correct to allow unknown to be coerced to ANY or ANYELEMENT, since it's a real-enough data type, but it most certainly isn't an array datatype. This can cause a backend crash but AFAICT is not exploitable as a security hole. Per report from Michael Fuhr. Note: as fixed in HEAD, this changes a constant in the pg_stats view, resulting in a change in the expected regression outputs. The back-branch patches have been hacked to avoid that, so that pre-existing installations won't start failing their regression tests. | 11 October 2006, 20:21:28 UTC |
1c2d02c | Tom Lane | 11 October 2006, 20:03:26 UTC | CREATE TABLE ... LIKE ... should mark the columns it creates with attislocal = true, since they are not really inherited but merely copied from the original table. I'm not sure if there are any cases where it makes a real difference given the existing uses of the flag, but wrong is wrong. This was fixed in passing in HEAD by the LIKE INCLUDING CONSTRAINTS patch, but never back-patched. | 11 October 2006, 20:03:26 UTC |
7b165e3 | Tom Lane | 10 October 2006, 16:15:37 UTC | Fix psql \d commands to behave properly when a pattern using regex | is given. Formerly they'd emit '^foo|bar$' which is wrong because the anchors are parsed as part of the alternatives; must emit '^(foo|bar)$' to get expected behavior. Same as bug found previously in similar_escape(). Already fixed in HEAD, this is just back-porting the part of that patch that was a bug fix. | 10 October 2006, 16:15:37 UTC |
f3fa771 | Bruce Momjian | 10 October 2006, 00:19:58 UTC | Update libpq.rc for 7.3.16 and 7.4.14. Later releases use libpq.rc.in, which was already updated. | 10 October 2006, 00:19:58 UTC |
10d4610 | Bruce Momjian | 09 October 2006, 23:38:34 UTC | Stamp releases 7.3.16, 7.4.14, 8.0.9, and 8.1.5. | 09 October 2006, 23:38:34 UTC |
f18ace6 | Bruce Momjian | 09 October 2006, 23:23:11 UTC | Update release notes for releases 7.3.16, 7.4.14, 8.0.9, and 8.1.5. | 09 October 2006, 23:23:11 UTC |
b1bc5d5 | Tom Lane | 09 October 2006, 01:45:57 UTC | Fix back-branch pg_regress scripts to try the "canonical" expected file if we tried a variant file from resultmap and it didn't match. This is already done in HEAD's C-code version, and is needed because OpenBSD has recently migrated to a more standard handling of float underflow --- see buildfarm results from emu. | 09 October 2006, 01:45:57 UTC |
d85820c | Tom Lane | 07 October 2006, 22:21:57 UTC | Fix ancient oversight in psql's \d pattern processing code: when seeing two quote chars inside quote marks, should emit one quote *and stay in inquotes mode*. No doubt the lack of reports of this have something to do with the poor documentation of the feature ... | 07 October 2006, 22:21:57 UTC |
9cd5c4f | Tom Lane | 07 October 2006, 00:12:12 UTC | Fix string_to_array() to correctly handle the case where there are overlapping possible matches for the separator string, such as string_to_array('123xx456xxx789', 'xx'). Also, revise the logic of replace(), split_part(), and string_to_array() to avoid O(N^2) work from redundant searches and conversions to pg_wchar format when there are N matches to the separator string. Backpatched the full patch as far as 8.0. 7.4 also has the bug, but the code has diverged a lot, so I just went for a quick-and-dirty fix of the bug itself in that branch. | 07 October 2006, 00:12:12 UTC |
e0c6d97 | Tom Lane | 01 October 2006, 18:54:57 UTC | date_trunc also accepts 'quarter'. Noted by Yoshihisa Nakano. | 01 October 2006, 18:54:57 UTC |
67b74fa | Tom Lane | 31 August 2006, 17:31:55 UTC | Clean up rather sloppy fix in HEAD for the ancient bug that CREATE CONVERSION didn't create a dependency from the new conversion to its schema. Back-patch to all supported releases. | 31 August 2006, 17:31:55 UTC |
ef34386 | Teodor Sigaev | 29 August 2006, 15:50:11 UTC | Fix mistyping | 29 August 2006, 15:50:11 UTC |
3672084 | Teodor Sigaev | 08 August 2006, 15:46:09 UTC | Fix bug introduced by last patch, thanks again to Mario Weilguni <mweilguni@sime.com> | 08 August 2006, 15:46:09 UTC |
8f0b1d0 | Teodor Sigaev | 07 August 2006, 17:42:12 UTC | fix bug about modifying value in shared buffer, what was a reason to corrupt index. Thank to Mario Weilguni <mweilguni@sime.com> to discover a bug. | 07 August 2006, 17:42:12 UTC |
d7295af | Alvaro Herrera | 31 July 2006, 01:09:52 UTC | Fix confusion between COPY FROM and COPY TO, per Gavin Sharry and Arul Shaji. | 31 July 2006, 01:09:52 UTC |
2962428 | Teodor Sigaev | 11 July 2006, 16:09:47 UTC | Fix bug corrupting query in gist consistent function. Thank to Mario Weilguni <mweilguni@sime.com> to discover a bug. | 11 July 2006, 16:09:47 UTC |
24ccd11 | Bruce Momjian | 06 July 2006, 02:02:48 UTC | Fix dbmirror for new backslash escaping: Martin Pitt [2006-06-16 0:15 +0200]: > Upstream confirmed my reply in the last mail in [1]: the complete > escaping logic in DBMirror.pl is seriously screwew. > > [1] http://archives.postgresql.org/pgsql-bugs/2006-06/msg00065.php I finally found some time to debug this, and I think I found a better patch than the one you proposed. Mine is still hackish and is still a workaround around a proper quoting solution, but at least it repairs the parsing without introducing the \' quoting again. I consider this a band-aid patch to fix the recent security update. PostgreSQL gurus, would you consider applying this until a better solution is found for DBMirror.pl? Martin Pitt http://www.piware.de | 06 July 2006, 02:02:48 UTC |
9e6815e | Michael Meskes | 19 June 2006, 09:20:32 UTC | Do not use already free'ed errmsg, bug found by Joachim Wieland <joachim.wieland@credativ.de> | 19 June 2006, 09:20:32 UTC |
8fc6b3d | Michael Meskes | 06 June 2006, 11:36:00 UTC | Fixed two memory leaks in ecpglib. | 06 June 2006, 11:36:00 UTC |
c8fc48e | Tom Lane | 03 June 2006, 16:49:46 UTC | Fix copy-and-pasteo in Russian translation: message complaining about HAVE_INT64_TIMESTAMP was mentioning PG_CONTROL_VERSION instead. Victor Snezhko | 03 June 2006, 16:49:46 UTC |
d4f4bc1 | Tom Lane | 01 June 2006, 04:10:25 UTC | Pre-8.0 branches need to cope with possibility that the system libc knows about the recent changes in US DST law. Add a variant horology file, so that either the old or new rules will be considered valid test results. | 01 June 2006, 04:10:25 UTC |
edec862 | Bruce Momjian | 22 May 2006, 01:34:20 UTC | Costmetic fix for bug template version stamp. | 22 May 2006, 01:34:20 UTC |
82f56fa | Tom Lane | 21 May 2006, 21:54:02 UTC | Stamp release 7.4.13. | 21 May 2006, 21:54:02 UTC |
d6a74fe | Tom Lane | 21 May 2006, 21:50:02 UTC | Update release notes for upcoming releases. | 21 May 2006, 21:50:02 UTC |
5421969 | Bruce Momjian | 21 May 2006, 20:28:26 UTC | Stamp releases 7.3.15, 7.4.13, and 8.0.8. | 21 May 2006, 20:28:26 UTC |
96871fc | Tom Lane | 21 May 2006, 20:20:24 UTC | 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. | 21 May 2006, 20:20:24 UTC |
2e319b0 | Tom Lane | 21 May 2006, 20:11:58 UTC | 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. | 21 May 2006, 20:11:58 UTC |
b252352 | Tom Lane | 21 May 2006, 20:06:45 UTC | Change the backend to reject strings containing invalidly-encoded multibyte characters in all cases. Formerly we mostly just threw warnings for invalid input, and failed to detect it at all if no encoding conversion was required. The tighter check is needed to defend against SQL-injection attacks as per CVE-2006-2313 (further details will be published after release). Embedded zero (null) bytes will be rejected as well. The checks are applied during input to the backend (receipt from client or COPY IN), so it no longer seems necessary to check in textin() and related routines; any string arriving at those functions will already have been validated. Conversion failure reporting (for characters with no equivalent in the destination encoding) has been cleaned up and made consistent while at it. Also, fix a few longstanding errors in little-used encoding conversion routines: win1251_to_iso, win866_to_iso, euc_tw_to_big5, euc_tw_to_mic, mic_to_euc_tw were all broken to varying extents. Patches by Tatsuo Ishii and Tom Lane. Thanks to Akio Ishida and Yasuo Ohgaki for identifying the security issues. | 21 May 2006, 20:06:45 UTC |
4849860 | Bruce Momjian | 21 May 2006, 19:57:07 UTC | Change \' to '', for SQL standards compliance. Backpatch to 7.3, 7.4, and 8.0. Later releases already patched. | 21 May 2006, 19:57:07 UTC |
c8fd45b | Tom Lane | 19 May 2006, 16:31:05 UTC | Fix nasty bug in nodeIndexscan.c's detection of duplicate tuples during a multiple (OR'ed) indexscan. It was checking for duplicate tuple->t_data->t_ctid, when what it should be checking is tuple->t_self. The trouble situation occurs when a live tuple has t_ctid not pointing to itself, which can happen if an attempted UPDATE was rolled back. After a VACUUM, an unrelated tuple could be installed where the failed update tuple was, leading to one live tuple's t_ctid pointing to an unrelated tuple. If one of these tuples is fetched by an earlier OR'ed indexscan and the other by a later indexscan, nodeIndexscan.c would incorrectly ignore the second tuple. The bug exists in all 7.4.* and 8.0.* versions, but not in earlier or later branches because this code was only used in those releases. Per trouble report from Rafael Martinez Guerrero. | 19 May 2006, 16:31:05 UTC |
c5c3d8c | Tom Lane | 12 May 2006, 22:44:58 UTC | Fix the sense of the test on DH_check()'s return value. This was preventing custom-generated DH parameters from actually being used by the server. Found by Michael Fuhr. | 12 May 2006, 22:44:58 UTC |
d4ec87c | Tom Lane | 11 May 2006, 21:59:47 UTC | Remove unnecessary .seg/.section directives, per Alan Stange. | 11 May 2006, 21:59:47 UTC |
1d18949 | Michael Meskes | 24 April 2006, 09:46:32 UTC | Fixed memory leak bugs found by Martijn Oosterhout. | 24 April 2006, 09:46:32 UTC |
8a3789c | Tom Lane | 19 April 2006, 16:15:52 UTC | Fix ancient memory leak in PQprintTuples(); our code no longer uses this routine, but perhaps some applications do. Found by Martijn van Oosterhout using Coverity. | 19 April 2006, 16:15:52 UTC |
e1b40c5 | Tom Lane | 13 April 2006, 18:01:53 UTC | Fix similar_escape() so that SIMILAR TO works properly for patterns involving alternatives ("|" symbol). The original coding allowed the added ^ and $ constraints to be absorbed into the first and last alternatives, producing a pattern that would match more than it should. Per report from Eric Noriega. I also changed the pattern to add an ARE director ("***:"), ensuring that SIMILAR TO patterns do not change behavior if regex_flavor is changed. This is necessary to make the non-capturing parentheses work, and seems like a good idea on general principles. Back-patched as far as 7.4. 7.3 also has the bug, but a fix seems impractical because that version's regex engine doesn't have non-capturing parens. | 13 April 2006, 18:01:53 UTC |
e314c3f | Teodor Sigaev | 03 April 2006, 10:27:28 UTC | Detoast query in g_intbig_consistent and copy query in g_int_consistent. Minor cleanups. | 03 April 2006, 10:27:28 UTC |
e243ba2 | Tom Lane | 28 March 2006, 21:17:58 UTC | Repair longstanding error in btree xlog replay: XLogReadBuffer should be passed extend = true whenever we are reading a page we intend to reinitialize completely, even if we think the page "should exist". This is because it might indeed not exist, if the relation got truncated sometime after the current xlog record was made and before the crash we're trying to recover from. These two thinkos appear to explain both of the old bug reports discussed here: http://archives.postgresql.org/pgsql-hackers/2005-05/msg01369.php | 28 March 2006, 21:17:58 UTC |
ac2c2a4 | Michael Meskes | 19 March 2006, 12:32:13 UTC | Fixed bug 2330: Wrong error code in case of a duplicate key | 19 March 2006, 12:32:13 UTC |
efef460 | Neil Conway | 18 March 2006, 22:10:44 UTC | The call to DNSServiceRegistrationCreate in postmaster.c does incorrect byte-swapping on the port number which causes the call to fail on Intel Macs. This patch uses htons() instead of htonl() and fixes this bug. Ashley Clark | 18 March 2006, 22:10:44 UTC |
ecd635c | Tatsuo Ishii | 04 March 2006, 12:09:47 UTC | Tighten up SJIS byte sequence check. Now we reject invalid SJIS byte sequence such as "0x95 0x27". Patches from Akio Ishida. | 04 March 2006, 12:09:47 UTC |
bf578ae | Neil Conway | 20 February 2006, 20:10:45 UTC | Fix three Python reference leaks in PLy_traceback(). This would result in leaking memory when invoking a PL/Python procedure that raises an exception. Unfortunately this still leaks memory, but at least the largest leak has been plugged. This patch also fixes a reference counting mistake in PLy_modify_tuple() for 8.0, 8.1 and HEAD: we don't actually own a reference to `platt', so we shouldn't Py_DECREF() it. | 20 February 2006, 20:10:45 UTC |
ac2172d | Neil Conway | 18 February 2006, 20:49:00 UTC | Patch from Marko Kreen: pgcrypto crypt()/md5 and hmac() leak memory when compiled against OpenSSL as openssl.c digest ->reset will do two DigestInit calls against a context. This happened to work with OpenSSL 0.9.6 but not with 0.9.7+. Reason for the messy code was that I tried to avoid creating wrapper structure to transport algorithm info and tried to use OpenSSL context for it. The fix is to create wrapper structure. It also uses newer digest API to avoid memory allocations on reset with newer OpenSSLs. Thanks to Daniel Blaisdell for reporting it. | 18 February 2006, 20:49:00 UTC |
a41379f | Tom Lane | 12 February 2006, 22:38:30 UTC | Stamp 7.4.12. | 12 February 2006, 22:38:30 UTC |
8cef661 | Tom Lane | 12 February 2006, 22:36:05 UTC | Update release notes. | 12 February 2006, 22:36:05 UTC |
7ef174c | Tom Lane | 12 February 2006, 22:33:29 UTC | Fix bug in SET SESSION AUTHORIZATION that allows unprivileged users to crash the server, if it has been compiled with Asserts enabled (CVE-2006-0553). Thanks to Akio Ishida for reporting this problem. | 12 February 2006, 22:33:29 UTC |
86b2da8 | Bruce Momjian | 12 February 2006, 18:50:26 UTC | Update FAQ latest version | 12 February 2006, 18:50:26 UTC |
81c303c | Bruce Momjian | 12 February 2006, 18:41:39 UTC | Stamp releases for 2006-02-14 release | 12 February 2006, 18:41:39 UTC |
dd56158 | Bruce Momjian | 12 February 2006, 18:23:22 UTC | Update release notes for 2006-02-14 release | 12 February 2006, 18:23:22 UTC |
7da4e7a | Tom Lane | 21 January 2006, 04:38:46 UTC | Repair longstanding bug in slru/clog logic: it is possible for two backends to try to create a log segment file concurrently, but the code erroneously specified O_EXCL to open(), resulting in a needless failure. Before 7.4, it was even a PANIC condition :-(. Correct code is actually simpler than what we had, because we can just say O_CREAT to start with and not need a second open() call. I believe this accounts for several recent reports of hard-to-reproduce "could not create file ...: File exists" errors in both pg_clog and pg_subtrans. | 21 January 2006, 04:38:46 UTC |
e05a95b | Neil Conway | 12 January 2006, 22:29:31 UTC | We neglected to apply domain constraints on UNKNOWN parameters to prepared statements, per report from David Wheeler. | 12 January 2006, 22:29:31 UTC |
e76bb5c | Tom Lane | 12 January 2006, 21:49:32 UTC | Repair "Halloween problem" in EvalPlanQual: a tuple that's been inserted by our own command (or more generally, xmin = our xact and cmin >= current command ID) should not be seen as good. Else we may try to update rows we already updated. This error was inserted last August while fixing the even bigger problem that the old coding wouldn't see *any* tuples inserted by our own transaction as good. Per report from Euler Taveira de Oliveira. | 12 January 2006, 21:49:32 UTC |
1937d8d | Tom Lane | 12 January 2006, 19:24:27 UTC | Use a more bulletproof test for whether finite() and isinf() are present. It seems that recent gcc versions can optimize away calls to these functions even when the functions do not exist on the platform, resulting in a bogus positive result. Avoid this by using a non-constant argument and ensuring that the function result is not simply discarded. Per report from François Laupretre. | 12 January 2006, 19:24:27 UTC |
1fc010c | Tom Lane | 09 January 2006, 21:16:46 UTC | Fix pg_dump to add the required OPERATOR() decoration to schema-qualified operator names. This is needed when dumping operator definitions that have COMMUTATOR (or similar) links to operators in other schemas. Apparently Daniel Whitter is the first person ever to try this :-( | 09 January 2006, 21:16:46 UTC |
2942023 | Tom Lane | 06 January 2006, 20:11:31 UTC | Fix failure to apply domain constraints to a NULL constant that's added to an INSERT target list during rule rewriting. Per report from John Supplee. | 06 January 2006, 20:11:31 UTC |
e9b0c2d | Tom Lane | 06 January 2006, 03:00:34 UTC | Release-note updates and copy editing. | 06 January 2006, 03:00:34 UTC |
7de3bec | Tom Lane | 06 January 2006, 02:31:08 UTC | Generate back-branch configure scripts with the appropriate version of autoconf. | 06 January 2006, 02:31:08 UTC |
f1f15af | Bruce Momjian | 05 January 2006, 15:17:40 UTC | New pgcrypto item wording. | 05 January 2006, 15:17:40 UTC |
877ecee | Bruce Momjian | 05 January 2006, 15:11:33 UTC | Wording improvements. | 05 January 2006, 15:11:33 UTC |
f8c7c06 | Bruce Momjian | 05 January 2006, 14:52:58 UTC | Improve markup. | 05 January 2006, 14:52:58 UTC |
721205b | Bruce Momjian | 05 January 2006, 05:22:09 UTC | *** empty log message *** | 05 January 2006, 05:22:09 UTC |
12693c6 | Bruce Momjian | 05 January 2006, 03:59:48 UTC | Stamp release 7.4.11. | 05 January 2006, 03:59:48 UTC |
d514752 | Tom Lane | 05 January 2006, 00:55:24 UTC | Arrange to set the LC_XXX environment variables to match our locale setup. Back-patch of previous fix in HEAD for plperl-vs-locale issue. | 05 January 2006, 00:55:24 UTC |
37cdf43 | Tom Lane | 05 January 2006, 00:51:25 UTC | Add port support for unsetenv() in back branches. Needed for locale environment fix. | 05 January 2006, 00:51:25 UTC |
fcacfc9 | Joe Conway | 03 January 2006, 23:48:04 UTC | When the remote query result has a different number of columns than the local query specifies (e.g. in the FROM clause), throw an ERROR (instead of crashing). Fix for bug #2129 reported by Akio Iwaasa. | 03 January 2006, 23:48:04 UTC |
8dc7c8c | Tom Lane | 03 January 2006, 23:46:51 UTC | There is a signedness bug in Openwall gen_salt code that pgcrypto uses. This makes the salt space for md5 and xdes algorithms a lot smaller than it should be. Marko Kreen | 03 January 2006, 23:46:51 UTC |
bf8128f | Neil Conway | 01 January 2006, 10:14:27 UTC | Remove DOS line endings ("\r\n") from several .po files. DOS line endings are inconsistent with the rest of the .po files, and apparently cause problems for Sun's cc. Per report on IRC from "bitvector2". | 01 January 2006, 10:14:27 UTC |
b2af5a2 | Tatsuo Ishii | 24 December 2005, 10:40:55 UTC | Fix long standing Asian multibyte charsets bug. See: Subject: [HACKERS] bugs with certain Asian multibyte charsets From: Tatsuo Ishii <ishii@sraoss.co.jp> To: pgsql-hackers@postgresql.org Date: Sat, 24 Dec 2005 18:25:33 +0900 (JST) for more details. | 24 December 2005, 10:40:55 UTC |
0862aea | Tom Lane | 22 December 2005, 22:50:22 UTC | Adjust string comparison so that only bitwise-equal strings are considered equal: if strcoll claims two strings are equal, check it with strcmp, and sort according to strcmp if not identical. This fixes inconsistent behavior under glibc's hu_HU locale, and probably under some other locales as well. Also, take advantage of the now-well-defined behavior to speed up texteq, textne, bpchareq, bpcharne: they may as well just do a bitwise comparison and not bother with strcoll at all. NOTE: affected databases may need to REINDEX indexes on text columns to be sure they are self-consistent. | 22 December 2005, 22:50:22 UTC |
b1ea82f | Tom Lane | 14 December 2005, 17:07:00 UTC | Defend against crash while processing Describe Statement or Describe Portal messages, when client attempts to execute these outside a transaction (start one) or in a failed transaction (reject message, except for COMMIT/ROLLBACK statements which we can handle). Per report from Francisco Figueiredo Jr. | 14 December 2005, 17:07:00 UTC |
6acbe66 | Peter Eisentraut | 09 December 2005, 22:12:26 UTC | Translation updates | 09 December 2005, 22:12:26 UTC |
9c8c45e | Tom Lane | 09 December 2005, 20:53:26 UTC | Stamp 7.4.10. | 09 December 2005, 20:53:26 UTC |
c8457e0 | Tom Lane | 09 December 2005, 20:40:56 UTC | Add release notes for back branches (7.3 and up). Also minor improvements to 8.1.1 release notes. | 09 December 2005, 20:40:56 UTC |
d45693f | Peter Eisentraut | 08 December 2005, 20:44:18 UTC | Documentation fix: s/event_object_name/event_object_table/g | 08 December 2005, 20:44:18 UTC |