1
0
mirror of https://github.com/apache/httpd.git synced 2026-10-23 22:49:01 +03:00
Files
apache/support
Joe Orton 83d565fbb5 Merge r1933586, r1916058, r1916068, r1933631, r1929891 from trunk:
Fix OpenSSL 4.0 compatibility and test that in CI.

CI: Update to test OpenSSL 4.0.0 explicitly.
CI: No longer disable deprecated-declaration warnings for OpenSSL 3.4 -Werror build.

* modules/ssl/ssl_engine_kernel.c (ssl_hook_UserCheck): Change name to
  const X509_NAME *.
  (ssl_callback_proxy_cert): Change ca_name, issuer, and ca_issuer to
  const X509_NAME *.

* modules/ssl/ssl_engine_log.c (ssl_log_cert_error): Change cert
  parameter to const X509 *. Use X509_get0_serialNumber,
  X509_get0_notBefore, and X509_get0_notAfter instead of non-const
  variants.
  (ssl_log_xerror, ssl_log_cxerror, ssl_log_rxerror): Change cert
  parameter to const X509 *.

* modules/ssl/ssl_engine_vars.c (ssl_var_lookup_ssl_cert_dn): Change
  xsname parameter to const X509_NAME *.
  (ssl_var_lookup_ssl_cert_dn_oneline): Change xsname parameter to
  const X509_NAME *.
  (ssl_var_lookup_ssl_cert): Change xsname to const X509_NAME *.
  (ssl_var_lookup_ssl_cert_rfc4523_cea): Change issuer to const
  X509_NAME *.

* modules/ssl/ssl_private.h (ssl_log_xerror, ssl_log_cxerror,
  ssl_log_rxerror): Update declarations to use const X509 *.

* modules/ssl/ssl_util_ssl.c (modssl_X509_NAME_to_string): Change dn
  parameter to const X509_NAME *.
  (getIDs): Change subj to const X509_NAME *.

* modules/ssl/ssl_util_ssl.h (modssl_X509_NAME_to_string): Update
  declaration to use const X509_NAME *.

* support/ab.c (ssl_print_cert_info): Change dn to const X509_NAME *.

mod_ssl: use ASN1_STRING accessor API in dump_extn_value:

* modules/ssl/ssl_engine_vars.c (dump_extn_value): Use
  ASN1_STRING_get0_data() and ASN1_STRING_length() rather than
  directly dereferencing the ASN1_OCTET_STRING structure, which is
  opaque in OpenSSL 4.0.
* modules/ssl/ssl_private.h: Add compat macros for
  ASN1_STRING_get0_data and ASN1_STRING_length for pre-1.1 API.

mod_ssl: constify ASN1_TIME pointers, use X509_get0_not{Before,After}:

* modules/ssl/ssl_engine_vars.c (ssl_var_lookup_ssl_cert_valid,
  ssl_var_lookup_ssl_cert_remain): Constify ASN1_TIME * parameter.
  (ssl_var_lookup_ssl_cert): Use X509_get0_notBefore() and
  X509_get0_notAfter() which return const pointers.
  (ssl_var_lookup_ssl_cert_remain): Use ASN1_TIME_check() directly
  rather than INVALID_ASN1_TIME macro which dereferences the
  ASN1_TIME structure.
  (dump_extn_value): Constify ASN1_OCTET_STRING * parameter.
* modules/ssl/ssl_private.h: Add compat macros for
  X509_get0_before and X509_get0_after for pre-1.1 API.

mod_ssl: constify X509_NAME_ENTRY and X509_EXTENSION pointers:

* modules/ssl/ssl_engine_vars.c (ssl_var_lookup_ssl_cert_dn,
  extract_dn): Constify X509_NAME_ENTRY * variables, constify
  X509_NAME * parameter of extract_dn, drop unnecessary casts
  on X509_NAME_ENTRY_get_object() calls.
  (ssl_ext_list): Use MODSSL_X509_EXT_CONST for X509_EXTENSION *
  since X509_EXTENSION accessors are only constified in OpenSSL 4.
* modules/ssl/ssl_util_ssl.c, modules/ssl/ssl_util_ssl.h
  (modssl_X509_NAME_ENTRY_to_string): Constify X509_NAME_ENTRY *
  parameter.
* modules/ssl/ssl_private.h: Add MODSSL_X509_EXT_CONST, defined
  as const for OpenSSL 4+ and empty otherwise.

