#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 {
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;
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");