Commit Graph

3253 Commits

Author SHA1 Message Date
Tom Lane
ac73ced725 Fix already-obsolete hint message ... sslverify parameter is no more. 2009-05-03 17:16:58 +00:00
Magnus Hagander
e883d0b551 Remove sslverify parameter again, replacing it with two new sslmode values:
"verify-ca" and "verify-full".

Since "prefer" remains the default, this will make certificate validation
off by default, which should lead to less upgrade issues.
2009-04-24 09:43:10 +00:00
Tom Lane
ce53791b2a Assorted portability fixes for Borland C, from Pavel Golub. 2009-04-19 22:37:13 +00:00
Bruce Momjian
418fd59663 Add libpq error message text on how to handle missing root.crt file. 2009-04-14 17:30:16 +00:00
Peter Eisentraut
80a836cab4 Translation updates for 8.4 beta 2009-04-09 19:38:53 +00:00
Heikki Linnakangas
1eef90d0a2 Rename the new CREATE DATABASE options to set collation and ctype into
LC_COLLATE and LC_CTYPE, per discussion on pgsql-hackers.
2009-04-06 08:42:53 +00:00
Tom Lane
97503a5200 Add PQinitOpenSSL() function to support applications that use libcrypto
but not OpenSSL (or perhaps vice versa, if that's possible).

Andrew Chernow, with minor editorialization by me.
2009-03-31 01:41:27 +00:00
Bruce Momjian
b86a71c8f4 Clarify variable naming: pq_initssllib -> pq_init_ssl_lib 2009-03-28 18:48:55 +00:00
Bruce Momjian
3ab95c2ab0 Better document PQinitSSL(0) behavior in regards to libcrypto. 2009-03-28 01:36:11 +00:00
Peter Eisentraut
8032d76b5b Gettext plural support
In the backend, I changed only a handful of exemplary or important-looking
instances to make use of the plural support; there is probably more work
there.  For the rest of the source, this should cover all relevant cases.
2009-03-26 22:26:08 +00:00
Tom Lane
727ffa1d1e Clean up pg_SSPI_error() coding a little bit: make the messages more
consistent, translate where intended, const-ify declarations.
Resolves a gripe from Alvaro as well as some stuff I didn't like.
2009-03-22 18:06:35 +00:00
Tom Lane
0fd85d7879 Remove the datetime keywords ABSTIME and RELTIME, which we'd been treating as
noise words for the last twelve years, for compatibility with Berkeley-era
output formatting of the special INVALID values for those datatypes.
Considering that the datatypes themselves have been deprecated for awhile,
this is taking backwards compatibility a little far.  Per gripe from Josh
Berkus.
2009-03-22 01:12:32 +00:00
Alvaro Herrera
fb2ebae498 Add comments about kwlookup.c expectations 2009-03-08 16:53:30 +00:00
Alvaro Herrera
328d235571 Separate the key word list that lived in keywords.c into a new header file
kwlist.h, to avoid having to link the backend object file into other programs
like pg_dump.  We can now simply symlink a single source file from the backend
(kwlookup.c, containing the shared routine ScanKeywordLookup) and compile it
locally, which is a lot cleaner.
2009-03-07 00:13:58 +00:00
Peter Eisentraut
cd3b750929 Sort the output of --help mostly alphabetical, make it align better, make
help of pg_dump and pg_dumpall more similar.
2009-02-25 13:03:07 +00:00
Bruce Momjian
e795b56322 ecpg requires libpq; add Makefile rules to require libpq to be built
first.

Alvaro Herrera
2009-02-07 17:17:34 +00:00
Michael Meskes
78cbd49826 Mixing long and int entries of a union only works on some architectures. 2009-02-05 08:28:47 +00:00
Michael Meskes
649a1252b7 Added result checks for calls to gmtime(). 2009-02-04 08:51:10 +00:00
Michael Meskes
08ffa78483 Argh, wrong line copied again. 2009-02-03 08:55:45 +00:00
Michael Meskes
efd019fc94 Fixed copy&paste mistake that made library use uninitialized variable. 2009-02-03 08:48:29 +00:00
Michael Meskes
80f95a6500 When changing a regression test file one should also change the expected output file. 2009-02-02 16:54:28 +00:00
Michael Meskes
934eab7cd5 Set memory segment to '0', just to be sure. 2009-02-02 16:49:50 +00:00
Michael Meskes
2d3c691146 Fixed auto allocation for binary data types. 2009-02-02 16:14:06 +00:00
Michael Meskes
77ca045384 Fixed bug in %s handling. 2009-02-02 15:35:28 +00:00
Peter Eisentraut
cb629f7225 Make messages consistent with existing ones 2009-01-30 12:53:43 +00:00
Peter Eisentraut
c05460fe50 Whitespace fix in message 2009-01-30 12:53:12 +00:00
Peter Eisentraut
7adbd76655 Message fix 2009-01-29 09:38:38 +00:00
Magnus Hagander
16c46d5d7a Go over all OpenSSL return values and make sure we compare them
to the documented API value. The previous code got it right as
it's implemented, but accepted too much/too little compared to
the API documentation.

Per comment from Zdenek Kotala.
2009-01-28 15:06:47 +00:00
Peter Eisentraut
39ab3c1c61 Message format tuning 2009-01-26 10:19:44 +00:00
Peter Eisentraut
3b35a904aa Message style review 2009-01-23 12:43:32 +00:00
Peter Eisentraut
9c4b69ed5c Recreate ecpg_config.h with a stamp file created by config.status, same
way pg_config.h is handled.  This avoids reruns of config.status on every
build, if configure has been rerun.
2009-01-22 22:27:13 +00:00
Tom Lane
cc1d292d78 Fix accidental (I suppose) introduction of non-ASCII quote marks. 2009-01-19 17:17:50 +00:00
Peter Eisentraut
0d8c613180 Message wordsmithing 2009-01-19 08:59:13 +00:00
Peter Eisentraut
19afb4e805 Wordsmithing 2009-01-16 09:15:03 +00:00
Peter Eisentraut
cb05ab81a8 NLS cleanup in ecpglib
Replace leftover instances of _() by ecpg_gettext(), the latter being the
correct way to refer to the library's message catalog, instead of the one of
the program using the library.

Drop NLS support for ecpg_log(), which is a debugging instrument similar to
elog() in the backend.

We cannot support NLS in the ecpg compatlib, because that requires
ecpg_gettext, which is in ecpglib, which is not a dependency of compatlib.  It
doesn't seem worthwhile to worry about this, since the only translatable
string is "out of memory", and gettext probably won't be able to do much
without memory either.

Adjust messages to project style.
2009-01-15 11:52:55 +00:00
Peter Eisentraut
cbb1358b18 Build needed things in src/test/regress/ first. And some build rules
normalization.
2009-01-15 09:30:20 +00:00
Peter Eisentraut
08585dcf13 misc.o depends on pg_config_paths.h when --enable-nls is used. 2009-01-14 14:54:35 +00:00
Magnus Hagander
64580224f9 Remove special-handling of usernames with Kerberos authentication. We will
now always use the system username as the default, and not try to pick it up
from the kerberos ticket.

This fixes the spurious error messages that show up on kerberos-enabled builds
when not actually using kerberos, and puts it in line with how other authentication
methods work.
2009-01-13 10:43:21 +00:00
Tom Lane
d25ada4d78 Fix libpq so that it reports PGRES_EMPTY_QUERY not PGRES_COMMAND_OK when an
empty query string is passed to PQexecParams and related functions.  Its
handling of the NoData response to Describe messages was subtly incorrect.
Per my report of yesterday.

Although I consider this a bug, it's a behavioral change that might affect
applications, so not back-patched.

In passing fix a second issue in the same code: it didn't react well to an
out-of-memory failure while trying to make the PGresult object.
2009-01-09 18:50:03 +00:00
Magnus Hagander
75eafe965e Don't require pqGetHomeDirectory to succeed if the user has specified
hardcoded paths for SSL rootcert/crl/clientcert/key.

As noted by Andrew Chernow
2009-01-07 12:02:46 +00:00
Peter Eisentraut
46866e92bd Fix for cross-compilation between mingw32 and something else. The choice
of pwd vs. pwd -W is correctly a function of the build system, not the
host system.
2009-01-05 09:54:13 +00:00
Peter Eisentraut
26af72b46b Allow out-of-tree builds on mingw and cygwin
Author: Richard Evans <richard.evans@blueallegro.net>
2009-01-05 09:27:20 +00:00
Peter Eisentraut
a3114e52f6 Split the ecpg translation support into a separate catalog for the ecpg
preprocessor and the library.  This is useful for a number of reasons:

* The preprocessor and the library are in some cases installed in separate
packages and used by different classes of users.

* The library MO files need a different versioning scheme to account for the
soname.

* The makefiles are simpler, more robust, and easier to maintain this way.
(NLS web site was prone to break everytime a build rule changes.)

* Translators might choose to focus on the ecpglib, because that is more
user-facing.

* There was virtually no overlap, so nothing is lost.
2009-01-02 13:26:54 +00:00
Tom Lane
62b64cbb48 Fix a couple of missed copyright dates. 2009-01-01 17:59:40 +00:00
Bruce Momjian
511db38ace Update copyright for 2009. 2009-01-01 17:24:05 +00:00
Michael Meskes
bdfde2b390 Finally the last test. 2008-12-29 17:48:11 +00:00
Michael Meskes
3c82099c82 First rounf of whitespace changes. Everything but connect-test1 should be fine. 2008-12-29 17:07:06 +00:00
Michael Meskes
e05c5a908b Applied patch by ITAGAKI Takahiro <itagaki.takahiro@oss.ntt.co.jp> to
fix segfault on non-glibc systems.
2008-12-17 16:52:07 +00:00
Tom Lane
d1c24460bf Fix cast-away-const problem as well as bogus calculation of required buffer size. 2008-12-15 19:07:48 +00:00
Michael Meskes
3f7e1e4b91 Do not try to change a const variable. 2008-12-15 15:34:07 +00:00
Magnus Hagander
5f3724dd7c Support specifying filename for SSL certificate, key, root certificate store
and certificate revokation list by using connection parameters or environment
variables.

Original patch by Mark Woodward, heavily reworked by Alvaro Herrera and
Magnus Hagander.
2008-12-15 10:28:22 +00:00
Michael Meskes
192dd845a1 Using clause has to accept signed numeric constants too. 2008-12-12 12:14:43 +00:00
Peter Eisentraut
218b4e8dd8 Append major version number and for libraries soname major version number
to the gettext domain name, to simplify parallel installations.

Also, rename set_text_domain() to pg_bindtextdomain(), because that is what
it does.
2008-12-11 07:34:09 +00:00
Peter Eisentraut
b2971e2048 Set up ar, dlltool, dllwrap, and windres for cross-compiling if necessary.
Plus some makefile cleanup.

part of a patch from Richard Evans
2008-12-07 08:36:22 +00:00
Magnus Hagander
30c52532d2 Comment said we don't free the lockarray, and why. The proper fix is to
make the code do what the comment says...
2008-12-04 14:07:42 +00:00
Bruce Momjian
98be3b49be Fix typo in recent SSL unload patch.
Kris Jurka
2008-12-04 02:52:31 +00:00
Magnus Hagander
4e81628653 Properly unregister OpenSSL callbacks when libpq is done with
it's connection. This is required for applications that unload
the libpq library (such as PHP) in which case we'd otherwise
have pointers to these functions when they no longer exist.

This needs a bit more testing before we can consider a backpatch,
so not doing that yet.

In passing, remove unused functions in backend/libpq.

Bruce Momjian and Magnus Hagander, per report and analysis
by Russell Smith.
2008-12-03 20:04:26 +00:00
Magnus Hagander
2c69fa0c38 Change wildcard cerfificate mapping to be much simler - we now only match
the * character at the beginning of a pattern, and it does not match
subdomains.

Since this means we no longer need fnmatch, remove the imported implementation
from port, along with the autoconf check for it.
2008-12-02 10:39:31 +00:00
Michael Meskes
ac03efbb9c Removed port testing. 2008-12-01 11:37:37 +00:00
Tom Lane
b651b2a5c2 Make sure we give an appropriate user-facing error when attempting
to drop a table that is referenced by an open cursor.  Fix unstable
ecpg regression test result that was produced by this oversight.
2008-11-29 00:13:21 +00:00
Tom Lane
2a6108ac24 Partial fix for fallout from temp-port changes. ecpg still needs more work,
but I think this is enough to turn the buildfarm green again.
2008-11-28 23:47:51 +00:00
Michael Meskes
df559de9c1 interval.c needs limits.h 2008-11-26 16:47:08 +00:00
Michael Meskes
7c5a561f31 Applied patch by Ron Mayer <rm_pg@cheapcomplexdevices.com> to merge the new
interval style into ecpg.
2008-11-26 16:31:02 +00:00
Tom Lane
cbb3e1cda7 Tweak new PQExpBufferBroken macro to suppress warnings from pickier
versions of gcc.
2008-11-26 16:23:11 +00:00
Michael Meskes
ba34215269 Removed strchrnul 2008-11-26 15:35:30 +00:00
Michael Meskes
c4a13c7e3c When creating a varchar struct name braces must be discarded. 2008-11-26 13:18:22 +00:00
Peter Eisentraut
a53536d031 Add %expect 0 to all parser input files to prevent conflicts slipping by. 2008-11-26 08:45:12 +00:00
Tom Lane
739259d62e Adjust the behavior of the PQExpBuffer code to make it have well-defined
results (ie, an empty "broken" buffer) if memory overrun occurs anywhere
along the way to filling the buffer.  The previous coding would just silently
discard portions of the intended buffer contents, as exhibited in trouble
report from Sam Mason.  Also, tweak psql's main loop to correctly detect
and report such overruns.  There's probably much more that should be done
in this line, but this is a start.
2008-11-26 00:26:23 +00:00
Tom Lane
1304f297a4 Remove PGINTERVALSTYLE from the set of special environment variables for
libpq.  As noted by Peter, adding this variable created a risk of unexpected
connection failures when talking to older server versions, and since it
doesn't do anything you can't do with PGOPTIONS, it doesn't seem really
necessary.  Removing it does occasion a few extra lines in pg_regress.c,
but saving a getenv() call per libpq connection attempt is perhaps worth
that anyway.
2008-11-25 19:30:42 +00:00
Magnus Hagander
47ed197c37 Disable FNM_CASEFOLD. Need a proper solution later, but just comment
it out for now so the buildfarm recovers.
2008-11-24 19:19:46 +00:00
Magnus Hagander
cb10467d30 Add support for matching wildcard server certificates to the new SSL code.
This uses the function fnmatch() which is not available on all platforms
(notably Windows), so import the implementation from NetBSD into src/port.
2008-11-24 09:15:16 +00:00
Tom Lane
30f272a79b Add missing dependencies to preproc.y build rule 2008-11-15 22:20:55 +00:00
Andrew Dunstan
f30a1d0474 Add missing semicolon, per grip from Alex Hunsaker. 2008-11-15 22:18:05 +00:00
Tom Lane
fbaa172d65 ecpg's preproc.y is now generated as needed, so remove from CVS. 2008-11-14 17:43:14 +00:00
Tom Lane
1a0bbc296c Improve comment about when to clean generated files. 2008-11-14 17:18:20 +00:00
Michael Meskes
b78f9b496d Enable script to generate preproc.y in build process. 2008-11-14 17:11:40 +00:00
Michael Meskes
a76e98f021 Fixed test for output_filename == stdout. 2008-11-14 16:25:34 +00:00
Michael Meskes
e339ed5f50 Added files containing changes between gram.y and preproc.y. 2008-11-14 10:03:33 +00:00
Michael Meskes
4607c5ca56 Adding script that generates preproc.y from gram.y to CVS. 2008-11-14 10:01:04 +00:00
Michael Meskes
53f93cbb20 Updated parser file to the one generated by the latest version of parse.[awk|pl] from the latest version of gram.y
Some small corrections to test suite.
2008-11-13 11:54:39 +00:00
Magnus Hagander
c89404edf3 Fix libpq certificate validation for SSL connections.
Add config parameter "sslverify" to control the verification. Default
is to do full verification.

Clean up some old SSL code that never really worked.
2008-11-13 09:45:25 +00:00
Michael Meskes
c7f5c7c128 Replaced manually synced preproc.y by the one created by the new script.
Adapted regression test files accordingly.
2008-11-11 11:41:24 +00:00
Tom Lane
df7641e25a Add a new GUC variable called "IntervalStyle" that decouples interval output
from DateStyle, and create a new interval style that produces output matching
the SQL standard (at least for interval values that fall within the standard's
restrictions).  IntervalStyle is also used to resolve the conflict between the
standard and traditional Postgres rules for interpreting negative interval
input.

Ron Mayer
2008-11-09 00:28:35 +00:00
Magnus Hagander
5e75a5dca9 Fix incorrect comment in SSL code 2008-11-03 14:18:57 +00:00
Michael Meskes
492059daba Move from strcmp to strncmp to be more tolerant for changes to the parser. 2008-11-01 19:53:35 +00:00
Michael Meskes
ef9ed9b6aa Use string component in index structure. 2008-11-01 12:42:14 +00:00
Michael Meskes
e6c7f7c1ad Do not eat memory even in case of an out-of-memory error. 2008-11-01 08:55:21 +00:00
Peter Eisentraut
06735e3256 Unicode escapes in strings and identifiers 2008-10-29 08:04:54 +00:00
Peter Eisentraut
8ecd535169 Add WITH [NO] DATA clause to CREATE TABLE AS, per SQL.
Also, since WITH is now a reserved word, simplify the token merging code to
only deal with WITH_TIME.

by Tom Lane and myself
2008-10-28 14:09:45 +00:00
Magnus Hagander
53a5026b5c Remove support for (insecure) crypt authentication.
This breaks compatibility with pre-7.2 versions.
2008-10-28 12:10:44 +00:00
Magnus Hagander
f3a0688ace Add support for multiple error messages from libpq, by simply appending them
after each other (since we already add a newline on each, this makes them
multiline).

Previously a new error would just overwrite the old one, so for example any
error caused when trying to connect with SSL enabled would be overwritten
by the error message form the non-SSL connection when using sslmode=prefer.
2008-10-27 09:42:31 +00:00
Peter Eisentraut
0fec77ae88 SQL:2008 syntax CURRENT_CATALOG, CURRENT_SCHEMA, SET CATALOG, SET SCHEMA. 2008-10-27 09:37:47 +00:00
Magnus Hagander
b1eeeb20d9 Update standalong libpq makefiles for msvc and bcc to work with the new
libpq events code.

Hiroshi Saito
2008-10-27 09:10:04 +00:00
Magnus Hagander
bb8c822dbf Remove notes from the frontend SSL source that are incorrect or
end-user documentation that lives in the actual documentation.
2008-10-24 12:29:11 +00:00
Magnus Hagander
501e58ba4e Fix memory leak when using gsslib parameter in libpq connections 2008-10-23 16:17:19 +00:00
Peter Eisentraut
831abae506 Clean regression.out 2008-10-21 10:51:24 +00:00
Peter Eisentraut
1471e3843d Allow SQL:2008 syntax ALTER TABLE ... ALTER COLUMN ... SET DATA TYPE
alongside our traditional syntax.
2008-10-21 08:38:16 +00:00
Michael Meskes
f346a232ed Fixed parsing of parameters. Added regression test for this. 2008-10-14 09:31:05 +00:00
Michael Meskes
9d3275e59d Fixed "create role" parsing to accept optional "with" argument. 2008-10-10 12:17:18 +00:00
Michael Meskes
059349be0c Synced parser. 2008-10-07 12:43:55 +00:00