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:
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user