mirror of
https://github.com/apache/httpd.git
synced 2025-08-03 16:33:59 +00:00
Fix handling of authz configurations, make default authz logic replicate
2.2.x authz logic and support existing configurations (including .htaccess files), and replace <Satisfy*>, Reject, and AuthzMergeRules directives with Match, <Match*>, and AuthzMerge directives. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@709838 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@ -44,7 +44,6 @@ extern "C" {
|
||||
|
||||
#define AUTHN_PROVIDER_NAME_NOTE "authn_provider_name"
|
||||
#define AUTHZ_PROVIDER_NAME_NOTE "authz_provider_name"
|
||||
#define AUTHZ_ACCESS_PASSED_NOTE "authz_access_passed"
|
||||
|
||||
#define AUTHN_PREFIX "AUTHENTICATE_"
|
||||
|
||||
@ -72,15 +71,10 @@ typedef enum {
|
||||
typedef enum {
|
||||
AUTHZ_DENIED,
|
||||
AUTHZ_GRANTED,
|
||||
AUTHZ_GENERAL_ERROR,
|
||||
AUTHZ_NEUTRAL
|
||||
AUTHZ_NEUTRAL,
|
||||
AUTHZ_GENERAL_ERROR
|
||||
} authz_status;
|
||||
|
||||
typedef enum {
|
||||
AUTHZ_REQSTATE_ONE,
|
||||
AUTHZ_REQSTATE_ALL
|
||||
} authz_request_state;
|
||||
|
||||
typedef struct {
|
||||
/* Given a username and password, expected to return AUTH_GRANTED
|
||||
* if we can validate this user/password combination.
|
||||
@ -112,23 +106,6 @@ typedef struct {
|
||||
const char *require_line);
|
||||
} authz_provider;
|
||||
|
||||
/* A linked-list of authn providers. */
|
||||
typedef struct authz_provider_list authz_provider_list;
|
||||
|
||||
struct authz_provider_list {
|
||||
const char *provider_name;
|
||||
const authz_provider *provider;
|
||||
authz_provider_list *one_next;
|
||||
authz_provider_list *all_next;
|
||||
/** If a Limit method is in effect, this field will be set */
|
||||
apr_int64_t method_mask;
|
||||
authz_request_state req_state;
|
||||
int req_state_level;
|
||||
/** String following 'require <provider>' from config file */
|
||||
char *requirement;
|
||||
int is_reject;
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user