842ae4bd224140319ae7feec1872b93dfd491143fielding/* Licensed to the Apache Software Foundation (ASF) under one or more
842ae4bd224140319ae7feec1872b93dfd491143fielding * contributor license agreements. See the NOTICE file distributed with
842ae4bd224140319ae7feec1872b93dfd491143fielding * this work for additional information regarding copyright ownership.
842ae4bd224140319ae7feec1872b93dfd491143fielding * The ASF licenses this file to You under the Apache License, Version 2.0
842ae4bd224140319ae7feec1872b93dfd491143fielding * (the "License"); you may not use this file except in compliance with
842ae4bd224140319ae7feec1872b93dfd491143fielding * the License. You may obtain a copy of the License at
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd * Unless required by applicable law or agreed to in writing, software
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd * distributed under the License is distributed on an "AS IS" BASIS,
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd * See the License for the specific language governing permissions and
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd * limitations under the License.
b4a287513d176e4355dd56ea47b27228e0e5d75fjerenkrantztypedef struct {
42a58c2174dae6edfc97af967add2f50baa85800jim int dummy; /* just here to stop compiler warnings for now. */
b4a287513d176e4355dd56ea47b27228e0e5d75fjerenkrantzstatic void *create_authz_user_dir_config(apr_pool_t *p, char *d)
b4a287513d176e4355dd56ea47b27228e0e5d75fjerenkrantz authz_user_config_rec *conf = apr_palloc(p, sizeof(*conf));
367d146f245f3b1c9f77c18e6ec591b52e0b344cbnicholesstatic authz_status user_check_authorization(request_rec *r,
97cc46935ec496b83fef9d6feb094d706c895b3bsf const char *require_args,
b4a287513d176e4355dd56ea47b27228e0e5d75fjerenkrantz const char *t, *w;
194c1e226415b5f34251d249ffe2f8b96c835637minfrin ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(02594)
194c1e226415b5f34251d249ffe2f8b96c835637minfrin "authz_user authorize: require user: Can't "
367d146f245f3b1c9f77c18e6ec591b52e0b344cbnicholes while ((w = ap_getword_conf(r->pool, &t)) && w[0]) {
b1f989ad92bf5918c4f48babb99238d5201da6fccovener ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(01663)
b4a287513d176e4355dd56ea47b27228e0e5d75fjerenkrantz "access to %s failed, reason: user '%s' does not meet "
367d146f245f3b1c9f77c18e6ec591b52e0b344cbnicholes "'require'ments for user to be allowed access",
97cc46935ec496b83fef9d6feb094d706c895b3bsfstatic authz_status validuser_check_authorization(request_rec *r,
97cc46935ec496b83fef9d6feb094d706c895b3bsf const char *require_line,
194c1e226415b5f34251d249ffe2f8b96c835637minfrinstatic const char *user_parse_config(cmd_parms *cmd, const char *require_line,
194c1e226415b5f34251d249ffe2f8b96c835637minfrin expr = ap_expr_parse_cmd(cmd, require_line, AP_EXPR_FLAG_STRING_RESULT,
194c1e226415b5f34251d249ffe2f8b96c835637minfrin "Cannot parse expression in require line: ",
367d146f245f3b1c9f77c18e6ec591b52e0b344cbnicholesstatic const authz_provider authz_validuser_provider =
2e242dca7111f99d54dd144b7b8418d88d560032chrisd ap_register_auth_provider(p, AUTHZ_PROVIDER_GROUP, "user",
2e242dca7111f99d54dd144b7b8418d88d560032chrisd ap_register_auth_provider(p, AUTHZ_PROVIDER_GROUP, "valid-user",
b4a287513d176e4355dd56ea47b27228e0e5d75fjerenkrantz create_authz_user_dir_config, /* dir config creater */
b4a287513d176e4355dd56ea47b27228e0e5d75fjerenkrantz NULL, /* dir merger --- default is to override */