postgresql/src/include/libpq
Heikki Linnakangas 680513ab79 Break out OpenSSL-specific code to separate files.
This refactoring is in preparation for adding support for other SSL
implementations, with no user-visible effects. There are now two #defines,
USE_OPENSSL which is defined when building with OpenSSL, and USE_SSL which
is defined when building with any SSL implementation. Currently, OpenSSL is
the only implementation so the two #defines go together, but USE_SSL is
supposed to be used for implementation-independent code.

The libpq SSL code is changed to use a custom BIO, which does all the raw
I/O, like we've been doing in the backend for a long time. That makes it
possible to use MSG_NOSIGNAL to block SIGPIPE when using SSL, which avoids
a couple of syscall for each send(). Probably doesn't make much performance
difference in practice - the SSL encryption is expensive enough to mask the
effect - but it was a natural result of this refactoring.

Based on a patch by Martijn van Oosterhout from 2006. Briefly reviewed by
Alvaro Herrera, Andreas Karlsson, Jeff Janes.
2014-08-11 11:54:19 +03:00
..
auth.h Cleanups from the remove-native-krb5 patch 2014-03-16 15:22:45 +01:00
be-fsstubs.h Rename lo_create(oid, bytea) to lo_from_bytea(). 2014-06-12 15:39:09 -04:00
crypt.h Log a detail message for auth failures due to missing or expired password. 2014-01-27 21:04:09 -05:00
hba.h Cleanups from the remove-native-krb5 patch 2014-03-16 15:22:45 +01:00
ip.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
libpq-be.h Break out OpenSSL-specific code to separate files. 2014-08-11 11:54:19 +03:00
libpq-fs.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
libpq.h Break out OpenSSL-specific code to separate files. 2014-08-11 11:54:19 +03:00
md5.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pqcomm.h pgindent run for 9.4 2014-05-06 12:12:18 -04:00
pqformat.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pqsignal.h Update copyright for 2014 2014-01-07 16:05:30 -05:00