]> granicus.if.org Git - postgresql/commit - src/interfaces/libpq/fe-secure.c
Use OpenSSL's SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER flag.
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 24 Jul 2011 19:17:51 +0000 (15:17 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 24 Jul 2011 19:17:51 +0000 (15:17 -0400)
commitd0c23026b2499ba9d6797359241ade076a5a677d
tree63b3e34c4b13423364b5a1ae73a5c086c949d1fe
parent081a5518c0a7dcccfc76a12ae9d593648b68ce53
Use OpenSSL's SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER flag.

This disables an entirely unnecessary "sanity check" that causes failures
in nonblocking mode, because OpenSSL complains if we move or compact the
write buffer.  The only actual requirement is that we not modify pending
data once we've attempted to send it, which we don't.  Per testing and
research by Martin Pihlak, though this fix is a lot simpler than his patch.

I put the same change into the backend, although it's less clear whether
it's necessary there.  We do use nonblock mode in some situations in
streaming replication, so seems best to keep the same behavior in the
backend as in libpq.

Back-patch to all supported releases.
src/backend/libpq/be-secure.c
src/interfaces/libpq/fe-secure.c