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_ ) | 
