1
0
mirror of https://github.com/apache/httpd.git synced 2026-10-23 22:49:01 +03:00
Commit Graph

232 Commits

Author SHA1 Message Date
Jacob Champion
7b2bdcea91 PR60947: avoid CRYPTO_THREADID_set_callback() if possible
CRYPTO_THREADID_set_callback() is write-once, so if mod_ssl is unloaded
and reloaded into a different address, we'll crash if OpenSSL wasn't
also unloaded and reloaded at the same time. This can happen if another
module or library is using OpenSSL as well.

- OpenSSL 1.1.0 isn't affected.
- Certain platforms (Windows, BeOS, and POSIX-compliant systems) can
  make use of the default THREADID callback in OpenSSL 1.0.x.
- If the deprecated CRYPTO_set_id_callback() is available, we can use it
  instead of CRYPTO_THREADID_set_callback().

Otherwise, we have to fall back to CRYPTO_THREADID_set_callback(), but
hopefully that applies to a small percentage of users at this point.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/trunk-openssl-threadid@1791732 13f79535-47bb-0310-9956-ffa450edef68
2017-04-18 00:19:32 +00:00
Jacob Champion
4eeb7b5d2d configure: bump thread count for the &errno test
Increase the number of threads from three to ten. Patch by rjung.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/trunk-openssl-threadid@1791309 13f79535-47bb-0310-9956-ffa450edef68
2017-04-14 00:14:24 +00:00
Jacob Champion
d3ed155819 configure: check if &errno is thread-local for OpenSSL
This is step one for fixing, or at least mitigating, PR60947. Determine
which platforms can use the default OpenSSL (1.0.x) threadid-callback,
by recording the address of errno for several threads and testing that
they're all different.

The result of this test is put into the new macro,
AP_OPENSSL_USE_ERRNO_THREADID.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/trunk-openssl-threadid@1791054 13f79535-47bb-0310-9956-ffa450edef68
2017-04-11 23:59:31 +00:00
Jacob Champion
e0e7e49253 configure: remove orphaned APACHE_OUTPUT macro
The last use of APACHE_OUTPUT appears to have been removed back in
r87231.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1753316 13f79535-47bb-0310-9956-ffa450edef68
2016-07-18 20:43:09 +00:00
William A. Rowe Jr
d313a757fa Small change to r952007, ensure we don't wipe out the $enable_foomod value
when that value is 'shared'. The 'yes', 'shared', 'static' and 'no' values
are all valid.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750553 13f79535-47bb-0310-9956-ffa450edef68
2016-06-28 18:33:52 +00:00
William A. Rowe Jr
113a5b38ba This is not C code... no semi, a colon is a noop
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750420 13f79535-47bb-0310-9956-ffa450edef68
2016-06-27 22:05:54 +00:00
William A. Rowe Jr
31b6d84c9e Undo r1750418, miscommitted a local test
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750419 13f79535-47bb-0310-9956-ffa450edef68
2016-06-27 22:05:31 +00:00
William A. Rowe Jr
55a500ebaa This isn't C ;) Colon for noop
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750418 13f79535-47bb-0310-9956-ffa450edef68
2016-06-27 22:04:13 +00:00
William A. Rowe Jr
86a096011a Account for explicit enable- cases of 'shared', 'few', 'all', 'reallyall'
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750407 13f79535-47bb-0310-9956-ffa450edef68
2016-06-27 19:47:52 +00:00
William A. Rowe Jr
6a3a4f5cc5 Ensure not-selected means 'no', once an APACHE_MODULE enable_foo is processed
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750335 13f79535-47bb-0310-9956-ffa450edef68
2016-06-27 13:45:02 +00:00
William A. Rowe Jr
3347e068bb Promote any static module to yes|shared if a required dependency is not static
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1749925 13f79535-47bb-0310-9956-ffa450edef68
2016-06-23 15:42:30 +00:00
William A. Rowe Jr
7e0472f687 Support multiple module dependencies for the final prereq argument to the
APACHE_MODULE macro, as a comma separated list, e.g.

APACHE_MODULE(proxy_http2, [...], [proxy,http2])

will evaluate the availability of mod_proxy, followed by mod_http2


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1749658 13f79535-47bb-0310-9956-ffa450edef68
2016-06-22 12:22:44 +00:00
Rainer Jung
89605f9ee7 Use different variables to track normal
modules and MPMs during build.

Normal modules and MPMs follow different
rules in the config, e.g. we are only
allowed to have one active LoadModule
for an MPM in the config.

