Skip to content

Commit 22ce169

Browse files
committed
Merge r1511033, r1528032, r1608686, r1608694, r1608703, r1899784, r1916312, r1916344, r1838271, r1926091 from trunk:
Add support for systemd socket activation to listener sockets. * configure.in: Simplify/fix systemd detection: move later to fix autoconf warnings; define HAVE_SYSTEMD rather than using CPPFLAGS. * server/listen.c: Use HAVE_SYSTEMD for systemd #define. * modules/arch/unix/config5.m4: Update systemd headers check. * server/listen.c: duplicate sockets correctly when using systemd socket activation, fix addrlen in getsockname() call. Follow up r1608686, pass process to alloc_systemd_listener. * server/listen.c: detect systemd socket activation using sd_listen_fds(), drop the support for "Listen systemd" and use standard Listen syntax instead. This allows using the same configuration file with or without socket activation and allows setting protocol when using socket activation. Remove libsystemd dependency from main httpd binary Until this change httpd was linking libsystemd to the main httpd binary. If you want to run lightweight version of httpd in container, sometimes you just want to install httpd binary with as little dependencies as possible to make container small in size and do not pull uncencessary dependencies and libraries. This change will move all systemd library calls from listen.c to mod_systemd module and remove systemd linking from the main httpd bin. Fixed mixed declaration and wrongly declared variable. Submitted by: Luboš Uhliarik <luhliari redhat.com> mod_systemd: Axe APR_OPTIONAL_FN redeclarations to avoid compiler warning. ap_find_systemd_socket() and ap_systemd_listen_fds() are already declared in "ap_listen.h", so just include them. mod_systemd: if SELinux is available and enabled, log the SELinux context at startup, since this may vary when httpd is started via systemd vs being started directly. * modules/arch/unix/mod_systemd.c (systemd_post_config): Do nothing for the pre-config iteration. Log the SELinux context if available. * modules/arch/unix/config5.m4: Detect libselinux. Have at least one CI job build mod_systemd. Fix a cppcheck warning. Remove some dead code. Updating 'last' is pointless here. Ensure that ALL fields of the ap_listen_rec structure are initialized alloc_listener initializes more fields in the created ap_listen_rec structure than alloc_systemd_listener as it has more data to add to this structure. Ensure that all fields of the ap_listen_rec structure are initialized at least with 0 as later code using this structure depends on this. Reviewed by: rpluem, jorton, ylavic Github: closes #515 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1926113 13f79535-47bb-0310-9956-ffa450edef68
1 parent f722b63 commit 22ce169

File tree

16 files changed

+345
-118
lines changed

16 files changed

+345
-118
lines changed

CHANGES

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,68 @@
11
-*- coding: utf-8 -*-
22
Changes with Apache 2.4.64
33

