Skip to content

Commit

Permalink
*) mod_http2: v2.0.26 with the following fixes:
Browse files Browse the repository at this point in the history
     - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
       <icing/mod_h2#272>.
     - Fixed small memory leak in h2 header bucket free. Thanks to
       Michael Kaufmann for finding this and providing the fix.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1915281 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information
icing committed Jan 17, 2024
1 parent 64ecf00 commit bc0e56c
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 4 deletions.
6 changes: 6 additions & 0 deletions changes-entries/h2_date_and_bucket_leak.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
*) mod_http2: v2.0.26 with the following fixes:
- Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
<https://github.com/icing/mod_h2/issues/272>.
- Fixed small memory leak in h2 header bucket free. Thanks to
Michael Kaufmann for finding this and providing the fix.

2 changes: 1 addition & 1 deletion modules/http2/h2.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ struct h2_stream;
#define H2_USE_PIPES (APR_FILES_AS_SOCKETS && APR_VERSION_AT_LEAST(1,6,0))
#endif

#if AP_MODULE_MAGIC_AT_LEAST(20211221, 15)
#if AP_MODULE_MAGIC_AT_LEAST(20120211, 129)
#define H2_USE_POLLFD_FROM_CONN 1
#else
#define H2_USE_POLLFD_FROM_CONN 0
Expand Down
11 changes: 10 additions & 1 deletion modules/http2/h2_headers.c
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,18 @@ h2_headers *h2_bucket_headers_get(apr_bucket *b)
return NULL;
}

static void bucket_destroy(void *data)
{
h2_bucket_headers *h = data;

if (apr_bucket_shared_destroy(h)) {
apr_bucket_free(h);
}
}

const apr_bucket_type_t h2_bucket_type_headers = {
"H2HEADERS", 5, APR_BUCKET_METADATA,
apr_bucket_destroy_noop,
bucket_destroy,
bucket_read,
apr_bucket_setaside_noop,
apr_bucket_split_notimpl,
Expand Down
1 change: 1 addition & 0 deletions modules/http2/h2_request.c
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ apr_status_t h2_request_rcreate(h2_request **preq, apr_pool_t *pool,
req->path = path;
req->headers = apr_table_make(pool, 10);
req->http_status = H2_HTTP_STATUS_UNSET;
req->request_time = apr_time_now();

x.pool = pool;
x.headers = req->headers;
Expand Down
4 changes: 2 additions & 2 deletions modules/http2/h2_version.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,15 @@
* @macro
* Version number of the http2 module as c string
*/
#define MOD_HTTP2_VERSION "2.0.21"
#define MOD_HTTP2_VERSION "2.0.26"

/**
* @macro
* Numerical representation of the version number of the http2 module
* release. This is a 24 bit number with 8 bits for major number, 8 bits
* for minor and 8 bits for patch. Version 1.2.3 becomes 0x010203.
*/
#define MOD_HTTP2_VERSION_NUM 0x020015
#define MOD_HTTP2_VERSION_NUM 0x02001a


#endif /* mod_h2_h2_version_h */

0 comments on commit bc0e56c

Please sign in to comment.