As a side effect, LoadModule for MPMs
will now come before LoadModule for
the normal modules.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1730079 13f79535-47bb-0310-9956-ffa450edef68
2016-02-12 17:46:38 +00:00
Rainer Jung
f80ac38222 Support for OpenSSL 1.1.0:
- don't check for SSLeay_version() in configure
  The function no longer exists in 1.1.0.
  It was replaced by OpenSSL_version().
- Switch between SSLeay_version(U) and
  OpenSSL_version() depending on version
  in modules/ssl/ssl_util_ssl.h.
- Use MODSSL_LIBRARY_DYNTEXT everywhere.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1728981 13f79535-47bb-0310-9956-ffa450edef68
2016-02-07 16:12:34 +00:00
Ruediger Pluem
e1fa09b047 * Since r1724820 two modules, mod_http2 and mod_ssl, call APACHE_CHECK_OPENSSL,
with mod_http2 doing it first. Because the result of APACHE_CHECK_OPENSSL
  is cached this causes MOD_LDFLAGS and MOD_CFLAGS to remain unset for mod_ssl
  which in turn causes it not to be linked against Openssl which means that
  mod_ssl cannot be loaded if the Openssl libs haven't been loaded by other means
  already.
  Fix this by caching the values for MOD_LDFLAGS and MOD_CFLAGS created during
  the first run and set them in the cached case.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725325 13f79535-47bb-0310-9956-ffa450edef68
2016-01-18 19:21:16 +00:00
Yann Ylavic
d6ed470b92 m4: please any autoconf by quoting AC_DEFUN's names. PR 58126.
Submitted by: olli hauer <ohauer gmx.de>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1706918 13f79535-47bb-0310-9956-ffa450edef68
2015-10-05 20:52:51 +00:00
Stefan Eissing
ea390af213 httpd compiles warning free on gcc and every new warning will be treated as an error, standard c-89 is enforced
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1702948 13f79535-47bb-0310-9956-ffa450edef68
2015-09-14 13:29:35 +00:00
Stefan Eissing
8b52e26df1 moving m4 mod_h2 macro from global to module local config
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1698103 13f79535-47bb-0310-9956-ffa450edef68
2015-08-27 09:43:10 +00:00
Eric Covener
4774dd4680 Add HTTPD_VERSION and HTTPD_MMN to the variables available with apxs -q
PR58202. 

Submitted By: Daniel Shahaf 
Committed By: covener




git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1693919 13f79535-47bb-0310-9956-ffa450edef68
2015-08-03 15:37:07 +00:00
Stefan Eissing
8c27a4cd1b reworked mod_h2 donation checkin into build system, added documentation
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1690248 13f79535-47bb-0310-9956-ffa450edef68
2015-07-10 11:45:46 +00:00
Stefan Sperling
0f10bfb7f0 mod_ssl: Check for RAND_egd() at configure time and only use it if present.
Fixes the build with LibreSSL which does not provide this function.

Submitted by: Bernard Spil <pil.oss gmail com>, stsp
Committed by: stsp


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1674542 13f79535-47bb-0310-9956-ffa450edef68
2015-04-18 17:03:47 +00:00
Jan Kaluža
6ac752395e * mod_dav_fs: set default value of DavLockDB using installation layout
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1674222 13f79535-47bb-0310-9956-ffa450edef68
2015-04-17 07:28:50 +00:00
Yann Ylavic
07605b2bad Generate #LoadModule directive in default httpd.conf for every --enable-mpms-shared. PR 53882.
Submitted by: olli hauer <ohauer gmx.de>
Committed by: ylavic


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1652930 13f79535-47bb-0310-9956-ffa450edef68
2015-01-19 08:14:48 +00:00
Joe Orton
695d4cdd5d * acinclude.m4 (APACHE_CHECK_SYSTEMD): Actually use $PKGCONFIG, duh.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1614824 13f79535-47bb-0310-9956-ffa450edef68
2014-07-31 08:06:22 +00:00
Joe Orton
81eecb045b * acinclude.m4 (APACHE_CHECK_SYSTEMD): Check first for libsystemd
with pkg-config since libsystemd-daemon is deprecated upstream.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1614823 13f79535-47bb-0310-9956-ffa450edef68
2014-07-31 08:01:07 +00:00
Joe Orton
d91f672d4f * configure.in, acinclude.m4: Move systemd check to APACHE_CHECK_SYSTEMD
and use pkg-config where available.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1614821 13f79535-47bb-0310-9956-ffa450edef68
2014-07-31 07:56:44 +00:00
Kaspar Brand
725978c554 Increase minimum required OpenSSL version to 0.9.8a (in preparation
for the next mod_ssl commit, which will rely on the get_rfcX_prime_Y
functions added in that release):

