Loading CHANGES +4 −0 Changes for CHANGES: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -2,6 +2,10 @@ Changes with Apache 2.3.0 [ When backported to 2.2.x, remove entry from this file ] *) mod_auth_digest: Detect during startup when AuthDigestProvider is configured to use an incompatible provider via AuthnProviderAlias. PR 45196 [Eric Covener] *) mod_rewrite: Preserve the query string with [proxy,noescape]. PR 45247 [Tom Donovan] Loading include/ap_mmn.h +2 −1 Changes for include/ap_mmn.h: 2 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -161,6 +161,7 @@ * 20080528.0 (2.3.0-dev) Switch order of ftp_directory_charset and * interpolate_env in proxy_dir_conf. * Rationale: see r661069. * 20080528.1 (2.3.0-dev) add get_realm_hash() to mod_auth.h */ #define MODULE_MAGIC_COOKIE 0x41503234UL /* "AP24" */ Loading @@ -168,7 +169,7 @@ #ifndef MODULE_MAGIC_NUMBER_MAJOR #define MODULE_MAGIC_NUMBER_MAJOR 20080528 #endif #define MODULE_MAGIC_NUMBER_MINOR 0 /* 0...n */ #define MODULE_MAGIC_NUMBER_MINOR 1 /* 0...n */ /** * Determine if the server's current MODULE_MAGIC_NUMBER is at least a Loading include/mod_auth.h +4 −0 Changes for include/mod_auth.h: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -93,6 +93,10 @@ typedef struct { */ authn_status (*get_realm_hash)(request_rec *r, const char *user, const char *realm, char **rethash); /* OK if provider can satisfy get_realm_hash(), APR_ENOTIMPL otherwise. */ apr_status_t (*has_realm_hash)(cmd_parms *cmd, const char *provider_name); } authn_provider; /* A linked-list of authn providers. */ Loading modules/aaa/mod_auth_digest.c +3 −1 Changes for modules/aaa/mod_auth_digest.c: 3 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -463,7 +463,9 @@ static const char *add_authn_provider(cmd_parms *cmd, void *config, newp->provider_name); } if (!newp->provider->get_realm_hash) { if (!newp->provider->get_realm_hash || (newp->provider->has_realm_hash && newp->provider->has_realm_hash(cmd, newp->provider_name) == APR_ENOTIMPL)) { /* if it doesn't provide the appropriate function, reject it */ return apr_psprintf(cmd->pool, "The '%s' Authn provider doesn't support " Loading modules/aaa/mod_authn_core.c +22 −0 Changes for modules/aaa/mod_authn_core.c: 22 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -132,6 +132,27 @@ static authn_status authn_alias_check_password(request_rec *r, const char *user, return ret; } static apr_status_t authn_alias_has_realm_hash(cmd_parms *cmd, const char *provider_name) { /* No merge, just a query to be passed on to the provider */ authn_alias_srv_conf *authcfg = (authn_alias_srv_conf *)ap_get_module_config(cmd->server->module_config, &authn_core_module); apr_status_t ret = APR_ENOTIMPL; provider_alias_rec *prvdraliasrec = apr_hash_get(authcfg->alias_rec, provider_name, APR_HASH_KEY_STRING); if (prvdraliasrec->provider->has_realm_hash) { ret = prvdraliasrec->provider->has_realm_hash(cmd, provider_name); } else if (prvdraliasrec->provider->get_realm_hash) { /* provider didn't register has_realm_hash, but does have get_realm_hash */ ret = OK; } return ret; } static authn_status authn_alias_get_realm_hash(request_rec *r, const char *user, const char *realm, char **rethash) { Loading Loading @@ -179,6 +200,7 @@ static const authn_provider authn_alias_provider = { &authn_alias_check_password, &authn_alias_get_realm_hash, &authn_alias_has_realm_hash, }; static const char *authaliassection(cmd_parms *cmd, void *mconfig, const char *arg) Loading Loading
CHANGES +4 −0 Changes for CHANGES: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -2,6 +2,10 @@ Changes with Apache 2.3.0 [ When backported to 2.2.x, remove entry from this file ] *) mod_auth_digest: Detect during startup when AuthDigestProvider is configured to use an incompatible provider via AuthnProviderAlias. PR 45196 [Eric Covener] *) mod_rewrite: Preserve the query string with [proxy,noescape]. PR 45247 [Tom Donovan] Loading
include/ap_mmn.h +2 −1 Changes for include/ap_mmn.h: 2 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -161,6 +161,7 @@ * 20080528.0 (2.3.0-dev) Switch order of ftp_directory_charset and * interpolate_env in proxy_dir_conf. * Rationale: see r661069. * 20080528.1 (2.3.0-dev) add get_realm_hash() to mod_auth.h */ #define MODULE_MAGIC_COOKIE 0x41503234UL /* "AP24" */ Loading @@ -168,7 +169,7 @@ #ifndef MODULE_MAGIC_NUMBER_MAJOR #define MODULE_MAGIC_NUMBER_MAJOR 20080528 #endif #define MODULE_MAGIC_NUMBER_MINOR 0 /* 0...n */ #define MODULE_MAGIC_NUMBER_MINOR 1 /* 0...n */ /** * Determine if the server's current MODULE_MAGIC_NUMBER is at least a Loading
include/mod_auth.h +4 −0 Changes for include/mod_auth.h: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -93,6 +93,10 @@ typedef struct { */ authn_status (*get_realm_hash)(request_rec *r, const char *user, const char *realm, char **rethash); /* OK if provider can satisfy get_realm_hash(), APR_ENOTIMPL otherwise. */ apr_status_t (*has_realm_hash)(cmd_parms *cmd, const char *provider_name); } authn_provider; /* A linked-list of authn providers. */ Loading
modules/aaa/mod_auth_digest.c +3 −1 Changes for modules/aaa/mod_auth_digest.c: 3 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -463,7 +463,9 @@ static const char *add_authn_provider(cmd_parms *cmd, void *config, newp->provider_name); } if (!newp->provider->get_realm_hash) { if (!newp->provider->get_realm_hash || (newp->provider->has_realm_hash && newp->provider->has_realm_hash(cmd, newp->provider_name) == APR_ENOTIMPL)) { /* if it doesn't provide the appropriate function, reject it */ return apr_psprintf(cmd->pool, "The '%s' Authn provider doesn't support " Loading
modules/aaa/mod_authn_core.c +22 −0 Changes for modules/aaa/mod_authn_core.c: 22 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -132,6 +132,27 @@ static authn_status authn_alias_check_password(request_rec *r, const char *user, return ret; } static apr_status_t authn_alias_has_realm_hash(cmd_parms *cmd, const char *provider_name) { /* No merge, just a query to be passed on to the provider */ authn_alias_srv_conf *authcfg = (authn_alias_srv_conf *)ap_get_module_config(cmd->server->module_config, &authn_core_module); apr_status_t ret = APR_ENOTIMPL; provider_alias_rec *prvdraliasrec = apr_hash_get(authcfg->alias_rec, provider_name, APR_HASH_KEY_STRING); if (prvdraliasrec->provider->has_realm_hash) { ret = prvdraliasrec->provider->has_realm_hash(cmd, provider_name); } else if (prvdraliasrec->provider->get_realm_hash) { /* provider didn't register has_realm_hash, but does have get_realm_hash */ ret = OK; } return ret; } static authn_status authn_alias_get_realm_hash(request_rec *r, const char *user, const char *realm, char **rethash) { Loading Loading @@ -179,6 +200,7 @@ static const authn_provider authn_alias_provider = { &authn_alias_check_password, &authn_alias_get_realm_hash, &authn_alias_has_realm_hash, }; static const char *authaliassection(cmd_parms *cmd, void *mconfig, const char *arg) Loading