summaryrefslogtreecommitdiff
path: root/src/interfaces
AgeCommit message (Collapse)Author
2009-12-09Reject certificates with embedded NULLs in the commonName field. This stopsMagnus Hagander
attacks where an attacker would put <attack>\0<propername> in the field and trick the validation code that the certificate was for <attack>. This is a very low risk attack since it reuqires the attacker to trick the CA into issuing a certificate with an incorrect field, and the common PostgreSQL deployments are with private CAs, and not external ones. Also, default mode in 8.4 does not do any name validation, and is thus also not vulnerable - but the higher security modes are. Backpatch all the way. Even though versions 8.3.x and before didn't have certificate name validation support, they still exposed this field for the user to perform the validation in the application code, and there is no way to detect this problem through that API. Security: CVE-2009-4034
2009-12-02Instead of sending application_name as a SET command after the connectionTom Lane
is made, include it in the startup-packet options. This makes it work more like every other libpq connection option, in particular it now has the same response to RESET ALL as the rest. This also saves one network round trip for new applications using application_name. The cost is that if the server is pre-8.5, it'll reject the startup packet altogether, forcing us to retry the entire connection cycle. But on balance we shouldn't be optimizing that case in preference to the behavior with a new server, especially when doing so creates visible behavioral oddities. Per discussion.
2009-11-29Error when a specified connection service is not found, instead of ignoring itPeter Eisentraut
2009-11-29Remove prefix "ERROR:" from some messages, to make everything consistentPeter Eisentraut
2009-11-28Add support for an application_name parameter, which is displayed inTom Lane
pg_stat_activity and recorded in log entries. Dave Page, reviewed by Andres Freund
2009-11-27Remove */ characters from declare cursor statements before putting them into aMichael Meskes
comment.
2009-11-27If no result is given NOTFOUND should be returned. Check for empty resultMichael Meskes
string too.
2009-11-27Added script to check if all rule re-definition in ecpg.addons are indeed usedMichael Meskes
in the build process. If not the build process will stop with an error message.
2009-11-26Added missing files.Michael Meskes
2009-11-26Forgot to add dynamic cursors to Changelog.Michael Meskes
2009-11-26Synced addon rules after some renamings.Michael Meskes
2009-11-26Added dynamic cursor names to ecpg. Almost the whole patch was done byMichael Meskes
Boszormenyi Zoltan, with only a minor tweak or two from me.
2009-11-24Made function better readable.Michael Meskes
2009-11-23Use diff's -w switch only on Windows, to avoid problems with inconsistentTom Lane
newline representations. Per buildfarm results and subsequent discussion. Sync up a couple of other places that had their own policies.
2009-11-23Add missing library to standalone libpq build on Win32.Magnus Hagander
Hiroshi Saito
2009-11-21Refactor ecpg grammar so that it uses the core grammar's unreserved_keywordTom Lane
list, minus a few specific words that have to be treated specially. This replaces a hard-wired list of keywords that would have needed manual maintenance, and was not getting it. The 8.4 coding was already missing these words, causing ecpg to incorrectly treat them as reserved words: CALLED, CATALOG, DEFINER, ENUM, FOLLOWING, INVOKER, OPTIONS, PARTITION, PRECEDING, RANGE, SECURITY, SERVER, UNBOUNDED, WRAPPER. In HEAD we were additionally missing COMMENTS, FUNCTIONS, SEQUENCES, TABLES. Per gripe from Bosco Rama.
2009-11-11Change "name" nonterminal in cursor-related productions to cursor_name.Alvaro Herrera
This is a preparatory patch for allowing a dynamic cursor name be used in the ECPG grammar. Author: Zoltan Boszormenyi
2009-11-11Support optional FROM/IN in FETCH and MOVEAlvaro Herrera
The main motivation for this is that it's required for Informix compatibility in ECPG. This patch makes the ECPG and core grammars a bit closer to one another for these productions. Author: Zoltan Boszormenyi
2009-11-05Don't treat NEW and OLD as reserved words anymore. For the purposes of rulesTom Lane
it works just as well to have them be ordinary identifiers, and this gets rid of a number of ugly special cases. Plus we aren't interfering with non-rule usage of these names. catversion bump because the names change internally in stored rules.
2009-10-26Simplify a few makefile rules since install-sh can now install multiplePeter Eisentraut
files in one run.
2009-10-20Translations update for 8.5alpha2Peter Eisentraut
2009-10-15Made ECPG more robust against applications freeing strings, based onMichael Meskes
patch send in by Boszormenyi Zoltan <[email protected]>.
2009-10-01Applied patch by Boszormenyi Zoltan <[email protected]> to fix memory leak in ↵Michael Meskes
decimal handling.
2009-09-28Added some explanation about how the parser is generated, taken from an email byMichael Meskes
Zoltan Boszormenyi <[email protected]>.
2009-09-27Make libpq reject non-numeric and out-of-range port numbers with a suitableTom Lane
error message, rather than blundering on and failing with something opaque. Sam Mason
2009-09-22Implement the DO statement to support execution of PL code without havingTom Lane
to create a function for it. Procedural languages now have an additional entry point, namely a function to execute an inline code block. This seemed a better design than trying to hide the transient-ness of the code from the PL. As of this patch, only plpgsql has an inline handler, but probably people will soon write handlers for the other standard PLs. In passing, remove the long-dead LANCOMPILER option of CREATE LANGUAGE. Petr Jelinek
2009-09-18Added patch by Bernd Helmle <[email protected]> that adds a low levelMichael Meskes
function that returns the current transaction status.
2009-09-15Applied patch by Boszormenyi Zoltan <[email protected]> to add missing ";" to ↵Michael Meskes
rule in pgc.l.
2009-09-08Remove outside-the-scanner references to "yyleng".Tom Lane
It seems the flex developers have decided to change yyleng from int to size_t. This has already happened in the latest release of OS X, and will start happening elsewhere once the next release of flex appears. Rather than trying to divine how it's declared in any particular build, let's just remove the one existing not-very-necessary external usage. Back-patch to all supported branches; not so much because users in the field are likely to care about building old branches with cutting-edge flex, as to keep OSX-based buildfarm members from having problems with old branches.
2009-09-03Fixed incorrect memory management.Michael Meskes
2009-09-03Removed some variables no longer needed.Michael Meskes
2009-09-03Do not set connection values if no connection is open.Michael Meskes
2009-09-02Revert Makefile modification that broke the MSVC build.Magnus Hagander
2009-08-28Derived files that are shipped in the distribution used to be built in thePeter Eisentraut
source directory even for out-of-tree builds. They are now alsl built in the build tree. This should be more convenient for certain developers' workflows, and shouldn't really break anything else.
2009-08-27exports.txt needs to use spaces as separators, not tabs, to work properlyMagnus Hagander
with the sed rules.
2009-08-26Update of install-sh, mkinstalldirs, and associated configuryPeter Eisentraut
Update install-sh to that from Autoconf 2.63, plus our Darwin-specific changes (which I simplified a bit). install-sh is now able to install multiple files in one run, so we could simplify our makefiles sometime. install-sh also now has a -d option to create directories, so we don't need mkinstalldirs anymore. Use AC_PROG_MKDIR_P in configure.in, so we can use mkdir -p when available instead of install-sh -d. For consistency with the rest of the world, the corresponding make variable has been renamed from $(mkinstalldirs) to $(MKDIR_P).
2009-08-14Made sure sqlca is reset for declare cursor in Informix mode as pointed out byMichael Meskes
Böszörményi Zoltán <[email protected]>.
2009-08-07Expand test coverage support to entire treePeter Eisentraut
Test coverage support now covers the entire source tree, including contrib, instead of just src/backend. In a related but independent development, the commands make coverage and make coverage-html can be run in any directory. This turned out to be much easier than feared. Besides a few ad hoc fixes to pass the make target down the tree, change all affected makefiles to list their directories in the SUBDIRS variable, changed from variants like DIRS and WANTED_DIRS. MSVC build fix was attempted as well.
2009-08-07Remove unused ecpg variable.Bruce Momjian
2009-08-07Added STRING datatype for Informix compatibility mode. This work isMichael Meskes
based on a patch send in by Böszörményi Zoltán <[email protected]>.
2009-08-05Fixed copyright notice.Michael Meskes
2009-08-04Fix an ecpg test, too. Are we there yet?Tom Lane
2009-08-04Teach PQescapeByteaConn() to use hex format when the target connection isTom Lane
to a server >= 8.5. Per my proposal in discussion of hex-format patch.
2009-08-04Support hex-string input and output for type BYTEA.Tom Lane
Both hex format and the traditional "escape" format are automatically handled on input. The output format is selected by the new GUC variable bytea_output. As committed, bytea_output defaults to HEX, which is an *incompatible change*. We will keep it this way for awhile for testing purposes, but should consider whether to switch to the more backwards-compatible default of ESCAPE before 8.5 is released. Peter Eisentraut
2009-08-01Improve unique-constraint-violation error messages to include the exactTom Lane
values being complained of. In passing, also remove the arbitrary length limitation in the similar error detail message for foreign key violations. Itagaki Takahiro
2009-07-24Avoid extra system calls to block SIGPIPE if the platform provides eitherTom Lane
sockopt(SO_NOSIGPIPE) or the MSG_NOSIGNAL flag to send(). We assume these features are available if (1) the symbol is defined at compile time and (2) the kernel doesn't reject the call at runtime. It might turn out that there are some platforms where (1) and (2) are true and yet the signal isn't really blocked, in which case applications would die on server crash. If that sort of thing gets reported, then we'll have to add additional defenses of some kind. Jeremy Kerr
2009-07-22Fix mismatch in const:ness of parameters.Magnus Hagander
2009-07-14Remove duplicate definition of TYPECAST token.Tom Lane
(Apparently, some but not all versions of Bison will warn about this.)
2009-07-14Tweak the core scanner so that it can be used by plpgsql too.Tom Lane
Changes: Pass in the keyword lookup array instead of having it be hardwired. (This incidentally allows elimination of some duplicate coding in ecpg.) Re-order the token declarations in gram.y so that non-keyword tokens have numbers that won't change when keywords are added or removed. Add ".." and ":=" to the set of tokens recognized by scan.l. (Since these combinations are nowhere legal in core SQL, this does not change anything except the precise wording of the error you get when you write this.)
2009-07-13Stamp minor library version numbers for 8.5; sorry for the delay.Bruce Momjian