CMakeLists.txt

Checkout Tools
  • last updated 23 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Complete mod_md CMake config by adding a _requires iterator, using the official

curl FIND_PACKAGE logic and completing the jansson detection logic.

Backports: r1866131

  1. … 1 more file in changeset.
Merge of r1866119 from trunk:

cmake for mod_md: interim fix by bill.

  1. … 1 more file in changeset.
Merged /httpd/httpd/trunk:r1861448,1862013,1862041,1862052,1862785

*) mod_md: new features

- supports the ACMEv2 protocol

- new challenge method 'tls-alpn-01' implemented, needs mod_ssl patch to become available

- supports command configuration to setup/teardown 'dns-01' challenges

- supports wildcard certificates when dns challenges are configured

- ACMEv2 is the new default and will be used on the next certificate renewal,

unless another MDCertificateAuthority is configured

- challenge type 'tls-sni-01' has been removed as CAs do not offer this any longer

- a domain exposes its status at https://<domain>/.httpd/certificate-status

- Managed Domains are now in Apache's 'server-status' page

- A new handler 'md-status' exposes verbose status information in JSON format

- new directives "MDCertificateFile" and "MDCertificateKeyFile" to configure a

Managed Domain that uses static files. Auto-renewal is turned off for those.

- new MDMessageCmd that is invoked on several events: 'renewed', 'expiring' and

'errored'. New 'MDWarnWindow' directive to configure when expiration warnings

shall be issued.

- ACMEv2 endpoints use the GET via empty POST way of accessing resources, see

announcement by Let's Encrypt:

https://community.letsencrypt.org/t/acme-v2-scheduled-deprecation-of-unauthenticated-resource-gets/74380

  1. … 53 more files in changeset.
mod_http2: remove the no longer existing h2_ngn_shed.c from Cmake.

trunk patch: http://svn.apache.org/r1856910

2.4.x patch: svn merge -c 1856910 ^/httpd/httpd/trunk .

+1: icing, covener, ylavic

  1. … 3 more files in changeset.
merge r1774657 from trunk

add .mak/dep for command line build

  1. … 7 more files in changeset.
Unclear why half of r1743512 was previously merged, but here's the remainder.

PR62190

  1. … 1 more file in changeset.
another followup to r1828485 needs mod_http2.h

cmake:

add modules/http2 to includes

legacy:

add mod_http2.h to install now that mod_proxy.h includes it

  1. … 1 more file in changeset.
mod_ssl: Fix cmake-based build.

modules/md/mod_md.h is now a new public API

also used by other modules (currently mod_ssl),

so it must be in the include path. It was

missing for cmake builds.

Note that this change does not yet enable building

mod_md itself using cmake. That part is still

missing.

CTR (cmake builds only).

Backport of r1828669 from trunk.

  1. … 2 more files in changeset.
Backport r1825504; fix missing util_debug.c omitted from CMakeLists.txt
  1. … 1 more file in changeset.
Merge r1761824, r1771789, r1771827, r1779111 from trunk:

mod_brotli: Unbreak building other filter modules without libbrotlienc.

Don't add -lbrotlienc to the MOD_LDFLAGS unconditionally. And, when

adding it, use MOD_BROTLI_LDADD to avoid linking all filter modules

against this library.

mod_brotli: Rewrite the autoconf script in a, hopefully, less convoluted way.

Explicitly handle different cases when we do a pkg-config lookup

(<nothing>, --with-brotli or --with-brotli=yes) or examine the path

provided by the user (--with-brotli=PATH).

This lays the groundwork to simplify the switch to the official Brotli

