not when linking modules or support programs.
* modules/aaa/config.m4, modules/arch/win32/config.m4,
modules/cache/config.m4, modules/echo/config.m4,
modules/filters/config.m4, modules/generators/config5.m4,
modules/metadata/config.m4: Don't add -export-dynamic to LT_LDFLAGS.
* modules/mappers/config9.m4: Add -export-dynamic to HTTPD_LDFLAGS
when mod_so is enabled.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102235 13f79535-47bb-0310-9956-ffa450edef68
mod_authz_owner: forward port of require file-owner/file-group functionality
The goal of the module is to do all the neccessary file system work to
figure out username and groupname. "Require file-owner" is completely
resolved within the module. "file-group" is only determined there and the
groupname will be extracted from the stat call and stored within the
r->notes. Done that, the module will decline, so that the group database
modules (mod_authz_groupfile, mod_authz_dbm) can verify the groupname with
their lists.
Thus every group module that supports the file-group requirement must be
hooked after mod_authz_owner. They have to recognize "file-group" and read
the groupname from r->notes. (If there's no name stored, the modules should
ignore the file-group requirement). The backstopper module will do its work
in worst case.
not solved yet:
- the module doesn't work as one could expect if the file doesn't exist in
the first request round (consider MultiViews) (the 1.3 version has the
same problem). I played around with some subrequest techniques, but got
no helpful result. Is there any magic to recognize the actual resulting
filename (if there is)?
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98281 13f79535-47bb-0310-9956-ffa450edef68
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
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
Lars) and ample warning has been posted to dev@httpd.
mod_auth_dbm should be able to take over all functionality of mod_auth_db
with the AuthDBMType directive.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93010 13f79535-47bb-0310-9956-ffa450edef68
(the AC_* way of doing what Martin committed)
- Fix the configuration check for mod_auth_digest so that:
- Everything is on separate lines so that the preprocessor doesn't scream
- It adds the path to APR. (APR_SOURCE_DIR looks right, but I'm not sure.)
By the time the modules are configured, the CPPFLAGS and such are not
setup to point at APR. This should probably be rectified and then this
can be taken out - so you could assume that apr.h is in your CPPFLAGS
somewhere when configuring the modules.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90392 13f79535-47bb-0310-9956-ffa450edef68
rather than in libdb. Also, be more precise in telling what is actually
checked for (we are NOT testing for main(), but we are testing for dbopen(),
right?).
Without the first fix, configuration would fail completely for FreeBSD
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90391 13f79535-47bb-0310-9956-ffa450edef68
by allowing a module to disable itself if its prerequisites are not met.
This introduces the subtle nuance that if you request a module and you
don't meet its prerequisites, it'll refuse to build itself.
mod_ssl exits if its prerequisites are not met.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90261 13f79535-47bb-0310-9956-ffa450edef68
and apr-util, allow it to be overridden by the configure command-line
(default="--silent") and introduce LT_LDFLAGS to replace what we were
formally abusing as LTFLAGS.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89094 13f79535-47bb-0310-9956-ffa450edef68
variables CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS and LIBS by moving
the configure additions to EXTRA_* variables. Also, allow the user
to specify NOTEST_* values for all of the above, which eliminates the
need for THREAD_CPPFLAGS, THREAD_CFLAGS, and OPTIM. Fix the setting
of INCLUDES and EXTRA_INCLUDES. Check flags as they are added to
avoid pointless duplications. Fix the order in which flags are given
on the compile and link lines.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88960 13f79535-47bb-0310-9956-ffa450edef68
the file name, and it is easier to automate the installation
process (generating LoadModule directives from the module filenames).
Next step is to remove the 4th argument to the APACHE_MODULE macro
completely and require people to use the matching names, and to
reduce the LoadModule directive to 1 argument.... Objections?
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88189 13f79535-47bb-0310-9956-ffa450edef68
config tree instead of re-reading the config file. As a part of this
change, the config tree needs to be exposed to modules as ap_conftree.
Submitted by: Ryan Morgan <rmorgan@covalent.net>
Reviewed by: Ryan Bloom
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86948 13f79535-47bb-0310-9956-ffa450edef68
This doesn't account for the fact that getpwnam() isn't
thread-safe on FreeBSD; it also doesn't account for systems
where getpwnam_r lives outside of libc.
See thread with subject "[?PATCH?] using getpwnam_r in mod_userdir"
in Nov. 2000 new-httpd for some better long-term ideas for how to
handle the problem.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86917 13f79535-47bb-0310-9956-ffa450edef68
are chosen, the default CGI module is mod_cgid. If any other MPM is
chosen, mod_cgi is the default. I would rather have the maintainers for
other platforms change their own defaults, than make mod_cgid the default
on all threaded MPM's.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85702 13f79535-47bb-0310-9956-ffa450edef68
Basically, Apache now runs APR's configure script first. APR's configure
script has been setup to create a new file, APRVARS. APRVARS is basically
all of the environment variables that APR wants to export to the program
that is using it. This allows the calling program to "source" APRVARS
and get those environment variables.
Removed hack to make platforms use -ldl.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85701 13f79535-47bb-0310-9956-ffa450edef68
was broken as of the time we started always sticking in -ldl.
src/modules/standard/config.m4:
. don't add "-ldl" to LIBS for FreeBSD either
. back out previous change regarding LTFLAGS; it should be o.k.
to add it for any platform, because libtool knows what to do with
it (no, Greg A., I haven't added support for it to OS/390 libtool
yet :) )
src/lib/apr/configure.in:
. if dlopen() isn't found in lib dl, don't fret (yet); try to find
it in the default libraries;
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85505 13f79535-47bb-0310-9956-ffa450edef68
platforms can add related logic to the case statement)
This is a stop-gap measure until the need for certain libraries
can be determined automatically.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85448 13f79535-47bb-0310-9956-ffa450edef68
way to check for DSO support is to look for libdl. Apache automatically
adds -ldl to it's LIBS flag from config.m4 in modules/standard. Other
platforms will need to add the correct flag for their system.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85432 13f79535-47bb-0310-9956-ffa450edef68
--enable-some-module=shared is specified on the ./configure line, then
mod_so is included in the build, -ldl is added to LIBS, and --enable-dso is
added to APR's configure line. Otherwise, mod_so is turned off, -ldl is
not added, and APR is specifically told to build without DSO support.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85418 13f79535-47bb-0310-9956-ffa450edef68
command line but the cache had DSO off, we used to turn DSO off. This has
been fixed with this patch. Also, if we specify ANY Apache module as
being compiled shared, then we automatically turn on mod_so.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85366 13f79535-47bb-0310-9956-ffa450edef68
compiled for shared support then APR_HAS_DSO is enabled and -ldl is
added to the LIBS variable. -ldl may need to be modified based on
platform. If no modules are designated as shared then APR_HAS_DSO is
disabled and nothing is added to LIBS. In basic testing this compiled
without errors or warnings.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85362 13f79535-47bb-0310-9956-ffa450edef68