From e203d68bc4959a3421d2bb722d828fc579b5c8f6 Mon Sep 17 00:00:00 2001 From: Christophe Jaillet Date: Tue, 20 Mar 2018 23:05:54 +0000 Subject: [PATCH] Use 'ap_request_has_body()' instead of duplicating its implemenation. The logic in 'ap_request_has_body()' is: has_body = (!r->header_only && (r->kept_body || apr_table_get(r->headers_in, "Transfer-Encoding") || ( (cls = apr_table_get(r->headers_in, "Content-Length")) && (apr_strtoff(&cl, cls, &estr, 10) == APR_SUCCESS) && (!*estr) && (cl > 0) ) ) ); So the test is slighly different from the original code. (but this looks fine to me) This also has the advantage to avoid a redundant call to 'apr_table_get()' and to improve readability. While at it, move the test '!r->expecting_100' a few lines above because it is cheap. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1827374 13f79535-47bb-0310-9956-ffa450edef68 --- modules/ssl/ssl_engine_kernel.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/modules/ssl/ssl_engine_kernel.c b/modules/ssl/ssl_engine_kernel.c index 857af419a6..345b525955 100644 --- a/modules/ssl/ssl_engine_kernel.c +++ b/modules/ssl/ssl_engine_kernel.c @@ -839,10 +839,8 @@ int ssl_hook_Access(request_rec *r) * request body, and then to reinject that request body later. */ if (renegotiate && !renegotiate_quick - && (apr_table_get(r->headers_in, "transfer-encoding") - || (apr_table_get(r->headers_in, "content-length") - && strcmp(apr_table_get(r->headers_in, "content-length"), "0"))) - && !r->expecting_100) { + && !r->expecting_100 + && ap_request_has_body(r)) { int rv; apr_size_t rsize; -- 2.50.1