library (https://github.com/google/brotli), instead of expecting the

install layout of a third-party wrapper (https://github.com/bagder/libbrotli).

mod_brotli: Update makefiles to use the library layout of the official

Brotli repository.

With the recent update (https://github.com/google/brotli/pull/464), the

official repository now produces pkg-config metadata files (brotli.pc),

and has a fixed library layout (libbrotlicommon/libbrotlienc/libbrotlidec)

on both Windows and Linux. Expect this layout in the makefiles, and take

advantage of the pkg-config metadata, if it's available.

mod_brotli: Update makefile to cope with the pkg-config layout change

in https://github.com/google/brotli/commit/fe9f9a9

There's a typo in the upstream commit [1] (s/brotlicommon/libbrotlicommon)

that currently produces an unusable libbrotlienc.pc file, but hopefully

this is going to be fixed there.

[1] https://github.com/google/brotli/commit/fe9f9a9#diff-af3b638bc2a3e6c650974192a53c7291R409

Submitted by: kotkov

Reviewed by: kotkov, covener, jim

  1. … 3 more files in changeset.
Merge r1790852, r1790853, r1790860 from trunk:

Merge r1761714, r1762512, r1762515, r1771791, r1779077, r1779091, r1779699, r1790852, r1790853, r1790860 from trunk:

mod_brotli: Add initial implementation.

This new module supports dynamic Brotli (RFC 7932) compression. Existing

mod_deflate installations can benefit from better compression ratio by

sending Brotli-compressed data to the clients that support it:

SetOutputFilter BROTLI_COMPRESS;DEFLATE

The module features zero-copy processing, which is only possible with the

new API from the upcoming 1.0.x series of brotli [1]. The Linux makefile

works against libbrotli [2], as currently the core brotli repository doesn't

offer a way to build a library [3]. Apart from that, only the CMake build

is now supported.

[1] https://github.com/google/brotli

[2] https://github.com/bagder/libbrotli

[3] https://github.com/google/brotli/pull/332

mod_brotli: Allow compression ratio logging with new BrotliFilterNote

directive.

mod_brotli: Handle new 'no-brotli' internal environment variable that

disables Brotli compression for a particular request.

This mimicks how mod_deflate handles the 'no-gzip' env variable, and

should allow seamless migration for configurations that use it.

mod_brotli: Explicitly cast 'const uint8_t *' to 'const char *' when using

the data received from Brotli to create a bucket.

This fixes a /W4 warning in my environment, and should also allow building

mod_brotli on NetWare.

Submitted by: NormW <normw gknw.net>

unused variable error could mistakenly note that brotli isn't available.

1st draft

Be more consitent in the layout, and fix the display of a multi lines <highlight> section

mod_brotli: Update makefile to allow using Brotli library >= 0.6.0.

The 0.6.0 version has just been released [1], and it contains the

necessary API required for mod_brotli.

[1] https://github.com/google/brotli/releases/tag/v0.6.0

mod_brotli: Fix a minor typo in the description of BrotliAlterETag

that has been referring to httpd 2.2.x.

There's no mod_brotli in 2.2.x.

mod_brotli: Comment on the default choice (0) for BROTLI_PARAM_LGBLOCK.

Submitted by: kotkov, jim, jim, jailletc36, kotkov, kotkov, kotkov

Reviewed by: jim, jorton, icing

mod_brotli: Update makefile to allow using Brotli library >= 0.6.0.

The 0.6.0 version has just been released [1], and it contains the

necessary API required for mod_brotli.

[1] https://github.com/google/brotli/releases/tag/v0.6.0

mod_brotli: Fix a minor typo in the description of BrotliAlterETag

that has been referring to httpd 2.2.x.

There's no mod_brotli in 2.2.x.

mod_brotli: Comment on the default choice (0) for BROTLI_PARAM_LGBLOCK.

Submitted by: kotkov

Reviewed by: jim, jorton, icing

  1. … 7 more files in changeset.
On the 2.4.x branch:

Merged /httpd/httpd/trunk:r1786715,1787051,1787141,1787604,1788672,1788981,1789221,1789224,1789276,1789279,1789395,1789520,1789535,1789692

  1. … 31 more files in changeset.
On the 2.4.x branch: merge r1778630,1779459,1779525,1779528,1779738 from trunk

*) mod_http2: rework of stream resource cleanup to avoid a crash in a close

of a lingering connection. Prohibit special file bucket beaming for

shared buckets. Files sent in stream output now use the stream pool

as read buffer, reducing memory footprint of connections.

[Yann Ylavic, Stefan Eissing]

  1. … 19 more files in changeset.
Add mod_proxy_hcheck to Windows

  1. … 8 more files in changeset.
Merge r1752331, r1752332, r1752333 from trunk:

CMake: use CMAKE_REQUIRED_INCLUDES to find APR macros

When using CMake with Visual Studio on Windows, invoking the

CHECK_SYMBOL_EXISTS macro with the full paths to the include files seems

to always result in failure.

Instead, use the documented CMAKE_REQUIRED_INCLUDES variable to set the

include directory, and pass only the headers' base names to

CHECK_SYMBOL_EXISTS.

CMake: use generator expressions to find output files

Multi-configuration generators, like Visual Studio, use a different

output directory (Debug, Release, etc.) for each configuration. To find

the output files reliably, switch to using generator expressions instead

of hardcoding the file paths for PDBs, export files, etc.

CMake: quote installation paths

Deal with installation paths with spaces in them (e.g. "C:\Program

Files") by quoting the arguments to perl and xcopy.

Submitted by: jchampion

Reviewed/backported by: jim

  1. … 2 more files in changeset.
Merge of 1761479,1761548,1762703,1763158 from trunk

mod_http2: rewrite of how responses and trailers are transferred between

master and slave connection. Reduction of internal states for tasks

and streams, stability. Heuristic id generation for slave connections

to better keep promise of connection ids unique at given point int time.

Fix for mod_cgid interop in high load situtations.

Fix for handling of incoming trailers when no request body is sent.

  1. … 39 more files in changeset.
Merge of r1747550 from trunk:

mod_proxy_http2 no longer shares objects with mod_http2

h2_casecmpstr eliminated, uses backported ap_cstr_casecmp*

  1. … 11 more files in changeset.
Merge of 1742260,1742359,1742444,1742445,1742446,1742447,1742460,1743335,1743517,1743788 from trunk:

mod_http2/mod_proxy_http2 update with latest changes from trunk to 1.5.4.

Update of CMake and Netware makefiles.

  1. … 11 more files in changeset.
mod_http2: backport of 1.5.2 to 2.4.x
  1. … 47 more files in changeset.
Merge r1587607, r1588868 from trunk:

mod_ssl: Add hooks to allow other modules to perform processing at

several stages of initialization and connection handling. See

mod_ssl_openssl.h.

This is enough to allow implementation of Certificate Transparency

outside of mod_ssl.

Initialize post_handshake_rc for case where a failure has

already occurred (doesn't change execution but avoids warning

with some levels of gcc).

Pointed out by: kbrand

Submitted by: trawick

Reviewed/backported by: jim

  1. … 12 more files in changeset.
backported mod_http2 1.4.0 from trunk
  1. … 26 more files in changeset.
backport of mod_http2 v1.3.2 minus event conn-status fixup
  1. … 54 more files in changeset.
mod_http2 v1.2.2 from trunk
  1. … 46 more files in changeset.
Merge r1712382,1713937 from trunk for cmake build

follow-up r1715371

  1. … 1 more file in changeset.
Merge r1706627, r1706640 from trunk:

Support mod_http2 in cmake-based build for Windows.

Leave LoadModule of mod_http2 commented-out by default.

Merge r1706635 from trunk:

mod_http2 larger with 64-bit VS 2012 RelWithDebInfo build

  1. … 3 more files in changeset.
Merge r1625196 from trunk:

Fix a cmake compatiblity issue related to quoting with cmake 2.8.12

and later.

PR: 56615

Submitted by: Chuck Liu <cliu81 gmail.com>, trawick

  1. … 2 more files in changeset.
Merged /httpd/httpd/trunk:r1515403,1515411,1515420,1517175,1521909,1526647,1541181,1578762,1585054,1585072,1588054

mod_authnz_fcgi: New module to enable FastCGI authorizer

applications to authenticate and/or authorize clients.

Submitted by: trawick, jailletc36, gsmith

Approved by: trawick, jim, gsmith

(Thanks gsmith for the Windows build bits!)

  1. … 145 more files in changeset.
Merge r1583005 and 1583027 from trunk:

Report OpenSSL directories in configuration summary

Describe issue with multiple OpenSSL installs

  1. … 2 more files in changeset.
Merge r1543147 and r1543149 from trunk:

fix versioninfo fields for abs.exe

Workaround issue with defining a preprocessor symbol to a string value

with embedded blanks.

The extra, escaped quoting in the original version is required for passing

the definition over the command-line, but it broke Visual Studio builds.

For now, avoid the extra quoting when generating for Visual Studio.

  1. … 1 more file in changeset.
follow up to r1542328: ssl_engine_dh.c is gone