projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Send and receive the ticket_nonce field in a NewSessionTicket
[openssl.git]
/
ssl
/
bio_ssl.c
diff --git
a/ssl/bio_ssl.c
b/ssl/bio_ssl.c
index 3d380c83fb6078df5f1a63164a42721539ce93ee..29ae258b35708dc0d0628ecc59235e31755315ea 100644
(file)
--- a/
ssl/bio_ssl.c
+++ b/
ssl/bio_ssl.c
@@
-380,15
+380,7
@@
static long ssl_ctrl(BIO *b, int cmd, long num, void *ptr)
ret = BIO_ctrl(ssl->rbio, cmd, num, ptr);
break;
case BIO_CTRL_SET_CALLBACK:
ret = BIO_ctrl(ssl->rbio, cmd, num, ptr);
break;
case BIO_CTRL_SET_CALLBACK:
- {
-#if 0 /* FIXME: Should this be used? -- Richard
- * Levitte */
- SSLerr(SSL_F_SSL_CTRL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
- ret = -1;
-#else
- ret = 0;
-#endif
- }
+ ret = 0; /* use callback ctrl */
break;
case BIO_CTRL_GET_CALLBACK:
{
break;
case BIO_CTRL_GET_CALLBACK:
{
@@
-514,12
+506,13
@@
int BIO_ssl_copy_session_id(BIO *t, BIO *f)
void BIO_ssl_shutdown(BIO *b)
{
void BIO_ssl_shutdown(BIO *b)
{
- SSL *s;
-
- b = BIO_find_type(b, BIO_TYPE_SSL);
- if (b == NULL)
- return;
-
- s = BIO_get_data(b);
- SSL_shutdown(s);
+ BIO_SSL *bdata;
+
+ for (; b != NULL; b = BIO_next(b)) {
+ if (BIO_method_type(b) != BIO_TYPE_SSL)
+ continue;
+ bdata = BIO_get_data(b);
+ if (bdata != NULL && bdata->ssl != NULL)
+ SSL_shutdown(bdata->ssl);
+ }
}
}