diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-12-19 11:16:20 +0000 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-12-19 11:16:20 +0000 |
commit | 31c28a493b9504c87d2bc316ce832a80d26ba92e (patch) | |
tree | f02252a133094e4b9173ea457f20f9ff858f6961 /lib/ssl_nss.c | |
parent | b9de97b5fe41cbbb5be3c748b60364443fc8ab91 (diff) |
Implement ssl_pending() for NSS. This fixes bug #368 which so far only
affected OpenSSL. Submitted by Ricky Zhou.
Diffstat (limited to 'lib/ssl_nss.c')
-rw-r--r-- | lib/ssl_nss.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/ssl_nss.c b/lib/ssl_nss.c index dee20b05..512c7655 100644 --- a/lib/ssl_nss.c +++ b/lib/ssl_nss.c @@ -209,7 +209,13 @@ int ssl_write( void *conn, const char *buf, int len ) /* See ssl_openssl.c for an explanation. */ int ssl_pending( void *conn ) { - return 0; + struct scd *c = (struct scd *) conn; + + if( c == NULL ) { + return 0; + } + + return ( c->established && SSL_DataPending( c->prfd ) > 0 ); } void ssl_disconnect( void *conn_ ) |