Re: libpq SSL with non-blocking sockets
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Steve Singer <ssinger_pg@sympatico.ca>
Cc: Martin Pihlak <martin.pihlak@gmail.com>, PG Hackers <pgsql-hackers@postgresql.org>
Date: 2011-06-27T14:25:09Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Improve libpq's error reporting for SSL failures.
- fee476da952a 9.2.0 cited
-
Use OpenSSL's SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER flag.
- d0c23026b249 9.2.0 cited
On Fri, Jun 24, 2011 at 5:14 PM, Steve Singer <ssinger_pg@sympatico.ca> wrote: > A few things I noticed (that you might be aware of since you mentioned it > needs cleanup) > > -The patch doesn't compile with non-ssl builds, the debug at the bottom of > PQSendSome isn't in an #ifdef > > -I don't think your handling the return code properly. Consider this case. > > pqSendSome(some data) > sslRetryBuf = some Data > return 1 > pqSendSome(more data) > it sends all of 'some data' > returns 0 > > I think 1 should be returned because all of 'more data' still needs to be > sent. I think returning a 0 will break PQsetnonblocking if you call it when > there is data in both sslRetryBuf and outputBuffer. > We might even want to try sending the data in outputBuffer after we've sent > all the data sitting in sslRetryBuf. > > > If you close the connection with an outstanding sslRetryBuf you need to free > it. Based on these comments, I have updated the status of the patch to "Waiting on Author". https://commitfest.postgresql.org/action/patch_view?id=594 -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company