00001 /** 00002 * @copyright 00003 * ==================================================================== 00004 * Licensed to the Apache Software Foundation (ASF) under one 00005 * or more contributor license agreements. See the NOTICE file 00006 * distributed with this work for additional information 00007 * regarding copyright ownership. The ASF licenses this file 00008 * to you under the Apache License, Version 2.0 (the 00009 * "License"); you may not use this file except in compliance 00010 * with the License. You may obtain a copy of the License at 00011 * 00012 * http://www.apache.org/licenses/LICENSE-2.0 00013 * 00014 * Unless required by applicable law or agreed to in writing, 00015 * software distributed under the License is distributed on an 00016 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 00017 * KIND, either express or implied. See the License for the 00018 * specific language governing permissions and limitations 00019 * under the License. 00020 * ==================================================================== 00021 * @endcopyright 00022 * 00023 * @file mod_authz_svn.h 00024 * @brief Subversion authorization extensions for mod_dav_svn 00025 */ 00026 00027 #ifndef MOD_AUTHZ_SVN_H 00028 #define MOD_AUTHZ_SVN_H 00029 00030 #include <httpd.h> 00031 00032 #ifdef __cplusplus 00033 extern "C" { 00034 #endif /* __cplusplus */ 00035 00036 /* 00037 * mod_dav_svn to mod_authz_svn bypass mechanism 00038 */ 00039 /** Provider group for subrequest bypass */ 00040 #define AUTHZ_SVN__SUBREQ_BYPASS_PROV_GRP "dav2authz_subreq_bypass" 00041 /** Provider name for subrequest bypass */ 00042 #define AUTHZ_SVN__SUBREQ_BYPASS_PROV_NAME "mod_authz_svn_subreq_bypass" 00043 /** Provider version for subrequest bypass */ 00044 #define AUTHZ_SVN__SUBREQ_BYPASS_PROV_VER "00.00a" 00045 /** Provider to allow mod_dav_svn to bypass the generation of an apache 00046 * request when checking GET access from "mod_dav_svn/auth.c". 00047 * 00048 * Uses @a r @a repos_path and @a repos_name to determine if the user 00049 * making the request is authorized. 00050 * 00051 * If the access is allowed returns @c OK or @c HTTP_FORBIDDEN if it is not. 00052 */ 00053 typedef int (*authz_svn__subreq_bypass_func_t)(request_rec *r, 00054 const char *repos_path, 00055 const char *repos_name); 00056 00057 #ifdef __cplusplus 00058 } 00059 #endif /* __cplusplus */ 00060 00061 #endif