Commit graph

2702 commits

Author SHA1 Message Date
Magnus Hagander
b25d3e4db0 The correct min buffer size is
INITIAL_EXPBUFFER_SIZE, not PQERRORMSG_LENGTH.

Backpatch only, the proper fix in HEAD is
to use PQExpBuffers everywhere.
2007-07-23 18:13:02 +00:00
Michael Meskes
7b5d257ee1 Removed errant ISODOW 2007-05-21 14:57:16 +00:00
Michael Meskes
287671749c Backported fix from HEAD that removes superfluous function Vista has a problem with 2007-05-21 07:12:51 +00:00
Michael Meskes
56680bae08 Removed non-existant function from extern.h 2007-04-27 07:55:28 +00:00
Michael Meskes
72e6a18813 Inlined two functions to get rid of va_list prolems on some archs. 2007-04-27 06:58:24 +00:00
Bruce Momjian
4938f2d6c0 Stamp releases 8.2.4, 8.1.9, 8.0.13, 7.4.17, 7.3.19. 2007-04-19 03:06:50 +00:00
Tom Lane
b190aae9ad Fix typo, ensable -> enable, per Steve Gieseking. 2007-03-27 03:25:43 +00:00
Michael Meskes
e9a97570fa Backported bug fix for #2956. 2007-02-27 13:27:05 +00:00
Bruce Momjian
94bf5466b0 Stamp releases 8.2.3, 8.1.8, 8.0.12. No release notes yet. 2007-02-07 03:48:38 +00:00
Michael Meskes
7fd912e854 Backported va_list handling cleanup 2007-02-06 09:41:52 +00:00
Tom Lane
924c1d4ceb Stamp release 8.1.7.
Security: CVE-2007-0555, CVE-2007-0556
2007-02-02 00:14:48 +00:00
Peter Eisentraut
139e4a2635 Translation updates 2007-01-31 08:27:01 +00:00
Bruce Momjian
9b9758bb77 Stamp release 8.1.6. 2007-01-05 20:53:49 +00:00
Michael Meskes
a2281c8e6f Applied patch by Peter Harris to free auto_mem struct in ECPGconnect. 2006-11-08 10:48:27 +00:00
Bruce Momjian
7cec8b4e4a Stamp releases 7.3.16, 7.4.14, 8.0.9, and 8.1.5. 2006-10-09 23:39:03 +00:00
Michael Meskes
9084f700e5 Backported buffer overrun from HEAD 2006-08-18 16:33:29 +00:00
Michael Meskes
017d79b10d Applied the connect patch from HEAD. 2006-08-18 16:00:06 +00:00
Michael Meskes
bf1cd364b6 Fixed remaining Coverity bugs. 2006-07-05 10:50:06 +00:00
Michael Meskes
88f396e1cb Added missing braces to prevent a segfault after usage of an undeclared cursor. 2006-06-26 14:12:42 +00:00
Michael Meskes
1bdea12e5c Added some more coverity report patches send in by Joachim Wieland <joe@mcknight.de>. 2006-06-26 09:20:19 +00:00
Michael Meskes
5ececcbbf5 Moved some free() calls that coverity correctly complains about. 2006-06-25 09:59:18 +00:00
Michael Meskes
ca1d26338b Added some more coverity report patches send in by Martijn van Oosterhout <kleptog@svana.org>. 2006-06-21 11:38:26 +00:00
Michael Meskes
08f1973911 Added fixes from the coverity report send in by Joachim Wieland <joe@mcknight.de>
Added missing error handling in a few functions in ecpglib.
2006-06-21 10:29:50 +00:00
Michael Meskes
23623f05f0 Do not use already free'ed errmsg, bug found by Joachim Wieland
<joachim.wieland@credativ.de>
2006-06-19 09:20:07 +00:00
Bruce Momjian
06a1807e5e Have BCC echo output "" using "", rather than \"\" as earlier reported.
Backpatch to 8.1.X.
2006-06-06 16:17:31 +00:00
Michael Meskes
aac12de9b6 Fixed two memory leaks in ecpglib. 2006-06-06 11:36:22 +00:00
Tom Lane
53409f1b37 Remove pqsignalinquire(), which is unused and has portability issues. 2006-05-30 15:58:07 +00:00
Tom Lane
7f615cab57 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:19:44 +00:00
Bruce Momjian
e720382441 Stamp 8.1.4, except configure/configure.in. 2006-05-19 03:57:17 +00:00
Bruce Momjian
ae6124627b Use SQL standard '' rather than \' for tutorial/sample code.
Backpatch to 8.1.X.
2006-05-11 19:21:31 +00:00
Michael Meskes
e37c0d2eb8 Fixed memory leak bugs found by Martijn Oosterhout. 2006-04-24 09:45:44 +00:00
Bruce Momjian
499ec8c7e4 Fixes for BCC 5.5 compile of libpq. Backpatch to 8.1.X.
Mark Morgan Lloyd
2006-04-24 04:03:42 +00:00
Tom Lane
bc5ba26d6b 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.
2006-04-19 16:15:34 +00:00
Michael Meskes
85fa81f65b Fixed bug 2330: Wrong error code in case of a duplicate key 2006-03-19 12:29:40 +00:00
Bruce Momjian
a0af608adc * Stephen Frost (sfrost@snowman.net) wrote:
>   I've now tested this patch at home w/ 8.2HEAD and it seems to fix the
>   bug.  I plan on testing it under 8.1.2 at work tommorow with
>   mod_auth_krb5, etc, and expect it'll work there.  Assuming all goes
>   well and unless someone objects I'll forward the patch to -patches.
>   It'd be great to have this fixed as it'll allow us to use Kerberos to
>   authenticate to phppgadmin and other web-based tools which use
>   Postgres.

  While playing with this patch under 8.1.2 at home I discovered a
  mistake in how I manually applied one of the hunks to fe-auth.c.
  Basically, the base code had changed and so the patch needed to be
  modified slightly.  This is because the code no longer either has a
  freeable pointer under 'name' or has 'name' as NULL.

  The attached patch correctly frees the string from pg_krb5_authname
  (where it had been strdup'd) if and only if pg_krb5_authname returned
  a string (as opposed to falling through and having name be set using
  name = pw->name;).  Also added a comment to this effect.

Backpatch to 8.1.X.

Stephen Frost
2006-03-06 17:59:42 +00:00
Bruce Momjian
a318438fb3 Stamp 8.1.3, but exclude configure.in/configure change. 2006-02-12 17:17:39 +00:00
Bruce Momjian
cfcf54ac89 Fix HTML alignment in PQprint.
Christoph Zwerschke
2006-02-07 00:26:38 +00:00
Bruce Momjian
763b9c1901 Fix PQprint HTML tag, "centre" -> "center". 2006-02-06 02:23:17 +00:00
Tom Lane
f31a58481c Remove unnecessary PQconsumeInput call from PQputCopyData; it's redundant
because pqSendSome will absorb input data anytime it'd be forced to block.
Avoiding a kernel call per PQputCopyData call helps COPY speed materially.

Alon Goldshuv
2006-01-25 20:44:49 +00:00
Tom Lane
b34608fbdd Fix unportable usage of socklen_t: should use ACCEPT_TYPE_ARG3 macro
provided by configure, instead.  Per bug #2205.
2006-01-24 16:38:50 +00:00
Neil Conway
afe91cae6c When using GCC on AMD64 and PPC, ECPGget_variable() takes a va_list *, not
a va_list. Christof Petig's previous patch made this change, but neglected
to update ecpglib/descriptor.c, resulting in a compiler warning (and a
likely runtime crash) on AMD64 and PPC.
2006-01-15 22:47:10 +00:00
Bruce Momjian
f54a68d24a Stamp release 8.1.2. 2006-01-05 04:02:26 +00:00
Neil Conway
49d3d5dc17 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".
2006-01-01 10:14:21 +00:00
Bruce Momjian
96a1732710 Stamp 8.1.1. 2005-12-08 22:31:10 +00:00
Tom Lane
edae280e69 ecpg/pgtypeslib seems to need snprintf.c pulled in, too. 2005-12-06 05:26:30 +00:00
Tom Lane
f244c488fb Make Win32 build use our port/snprintf.c routines, instead of depending
on libintl which may or may not provide what we need.  Make a few marginal
cleanups to ensure this works.  Andrew Dunstan and Tom Lane.
2005-12-06 02:29:27 +00:00
Michael Meskes
43a10d3a16 Added special handling of CONNECTION variable that is used by ECPG instead of given to the backend.
I failed to notice that CONNECTION had become a keyword in 8.1.
2005-12-02 15:04:48 +00:00
Michael Meskes
dd13bf167b - Made several variables "const char *" instead of "char *" as proposed by Qingqing Zhou <zhouqq@cs.toronto.edu>.
- Replaced all strdup() calls by ECPGstrdup().
2005-11-30 12:50:37 +00:00
Tom Lane
73fa3d9a96 Add missing semicolon. Recent versions of bison seem to choke on this,
per buildfarm report from platypus, even though older versions let it pass.
2005-11-27 01:22:36 +00:00
Bruce Momjian
bef7764835 Re-run pgindent, fixing a problem where comment lines after a blank
comment line where output as too long, and update typedefs for /lib
directory.  Also fix case where identifiers were used as variable names
in the backend, but as typedefs in ecpg (favor the backend for
indenting).

Backpatch to 8.1.X.
2005-11-22 18:23:31 +00:00