SSL_get_[rw]fd were documented but not implemented.
authorRichard Levitte <levitte@openssl.org>
Sun, 15 Jul 2001 20:12:45 +0000 (20:12 +0000)
committerRichard Levitte <levitte@openssl.org>
Sun, 15 Jul 2001 20:12:45 +0000 (20:12 +0000)
ssl/ssl.h
ssl/ssl_lib.c

index 9de9e611abd733161480f00bd69836fffdcd17d4..6e67506a7557a4580a149d78a1f8657871ebaefa 100644 (file)
--- a/ssl/ssl.h
+++ b/ssl/ssl.h
@@ -939,6 +939,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);
index 1fe85b6cb7560ac209381f11641bb55b9ac73ecf..cd110ca1e60b1307a0a1b3587f24e580c8813e80 100644 (file)
@@ -410,6 +410,11 @@ BIO *SSL_get_wbio(SSL *s)
        { return(s->wbio); }
 
 int SSL_get_fd(SSL *s)
+       {
+       return(SSL_get_rfc(s));
+       }
+
+int SSL_get_rfd(SSL *s)
        {
        int ret= -1;
        BIO *b,*r;
@@ -421,6 +426,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 NO_SOCK
 int SSL_set_fd(SSL *s,int fd)
        {