- remove obsolete #defines / macros

- in ssl_private.h, regroup definitions based on whether
  they depend on TLS extension support or not

- for ECC and SRP support, set HAVE_X and change the rather awkward
  #ifndef OPENSSL_NO_X lines accordingly

For the discussion prior to taking this step, see
https://mail-archives.apache.org/mod_mbox/httpd-dev/201309.mbox/%3C524275C7.9060408%40velox.ch%3E


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1527294 13f79535-47bb-0310-9956-ffa450edef68
2013-09-29 10:12:47 +00:00
Kaspar Brand
9c396d2432 mod_ssl/ab: only use "--static" for pkg-config when explicity requested
(by adding an "--enable-ssl-staticlib-deps" option to configure)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1429228 13f79535-47bb-0310-9956-ffa450edef68
2013-01-05 07:54:15 +00:00
Kaspar Brand
78096fee34 Improve pkg-config usage for mod_ssl/ab:
also use pkg-config for determining the -l flags (and fall back
to a hardcoded default of "-lssl -lcrypto")

add --static to pkg-config invocations, so that libraries for
static linking are also taken into account (PR 54252 - note that
the additional flags will only appear in modules/ssl/modules.mk
and ab_LDFLAGS, so potential side effects are limited)

separate --libs-only-L and --libs-only-other into two invocations
(can't be used concurrently, only the first takes effect)

use --silence-errors where applicable


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1428184 13f79535-47bb-0310-9956-ffa450edef68
2013-01-03 07:23:27 +00:00
Jeff Trawick
864d3d0d87 Follow on to r1393976 and r1396424:
mod_systemd: Specify "all" instead of "yes" (on Unix) so that APACHE_MODULE doesn't
             act as if the user requested it.

General: Fix APACHE_MODULE so that failed prereqs will disable a module unless the
         user requested it explicitly.

Result: By default systemd will be enabled where it actually works and disabled otherwise,
        but if the user requests it and the prereqs fail then configure will halt.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1396440 13f79535-47bb-0310-9956-ffa450edef68
2012-10-10 01:04:36 +00:00
Stefan Fritsch
67fde08ec7 Fix usage of MOD_* variables for MPM modules
r1385216 broke building of mpm event with serf support. To fix,

* introduce APACHE_MPMPATH_INIT/FINISH similar to
  APACHE_MODPATH_INIT/FINISH to create modules.mk and add
  MOD_* vars to it.
* change APACHE_MPM_MODULE to only append to modules.mk, not
  overwrite
* add APACHE_MPMPATH_INIT/FINISH to all MPMs


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1395252 13f79535-47bb-0310-9956-ffa450edef68
2012-10-07 08:56:45 +00:00
Kaspar Brand
089f0eb0ac Spin off module-specific build options into separate build vars.
[second try, supersedes r1385214]

Add MOD_CFLAGS, MOD_LDFLAGS variables etc. to the build commands,
which are available to modules for customization on a per-subdir
basis (by adding definitions to modules.mk). Reduces the risk
of side-effects when a module needs to add CFLAGS, LDFLAGS etc.
and these would be added to the global settings (ALL_CFLAGS etc.).

Adapt build settings for mod_ssl, mod_socache_dc, mod_deflate,
mod_xml2enc, mod_proxy_html, and mod_lua to use the new MOD_xxx
build variables.

Change PICFLAGS, SHLTCFLAGS and LTCFLAGS into config vars, instead
of AC_SUBSTing them in build/rules.mk.in. For support/ab, introduce
ab_CFLAGS and ab_LDFLAGS, and define explicit make targets where
they appear at the proper position in the build commands.

Consistently use "--with-xxx=PATH" in configure help strings which
are used to specify a path to the installation directory of an
auxiliary package.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1385216 13f79535-47bb-0310-9956-ffa450edef68
2012-09-16 06:19:13 +00:00
Kaspar Brand
5b09bf5772 revert r1358167, in preparation of the next commit
(will give a more meaningful diff)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1385213 13f79535-47bb-0310-9956-ffa450edef68
2012-09-16 05:54:16 +00:00
Ben Laurie
bb1777a1f9 Work correctly with a development version of OpenSSL. I suspect
something similar is needed when there are two OpenSSL installations,
one in a default location.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1358167 13f79535-47bb-0310-9956-ffa450edef68
2012-07-06 12:41:10 +00:00
Joe Orton
0eb81d4acc * acinclude.m4: Use AC_MSG_NOTICE.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1341906 13f79535-47bb-0310-9956-ffa450edef68
2012-05-23 15:42:56 +00:00
Guenter Knauf
3af055354f Avoid AC_TRY_RUN break with cross-compile.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1328445 13f79535-47bb-0310-9956-ffa450edef68
2012-04-20 16:40:30 +00:00
Guenter Knauf
46b607a2a4 Next step to make cross compilation a bit easier.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1328390 13f79535-47bb-0310-9956-ffa450edef68
2012-04-20 14:51:21 +00:00
Stefan Fritsch
c6e601be12 Improve indentation, no code change
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1234565 13f79535-47bb-0310-9956-ffa450edef68
2012-01-22 18:27:11 +00:00
Stefan Fritsch
21cc07a470 Make APACHE_MODULE() accept an optional prerequisite module for configure.
Introduce the following configure time dependencies:
  mod_proxy_* (except proxy_html) require mod_proxy
  mod_dav_* require mod_dav
  mod_session_* require mod_session


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1234180 13f79535-47bb-0310-9956-ffa450edef68
2012-01-20 22:14:31 +00:00
Joe Orton
80765aa7fe A stab at libapreq build integration, still disabled by default.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1200715 13f79535-47bb-0310-9956-ffa450edef68
2011-11-11 03:01:33 +00:00
Stefan Fritsch
f4a5d6641f Only load the really imporant modules (i.e. those enabled by the 'few'
selection) by default. Don't handle modules enabled with --enable-foo
specially.

This fixes problems with module dependencies until someone implements a
mechanism for resolving module dependencies.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1200491 13f79535-47bb-0310-9956-ffa450edef68
2011-11-10 19:31:49 +00:00
Stefan Fritsch
9209ff117f Fix selection of loaded modules on AIX because its grep doesn't understand \< and \>
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1200064 13f79535-47bb-0310-9956-ffa450edef68
2011-11-10 00:41:20 +00:00
Rainer Jung
fc2ea4121c Load all modules in the generated default configuration
when using --enable-load-all-modules with configure.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1199467 13f79535-47bb-0310-9956-ffa450edef68
2011-11-08 21:25:28 +00:00
Stefan Fritsch
4a36c5ba4c By default, only load those modules that are either required
or explicitly selected by a configure --enable-foo argument. The
LoadModule statements for modules enabled by --enable-mods-shared=most
and friends will be commented out.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1199027 13f79535-47bb-0310-9956-ffa450edef68
2011-11-08 00:20:24 +00:00
Stefan Fritsch
03227ed1c4 Add some CFLAGS in maintainer mode if supported by gcc:
-Wformat
-Wformat-security
-Werror=format-security
-Werror=declaration-after-statement

Add new macro APACHE_ADD_GCC_CFLAGS to do the compatibility check.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1180331 13f79535-47bb-0310-9956-ffa450edef68
2011-10-08 07:48:01 +00:00
Stefan Fritsch
b4c4a45339 Allow to explicitly disable modules even with module selection 'reallyall'
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1154875 13f79535-47bb-0310-9956-ffa450edef68
2011-08-08 08:50:50 +00:00
Kaspar Brand
2453c22a1a Enforce OpenSSL 0.9.7 as a minimum requirement in configure, and
remove #ifdef'ed code which was relevant for earlier versions only.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1154688 13f79535-47bb-0310-9956-ffa450edef68
2011-08-07 10:36:57 +00:00
Kaspar Brand
1eb818742f Drop support for the RSA BSAFE SSL-C toolkit from configure,
and remove #ifdef'ed code from mod_ssl and ab where applicable.

Consensus for dropping support for SSL/TLS toolkits other
than OpenSSL was reached on dev@httpd in June 2010 (message
with ID <20100602162310.GA11156@redhat.com> and follow-ups).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1154683 13f79535-47bb-0310-9956-ffa450edef68
2011-08-07 10:29:09 +00:00
Stefan Fritsch
97abc9b6fd Simplify dependency checking code for mod_proxy_fdpass. This also fixes
mod_proxy_fdpass being built shared even with --enable-mods-static=reallyall.

Document bug/limitiation in APACHE_MODULE macro.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1154126 13f79535-47bb-0310-9956-ffa450edef68
2011-08-05 08:45:28 +00:00
Stefan Fritsch
2d0c55080a Enable ldap modules in 'all' and 'most' selections if ldap is compiled into
apr-util


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1154114 13f79535-47bb-0310-9956-ffa450edef68
2011-08-05 08:01:31 +00:00