httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ic...@apache.org
Subject svn commit: r1791388 - in /httpd/httpd/trunk: CHANGES docs/log-message-tags/next-number modules/http2/h2_mplx.c modules/http2/h2_session.c
Date Fri, 14 Apr 2017 16:02:22 GMT
Author: icing
Date: Fri Apr 14 16:02:22 2017
New Revision: 1791388

URL: http://svn.apache.org/viewvc?rev=1791388&view=rev
Log:
On the trunk:

mod_http2: client streams that lack the EOF flag get now forcefully
     closed with a RST_STREAM (NO_ERROR) when the request has been answered.


Modified:
    httpd/httpd/trunk/CHANGES
    httpd/httpd/trunk/docs/log-message-tags/next-number
    httpd/httpd/trunk/modules/http2/h2_mplx.c
    httpd/httpd/trunk/modules/http2/h2_session.c

Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=1791388&r1=1791387&r2=1791388&view=diff
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Fri Apr 14 16:02:22 2017
@@ -1,6 +1,10 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.5.0
 
+  *) mod_http2: client streams that lack the EOF flag get now forcefully
+     closed with a RST_STREAM (NO_ERROR) when the request has been answered.
+     [Stefan Eissing]     
+
   *) mod_http2: only when 'HttpProtocolOptions Unsafe' is configured, will
      control characters in response headers or trailers be forwarded to the
      client. Otherwise, in the default configuration, a request will eiher 

Modified: httpd/httpd/trunk/docs/log-message-tags/next-number
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/log-message-tags/next-number?rev=1791388&r1=1791387&r2=1791388&view=diff
==============================================================================
--- httpd/httpd/trunk/docs/log-message-tags/next-number (original)
+++ httpd/httpd/trunk/docs/log-message-tags/next-number Fri Apr 14 16:02:22 2017
@@ -1 +1 @@
-10024
+10027

Modified: httpd/httpd/trunk/modules/http2/h2_mplx.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_mplx.c?rev=1791388&r1=1791387&r2=1791388&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/http2/h2_mplx.c (original)
+++ httpd/httpd/trunk/modules/http2/h2_mplx.c Fri Apr 14 16:02:22 2017
@@ -258,7 +258,17 @@ static int input_consumed_signal(h2_mplx
 
 static int report_consumption_iter(void *ctx, void *val)
 {
-    input_consumed_signal(ctx, val);
+    h2_stream *stream = val;
+    h2_mplx *m = ctx;
+    
+    input_consumed_signal(m, stream);
+    if (stream->state == H2_SS_CLOSED_L
+        && (!stream->task || stream->task->worker_done)) {
+        ap_log_cerror(APLOG_MARK, APLOG_DEBUG, 0, m->c, 
+                      H2_STRM_LOG(APLOGNO(10026), stream, "remote close missing")); 
+        nghttp2_submit_rst_stream(stream->session->ngh2, NGHTTP2_FLAG_NONE, 
+                                  stream->id, NGHTTP2_NO_ERROR);
+    }
     return 1;
 }
 

Modified: httpd/httpd/trunk/modules/http2/h2_session.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_session.c?rev=1791388&r1=1791387&r2=1791388&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/http2/h2_session.c (original)
+++ httpd/httpd/trunk/modules/http2/h2_session.c Fri Apr 14 16:02:22 2017
@@ -1294,7 +1294,7 @@ static apr_status_t on_stream_headers(h2
         }
         else {
             ap_log_cerror(APLOG_MARK, APLOG_DEBUG, status, session->c,
-                          H2_STRM_LOG(APLOGNO(), stream, "invalid trailers"));
+                          H2_STRM_LOG(APLOGNO(10024), stream, "invalid trailers"));
             h2_stream_rst(stream, NGHTTP2_PROTOCOL_ERROR);
         }
         goto leave;
@@ -1384,7 +1384,7 @@ static apr_status_t on_stream_headers(h2
         }
         else {
             ap_log_cerror(APLOG_MARK, APLOG_DEBUG, status, session->c,
-                          H2_STRM_LOG(APLOGNO(), stream, "invalid response"));
+                          H2_STRM_LOG(APLOGNO(10025), stream, "invalid response"));
             h2_stream_rst(stream, NGHTTP2_PROTOCOL_ERROR);
         }
     }



Mime
View raw message