summaryrefslogtreecommitdiffstats
path: root/modules (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* * Restore SSL dumping for OpenSSL >= 3.0. Ruediger Pluem2024-07-031-14/+47
| | | | | | | | | | | | | | Since r1908537 BIO_set_callback_ex is used with OpenSSL >= 3.0 instead of BIO_set_callback to set the BIO callback. The meaning of parameters and their range of values in the callback function set by BIO_set_callback_ex has changed compared to the callback function set by BIO_set_callback although parameters kept their names. Accommodate for this and adjust the code accordingly. Furthermore limit the size of dumps to APR_UINT16_MAX bytes. Given the length of SSL records of 16k this should not have practical implications. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918880 13f79535-47bb-0310-9956-ffa450edef68
* * Follow up to r1918814: Strings are from configuration and thus trustedRuediger Pluem2024-07-025-9/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918823 13f79535-47bb-0310-9956-ffa450edef68
* * Follow up to r1918814: Always trust content types that we set literallyRuediger Pluem2024-07-021-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918815 13f79535-47bb-0310-9956-ffa450edef68
* * Always trust content types that we set literallyRuediger Pluem2024-07-0217-25/+25
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918814 13f79535-47bb-0310-9956-ffa450edef68
* maintain trusted flagEric Covener2024-07-011-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918795 13f79535-47bb-0310-9956-ffa450edef68
* match AP_IS_SLASH macroEric Covener2024-06-261-1/+1
| | | | | | | followup to 1918651 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918663 13f79535-47bb-0310-9956-ffa450edef68
* don't add / to / in the non-perdirEric Covener2024-06-261-8/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918652 13f79535-47bb-0310-9956-ffa450edef68
* factor out IS_SLASH, perdir fixEric Covener2024-06-261-8/+10
| | | | | | | in per-dir, the filename will be internally redirected, so / is OK too. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918651 13f79535-47bb-0310-9956-ffa450edef68
* mod_proxy: follow up to r1918626: Simplify ap_proxy_fixup_uds_filename() and ↵Yann Ylavic2024-06-263-20/+21
| | | | | | callers. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918647 13f79535-47bb-0310-9956-ffa450edef68
* mod_proxy_http2: ap_proxy_determine_connection()'s given &url is in/out.Yann Ylavic2024-06-261-1/+2
| | | | | | | | | * modules/http2/mod_proxy_http2.c(proxy_http2_handler): Restart from the original URL on reconnect. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918627 13f79535-47bb-0310-9956-ffa450edef68
* mod_proxy: Fixup UDS filename for mod_proxy called through r->handler.Yann Ylavic2024-06-263-22/+43
| | | | | | | | | | | | | | | | | | | * modules/proxy/proxy_util.c: Export ap_proxy_fixup_uds_filename() from fix_uds_filename. Call it from ap_proxy_pre_request() even for rewritten balancer workers. * modules/proxy/mod_proxy.h: Declare ap_proxy_fixup_uds_filename() * modules/proxy/mod_proxy.c: Fixup UDS filename from r->handler in proxy_handler(). * include/ap_mmn.h: Bump MMN minor for ap_proxy_fixup_uds_filename() git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918626 13f79535-47bb-0310-9956-ffa450edef68
* fix comparison of local path on WindowsEric Covener2024-06-251-1/+16
| | | | | | | Submitted By: Yann Ylavic git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918623 13f79535-47bb-0310-9956-ffa450edef68
* validate hostnameEric Covener2024-06-251-0/+11
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918606 13f79535-47bb-0310-9956-ffa450edef68
* * modules/mappers/mod_rewrite.c: Fill in logno.Joe Orton2024-06-251-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918604 13f79535-47bb-0310-9956-ffa450edef68
* block inadvertent subst of special filenamesEric Covener2024-06-241-12/+26
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918553 13f79535-47bb-0310-9956-ffa450edef68
* tighten up prefix_stat and %3f handlingEric Covener2024-06-241-28/+123
| | | | | | | Require opt-ins for unsafe substitutions git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918552 13f79535-47bb-0310-9956-ffa450edef68
* add ap_set_content_type_ex to differentiateEric Covener2024-06-247-23/+31
| | | | | | | trusted sources git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918551 13f79535-47bb-0310-9956-ffa450edef68
* mod_proxy: escape for non-proxypass configurationEric Covener2024-06-241-2/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918550 13f79535-47bb-0310-9956-ffa450edef68
* mod_http2: early exit if bb is nullEric Covener2024-06-241-0/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918548 13f79535-47bb-0310-9956-ffa450edef68
* mpm_event,mod_http2,mod_status: Follow up to r1918257: CONN_STATE_ASYNC_WAITIO.Yann Ylavic2024-06-213-19/+17
| | | | | | | | | | | | | | | | Per discussion on PR #449, have a separate state for returning the connection to the MPM to wait for an IO (namely CONN_STATE_ASYNC_WAITIO), rather than (ab)using CONN_STATE_PROCESSING. This removes the need for AGAIN added in r1918257 (for now), and AP_MPMQ_CAN_AGAIN is renamed to AP_MPMQ_CAN_WAITIO. This is also the state that mod_status accounts for, so rename ->processing to ->wait_io in process_score (shows as "wait-io" in mod_status and mod_lua). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918482 13f79535-47bb-0310-9956-ffa450edef68
* mod_proxy: Follow up to r1918438: Don't cleanup conn before running the ↵Yann Ylavic2024-06-191-2/+2
| | | | | | | | | | | address cleanup. * modules/proxy/proxy_util.c(ap_proxy_determine_address): Move conn_cleanup() after apr_pool_cleanup_run(). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918442 13f79535-47bb-0310-9956-ffa450edef68
* mod_proxy: Follow up to r1918412 and r1918429: Special case WIN32/OS2 only.Yann Ylavic2024-06-191-21/+26
| | | | | | | | | | | | apr_socket_connect() on unixes does copy the passed in *addr, so limit the liefetime workaround to Windows and OS/2 only (which don't). * modules/proxy/proxy_util.c(ap_proxy_determine_address): #ifdef the relevant code for WIN32/OS2 only, and improve comment. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918438 13f79535-47bb-0310-9956-ffa450edef68
* mod_proxy: Follow up to r1918412: Find if one of the conn->addr[->next] is ↵Yann Ylavic2024-06-191-1/+11
| | | | | | | | | | | | | | alive. ap_proxy_connect_backend() will use the first conn->addr[->next] that works, so the current address alive can be any of them. * modules/proxy/proxy_util.c(ap_proxy_determine_address): Loop for all conn->addr[->next] to determine if addr_alive. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918429 13f79535-47bb-0310-9956-ffa450edef68
* mod_proxy: Keep connection alive on addressTTL expiry if the DNS didn't change.Yann Ylavic2024-06-181-20/+38
| | | | | | | | | | | | | | | | * modules/proxy/proxy_util.c(address_cleanup): Rename to conn_cleanup() since it also closes the socket, and run socket_cleanup() first to avoid dangling conn->sock->remote_addr. * modules/proxy/proxy_util.c(ap_proxy_determine_address): Compare the new address with the old one and keep the socket alive if it did not change. Follow up to r1918410. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918412 13f79535-47bb-0310-9956-ffa450edef68
* mod_proxy: Fix DNS requests and connections closed before the configured ↵Yann Ylavic2024-06-181-9/+10
| | | | | | | | | | | addressTTL. BZ 69126 * modules/proxy/proxy_util.c(ap_proxy_determine_address): Fix shared expiry compare-and-swap loop. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918410 13f79535-47bb-0310-9956-ffa450edef68
* fix win cmake build by prefixing local enum valuesEric Covener2024-06-131-21/+21
| | | | | | | | | | | | Something in the declaration is a macro, at least in visual studio 2022. error C2059: syntax error: 'constant' git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918302 13f79535-47bb-0310-9956-ffa450edef68
* mpm_event,mod_http2: Keep compatibility with CONN_STATE_PROCESSING + OKYann Ylavic2024-06-113-34/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before r1918022, returning OK with CONN_STATE_PROCESSING to mpm_event was handled like/by CONN_STATE_LINGER "to not break old or third-party modules which might return OK w/o touching the state and expect lingering close, like with worker or prefork MPMs". So we need a new return code to be allowed to apply the new POLLIN/POLLOUT behaviour for CONN_STATE_PROCESSING, thus revive AGAIN as introduced by Graham some times ago for a nonblocking WIP (moved to a branch/PR since then). MPM event will advertise its ability to handle CONN_STATE_PROCESSING + AGAIN with AP_MPMQ_CAN_AGAIN, and mod_http2 can use that to know how to return to the MPM as expected. When !AP_MPMQ_CAN_AGAIN modules/mod_http2 can still use CONN_STATE_WRITE_COMPLETION + CONN_SENSE_WANT_READ + c->clogging_input_filters which will work in mpm_even-2.4.x still. * include/ap_mmn.h: Bump MMN minor for AP_MPMQ_CAN_AGAIN and AGAIN. * include/ap_mpm.h: Define AP_MPMQ_CAN_AGAIN. * include/httpd.h: Define AGAIN. * modules/http2/h2.h: No need for H2_USE_STATE_PROCESSING anymore with AP_MPMQ_CAN_AGAIN. * modules/http2/h2_c1.c: For !keepalive case return to the MPM using CONN_STATE_PROCESSING + AGAIN or CONN_STATE_WRITE_COMPLETION + c->clogging_input_filters depending on AP_MPMQ_CAN_AGAIN only. * modules/http2/h2_session.c: Can return to the MPM for h2_send_flow_blocked() provided it's async only. * server/mpm/event/event.c: Rework process_socket()'s CONN_STATE_PROCESSING to handle AGAIN and preserve compatibility. Have a lingering_close label to goto there faster when process_lingering_close() is to be called. Improve relevant comments. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918257 13f79535-47bb-0310-9956-ffa450edef68
* CI: Set the path to php-fpm so it's found by proxy_fcgi.t (after r1918149).Joe Orton2024-06-101-1/+1
| | | | | | | Github: closes #453 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918228 13f79535-47bb-0310-9956-ffa450edef68
* mod_status: Fix missing initialization, follow up to r1918098Joe Orton2024-06-031-1/+1
| | | | | | | | Submitted by: Vladimír Chlup <vchlup redhat.com> Github: closes #452 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918127 13f79535-47bb-0310-9956-ffa450edef68
* Follow up to r1918098 (and r1918022): Push missing changes.Yann Ylavic2024-06-012-4/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918099 13f79535-47bb-0310-9956-ffa450edef68
* mpm_event, mod_status: Separate processing and write completion queues.Yann Ylavic2024-06-014-10/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As a follow up to r1918022 which handled the new CONN_STATE_PROCESS(ing) and existing CONN_STATE_WRITE_COMPLETION in the same async queue, let's now have two separates ones which allows more relevant async accounting in mod_status. Rename CONN_STATE_PROCESS to CONN_STATE_PROCESSING as it's how it will be called in mod_status. * include/ap_mmn.h: MMN minor bump for process_score->processing counter. * include/httpd.h: Rename CONN_STATE_PROCESS to CONN_STATE_PROCESSING. * include/scoreboard.h: Add process_score->processing field. * include/httpd.h, modules/http/http_core.c, modules/http2/h2_c1.c, server/mpm/event/event.c, server/mpm/motorz/motorz.c, server/mpm/simple/simple_io.c: Rename CONN_STATE_PROCESS to CONN_STATE_PROCESSING. * server/mpm/event/event.c: Restore write_completion_q to handle connections in CONN_STATE_WRITE_COMPLETION. Use processing_q (renamed from process_q) solely for CONN_STATE_PROCESSING. Update process_score->processing according to the length of processing_q. * modules/generators/mod_status.c: Show the value of process_score->processing in the stats. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918098 13f79535-47bb-0310-9956-ffa450edef68
* Follow up to r1918022: MMN minor bump and checks for the new conn_state_e ↵Yann Ylavic2024-05-293-1/+13
| | | | | | aliases' usability. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918035 13f79535-47bb-0310-9956-ffa450edef68
* Fix ENGINE use with OpenSSL 3.2, which appears to be broken due to aJoe Orton2024-05-283-10/+28
| | | | | | | | | | | | | | | | | | refcounting issue in mod_ssl. * modules/ssl/ssl_engine_pphrase.c (modssl_engine_cleanup): New function. (modssl_load_keypair_engine): Take pconf & ptemp arguments, don't call ENGINE_finish() immediately but register the above cleanup. (modssl_load_engine_keypair): Pass through pconf & ptemp. * modules/ssl/ssl_engine_init.c (ssl_init_server_certs): Pass through pconf and ptemp to modssl_load_engine_keypair. Github: closes #446 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918024 13f79535-47bb-0310-9956-ffa450edef68
* mpm_event,core: Handle async POLLIN/POLLOUT in CONN_STATE_PROCESS state.Yann Ylavic2024-05-282-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/httpd.h: Rename CONN_STATE_CHECK_REQUEST_LINE_READABLE to CONN_STATE_KEEPALIVE and CONN_STATE_READ_REQUEST_LINE to CONN_STATE_PROCESS, keeping the old enums as aliases. Rework comments about each state. * server/mpm/event/event.c: Use the new states names. Let the process_connection hooks return CONN_STATE_PROCESS for mpm_event to POLLIN or POLLOUT depending on c->cs->sense being CONN_SENSE_WANT_READ or CONN_SENSE_WANT_WRITE respectively. Remove (ab)use of CONN_STATE_WRITE_COMPLETION with CONN_SENSE_WANT_READ to mean poll() for read (and the need for the obscure c->clogging_input_filters to make it work as expected). This is what CONN_STATE_PROCESS is for now. Update the comment about the states that can be returned by process_connection hooks (and their usage). Use the same queue (process_q renamed from write_completion_q) for polling connections in both CONN_STATE_PROCESS and CONN_STATE_WRITE_COMPLETION states since they both use the same (server_rec's) Timeout. This implies that both states are accounted as "write-completion" in mod_status for now. * server/mpm/motorz/motorz.c, server/mpm/simple/simple_io.c, modules/http/http_core.c: Use the new states names (only). * include/scoreboard.h: Change comment about process_score->write_completion to note that the counter refers to CONN_STATE_PROCESS connections returned to the MPM too. * modules/http2/h2_c1.c: Return the c1 connection with the CONN_STATE_PROCESS state rather than CONN_STATE_WRITE_COMPLETION when waiting for a window update (i.e. ask the MPM to poll for read directly). This avoids the transition to CONN_STATE_KEEPALIVE which could kill the connection under high load. Github: closes #448 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918022 13f79535-47bb-0310-9956-ffa450edef68
* *) mod_http2: sync with module's github.Stefan Eissing2024-05-277-13/+86
| | | | | | | | | | | | | | - on newer HTTPD versions, return connection monitoring to the event MPM when block on client updates. 2.4.x versions still treat connections in the event MPM as KeepAlive and purge them on load in the middle of response processing. - spelling fixes - support for yield calls in c2 "network" filter git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918003 13f79535-47bb-0310-9956-ffa450edef68
* * modules/proxy/config.m4: Stop exporting ajp_* functions from mod_proxy_ajp.soJoe Orton2024-05-221-1/+5
| | | | | | | in a shared module build. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1917900 13f79535-47bb-0310-9956-ffa450edef68
* Explicitly reject CGI output which includes a Transfer-EncodingJoe Orton2024-05-201-1/+6
| | | | | | | | | | | | | | header, rather than drop it and send what's likely to be an unexpected or corrupted response. * modules/generators/cgi_common.h (cgi_handle_response): Send a 502 error if Transfer-Encoding is present in the response headers. PR: 68970 Github: closes #444 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1917835 13f79535-47bb-0310-9956-ffa450edef68
* Fail if SSLInsecureRenegotiation is used with mod_ssl, CVE-2009-3555Joe Orton2024-05-093-18/+1
| | | | | | | | | | | | | | | is now approaching 15 years old. * modules/ssl/ssl_engine_config.c (ssl_cmd_SSLInsecureRenegotiation): Fail if used. (ssl_config_server_new, ssl_config_server_merge): Remove insecure reneg handling. * modules/ssl/ssl_engine_init.c (ssl_init_ctx_protocol): Remove insecure_reneg handling. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1917600 13f79535-47bb-0310-9956-ffa450edef68
* * modules/proxy/mod_proxy_fcgi.c (dispatch): Only allocate a heapJoe Orton2024-05-081-1/+5
| | | | | | | | buffer if the configured size is greater than the stack-allocated buffer. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1917576 13f79535-47bb-0310-9956-ffa450edef68
* * mod_tls: update version of rustls-ffi to v0.13.0. Stefan Eissing2024-04-224-46/+71
| | | | | | | | [Daniel McCarney (@cpu}] git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1917270 13f79535-47bb-0310-9956-ffa450edef68
* * modules/generators/mod_cgi.c, mod_cgid.c: SinceJoe Orton2024-04-152-2/+0
| | | | | | | | r1916769 adds #include <util_script.h> to cgi_common.h, remove it here. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1916998 13f79535-47bb-0310-9956-ffa450edef68
* mod_ssl_ct: Fix format warnings.Yann Ylavic2024-04-121-2/+2
| | | | | | | | | | * modules/ssl/mod_ssl_ct.c(client_extension_add_callback, server_extension_add_callback): Variable ext_type is unsigned, so use %u instead of %hu. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1916924 13f79535-47bb-0310-9956-ffa450edef68
* * modules/md: Fill in APLOGNO.Jean-Frederic Clere2024-04-111-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1916907 13f79535-47bb-0310-9956-ffa450edef68
* * Ensure that we set the default DH parameters for the keyRuediger Pluem2024-04-081-5/+6
| | | | | | | | | | | | | Replace else with an if as the if branch no longer ensures that custome DH parameters have been loaded. This fixes a regression that causes the default DH parameters for a key no longer set and thus effectively disabling DH ciphers when no explicit DH parameters are set. PR: 68863 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1916863 13f79535-47bb-0310-9956-ffa450edef68
* mod_md: update to v2.4.26Stefan Eissing2024-04-087-16/+89
| | | | | | | | | | | | | | | | | | | | | | - Using OCSP stapling information to trigger certificate renewals. Proposed by @frasertweedale. - Added directive `MDCheckInterval` to control how often the server checks for detected revocations. Added proposals for configurations in the README.md chapter "Revocations". - OCSP stapling: accept OCSP responses without a `nextUpdate` entry which is allowed in RFC 6960. Treat those as having an update interval of 12 hours. Added by @frasertweedale. - Adapt OpenSSL usage to changes in their API. By Yann Ylavic. Test Updates - workarounds for using Pebble v2.5 - disable EAB tests for Pebble since v2.5 no longer supports HS256 FWT for EAB keys - some stability improvemnets in error/warning checks git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1916861 13f79535-47bb-0310-9956-ffa450edef68
* bail after too many failed readsEric Covener2024-04-033-3/+9
| | | | | | | | Submitted By: icing git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1916771 13f79535-47bb-0310-9956-ffa450edef68
* header validation after content-* are eval'edEric Covener2024-04-031-15/+24
| | | | | | | | Submitted By: ylavic git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1916770 13f79535-47bb-0310-9956-ffa450edef68
* let httpd handle CL/TE for non-http handlersEric Covener2024-04-037-3/+66
| | | | | | | | Submitted By: ylavic, covener git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1916769 13f79535-47bb-0310-9956-ffa450edef68
* mod_ssl: Allow for "SSLCompression off" still when OPENSSL_NO_COMP.Yann Ylavic2024-03-261-2/+4
| | | | | | | | | | | | Latest OpenSSL versions have OPENSSL_NO_COMP by default, avoid breaking existing "SSLCompression off" in configurations since it's a noop. * modules/ssl/ssl_engine_config.c(ssl_cmd_SSLCompression): Don't fail for OPENSSL_NO_COMP if the flag is "off". git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1916561 13f79535-47bb-0310-9956-ffa450edef68
* mod_systemd: if SELinux is available and enabled, log the SELinuxJoe Orton2024-03-152-1/+31
| | | | | | | | | | | | | | | | | | 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. Github: closes #422 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1916344 13f79535-47bb-0310-9956-ffa450edef68