1
0
mirror of https://github.com/apache/httpd.git synced 2025-11-06 16:49:32 +03:00
Commit Graph

75 Commits

Author SHA1 Message Date
Jeff Trawick
144c3fe342 Clean up some string manipulation.
Submitted by: Christophe JAILLET <christophe.jaillet wanadoo.fr>
Reviewed by: Jeff Trawick
PR: 38701


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@386437 13f79535-47bb-0310-9956-ffa450edef68
2006-03-16 19:39:38 +00:00
Bradley Nicholes
9fed4c73d7 Authz refactoring
Merge from branches/authz-dev

Basically here is a list of what has been done:
- Convert all of the authz modules from hook based to provider based
- Remove the ap_requires field from the core_dir_config structure
- Remove the function ap_requires() since its functionality is no
longer supported or necessary in the refactoring
- Remove the calls to ap_some_auth_required() in the core request
handling to allow the  hooks to be called in all cases.
- Add the new module mod_authz_core which will act as the authorization
provider vector and contain common authz directives such as 'Require',
'Reject' and  '<RequireAlias>'
- Add the new module mod_authn_core which will contain common
authentication directives such as 'AuthType', 'AuthName' and
'<AuthnProviderAlias>'
- Move the check for METHOD_MASK out of the authz providers and into
the authz_core provider vector
- Define the status codes that can be returned by the authz providers
as AUTHZ_DENIED,  AUTHZ_GRANTED and AUTHZ_GENERAL_ERROR   
- Remove the 'Satisfy' directive 
- Implement the '<RequireAll>', '<RequireOne>' block directives  to
handle the 'and' and 'or' logic for authorization.
- Remove the 'AuthzXXXAuthoritative' directives from all of the authz
providers
- Implement the 'Reject' directive that will deny authorization if the
argument is true
- Fold the 'Reject' directive into the '<RequireAll>', '<RequireOne>'
logic
- Reimplement the host based authorization functionality provided by 
'allow', 'deny' and 'order' as authz providers   
- Remove the 'allow', 'deny' and 'order' directives      
- Merge mod_authn_alias into mod_authn_core
- Add '<RequireAlias>' functionality which is similar to
'<AuthnProviderAlias>' but specific to authorization aliasing
- Remove all of the references to the 'authzxxxAuthoritative'
directives from the documentation
- Remove the 'Satisfy' directive from the documentation
- Remove 'Allow', 'Deny', 'Order' directives from the documentation
- Document '<RequireAll>', '<RequireOne>', 'Reject' directives
- Reimplement the APIs ap_auth_type(), ap_auth_name() as optional
functions and move the  actual implementation into mod_authn_core
- Reimplement the API ap_some_auth_required() as an optional function
and move the  actual implementation into mod_authz_core

Major Changes:
- Added the directives <RequireAll>, <RequireOne>, <RequireAlias>,
Reject
- Expanded the functionality of the directive 'Require' to handle all
authorization and access control
- Added the new authz providers 'env', 'ip', 'host', 'all' to handle
host-based access control
- Removed the directives 'Allow', 'Deny', 'Order', 'Satisfy',
'AuthzXXXAuthoritative'
- Removed the ap_require() API
- Moved the directives 'AuthType', 'AuthName' out of mod_core and into
mod_authn_core
- Moved the directive 'Require' out of mod_core and into
mod_authz_core
- Merged mod_authn_alias into mod_authn_core
- Renamed mod_authz_dbm authz providers from 'group' and 'file-group'
to 'dbm-group' and 'dbm-file-group'

Benefits:
- All authorization and access control is now handle through two
directives, 'Require' and 'Reject'
- Authorization has been expanded to allow for complex 'AND/OR' control
logic through the directives '<RequireAll>' and '<RequireOne>'
- Configuration is now much simpler and consistent across the board
- Other modules like mod_ssl and mod_proxy should be able to plug into
and take advantage of  the same provider based authorization mechanism
by implementing their own providers

Issues:
- Backwards compatibility between 2.2 and 2.3 configurations will be
broken in the area  of authorization and access control due to the fact
that the directives 'allow', 'deny',  'order' and 'satisfy' have been
removed.  When moving from 2.2 to 2.3 these directives  will have to be
changed to 'Require all granted', 'Require all denied' or some variation
 of the authz host-based providers.
