From: André Malo Date: Sun, 9 Nov 2003 18:21:51 +0000 (+0000) Subject: allow any user id when configured with 'anonymous *' X-Git-Tag: pre_ajp_proxy~1059 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=60f4a2189b9f3aef461f80e99b12281395884378;p=thirdparty%2Fapache%2Fhttpd.git allow any user id when configured with 'anonymous *' PR: 11428 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@101728 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/aaa/mod_authn_anon.c b/modules/aaa/mod_authn_anon.c index d6adfc57969..c74e0bc473f 100644 --- a/modules/aaa/mod_authn_anon.c +++ b/modules/aaa/mod_authn_anon.c @@ -119,6 +119,7 @@ typedef struct { int logemail; int verifyemail; int mustemail; + int anyuserid; } authn_anon_config_rec; static void *create_authn_anon_dir_config(apr_pool_t *p, char *d) @@ -129,6 +130,7 @@ static void *create_authn_anon_dir_config(apr_pool_t *p, char *d) conf->users = NULL; conf->nouserid = 0; + conf->anyuserid = 0; conf->logemail = 1; conf->verifyemail = 0; conf->mustemail = 1; @@ -146,10 +148,17 @@ static const char *anon_set_string_slots(cmd_parms *cmd, } /* squeeze in a record */ - first = conf->users; - conf->users = apr_palloc(cmd->pool, sizeof(*conf->users)); - conf->users->user = apr_pstrdup(cmd->pool, arg); - conf->users->next = first; + if (!conf->anyuserid) { + if (!strcmp(arg, "*")) { + conf->anyuserid = 1; + } + else { + first = conf->users; + conf->users = apr_palloc(cmd->pool, sizeof(*conf->users)); + conf->users->user = apr_pstrdup(cmd->pool, arg); + conf->users->next = first; + } + } return NULL; } @@ -194,6 +203,9 @@ static authn_status check_anonymous(request_rec *r, const char *user, res = AUTH_USER_FOUND; } } + else if (conf->anyuserid) { + res = AUTH_USER_FOUND; + } else { anon_auth_user *p = conf->users;