mirror of
https://github.com/postgres/postgres.git
synced 2025-04-24 10:47:04 +03:00
Put SSL_pending() call behind the new internal SSL API.
It seems likely that any SSL implementation will need a similar call, not just OpenSSL.
This commit is contained in:
parent
6d6cade05b
commit
4e86f1b16d
@ -1054,9 +1054,9 @@ pqSocketCheck(PGconn *conn, int forRead, int forWrite, time_t end_time)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef USE_OPENSSL
|
#ifdef USE_SSL
|
||||||
/* Check for SSL library buffering read bytes */
|
/* Check for SSL library buffering read bytes */
|
||||||
if (forRead && conn->ssl && SSL_pending(conn->ssl) > 0)
|
if (forRead && conn->ssl_in_use && pgtls_read_pending(conn) > 0)
|
||||||
{
|
{
|
||||||
/* short-circuit the select */
|
/* short-circuit the select */
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -186,6 +186,15 @@ pgtls_open_client(PGconn *conn)
|
|||||||
return open_client_SSL(conn);
|
return open_client_SSL(conn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Is there unread data waiting in the SSL read buffer?
|
||||||
|
*/
|
||||||
|
bool
|
||||||
|
pgtls_read_pending(PGconn *conn)
|
||||||
|
{
|
||||||
|
return SSL_pending(conn->ssl);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Read data from a secure connection.
|
* Read data from a secure connection.
|
||||||
*
|
*
|
||||||
|
@ -641,6 +641,7 @@ extern int pgtls_init(PGconn *conn);
|
|||||||
extern PostgresPollingStatusType pgtls_open_client(PGconn *conn);
|
extern PostgresPollingStatusType pgtls_open_client(PGconn *conn);
|
||||||
extern void pgtls_close(PGconn *conn);
|
extern void pgtls_close(PGconn *conn);
|
||||||
extern ssize_t pgtls_read(PGconn *conn, void *ptr, size_t len);
|
extern ssize_t pgtls_read(PGconn *conn, void *ptr, size_t len);
|
||||||
|
extern bool pgtls_read_pending(PGconn *conn);
|
||||||
extern ssize_t pgtls_write(PGconn *conn, const void *ptr, size_t len);
|
extern ssize_t pgtls_write(PGconn *conn, const void *ptr, size_t len);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user