the DSO link problems for DAV and the new aaa modules by moving the
provider code into the core of the server and generalizing them to be
used by any code.
Remove the auth{nz}_*_provider functions as they are no longer needed.
Change the dav_*_provider functions to wrap the ap_*_provider functions
as they have a bit more of a historical precedent that we should keep
around.
Reviewed by: John K. Sterling <john@sterls.com> (in concept)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96919 13f79535-47bb-0310-9956-ffa450edef68
<options> tag, as defined by RFC 3253, and we don't recognize the
option as a builtin one, then we pass that off to the versioning hooks
of the DAV provider for it to process. However, we neglected to check
whether the provider actually *had* versioning hooks first.
The fix: simply check for versioning hooks before using them.
Problem found by: Ryan Bloom <rbb@apache.org>
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96903 13f79535-47bb-0310-9956-ffa450edef68
authoritative, allow the user to retry. This is consistent with the other auth
modules. It previously only allowed a retry if the password was invalid.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96893 13f79535-47bb-0310-9956-ffa450edef68
request. Otherwise, other modules may attempt to do "funny stuff" with
the request (specifically: mod_dir will map /some/path/ into an
index.html document if found).
This reinstalls a fixups hook to set the r->handler value. Most of the
checks in the dav_handler() function are now moved to the fixups hook.
We just don't bother to set the handler unless all conditions are met.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96853 13f79535-47bb-0310-9956-ffa450edef68
egg problem when loading the auth modules vs the providers. (Can't load the
auth module until the provider has registered. Can't register the provider until
the auth module is loaded and APIs are available.)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96846 13f79535-47bb-0310-9956-ffa450edef68
the access logs so that failure conditions are noted earlier, and return
out of the code using the != OK convention from ap_hook_open_logs.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96828 13f79535-47bb-0310-9956-ffa450edef68
alone, on Win32 only.
Requires mod_auth_basic be loaded prior to using mod_auth_digest or any
other mod_authn/z modules.
Win32 builds again.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96794 13f79535-47bb-0310-9956-ffa450edef68
args to the key generated for caching. This provides a unique
key for each virtual host and for each request with unique
args. [Paul J. Reder, args code provided by Kris Verbeeck]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96773 13f79535-47bb-0310-9956-ffa450edef68
do not have to re-implement basic auth and to allow mod_auth_digest (and
other modules) to leverage the authn backends.
Adds AuthBasicProvider and AuthDigestProvider directives.
This also moves a lot of the basic auth handling code inside of mod_auth_basic
(but does not remove the code in server/protocol.c - that will have to wait
for a version bump so that we don't totally bust old modules).
This patch incorporates code review comments by Greg Stein.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96739 13f79535-47bb-0310-9956-ffa450edef68
All modules are reorganized under the following scheme:
- mod_auth_*: Front-end (basic, digest)
- mod_authn_*: Authentication (anon, dbm, default, file)
- mod_authz_*: Authorization (dbm, default, groupfile, host, user)
This passes the httpd-test suite when it accounts for the renaming of
aaa modules.
Originally written by: Dirk-Willem van Gulik
Completed by: Justin Erenkrantz
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96728 13f79535-47bb-0310-9956-ffa450edef68
The old mechanism would jam a handler name in whenever DAV was
configured for a directory. i.e. there weren't really any tests other
than "is DAV handling this directory?" The name was just a marker
which was tested later.
The new mechanism simplies performs the test right in the handler.
This is now possible since all handlers are called (before, you *had*
to set your own name so that your handler would be called). Since the
test is actually quite straightforward, we actually gain overall: no
more fixups hook, and a couple integer comparisons (rather than a
string compare).
And hoo... the code is simpler, too.
This code has been verified with "litmus 0.8", my own little
regression script, and some hand testing of static pages and CGIs. DAV
continues to work, and it doesn't appear that the changes interfered
with other operation.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96658 13f79535-47bb-0310-9956-ffa450edef68
This directive allows mod_mime to lookup extension information for content
served via Location blocks so that content-type, filters, etc can be
applied to non-file content.
(I wouldn't be shocked if we end up changing the directive name.)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96644 13f79535-47bb-0310-9956-ffa450edef68
(This hook may be able to removed entirely in favor of being in dav_handler,
but that is left as an exercise to the reader.)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96641 13f79535-47bb-0310-9956-ffa450edef68