* modules/ssl/ssl_util_ssl.c (asn1_string_convert): Constify
  ASN1_STRING * argument.
* modules/ssl/ssl_engine_ocsp.c (extract_responder_uri): Use
  modssl_ASN1_STRING_convert instead of directly accessing ASN1_STRING
  data pointer.

* modules/ssl/ssl_util_ssl.c (modssl_ASN1_STRING_convert): Rename from
  asn1_string_convert and export function.
  (asn1_string_to_utf8): Update to use modssl_ASN1_STRING_convert.
  (modssl_X509_NAME_ENTRY_to_string): Update to use
  modssl_ASN1_STRING_convert.

* modules/ssl/ssl_util_ssl.h (modssl_ASN1_STRING_convert): Declare new
  function.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

CI: Add OpenSSL 3.1 builds, including a no-engine build.
(attempt to use 3.2 failed, unsure why)
- add OpenSSL build binaries to $PATH 

CI: add OpenSSL 3.2, test OpenSSL 3.x using Apache::Test
trunk to pick up r1916067.

CI: The OpenSSL no-engine config option is redundant as of 4.0, remove.

CI: Try to fix ab failures during OpenSSL ech job, set RPATH via LDFLAGS

CI: For OpenSSL branch builds, always build a fresh version of the
OpenSSL branch and cache the commit hash to allow checking for freshness.
Also clone with --depth=1 to save time+bandwidth.

Reviewed by: jorton, covener (skimmed+CI results), rpluem
Github: closes #642


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1934973 13f79535-47bb-0310-9956-ffa450edef68
2026-06-04 08:50:44 +00:00
..
2020-02-21 00:33:40 +00:00
2016-03-23 03:53:49 +00:00
2015-04-29 02:09:22 +00:00
2016-03-23 03:53:49 +00:00
2020-03-20 13:00:44 +00:00
2016-08-25 12:48:18 +00:00
2012-03-08 16:10:51 +00:00
2016-03-23 03:53:49 +00:00
2024-03-05 13:11:54 +00:00
2016-03-23 03:53:49 +00:00
2015-04-29 02:09:22 +00:00
2016-03-23 03:53:49 +00:00
2016-03-23 03:53:49 +00:00
2015-04-29 02:09:22 +00:00
2016-03-23 03:53:49 +00:00
2013-04-15 12:42:00 +00:00
2016-03-23 03:53:49 +00:00
2015-04-29 02:09:22 +00:00
2016-03-23 03:53:49 +00:00
2015-04-29 02:09:22 +00:00
2016-08-25 12:48:18 +00:00
2018-02-09 10:17:30 +00:00
2016-03-23 03:53:49 +00:00
2015-04-29 02:09:22 +00:00
2015-01-12 13:59:57 +00:00
2011-09-23 13:38:09 +00:00

Support files:

ab
	ABuse your server with this benchmarker. Rudimentary
	command line testing tool.

apachectl
	Apache run-time Control script. To facilitate the
	administrator and/or your rc.d scripts to control the 
	functioning of the Apache httpd daemon.

apxs
	APache eXtenSion tool. Eases building and installing
	DSO style modules.

dbmmanage
	Create and update user authentication files in the faster
	DBM format used by mod_auth_db.

htcacheclean
    Keep the size of mod_cache_disk store within a certain limit.

htdigest
	Create and update user authentication files used in
	DIGEST authentification. See mod_auth_digest.

htpasswd 
	Create and update user authentication files used in
	BASIC authentification. I.e. the htpasswd files.
	See mod_auth.

httpd.8
	General apache man page.

log_server_status
	This script is designed to be run at a frequent interval by something
	like cron.  It connects to the server and downloads the status
	information.  It reformats the information to a single line and logs
	it to a file. 

logresolve
	resolve hostnames for IP-adresses in Apache logfiles

phf_abuse_log.cgi
	This script can be used to detect people trying to abuse an ancient
	and long plugged security hole which existed in a CGI script distributed
	with Apache 1.0.3 and earlier versions.

rotatelogs
	rotate Apache logs without having to kill the server.

split-logfile
	This script will take a combined virtual hosts access
	log file and break its contents into separate files.

suexec
	Switch User For Exec. Used internally by apache, 
        see  the  document  `Apache  suEXEC  Support'
	under http://www.apache.org/docs/suexec.html .

SHA1
	This directory includes some utilities to allow Apache 1.3.6 to 
	recognize passwords in SHA1 format, as used by Netscape web 
	servers. It is not installed by default.