From 9aba39ee0cfecfa9a3832139508a6ccd2d85a33b Mon Sep 17 00:00:00 2001 From: Yann Ylavic Date: Thu, 24 Sep 2015 23:13:03 +0000 Subject: [PATCH] mod_ssl: forward EOR (only) brigades to the core_output_filter(). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1705194 13f79535-47bb-0310-9956-ffa450edef68 --- modules/http/http_request.c | 4 ++-- modules/ssl/ssl_engine_io.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/http/http_request.c b/modules/http/http_request.c index 0143a2e73f..cbf8840468 100644 --- a/modules/http/http_request.c +++ b/modules/http/http_request.c @@ -256,8 +256,8 @@ AP_DECLARE(void) ap_process_request_after_handler(request_rec *r) apr_bucket *b; conn_rec *c = r->connection; - /* Send an EOR bucket through the output filter chain. When - * this bucket is destroyed, the request will be logged and + /* Send an EOR bucket (alone!) through the output filter chain. + * When this bucket is destroyed, the request will be logged and * its pool will be freed */ bb = apr_brigade_create(c->pool, c->bucket_alloc); diff --git a/modules/ssl/ssl_engine_io.c b/modules/ssl/ssl_engine_io.c index bea0718e5e..6631bf1b19 100644 --- a/modules/ssl/ssl_engine_io.c +++ b/modules/ssl/ssl_engine_io.c @@ -1704,15 +1704,15 @@ static apr_status_t ssl_io_filter_output(ap_filter_t *f, while (!APR_BRIGADE_EMPTY(bb)) { apr_bucket *bucket = APR_BRIGADE_FIRST(bb); - /* If it is a flush or EOS, we need to pass this down. + /* If it is a flush or EOS/EOR, we need to pass this down. * These types do not require translation by OpenSSL. */ - if (APR_BUCKET_IS_EOS(bucket)) { + if (APR_BUCKET_IS_EOS(bucket) || AP_BUCKET_IS_EOR(bucket)) { /* - * By definition, nothing can come after EOS. + * By definition, nothing can come after EOS/EOR. * which also means we can pass the rest of this brigade * without creating a new one since it only contains the - * EOS bucket. + * EOS/EOR bucket. */ if ((status = ap_pass_brigade(f->next, bb)) != APR_SUCCESS) { -- 2.40.0