summaryrefslogtreecommitdiffstats
path: root/crypto/openssl/ssl/ssl_lib.c
diff options
context:
space:
mode:
authorkris <kris@FreeBSD.org>2002-01-27 03:13:07 +0000
committerkris <kris@FreeBSD.org>2002-01-27 03:13:07 +0000
commit1f8c2aa1763b5d8a328b2fd4053396e94ea48d35 (patch)
tree844bea9e360a2132b36667e0042dd30ac9f931ff /crypto/openssl/ssl/ssl_lib.c
parent3b19ada1e8e5f87b844d2cc1e72907cfb7774fb6 (diff)
downloadFreeBSD-src-1f8c2aa1763b5d8a328b2fd4053396e94ea48d35.zip
FreeBSD-src-1f8c2aa1763b5d8a328b2fd4053396e94ea48d35.tar.gz
Initial import of OpenSSL 0.9.6c
Diffstat (limited to 'crypto/openssl/ssl/ssl_lib.c')
-rw-r--r--crypto/openssl/ssl/ssl_lib.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/crypto/openssl/ssl/ssl_lib.c b/crypto/openssl/ssl/ssl_lib.c
index 1fe85b6..afcc18b 100644
--- a/crypto/openssl/ssl/ssl_lib.c
+++ b/crypto/openssl/ssl/ssl_lib.c
@@ -142,7 +142,7 @@ int SSL_clear(SSL *s)
#if 1
/* Check to see if we were changed into a different method, if
* so, revert back if we are not doing session-id reuse. */
- if ((s->session == NULL) && (s->method != s->ctx->method))
+ if (!s->in_handshake && (s->session == NULL) && (s->method != s->ctx->method))
{
s->method->ssl_free(s);
s->method=s->ctx->method;
@@ -411,6 +411,11 @@ BIO *SSL_get_wbio(SSL *s)
int SSL_get_fd(SSL *s)
{
+ return(SSL_get_rfd(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)
{
@@ -1276,8 +1293,6 @@ void SSL_CTX_set_verify(SSL_CTX *ctx,int mode,int (*cb)(int, X509_STORE_CTX *))
{
ctx->verify_mode=mode;
ctx->default_verify_callback=cb;
- /* This needs cleaning up EAY EAY EAY */
- X509_STORE_set_verify_cb_func(ctx->cert_store,cb);
}
void SSL_CTX_set_verify_depth(SSL_CTX *ctx,int depth)
OpenPOWER on IntegriCloud