- Mar 28, 2016
-
- Mar 15, 2016
-
-
Tom Lane authored
Previously, we included <xlocale.h> only if necessary to get the definition of type locale_t. According to notes in PGAC_TYPE_LOCALE_T, this is important because on some versions of glibc that file supplies an incompatible declaration of locale_t. (This info may be obsolete, because on my RHEL6 box that seems to be the *only* definition of locale_t; but there may still be glibc's in the wild for which it's a live concern.) It turns out though that on FreeBSD and maybe other BSDen, you can get locale_t from stdlib.h or locale.h but mbstowcs_l() and friends only from <xlocale.h>. This was leaving us compiling calls to mbstowcs_l() and friends with no visible prototype, which causes a warning and could possibly cause actual trouble, since it's not declared to return int. Hence, adjust the configure checks so that we'll include <xlocale.h> either if it's necessary to get type locale_t or if it's necessary to get a declaration of mbstowcs_l(). Report and patch by Aleksander Alekseev, somewhat whacked around by me. Back-patch to all supported branches, since we have been using mbstowcs_l() since 9.1.
-
- Feb 08, 2016
-
- Oct 05, 2015
-
- Jun 09, 2015
-
- Jun 01, 2015
-
- May 18, 2015
-
-
Tom Lane authored
-
- Feb 02, 2015
-
- Jul 21, 2014
-
- Jun 14, 2014
-
-
Noah Misch authored
This function is pervasive on free software operating systems; import NetBSD's implementation. Back-patch to 8.4, like the commit that will harness it.
-
- Mar 17, 2014
-
- Feb 17, 2014
-
- Dec 02, 2013
-
- Oct 08, 2013
-
- Apr 01, 2013
-
- Feb 04, 2013
-
- Dec 03, 2012
-
- Sep 19, 2012
-
- Sep 06, 2012
-
- Aug 31, 2012
-
-
Tom Lane authored
We previously supposed that any given platform would supply both or neither of these functions, so that one configure test would be sufficient. It now appears that at least on AIX this is not the case ... which is likely an AIX bug, but nonetheless we need to cope with it. So use separate tests. Per bug #6758; thanks to Andrew Hastie for doing the followup testing needed to confirm what was happening. Backpatch to 9.1, where we began using these functions.
-
- Aug 24, 2012
-
- Aug 15, 2012
-
- Aug 03, 2012
-
- Jun 01, 2012
-
- May 14, 2012
-
-
Peter Eisentraut authored
These should have been removed when the BeOS port was removed in 44f90212.
-
- May 11, 2012
-
- May 07, 2012
-
-
Peter Eisentraut authored
These should not be needed anymore, at least after the recent port removals. So let's see whether we can do without them.
-
- Feb 23, 2012
-
-
Tom Lane authored
In the Fedora variant of MinGW, the openssl libraries have their normal names, not libeay32 and libssleay32. Adjust configure probes to allow that, per bug #6486. Tomasz Ostrowski
-
- Dec 27, 2011
-
-
Peter Eisentraut authored
All supported platforms support the C89 standard function atexit() (SunOS 4 probably being the last one not to), and supporting both makes the code clumsy.
-
- Aug 08, 2011
-
-
Andrew Dunstan authored
This lie has been harmless until now, but has been exposed by the change to include postgres.h before the python headers, which in some versions include inttypes.h if HAVE_INTTYPES_H is set.
-
- Jun 18, 2011
-
-
Andrew Dunstan authored
Per gripe from Tom Lane. I have tested this with VC 2008, and assume it will work with earlier versions.
-
- Jun 17, 2011
-
-
Andrew Dunstan authored
-
- Jun 11, 2011
-
-
Tom Lane authored
-
- Jun 10, 2011
-
- May 31, 2011
-
-
Tom Lane authored
It turns out the reason we hadn't found out about the portability issues with our credential-control-message code is that almost no modern platforms use that code at all; the ones that used to need it now offer getpeereid(), which we choose first. The last holdout was NetBSD, and they added getpeereid() as of 5.0. So far as I can tell, the only live platform on which that code was being exercised was Debian/kFreeBSD, ie, FreeBSD kernel with Linux userland --- since glibc doesn't provide getpeereid(), we fell back to the control message code. However, the FreeBSD kernel provides a LOCAL_PEERCRED socket parameter that's functionally equivalent to Linux's SO_PEERCRED. That is both much simpler to use than control messages, and superior because it doesn't require receiving a message from the other end at just the right time. Therefore, add code to use LOCAL_PEERCRED when necessary, and rip out all the credential-control-message code in the backend. (libpq still has such code so that it can still talk to pre-9.1 servers ... but eventually we can get rid of it there too.) Clean up related autoconf probes, too. This means that libpq's requirepeer parameter now works on exactly the same platforms where the backend supports peer authentication, so adjust the documentation accordingly.
-
- Apr 27, 2011
-
- Apr 23, 2011
-
-
Tom Lane authored
These functions should take a pg_locale_t, not a collation OID, and should call mbstowcs_l/wcstombs_l where available. Where those functions are not available, temporarily select the correct locale with uselocale(). This change removes the bogus assumption that all locales selectable in a given database have the same wide-character conversion method; in particular, the collate.linux.utf8 regression test now passes with LC_CTYPE=C, so long as the database encoding is UTF8. I decided to move the char2wchar/wchar2char functions out of mbutils.c and into pg_locale.c, because they work on wchar_t not pg_wchar_t and thus don't really belong with the mbutils.c functions. Keeping them where they were would have required importing pg_locale_t into pg_wchar.h somehow, which did not seem like a good plan.
-
- Apr 09, 2011
-
-
Peter Eisentraut authored
There is not yet support in initdb to populate the pg_collation catalog, but if that is done manually, the rest should work.
-
- Dec 26, 2010
-
-
Andrew Dunstan authored
-
- Nov 23, 2010
-
-
Peter Eisentraut authored
-