- Existing third party authorization modules will have to adapt to the
new structure.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@368027 13f79535-47bb-0310-9956-ffa450edef68
2006-01-11 14:30:28 +00:00
William A. Rowe Jr
783d5b0dc1 This shift was treated in 32 bit scope, then masked to 64 bits,
which was probably quite uncool.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@358040 13f79535-47bb-0310-9956-ffa450edef68
2005-12-20 17:10:38 +00:00
Jim Jagielski
5061d9fa92 No functional Change: Removing trailing whitespace. This also
means that "blank" lines consisting of just spaces or
tabs are now really blank lines


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@332306 13f79535-47bb-0310-9956-ffa450edef68
2005-11-10 15:11:44 +00:00
Jim Jagielski
5d2fae4818 No functional change: simple detabbing of indented code.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@332305 13f79535-47bb-0310-9956-ffa450edef68
2005-11-10 15:05:51 +00:00
Jim Jagielski
27da0d6787 Start of getpid()/%d confusion fix...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@265047 13f79535-47bb-0310-9956-ffa450edef68
2005-08-31 14:18:33 +00:00
Jim Jagielski
c2c05e0aee Ensure that req->dn is valid for the util_ldap_cache_compare() call.
Esp make sure not null.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@230895 13f79535-47bb-0310-9956-ffa450edef68
2005-08-08 21:23:22 +00:00
Joe Orton
1dc07b9e89 * modules/ldap/util_ldap.c, modules/aaa/mod_authnz_ldap.c: Stop using
APLOG_NOERRNO throughout.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@225794 13f79535-47bb-0310-9956-ffa450edef68
2005-07-28 15:00:46 +00:00
Joe Orton
84b83bc77a * modules/aaa/mod_authnz_ldap.c (authz_ldap_check_user_access): Remove
unused variable.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@225587 13f79535-47bb-0310-9956-ffa450edef68
2005-07-27 19:36:07 +00:00
Bradley Nicholes
549cf1e255 Backing out the AuthLDAPAllowDNAuth patch from r168016. Because of LDAP filter issues this patch still can't guarantee unique results.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@168644 13f79535-47bb-0310-9956-ffa450edef68
2005-05-06 19:50:57 +00:00
Bradley Nicholes
3a3447622c Add the directive AuthLDAPAllowDNAuth to allow a user to authenticate against an LDAP directory using a full user DN. This directive allows a user to authenticate against a subcontext that may contain non-unique user IDs.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@168016 13f79535-47bb-0310-9956-ffa450edef68
2005-05-03 23:07:43 +00:00
Bradley Nicholes
38e8b5da89 Implement the exported function from mod_ldap(util_ldap) as optional functions so that we can eliminate the load ordering of mod_ldap and mod_authnz_ldap.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@159619 13f79535-47bb-0310-9956-ffa450edef68
2005-03-31 18:44:16 +00:00
Justin Erenkrantz
905cdf9f0b Update copyright year to 2005 and standardize on current copyright owner line.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@151408 13f79535-47bb-0310-9956-ffa450edef68
2005-02-04 20:28:49 +00:00
Bradley Nicholes
13050b4ff6 Allow AuthLDAPURL to override the default connection type with an option second parameter of NONE, SSL or TLS | STARTTLS
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@151083 13f79535-47bb-0310-9956-ffa450edef68
2005-02-03 00:03:37 +00:00
William A. Rowe Jr
8aea7cff22 Correct the order of includes to follow httpd conventions, and get
Win32 compiling again.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@124279 13f79535-47bb-0310-9956-ffa450edef68
2005-01-05 21:35:51 +00:00
William A. Rowe Jr
2a565eff67 Axe a dead variable
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@106077 13f79535-47bb-0310-9956-ffa450edef68
2004-11-21 07:18:38 +00:00
Bradley Nicholes
d688f56f36 Return the correct error when the user object is not found
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105697 13f79535-47bb-0310-9956-ffa450edef68
2004-11-05 23:41:38 +00:00
Bradley Nicholes
a7eff802d2 Added the directive "Requires ldap-filter" that allows the module to only authorize a user based on a complex LDAP search filter.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105694 13f79535-47bb-0310-9956-ffa450edef68
2004-11-05 18:48:16 +00:00
Bradley Nicholes
502d1cc8ec Added the directive "Requires ldap-attribute" that allows the module to only authorize a user if the attribute value specified matches the value of the user object. PR 31913
Submitted by: Ryan Morgan <rmorgan pobox.com>
Reviewd by: Brad Nicholes


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105675 13f79535-47bb-0310-9956-ffa450edef68
2004-11-03 22:05:25 +00:00
Bradley Nicholes
ce0d3a2f6f Allow mod_authnz_ldap authorization functionality to be used without requiring the user to also be authenticated through mod_authnz_ldap. This allows other authentication modules to take advantage of LDAP authorization only [PR 28253]
Submitted by: Jari Ahonen [jah progress.com]
Reviewed by: Brad Nicholes


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105669 13f79535-47bb-0310-9956-ffa450edef68
2004-11-02 00:08:21 +00:00
Joe Orton
5360bc93bc * modules/aaa/mod_authnz_ldap.c: Fix /*-within-comment warning.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105415 13f79535-47bb-0310-9956-ffa450edef68
2004-10-12 12:27:18 +00:00
Graham Leggett
a2e54fb970 mod_auth_ldap: Handle the inconsistent way in which the MS LDAP
library handles special characters.
PR:	24437
Obtained from:
Submitted by:	Jess Holle
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105379 13f79535-47bb-0310-9956-ffa450edef68
2004-10-04 23:43:20 +00:00
Bradley Nicholes
8c9b218b6b Clean up some compiler warnings
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104727 13f79535-47bb-0310-9956-ffa450edef68
2004-08-19 18:08:19 +00:00
Graham Leggett
ef72cd4c9d Clarify an error message to tell the user what to do if apr-util lacks
LDAP support.
PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104706 13f79535-47bb-0310-9956-ffa450edef68
2004-08-18 13:15:47 +00:00
Bradley Nicholes
7d188d363c Re-structure the auth_ldap module to fit the new authentication model. The authnz_ldap module provides an ldap authentication provider and an authorization handler. It implements the authorization "require" values ldap-user, ldap-dn and ldap-group. This restructure also moves auth_ldap out of the experimental directory.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104696 13f79535-47bb-0310-9956-ffa450edef68
2004-08-17 23:33:07 +00:00