1
0
mirror of https://github.com/apache/httpd.git synced 2026-10-23 22:49:01 +03:00

* modules/aaa/mod_auth_digest.c: Fail the build without APR_HAS_RANDOM

or APR_HAS_SHARED_MEMORY, rather than testing at runtime. configure
  already declines to build the module without them.

Assisted-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
GitHub: PR #705


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1937111 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Joe Orton
2026-08-13 15:16:10 +00:00
parent 5e7b2c8878
commit 37d73119bc

View File

@@ -81,6 +81,12 @@
#include <unistd.h>
#endif
/* configure declines to build this module without both of these, so this
* only catches builds which don't use it. */
#if !APR_HAS_RANDOM || !APR_HAS_SHARED_MEMORY
#error mod_auth_digest requires APR with random and shared memory support
#endif
/* struct to hold the configuration info */
typedef struct digest_config_struct {
@@ -364,12 +370,6 @@ static int pre_init(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp)
apr_status_t rv;
void *retained;
if (!APR_HAS_SHARED_MEMORY) {
ap_log_error(APLOG_MARK, APLOG_CRIT, rv, NULL, APLOGNO(10590)
"mod_auth_digest cannot be used on platforms without shared memory support");
return !OK;
}
rv = ap_mutex_register(pconf, client_mutex_type, NULL, APR_LOCK_DEFAULT, 0);
if (rv != APR_SUCCESS)
return !OK;
@@ -379,11 +379,7 @@ static int pre_init(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp)
retained = ap_retained_data_create(RETAINED_DATA_ID, SECRET_LEN);
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, NULL, APLOGNO(01757)
"generating secret for digest authentication");
#if APR_HAS_RANDOM
rv = apr_generate_random_bytes(retained, SECRET_LEN);
#else
#error APR random number support is missing
#endif
if (rv != APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_CRIT, rv, NULL, APLOGNO(01758)
"error generating secret");