First attempt at adding the possibility to set the pointer size for the builds on...
[openssl.git] / ssl / s3_lib.c
index d6b047c9955ade3aa1e722495e91601aa3709a67..53bf4c23aa704099ec24c6a4b0fbc068563e4450 100644 (file)
@@ -2230,6 +2230,15 @@ void ssl3_clear(SSL *s)
        s->s3->num_renegotiations=0;
        s->s3->in_read_app_data=0;
        s->version=SSL3_VERSION;
+
+#if !defined(OPENSSL_NO_TLSEXT) && !defined(OPENSSL_NO_NEXTPROTONEG)
+       if (s->next_proto_negotiated)
+               {
+               OPENSSL_free(s->next_proto_negotiated);
+               s->next_proto_negotiated = NULL;
+               s->next_proto_negotiated_len = 0;
+               }
+#endif
        }
 
 long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg)
@@ -2535,6 +2544,11 @@ long ssl3_callback_ctrl(SSL *s, int cmd, void (*fp)(void))
                                        unsigned char *, int, void *))fp;
                break;
 #endif
+       case SSL_CTRL_SET_NOT_RESUMABLE_SESS_CB:
+               {
+               s->not_resumable_session_cb = (int (*)(SSL *, int))fp;
+               }
+               break;
        default:
                break;
                }
@@ -2779,6 +2793,11 @@ long ssl3_ctx_callback_ctrl(SSL_CTX *ctx, int cmd, void (*fp)(void))
                break;
 
 #endif
+       case SSL_CTRL_SET_NOT_RESUMABLE_SESS_CB:
+               {
+               ctx->not_resumable_session_cb = (int (*)(SSL *, int))fp;
+               }
+               break;
        default:
                return(0);
                }
@@ -3326,4 +3345,3 @@ need to go to SSL_ST_ACCEPT.
                }
        return(ret);
        }
-