4+
*) mod_systemd: Systemd socket activation can now be enabled at
5+
build time but disabled at run time, if mod_systemd is not
6+
loaded. [Lubos Uhliarik <luhliari redhat.com>]
7+
8+
*) mod_systemd: Log the SELinux context at startup if available and
9+
enabled. [Joe Orton]
10+
11+
*) mod_http2: update to version 2.0.32
12+
The code setting the connection window size was set wrong,
13+
preventing `H2WindowSize` to work.
14+
Fixed <https://github.com/icing/mod_h2/issues/300>.
15+
[Stefan Eissing, Michael Kaufmann]
16+
17+
*) mod_http2: update to version 2.0.30
18+
- Fixed bug in handling over long response headers. When the 64 KB limit
19+
of nghttp2 was exceeded, the request was not reset and the client was
20+
left hanging, waiting for it. Now the stream is reset.
21+
- Added new directive `H2MaxHeaderBlockLen` to set the limit on response
22+
header sizes.
23+
- Fixed handling of Timeout vs. KeepAliveTimeout when first request on a
24+
connection was reset.
25+
26+
*) mod_lua: Fix memory handling in LuaOutputFilter. PR 69590.
27+
[Guillermo Grandes <guillermo.grandes gmail.com>]
28+
29+
* mod_proxy_http2: revert r1912193 for detecting broken backend connections
30+
as this interferes with backend selection who a node is unresponsive.
31+
PR69624.
32+
33+
*) mod_proxy_balancer: Fix a regression that caused stickysession keys no
34+
longer be recognized if they are provided as query parameter in the URL.
35+
PR 69443 [Ruediger Pluem]
36+
37+
*) mod_md: update to version 2.5.2
38+
- Fixed TLS-ALPN-01 challenges when multiple `MDPrivateKeys` are specified
39+
with EC keys before RSA ones. Fixes #377. [Stefan Eissing]
40+
- Fixed missing newlines in the status page output. [Andreas Groth]
41+
42+
*) mod_dav: Add API to expose DavBasePath setting. [Joe Orton]
43+
44+
*) mod_md: update to version 2.5.1
45+
- Added support for ACME profiles with new directives MDProfile and
46+
MDProfileMandatory.
47+
- When installing a custom CA file via `MDCACertificateFile`, also set the
48+
libcurl option CURLSSLOPT_NO_REVOKE that suppresses complains by Schannel
49+
(when curl is linked with it) about missing CRL/OCSP in certificates.
50+
- Fixed handling of corrupted httpd.json and added test 300_30 for it.
51+
File is removed on error and written again. Fixes #369.
52+
- Added explanation in log for how to proceed when md_store.json could not be
53+
parsed and prevented the server start.
54+
- restored fixed to #336 and #337 which got lost in a sync with Apache svn
55+
- Add Issue Name/Uris to certificate information in md-status handler
56+
- MDomains with static certificate files have MDRenewMode "manual", unless
57+
"always" is configured.
58+
59+
*) core: Report invalid Options= argument when parsing AllowOverride
60+
directives.
61+
Github #310 [Zhou Qingyang <zhou1615 umn.edu>]
62+
63+
*) scoreboard/mod_http2: record durations of HTTP/2 requests.
64+
PR 69579 [Pierre Brochard <[email protected]>]
65+
466
Changes with Apache 2.4.63
567

668
*) mod_dav: Update redirect-carefully example BrowserMatch config

STATUS

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -183,28 +183,6 @@ PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
183183
https://patch-diff.githubusercontent.com/raw/apache/httpd/pull/533.diff
184184
+1 covener, rpluem, jorton
185185

186-
*) mod_systemd: Add systemd socket activation
187-
Trunk version of patch:
188-
https://svn.apache.org/r1511033
189-
https://svn.apache.org/r1528032
190-
https://svn.apache.org/r1608686
191-
https://svn.apache.org/r1608694
192-
https://svn.apache.org/r1608703
193-
https://svn.apache.org/r1838271
194-
https://svn.apache.org/r1899784
195-
https://svn.apache.org/r1916312
196-
https://svn.apache.org/r1916344
197-
https://svn.apache.org/r1926091
198-
Backport version for 2.4.x of patch:
199-
https://patch-diff.githubusercontent.com/raw/apache/httpd/pull/515.diff
200-
Can be applied via apply_backport_pr.sh 515
201-
+1: rpluem, jorton, ylavic
202-
jailletc36: Should the apr_palloc() in alloc_systemd_listener() be
203-
apr_pcalloc() so that all fields are 0?
204-
make_sock() uses the 'flags' field that would be
205-
undefined otherwise.
206-
rpluem says: Good catch. Added r1926091 and reset votes.
207-
208186
PATCHES PROPOSED TO BACKPORT FROM TRUNK:
209187
[ New proposals should be added at the end of the list ]
210188

changes-entries/dav-get-base-path.txt

Lines changed: 0 additions & 2 deletions
This file was deleted.

changes-entries/github 310.txt

Lines changed: 0 additions & 3 deletions
This file was deleted.

changes-entries/h2_v2.0.30.txt

Lines changed: 0 additions & 8 deletions
This file was deleted.

changes-entries/h2_v2.0.32.txt

Lines changed: 0 additions & 5 deletions
This file was deleted.

changes-entries/md_v2.5.1.txt

Lines changed: 0 additions & 14 deletions
This file was deleted.

changes-entries/md_v2.5.2.txt

Lines changed: 0 additions & 4 deletions
This file was deleted.

changes-entries/pr69443.txt

Lines changed: 0 additions & 3 deletions
This file was deleted.

changes-entries/pr69579.txt

Lines changed: 0 additions & 2 deletions
This file was deleted.

0 commit comments

Comments
 (0)