]> granicus.if.org Git - apache/commitdiff
* modules/ssl/ssl_engine_io.c (ssl_io_filter_cleanup): Don't try and
authorJoe Orton <jorton@apache.org>
Thu, 25 Mar 2004 19:36:32 +0000 (19:36 +0000)
committerJoe Orton <jorton@apache.org>
Thu, 25 Mar 2004 19:36:32 +0000 (19:36 +0000)
send an SSL shutdown from a pool cleanup.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@103156 13f79535-47bb-0310-9956-ffa450edef68

modules/ssl/ssl_engine_io.c

index 0bd5e2bf32fffd161bc73ad3d8f69ad6921a277c..de71166335d280a33b3e7e73eba48b81252a7d10 100644 (file)
@@ -984,22 +984,20 @@ static apr_status_t ssl_filter_io_shutdown(ssl_filter_ctx_t *filter_ctx,
 
 static apr_status_t ssl_io_filter_cleanup(void *data)
 {
-    apr_status_t ret;
-    ssl_filter_ctx_t *filter_ctx = (ssl_filter_ctx_t *)data;
-    conn_rec *c;
+    ssl_filter_ctx_t *filter_ctx = data;
 
-    if (!filter_ctx->pssl) {
-        /* already been shutdown */
-        return APR_SUCCESS;
-    }
+    if (filter_ctx->pssl) {
+        conn_rec *c = (conn_rec *)SSL_get_app_data(filter_ctx->pssl);
+        SSLConnRec *sslconn = myConnConfig(c);
 
-    c = (conn_rec *)SSL_get_app_data(filter_ctx->pssl);
-    if ((ret = ssl_filter_io_shutdown(filter_ctx, c, 0)) != APR_SUCCESS) {
-        ap_log_error(APLOG_MARK, APLOG_INFO, ret, NULL,
-                     "SSL filter error shutting down I/O");
-    }
+        ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, NULL,
+                     "SSL connection destroyed without being closed");
 
-    return ret;
+        SSL_free(filter_ctx->pssl);
+        sslconn->ssl = filter_ctx->pssl = NULL;
+    }
+  
+    return APR_SUCCESS;
 }
 
 /*