]> granicus.if.org Git - apache/commitdiff
propogate a NULL get_realm_hash() implementation from AuthnProviderAlias back
authorEric Covener <covener@apache.org>
Tue, 22 Jul 2008 23:53:23 +0000 (23:53 +0000)
committerEric Covener <covener@apache.org>
Tue, 22 Jul 2008 23:53:23 +0000 (23:53 +0000)
to mod_auth_digest.  PR 45196

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@678949 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
modules/aaa/mod_authn_core.c

diff --git a/CHANGES b/CHANGES
index 640f4aa32c411fb346205c2aa995ae51ca141574..39e0833774dbd4bd957369640cb1b88206ce084d 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,10 @@
 Changes with Apache 2.3.0
 [ When backported to 2.2.x, remove entry from this file ]
 
+  *) mod_auth_core: Detect during startup when AuthDigestProvider
+     is configured to use an incompatible provider via AuthnProviderAlias.
+     PR 45196 [Eric Covener]
+
   *) mod_session: Prevent a segfault when a CGI script sets a cookie with a
      null value. [David Shane Holden <dpejesh apache.org>]
 
index 649f6c6f084f5c3506a071e1cda4a1dc4e65c76a..22dfeccbb962836c73044b548ad5ebe68bbe5449 100644 (file)
@@ -181,6 +181,12 @@ static const authn_provider authn_alias_provider =
     &authn_alias_get_realm_hash,
 };
 
+static const authn_provider authn_alias_provider_nodigest =
+{
+    &authn_alias_check_password,
+    NULL,
+};
+
 static const char *authaliassection(cmd_parms *cmd, void *mconfig, const char *arg)
 {
     int old_overrides = cmd->override;
@@ -256,7 +262,9 @@ static const char *authaliassection(cmd_parms *cmd, void *mconfig, const char *a
         /* Register the fake provider so that we get called first */
         ap_register_auth_provider(cmd->pool, AUTHN_PROVIDER_GROUP,
                                   provider_alias, AUTHN_PROVIDER_VERSION,
-                                  &authn_alias_provider,
+                                  provider->get_realm_hash ?
+                                      &authn_alias_provider :
+                                      &authn_alias_provider_nodigest,
                                   AP_AUTH_INTERNAL_PER_CONF);
     }