diff options
author | Bruce Momjian <bruce@momjian.us> | 2003-01-08 23:18:35 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2003-01-08 23:18:35 +0000 |
commit | ce83fc68aa76b0510c37e2987f9983952b78f724 (patch) | |
tree | bee694ccf2a7f6643b68a6efafbc112a159ebb6e /src/interfaces/libpq/fe-secure.c | |
parent | 671231f58853fa6e6bdcbbd62d4496bb574bd572 (diff) |
The second was that renegotiation was just plain broken. I can't
believe I didn't notice this before -- once 64k was sent to/from the
server the client would crash. Basicly, in 7.3 the server SSL code set
the initial state to "about to renegotiate" without actually starting
the renegotiation. In addition, the server and client didn't properly
handle the SSL_ERROR_WANT_(READ|WRITE) error. This is fixed in the
second patch.
Nathan Mueller
Diffstat (limited to 'src/interfaces/libpq/fe-secure.c')
-rw-r--r-- | src/interfaces/libpq/fe-secure.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/interfaces/libpq/fe-secure.c b/src/interfaces/libpq/fe-secure.c index 67e461b4dac..9c239253ef1 100644 --- a/src/interfaces/libpq/fe-secure.c +++ b/src/interfaces/libpq/fe-secure.c @@ -11,7 +11,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-secure.c,v 1.15.2.3 2003/01/08 22:57:05 momjian Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-secure.c,v 1.15.2.4 2003/01/08 23:18:35 momjian Exp $ * * NOTES * The client *requires* a valid server certificate. Since @@ -268,6 +268,7 @@ pqsecure_read(PGconn *conn, void *ptr, size_t len) case SSL_ERROR_NONE: break; case SSL_ERROR_WANT_READ: + n = pqsecure_read(conn, ptr, len); break; case SSL_ERROR_SYSCALL: printfPQExpBuffer(&conn->errorMessage, @@ -313,6 +314,7 @@ pqsecure_write(PGconn *conn, const void *ptr, size_t len) case SSL_ERROR_NONE: break; case SSL_ERROR_WANT_WRITE: + n = pqsecure_write(conn, ptr, len); break; case SSL_ERROR_SYSCALL: printfPQExpBuffer(&conn->errorMessage, |