diff options
Diffstat (limited to 'ssl')
-rw-r--r-- | ssl/ssl.h | 2 | ||||
-rw-r--r-- | ssl/ssl_lib.c | 17 |
2 files changed, 19 insertions, 0 deletions
@@ -973,6 +973,8 @@ char * SSL_CIPHER_get_version(SSL_CIPHER *c); const char * SSL_CIPHER_get_name(SSL_CIPHER *c); int SSL_get_fd(SSL *s); +int SSL_get_rfd(SSL *s); +int SSL_get_wfd(SSL *s); const char * SSL_get_cipher_list(SSL *s,int n); char * SSL_get_shared_ciphers(SSL *s, char *buf, int len); int SSL_get_read_ahead(SSL * s); diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index ad1af7cda3..463ed16020 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -445,6 +445,11 @@ BIO *SSL_get_wbio(SSL *s) int SSL_get_fd(SSL *s) { + return(SSL_get_rfc(s)); + } + +int SSL_get_rfd(SSL *s) + { int ret= -1; BIO *b,*r; @@ -455,6 +460,18 @@ int SSL_get_fd(SSL *s) return(ret); } +int SSL_get_wfd(SSL *s) + { + int ret= -1; + BIO *b,*r; + + b=SSL_get_wbio(s); + r=BIO_find_type(b,BIO_TYPE_DESCRIPTOR); + if (r != NULL) + BIO_get_fd(r,&ret); + return(ret); + } + #ifndef OPENSSL_NO_SOCK int SSL_set_fd(SSL *s,int fd) { |