From c54018b07a9085c0a3aedbc2bd01a85a3b3e20cf Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 25 May 2024 06:41:27 +0200 Subject: Merging upstream version 2.4.59. Signed-off-by: Daniel Baumann --- .gdbinit | 189 +- .github/workflows/linux.yml | 287 + .gitignore | 370 + ABOUT_APACHE | 2 +- Apache-apr2.dsw | 21 + Apache.dsw | 24 + CHANGES | 1977 ++- CMakeLists.txt | 112 +- LICENSE | 2 +- Makefile.in | 23 +- Makefile.win | 2 + NOTICE | 4 +- README | 16 +- README.CHANGES | 19 + README.cmake | 2 +- ROADMAP | 4 +- VERSIONING | 8 +- acinclude.m4 | 43 +- build/apr_common.m4 | 95 +- build/config.guess | 1544 ++- build/config.sub | 2640 ++-- build/installwinconf.awk | 1 + build/ltmain.sh | 882 +- build/nw_export.inc | 1 + build/rpm/httpd.spec.in | 1 + config.layout | 25 + configure | 12621 ++++++++++++------- configure.in | 89 +- docs/conf/magic | 2 +- docs/conf/mime.types | 10 +- docs/error/contact.html.var | 7 + docs/man/dbmmanage.1 | 10 +- docs/man/fcgistarter.8 | 4 +- docs/man/htcacheclean.8 | 10 +- docs/man/htdbm.1 | 24 +- docs/man/htpasswd.1 | 53 +- docs/man/httxt2dbm.1 | 4 +- docs/man/rotatelogs.8 | 42 +- docs/manual/bind.html | 2 +- docs/manual/bind.html.de | 106 +- docs/manual/bind.html.en | 16 +- docs/manual/bind.html.fr.utf8 | 65 +- docs/manual/bind.html.ja.utf8 | 4 +- docs/manual/bind.html.ko.euc-kr | 4 +- docs/manual/bind.html.tr.utf8 | 6 +- docs/manual/caching.html | 2 +- docs/manual/caching.html.en | 16 +- docs/manual/caching.html.fr.utf8 | 108 +- docs/manual/caching.html.tr.utf8 | 6 +- docs/manual/configuring.html | 2 +- docs/manual/configuring.html.de | 118 +- docs/manual/configuring.html.en | 16 +- docs/manual/configuring.html.fr.utf8 | 66 +- docs/manual/configuring.html.ja.utf8 | 4 +- docs/manual/configuring.html.ko.euc-kr | 4 +- docs/manual/configuring.html.tr.utf8 | 6 +- docs/manual/content-negotiation.html | 2 +- docs/manual/content-negotiation.html.en | 16 +- docs/manual/content-negotiation.html.fr.utf8 | 4 +- docs/manual/content-negotiation.html.ja.utf8 | 4 +- docs/manual/content-negotiation.html.ko.euc-kr | 4 +- docs/manual/content-negotiation.html.tr.utf8 | 6 +- docs/manual/convenience.map | 49 + docs/manual/custom-error.html | 2 +- docs/manual/custom-error.html.en | 20 +- docs/manual/custom-error.html.es | 110 +- docs/manual/custom-error.html.fr.utf8 | 4 +- docs/manual/custom-error.html.ja.utf8 | 4 +- docs/manual/custom-error.html.ko.euc-kr | 4 +- docs/manual/custom-error.html.tr.utf8 | 6 +- docs/manual/developer/API.html | 2 +- docs/manual/developer/API.html.en | 8 +- docs/manual/developer/debugging.html | 2 +- docs/manual/developer/debugging.html.en | 8 +- docs/manual/developer/documenting.html | 2 +- docs/manual/developer/documenting.html.en | 8 +- docs/manual/developer/documenting.html.zh-cn.utf8 | 4 +- docs/manual/developer/filters.html | 2 +- docs/manual/developer/filters.html.en | 8 +- docs/manual/developer/hooks.html | 2 +- docs/manual/developer/hooks.html.en | 12 +- docs/manual/developer/index.html | 2 +- docs/manual/developer/index.html.en | 11 +- docs/manual/developer/index.html.zh-cn.utf8 | 2 +- docs/manual/developer/modguide.html | 2 +- docs/manual/developer/modguide.html.en | 13 +- docs/manual/developer/modules.html | 2 +- docs/manual/developer/modules.html.en | 8 +- docs/manual/developer/modules.html.ja.utf8 | 4 +- docs/manual/developer/new_api_2_4.html | 2 +- docs/manual/developer/new_api_2_4.html.en | 52 +- docs/manual/developer/output-filters.html | 2 +- docs/manual/developer/output-filters.html.en | 16 +- docs/manual/developer/request.html | 2 +- docs/manual/developer/request.html.en | 13 +- docs/manual/developer/thread_safety.html | 2 +- docs/manual/developer/thread_safety.html.en | 8 +- docs/manual/dns-caveats.html | 2 +- docs/manual/dns-caveats.html.en | 16 +- docs/manual/dns-caveats.html.fr.utf8 | 4 +- docs/manual/dns-caveats.html.ja.utf8 | 4 +- docs/manual/dns-caveats.html.ko.euc-kr | 4 +- docs/manual/dns-caveats.html.tr.utf8 | 6 +- docs/manual/dso.html | 2 +- docs/manual/dso.html.en | 16 +- docs/manual/dso.html.fr.utf8 | 4 +- docs/manual/dso.html.ja.utf8 | 4 +- docs/manual/dso.html.ko.euc-kr | 4 +- docs/manual/dso.html.tr.utf8 | 6 +- docs/manual/env.html | 2 +- docs/manual/env.html.en | 38 +- docs/manual/env.html.fr.utf8 | 12 +- docs/manual/env.html.ja.utf8 | 4 +- docs/manual/env.html.ko.euc-kr | 4 +- docs/manual/env.html.tr.utf8 | 13 +- docs/manual/expr.html | 2 +- docs/manual/expr.html.en | 23 +- docs/manual/expr.html.fr.utf8 | 17 +- docs/manual/faq/index.html | 2 +- docs/manual/faq/index.html.en | 18 +- docs/manual/faq/index.html.es | 26 +- docs/manual/faq/index.html.fr.utf8 | 2 +- docs/manual/faq/index.html.tr.utf8 | 2 +- docs/manual/faq/index.html.zh-cn.utf8 | 2 +- docs/manual/filter.html | 2 +- docs/manual/filter.html.en | 23 +- docs/manual/filter.html.es | 126 +- docs/manual/filter.html.fr.utf8 | 7 +- docs/manual/filter.html.ja.utf8 | 4 +- docs/manual/filter.html.ko.euc-kr | 4 +- docs/manual/filter.html.tr.utf8 | 9 +- docs/manual/getting-started.html | 6 +- docs/manual/getting-started.html.en | 14 +- docs/manual/getting-started.html.fr.utf8 | 71 +- docs/manual/getting-started.html.ru.utf8 | 271 + docs/manual/glossary.html | 2 +- docs/manual/glossary.html.de | 318 +- docs/manual/glossary.html.en | 20 +- docs/manual/glossary.html.es | 346 +- docs/manual/glossary.html.fr.utf8 | 4 +- docs/manual/glossary.html.ja.utf8 | 4 +- docs/manual/glossary.html.ko.euc-kr | 4 +- docs/manual/glossary.html.tr.utf8 | 4 +- docs/manual/handler.html | 2 +- docs/manual/handler.html.en | 20 +- docs/manual/handler.html.es | 96 +- docs/manual/handler.html.fr.utf8 | 4 +- docs/manual/handler.html.ja.utf8 | 4 +- docs/manual/handler.html.ko.euc-kr | 4 +- docs/manual/handler.html.tr.utf8 | 6 +- docs/manual/handler.html.zh-cn.utf8 | 4 +- docs/manual/howto/access.html | 2 +- docs/manual/howto/access.html.en | 16 +- docs/manual/howto/access.html.es | 126 +- docs/manual/howto/access.html.fr.utf8 | 4 +- docs/manual/howto/auth.html | 2 +- docs/manual/howto/auth.html.en | 31 +- docs/manual/howto/auth.html.es | 512 +- docs/manual/howto/auth.html.fr.utf8 | 10 +- docs/manual/howto/auth.html.ja.utf8 | 4 +- docs/manual/howto/auth.html.ko.euc-kr | 4 +- docs/manual/howto/auth.html.tr.utf8 | 29 +- docs/manual/howto/cgi.html | 2 +- docs/manual/howto/cgi.html.en | 18 +- docs/manual/howto/cgi.html.es | 416 +- docs/manual/howto/cgi.html.fr.utf8 | 9 +- docs/manual/howto/cgi.html.ja.utf8 | 4 +- docs/manual/howto/cgi.html.ko.euc-kr | 4 +- docs/manual/howto/htaccess.html | 2 +- docs/manual/howto/htaccess.html.en | 20 +- docs/manual/howto/htaccess.html.es | 268 +- docs/manual/howto/htaccess.html.fr.utf8 | 4 +- docs/manual/howto/htaccess.html.ja.utf8 | 4 +- docs/manual/howto/htaccess.html.ko.euc-kr | 4 +- docs/manual/howto/htaccess.html.pt-br | 334 +- docs/manual/howto/http2.html | 2 +- docs/manual/howto/http2.html.en | 22 +- docs/manual/howto/http2.html.es | 250 +- docs/manual/howto/http2.html.fr.utf8 | 24 +- docs/manual/howto/index.html | 2 +- docs/manual/howto/index.html.en | 14 +- docs/manual/howto/index.html.es | 82 +- docs/manual/howto/index.html.fr.utf8 | 2 +- docs/manual/howto/index.html.ja.utf8 | 2 +- docs/manual/howto/index.html.ko.euc-kr | 2 +- docs/manual/howto/index.html.zh-cn.utf8 | 2 +- docs/manual/howto/public_html.html | 2 +- docs/manual/howto/public_html.html.en | 20 +- docs/manual/howto/public_html.html.es | 106 +- docs/manual/howto/public_html.html.fr.utf8 | 4 +- docs/manual/howto/public_html.html.ja.utf8 | 4 +- docs/manual/howto/public_html.html.ko.euc-kr | 4 +- docs/manual/howto/public_html.html.tr.utf8 | 6 +- docs/manual/howto/reverse_proxy.html | 2 +- docs/manual/howto/reverse_proxy.html.en | 14 +- docs/manual/howto/reverse_proxy.html.fr.utf8 | 4 +- docs/manual/howto/ssi.html | 2 +- docs/manual/howto/ssi.html.en | 16 +- docs/manual/howto/ssi.html.es | 192 +- docs/manual/howto/ssi.html.fr.utf8 | 4 +- docs/manual/howto/ssi.html.ja.utf8 | 4 +- docs/manual/howto/ssi.html.ko.euc-kr | 4 +- docs/manual/index.html | 6 +- docs/manual/index.html.da | 38 +- docs/manual/index.html.de | 44 +- docs/manual/index.html.en | 26 +- docs/manual/index.html.es | 84 +- docs/manual/index.html.fr.utf8 | 6 +- docs/manual/index.html.ja.utf8 | 6 +- docs/manual/index.html.ko.euc-kr | 6 +- docs/manual/index.html.pt-br | 94 +- docs/manual/index.html.ru.utf8 | 127 + docs/manual/index.html.tr.utf8 | 6 +- docs/manual/index.html.zh-cn.utf8 | 6 +- docs/manual/install.html | 2 +- docs/manual/install.html.de | 220 +- docs/manual/install.html.en | 40 +- docs/manual/install.html.es | 334 +- docs/manual/install.html.fr.utf8 | 6 +- docs/manual/install.html.ja.utf8 | 4 +- docs/manual/install.html.ko.euc-kr | 4 +- docs/manual/install.html.tr.utf8 | 8 +- docs/manual/invoking.html | 2 +- docs/manual/invoking.html.de | 98 +- docs/manual/invoking.html.en | 20 +- docs/manual/invoking.html.es | 130 +- docs/manual/invoking.html.fr.utf8 | 4 +- docs/manual/invoking.html.ja.utf8 | 4 +- docs/manual/invoking.html.ko.euc-kr | 4 +- docs/manual/invoking.html.tr.utf8 | 6 +- docs/manual/license.html | 2 +- docs/manual/license.html.en | 8 +- docs/manual/logs.html | 2 +- docs/manual/logs.html.en | 25 +- docs/manual/logs.html.fr.utf8 | 12 +- docs/manual/logs.html.ja.utf8 | 4 +- docs/manual/logs.html.ko.euc-kr | 4 +- docs/manual/logs.html.tr.utf8 | 15 +- docs/manual/misc/index.html | 2 +- docs/manual/misc/index.html.en | 18 +- docs/manual/misc/index.html.es | 54 +- docs/manual/misc/index.html.fr.utf8 | 2 +- docs/manual/misc/index.html.ko.euc-kr | 2 +- docs/manual/misc/index.html.tr.utf8 | 2 +- docs/manual/misc/index.html.zh-cn.utf8 | 2 +- docs/manual/misc/password_encryptions.html | 2 +- docs/manual/misc/password_encryptions.html.en | 12 +- docs/manual/misc/password_encryptions.html.fr.utf8 | 4 +- docs/manual/misc/perf-tuning.html | 2 +- docs/manual/misc/perf-tuning.html.en | 16 +- docs/manual/misc/perf-tuning.html.fr.utf8 | 4 +- docs/manual/misc/perf-tuning.html.ko.euc-kr | 4 +- docs/manual/misc/perf-tuning.html.tr.utf8 | 6 +- docs/manual/misc/relevant_standards.html | 2 +- docs/manual/misc/relevant_standards.html.en | 12 +- docs/manual/misc/relevant_standards.html.fr.utf8 | 4 +- docs/manual/misc/relevant_standards.html.ko.euc-kr | 4 +- docs/manual/misc/security_tips.html | 2 +- docs/manual/misc/security_tips.html.en | 27 +- docs/manual/misc/security_tips.html.fr.utf8 | 12 +- docs/manual/misc/security_tips.html.ko.euc-kr | 4 +- docs/manual/misc/security_tips.html.tr.utf8 | 11 +- docs/manual/mod/core.html | 2 +- docs/manual/mod/core.html.de | 1419 ++- docs/manual/mod/core.html.en | 357 +- docs/manual/mod/core.html.es | 649 +- docs/manual/mod/core.html.fr.utf8 | 364 +- docs/manual/mod/core.html.ja.utf8 | 87 +- docs/manual/mod/core.html.tr.utf8 | 892 +- docs/manual/mod/directive-dict.html | 2 +- docs/manual/mod/directive-dict.html.en | 20 +- docs/manual/mod/directive-dict.html.es | 212 +- docs/manual/mod/directive-dict.html.fr.utf8 | 12 +- docs/manual/mod/directive-dict.html.ja.utf8 | 4 +- docs/manual/mod/directive-dict.html.ko.euc-kr | 4 +- docs/manual/mod/directive-dict.html.tr.utf8 | 6 +- docs/manual/mod/directives.html | 2 +- docs/manual/mod/directives.html.de | 99 +- docs/manual/mod/directives.html.en | 89 +- docs/manual/mod/directives.html.es | 105 +- docs/manual/mod/directives.html.fr.utf8 | 73 +- docs/manual/mod/directives.html.ja.utf8 | 73 +- docs/manual/mod/directives.html.ko.euc-kr | 73 +- docs/manual/mod/directives.html.tr.utf8 | 73 +- docs/manual/mod/directives.html.zh-cn.utf8 | 73 +- docs/manual/mod/event.html | 2 +- docs/manual/mod/event.html.en | 67 +- docs/manual/mod/event.html.fr.utf8 | 6 +- docs/manual/mod/index.html | 2 +- docs/manual/mod/index.html.de | 39 +- docs/manual/mod/index.html.en | 25 +- docs/manual/mod/index.html.es | 57 +- docs/manual/mod/index.html.fr.utf8 | 15 +- docs/manual/mod/index.html.ja.utf8 | 9 +- docs/manual/mod/index.html.ko.euc-kr | 9 +- docs/manual/mod/index.html.tr.utf8 | 9 +- docs/manual/mod/index.html.zh-cn.utf8 | 9 +- docs/manual/mod/mod_access_compat.html | 2 +- docs/manual/mod/mod_access_compat.html.en | 16 +- docs/manual/mod/mod_access_compat.html.fr.utf8 | 4 +- docs/manual/mod/mod_access_compat.html.ja.utf8 | 4 +- docs/manual/mod/mod_actions.html | 2 +- docs/manual/mod/mod_actions.html.de | 72 +- docs/manual/mod/mod_actions.html.en | 16 +- docs/manual/mod/mod_actions.html.fr.utf8 | 4 +- docs/manual/mod/mod_actions.html.ja.utf8 | 4 +- docs/manual/mod/mod_actions.html.ko.euc-kr | 4 +- docs/manual/mod/mod_alias.html | 2 +- docs/manual/mod/mod_alias.html.en | 83 +- docs/manual/mod/mod_alias.html.fr.utf8 | 68 +- docs/manual/mod/mod_alias.html.ja.utf8 | 32 +- docs/manual/mod/mod_alias.html.ko.euc-kr | 32 +- docs/manual/mod/mod_alias.html.tr.utf8 | 35 +- docs/manual/mod/mod_allowmethods.html | 2 +- docs/manual/mod/mod_allowmethods.html.en | 16 +- docs/manual/mod/mod_allowmethods.html.fr.utf8 | 4 +- docs/manual/mod/mod_asis.html | 2 +- docs/manual/mod/mod_asis.html.en | 16 +- docs/manual/mod/mod_asis.html.fr.utf8 | 4 +- docs/manual/mod/mod_asis.html.ja.utf8 | 4 +- docs/manual/mod/mod_asis.html.ko.euc-kr | 4 +- docs/manual/mod/mod_auth_basic.html | 2 +- docs/manual/mod/mod_auth_basic.html.en | 18 +- docs/manual/mod/mod_auth_basic.html.fr.utf8 | 4 +- docs/manual/mod/mod_auth_basic.html.ja.utf8 | 4 +- docs/manual/mod/mod_auth_basic.html.ko.euc-kr | 4 +- docs/manual/mod/mod_auth_digest.html | 2 +- docs/manual/mod/mod_auth_digest.html.en | 18 +- docs/manual/mod/mod_auth_digest.html.fr.utf8 | 4 +- docs/manual/mod/mod_auth_digest.html.ko.euc-kr | 4 +- docs/manual/mod/mod_auth_form.html | 2 +- docs/manual/mod/mod_auth_form.html.en | 48 +- docs/manual/mod/mod_auth_form.html.fr.utf8 | 22 +- docs/manual/mod/mod_authn_anon.html | 2 +- docs/manual/mod/mod_authn_anon.html.en | 16 +- docs/manual/mod/mod_authn_anon.html.fr.utf8 | 4 +- docs/manual/mod/mod_authn_anon.html.ja.utf8 | 4 +- docs/manual/mod/mod_authn_anon.html.ko.euc-kr | 4 +- docs/manual/mod/mod_authn_core.html | 2 +- docs/manual/mod/mod_authn_core.html.en | 28 +- docs/manual/mod/mod_authn_core.html.fr.utf8 | 21 +- docs/manual/mod/mod_authn_dbd.html | 2 +- docs/manual/mod/mod_authn_dbd.html.en | 31 +- docs/manual/mod/mod_authn_dbd.html.fr.utf8 | 13 +- docs/manual/mod/mod_authn_dbm.html | 2 +- docs/manual/mod/mod_authn_dbm.html.en | 16 +- docs/manual/mod/mod_authn_dbm.html.fr.utf8 | 4 +- docs/manual/mod/mod_authn_dbm.html.ja.utf8 | 4 +- docs/manual/mod/mod_authn_dbm.html.ko.euc-kr | 4 +- docs/manual/mod/mod_authn_file.html | 2 +- docs/manual/mod/mod_authn_file.html.en | 16 +- docs/manual/mod/mod_authn_file.html.fr.utf8 | 4 +- docs/manual/mod/mod_authn_file.html.ja.utf8 | 4 +- docs/manual/mod/mod_authn_file.html.ko.euc-kr | 4 +- docs/manual/mod/mod_authn_socache.html | 2 +- docs/manual/mod/mod_authn_socache.html.en | 58 +- docs/manual/mod/mod_authn_socache.html.fr.utf8 | 32 +- docs/manual/mod/mod_authnz_fcgi.html | 2 +- docs/manual/mod/mod_authnz_fcgi.html.en | 16 +- docs/manual/mod/mod_authnz_fcgi.html.fr.utf8 | 4 +- docs/manual/mod/mod_authnz_ldap.html | 2 +- docs/manual/mod/mod_authnz_ldap.html.en | 47 +- docs/manual/mod/mod_authnz_ldap.html.fr.utf8 | 190 +- docs/manual/mod/mod_authz_core.html | 2 +- docs/manual/mod/mod_authz_core.html.en | 29 +- docs/manual/mod/mod_authz_core.html.fr.utf8 | 16 +- docs/manual/mod/mod_authz_dbd.html | 2 +- docs/manual/mod/mod_authz_dbd.html.en | 18 +- docs/manual/mod/mod_authz_dbd.html.fr.utf8 | 6 +- docs/manual/mod/mod_authz_dbm.html | 2 +- docs/manual/mod/mod_authz_dbm.html.en | 16 +- docs/manual/mod/mod_authz_dbm.html.fr.utf8 | 4 +- docs/manual/mod/mod_authz_dbm.html.ko.euc-kr | 4 +- docs/manual/mod/mod_authz_groupfile.html | 2 +- docs/manual/mod/mod_authz_groupfile.html.en | 16 +- docs/manual/mod/mod_authz_groupfile.html.fr.utf8 | 4 +- docs/manual/mod/mod_authz_groupfile.html.ja.utf8 | 4 +- docs/manual/mod/mod_authz_groupfile.html.ko.euc-kr | 4 +- docs/manual/mod/mod_authz_host.html | 2 +- docs/manual/mod/mod_authz_host.html.en | 27 +- docs/manual/mod/mod_authz_host.html.fr.utf8 | 18 +- docs/manual/mod/mod_authz_owner.html | 2 +- docs/manual/mod/mod_authz_owner.html.en | 16 +- docs/manual/mod/mod_authz_owner.html.fr.utf8 | 4 +- docs/manual/mod/mod_authz_owner.html.ja.utf8 | 4 +- docs/manual/mod/mod_authz_owner.html.ko.euc-kr | 4 +- docs/manual/mod/mod_authz_user.html | 2 +- docs/manual/mod/mod_authz_user.html.en | 16 +- docs/manual/mod/mod_authz_user.html.fr.utf8 | 6 +- docs/manual/mod/mod_authz_user.html.ja.utf8 | 4 +- docs/manual/mod/mod_authz_user.html.ko.euc-kr | 4 +- docs/manual/mod/mod_autoindex.html | 2 +- docs/manual/mod/mod_autoindex.html.en | 113 +- docs/manual/mod/mod_autoindex.html.fr.utf8 | 101 +- docs/manual/mod/mod_autoindex.html.ja.utf8 | 4 +- docs/manual/mod/mod_autoindex.html.ko.euc-kr | 4 +- docs/manual/mod/mod_autoindex.html.tr.utf8 | 72 +- docs/manual/mod/mod_brotli.html | 2 +- docs/manual/mod/mod_brotli.html.en | 16 +- docs/manual/mod/mod_brotli.html.fr.utf8 | 8 +- docs/manual/mod/mod_buffer.html | 2 +- docs/manual/mod/mod_buffer.html.en | 16 +- docs/manual/mod/mod_buffer.html.fr.utf8 | 4 +- docs/manual/mod/mod_cache.html | 2 +- docs/manual/mod/mod_cache.html.en | 16 +- docs/manual/mod/mod_cache.html.fr.utf8 | 4 +- docs/manual/mod/mod_cache.html.ja.utf8 | 4 +- docs/manual/mod/mod_cache.html.ko.euc-kr | 4 +- docs/manual/mod/mod_cache_disk.html | 2 +- docs/manual/mod/mod_cache_disk.html.en | 16 +- docs/manual/mod/mod_cache_disk.html.fr.utf8 | 4 +- docs/manual/mod/mod_cache_disk.html.ja.utf8 | 4 +- docs/manual/mod/mod_cache_disk.html.ko.euc-kr | 4 +- docs/manual/mod/mod_cache_socache.html | 2 +- docs/manual/mod/mod_cache_socache.html.en | 16 +- docs/manual/mod/mod_cache_socache.html.fr.utf8 | 4 +- docs/manual/mod/mod_cern_meta.html | 2 +- docs/manual/mod/mod_cern_meta.html.en | 16 +- docs/manual/mod/mod_cern_meta.html.fr.utf8 | 4 +- docs/manual/mod/mod_cern_meta.html.ko.euc-kr | 4 +- docs/manual/mod/mod_cgi.html | 2 +- docs/manual/mod/mod_cgi.html.en | 39 +- docs/manual/mod/mod_cgi.html.fr.utf8 | 26 +- docs/manual/mod/mod_cgi.html.ja.utf8 | 20 +- docs/manual/mod/mod_cgi.html.ko.euc-kr | 20 +- docs/manual/mod/mod_cgid.html | 2 +- docs/manual/mod/mod_cgid.html.en | 21 +- docs/manual/mod/mod_cgid.html.fr.utf8 | 11 +- docs/manual/mod/mod_cgid.html.ja.utf8 | 9 +- docs/manual/mod/mod_cgid.html.ko.euc-kr | 9 +- docs/manual/mod/mod_charset_lite.html | 2 +- docs/manual/mod/mod_charset_lite.html.en | 16 +- docs/manual/mod/mod_charset_lite.html.fr.utf8 | 4 +- docs/manual/mod/mod_charset_lite.html.ko.euc-kr | 4 +- docs/manual/mod/mod_data.html | 2 +- docs/manual/mod/mod_data.html.en | 16 +- docs/manual/mod/mod_data.html.fr.utf8 | 4 +- docs/manual/mod/mod_dav.html | 2 +- docs/manual/mod/mod_dav.html.en | 46 +- docs/manual/mod/mod_dav.html.fr.utf8 | 35 +- docs/manual/mod/mod_dav.html.ja.utf8 | 18 +- docs/manual/mod/mod_dav.html.ko.euc-kr | 18 +- docs/manual/mod/mod_dav_fs.html | 2 +- docs/manual/mod/mod_dav_fs.html.en | 37 +- docs/manual/mod/mod_dav_fs.html.fr.utf8 | 26 +- docs/manual/mod/mod_dav_fs.html.ja.utf8 | 18 +- docs/manual/mod/mod_dav_fs.html.ko.euc-kr | 18 +- docs/manual/mod/mod_dav_lock.html | 2 +- docs/manual/mod/mod_dav_lock.html.en | 16 +- docs/manual/mod/mod_dav_lock.html.fr.utf8 | 4 +- docs/manual/mod/mod_dav_lock.html.ja.utf8 | 4 +- docs/manual/mod/mod_dbd.html | 2 +- docs/manual/mod/mod_dbd.html.en | 16 +- docs/manual/mod/mod_dbd.html.fr.utf8 | 4 +- docs/manual/mod/mod_deflate.html | 2 +- docs/manual/mod/mod_deflate.html.en | 105 +- docs/manual/mod/mod_deflate.html.fr.utf8 | 92 +- docs/manual/mod/mod_deflate.html.ja.utf8 | 26 +- docs/manual/mod/mod_deflate.html.ko.euc-kr | 26 +- docs/manual/mod/mod_dialup.html | 2 +- docs/manual/mod/mod_dialup.html.en | 16 +- docs/manual/mod/mod_dialup.html.fr.utf8 | 4 +- docs/manual/mod/mod_dir.html | 2 +- docs/manual/mod/mod_dir.html.en | 24 +- docs/manual/mod/mod_dir.html.fr.utf8 | 8 +- docs/manual/mod/mod_dir.html.ja.utf8 | 4 +- docs/manual/mod/mod_dir.html.ko.euc-kr | 4 +- docs/manual/mod/mod_dir.html.tr.utf8 | 16 +- docs/manual/mod/mod_dumpio.html | 2 +- docs/manual/mod/mod_dumpio.html.en | 16 +- docs/manual/mod/mod_dumpio.html.fr.utf8 | 4 +- docs/manual/mod/mod_dumpio.html.ja.utf8 | 4 +- docs/manual/mod/mod_echo.html | 2 +- docs/manual/mod/mod_echo.html.en | 16 +- docs/manual/mod/mod_echo.html.fr.utf8 | 4 +- docs/manual/mod/mod_echo.html.ja.utf8 | 4 +- docs/manual/mod/mod_echo.html.ko.euc-kr | 4 +- docs/manual/mod/mod_env.html | 2 +- docs/manual/mod/mod_env.html.en | 20 +- docs/manual/mod/mod_env.html.fr.utf8 | 4 +- docs/manual/mod/mod_env.html.ja.utf8 | 4 +- docs/manual/mod/mod_env.html.ko.euc-kr | 4 +- docs/manual/mod/mod_env.html.tr.utf8 | 8 +- docs/manual/mod/mod_example_hooks.html | 2 +- docs/manual/mod/mod_example_hooks.html.en | 16 +- docs/manual/mod/mod_example_hooks.html.fr.utf8 | 4 +- docs/manual/mod/mod_example_hooks.html.ko.euc-kr | 4 +- docs/manual/mod/mod_expires.html | 2 +- docs/manual/mod/mod_expires.html.en | 16 +- docs/manual/mod/mod_expires.html.fr.utf8 | 4 +- docs/manual/mod/mod_expires.html.ja.utf8 | 4 +- docs/manual/mod/mod_expires.html.ko.euc-kr | 4 +- docs/manual/mod/mod_ext_filter.html | 2 +- docs/manual/mod/mod_ext_filter.html.en | 16 +- docs/manual/mod/mod_ext_filter.html.fr.utf8 | 4 +- docs/manual/mod/mod_ext_filter.html.ja.utf8 | 4 +- docs/manual/mod/mod_ext_filter.html.ko.euc-kr | 4 +- docs/manual/mod/mod_file_cache.html | 2 +- docs/manual/mod/mod_file_cache.html.en | 16 +- docs/manual/mod/mod_file_cache.html.fr.utf8 | 4 +- docs/manual/mod/mod_file_cache.html.ko.euc-kr | 4 +- docs/manual/mod/mod_filter.html | 2 +- docs/manual/mod/mod_filter.html.en | 18 +- docs/manual/mod/mod_filter.html.fr.utf8 | 4 +- docs/manual/mod/mod_headers.html | 2 +- docs/manual/mod/mod_headers.html.en | 16 +- docs/manual/mod/mod_headers.html.fr.utf8 | 4 +- docs/manual/mod/mod_headers.html.ja.utf8 | 4 +- docs/manual/mod/mod_headers.html.ko.euc-kr | 4 +- docs/manual/mod/mod_heartbeat.html | 2 +- docs/manual/mod/mod_heartbeat.html.en | 16 +- docs/manual/mod/mod_heartbeat.html.fr.utf8 | 4 +- docs/manual/mod/mod_heartmonitor.html | 2 +- docs/manual/mod/mod_heartmonitor.html.en | 24 +- docs/manual/mod/mod_heartmonitor.html.fr.utf8 | 22 +- docs/manual/mod/mod_http2.html | 2 +- docs/manual/mod/mod_http2.html.en | 235 +- docs/manual/mod/mod_http2.html.fr.utf8 | 268 +- docs/manual/mod/mod_ident.html | 2 +- docs/manual/mod/mod_ident.html.en | 16 +- docs/manual/mod/mod_ident.html.fr.utf8 | 4 +- docs/manual/mod/mod_ident.html.ja.utf8 | 4 +- docs/manual/mod/mod_ident.html.ko.euc-kr | 4 +- docs/manual/mod/mod_imagemap.html | 2 +- docs/manual/mod/mod_imagemap.html.en | 16 +- docs/manual/mod/mod_imagemap.html.fr.utf8 | 4 +- docs/manual/mod/mod_imagemap.html.ko.euc-kr | 4 +- docs/manual/mod/mod_include.html | 2 +- docs/manual/mod/mod_include.html.en | 22 +- docs/manual/mod/mod_include.html.fr.utf8 | 8 +- docs/manual/mod/mod_include.html.ja.utf8 | 4 +- docs/manual/mod/mod_info.html | 2 +- docs/manual/mod/mod_info.html.en | 16 +- docs/manual/mod/mod_info.html.fr.utf8 | 4 +- docs/manual/mod/mod_info.html.ja.utf8 | 4 +- docs/manual/mod/mod_info.html.ko.euc-kr | 4 +- docs/manual/mod/mod_isapi.html | 2 +- docs/manual/mod/mod_isapi.html.en | 16 +- docs/manual/mod/mod_isapi.html.fr.utf8 | 4 +- docs/manual/mod/mod_isapi.html.ko.euc-kr | 4 +- docs/manual/mod/mod_lbmethod_bybusyness.html | 2 +- docs/manual/mod/mod_lbmethod_bybusyness.html.en | 16 +- .../mod/mod_lbmethod_bybusyness.html.fr.utf8 | 4 +- docs/manual/mod/mod_lbmethod_byrequests.html | 2 +- docs/manual/mod/mod_lbmethod_byrequests.html.en | 16 +- .../mod/mod_lbmethod_byrequests.html.fr.utf8 | 4 +- docs/manual/mod/mod_lbmethod_bytraffic.html | 2 +- docs/manual/mod/mod_lbmethod_bytraffic.html.en | 16 +- .../manual/mod/mod_lbmethod_bytraffic.html.fr.utf8 | 4 +- docs/manual/mod/mod_lbmethod_heartbeat.html | 2 +- docs/manual/mod/mod_lbmethod_heartbeat.html.en | 16 +- .../manual/mod/mod_lbmethod_heartbeat.html.fr.utf8 | 4 +- docs/manual/mod/mod_ldap.html | 2 +- docs/manual/mod/mod_ldap.html.en | 57 +- docs/manual/mod/mod_ldap.html.fr.utf8 | 153 +- docs/manual/mod/mod_log_config.html | 2 +- docs/manual/mod/mod_log_config.html.en | 87 +- docs/manual/mod/mod_log_config.html.fr.utf8 | 70 +- docs/manual/mod/mod_log_config.html.ja.utf8 | 4 +- docs/manual/mod/mod_log_config.html.ko.euc-kr | 4 +- docs/manual/mod/mod_log_config.html.tr.utf8 | 73 +- docs/manual/mod/mod_log_debug.html | 2 +- docs/manual/mod/mod_log_debug.html.en | 47 +- docs/manual/mod/mod_log_debug.html.fr.utf8 | 29 +- docs/manual/mod/mod_log_forensic.html | 2 +- docs/manual/mod/mod_log_forensic.html.en | 20 +- docs/manual/mod/mod_log_forensic.html.fr.utf8 | 4 +- docs/manual/mod/mod_log_forensic.html.ja.utf8 | 4 +- docs/manual/mod/mod_log_forensic.html.tr.utf8 | 8 +- docs/manual/mod/mod_logio.html | 2 +- docs/manual/mod/mod_logio.html.en | 20 +- docs/manual/mod/mod_logio.html.fr.utf8 | 4 +- docs/manual/mod/mod_logio.html.ja.utf8 | 4 +- docs/manual/mod/mod_logio.html.ko.euc-kr | 4 +- docs/manual/mod/mod_logio.html.tr.utf8 | 8 +- docs/manual/mod/mod_lua.html | 2 +- docs/manual/mod/mod_lua.html.en | 86 +- docs/manual/mod/mod_lua.html.fr.utf8 | 146 +- docs/manual/mod/mod_macro.html | 2 +- docs/manual/mod/mod_macro.html.en | 16 +- docs/manual/mod/mod_macro.html.fr.utf8 | 4 +- docs/manual/mod/mod_md.html | 6 +- docs/manual/mod/mod_md.html.en | 1188 +- docs/manual/mod/mod_md.html.fr.utf8 | 1784 +++ docs/manual/mod/mod_mime.html | 2 +- docs/manual/mod/mod_mime.html.en | 16 +- docs/manual/mod/mod_mime.html.fr.utf8 | 4 +- docs/manual/mod/mod_mime.html.ja.utf8 | 4 +- docs/manual/mod/mod_mime_magic.html | 2 +- docs/manual/mod/mod_mime_magic.html.en | 16 +- docs/manual/mod/mod_mime_magic.html.fr.utf8 | 4 +- docs/manual/mod/mod_negotiation.html | 2 +- docs/manual/mod/mod_negotiation.html.en | 16 +- docs/manual/mod/mod_negotiation.html.fr.utf8 | 4 +- docs/manual/mod/mod_negotiation.html.ja.utf8 | 4 +- docs/manual/mod/mod_nw_ssl.html | 2 +- docs/manual/mod/mod_nw_ssl.html.en | 16 +- docs/manual/mod/mod_nw_ssl.html.fr.utf8 | 4 +- docs/manual/mod/mod_privileges.html | 2 +- docs/manual/mod/mod_privileges.html.en | 18 +- docs/manual/mod/mod_privileges.html.fr.utf8 | 10 +- docs/manual/mod/mod_proxy.html | 2 +- docs/manual/mod/mod_proxy.html.en | 230 +- docs/manual/mod/mod_proxy.html.fr.utf8 | 248 +- docs/manual/mod/mod_proxy.html.ja.utf8 | 18 +- docs/manual/mod/mod_proxy_ajp.html | 2 +- docs/manual/mod/mod_proxy_ajp.html.en | 39 +- docs/manual/mod/mod_proxy_ajp.html.fr.utf8 | 30 +- docs/manual/mod/mod_proxy_ajp.html.ja.utf8 | 4 +- docs/manual/mod/mod_proxy_balancer.html | 2 +- docs/manual/mod/mod_proxy_balancer.html.en | 20 +- docs/manual/mod/mod_proxy_balancer.html.fr.utf8 | 4 +- docs/manual/mod/mod_proxy_balancer.html.ja.utf8 | 4 +- docs/manual/mod/mod_proxy_connect.html | 2 +- docs/manual/mod/mod_proxy_connect.html.en | 16 +- docs/manual/mod/mod_proxy_connect.html.fr.utf8 | 4 +- docs/manual/mod/mod_proxy_connect.html.ja.utf8 | 4 +- docs/manual/mod/mod_proxy_express.html | 2 +- docs/manual/mod/mod_proxy_express.html.en | 52 +- docs/manual/mod/mod_proxy_express.html.fr.utf8 | 47 +- docs/manual/mod/mod_proxy_fcgi.html | 2 +- docs/manual/mod/mod_proxy_fcgi.html.en | 18 +- docs/manual/mod/mod_proxy_fcgi.html.fr.utf8 | 4 +- docs/manual/mod/mod_proxy_fdpass.html | 2 +- docs/manual/mod/mod_proxy_fdpass.html.en | 16 +- docs/manual/mod/mod_proxy_fdpass.html.fr.utf8 | 4 +- docs/manual/mod/mod_proxy_ftp.html | 2 +- docs/manual/mod/mod_proxy_ftp.html.en | 16 +- docs/manual/mod/mod_proxy_ftp.html.fr.utf8 | 4 +- docs/manual/mod/mod_proxy_hcheck.html | 2 +- docs/manual/mod/mod_proxy_hcheck.html.en | 30 +- docs/manual/mod/mod_proxy_hcheck.html.fr.utf8 | 31 +- docs/manual/mod/mod_proxy_html.html | 2 +- docs/manual/mod/mod_proxy_html.html.en | 18 +- docs/manual/mod/mod_proxy_html.html.fr.utf8 | 10 +- docs/manual/mod/mod_proxy_http.html | 2 +- docs/manual/mod/mod_proxy_http.html.en | 16 +- docs/manual/mod/mod_proxy_http.html.fr.utf8 | 4 +- docs/manual/mod/mod_proxy_http2.html | 2 +- docs/manual/mod/mod_proxy_http2.html.en | 16 +- docs/manual/mod/mod_proxy_http2.html.fr.utf8 | 4 +- docs/manual/mod/mod_proxy_scgi.html | 2 +- docs/manual/mod/mod_proxy_scgi.html.en | 18 +- docs/manual/mod/mod_proxy_scgi.html.fr.utf8 | 4 +- docs/manual/mod/mod_proxy_uwsgi.html | 6 +- docs/manual/mod/mod_proxy_uwsgi.html.en | 19 +- docs/manual/mod/mod_proxy_uwsgi.html.fr.utf8 | 116 + docs/manual/mod/mod_proxy_wstunnel.html | 2 +- docs/manual/mod/mod_proxy_wstunnel.html.en | 87 +- docs/manual/mod/mod_proxy_wstunnel.html.fr.utf8 | 76 +- docs/manual/mod/mod_ratelimit.html | 2 +- docs/manual/mod/mod_ratelimit.html.en | 16 +- docs/manual/mod/mod_ratelimit.html.fr.utf8 | 4 +- docs/manual/mod/mod_reflector.html | 2 +- docs/manual/mod/mod_reflector.html.en | 16 +- docs/manual/mod/mod_reflector.html.fr.utf8 | 4 +- docs/manual/mod/mod_remoteip.html | 2 +- docs/manual/mod/mod_remoteip.html.en | 16 +- docs/manual/mod/mod_remoteip.html.fr.utf8 | 4 +- docs/manual/mod/mod_reqtimeout.html | 2 +- docs/manual/mod/mod_reqtimeout.html.en | 91 +- docs/manual/mod/mod_reqtimeout.html.fr.utf8 | 121 +- docs/manual/mod/mod_request.html | 2 +- docs/manual/mod/mod_request.html.en | 20 +- docs/manual/mod/mod_request.html.fr.utf8 | 4 +- docs/manual/mod/mod_request.html.tr.utf8 | 8 +- docs/manual/mod/mod_rewrite.html | 2 +- docs/manual/mod/mod_rewrite.html.en | 86 +- docs/manual/mod/mod_rewrite.html.fr.utf8 | 82 +- docs/manual/mod/mod_sed.html | 2 +- docs/manual/mod/mod_sed.html.en | 18 +- docs/manual/mod/mod_sed.html.fr.utf8 | 12 +- docs/manual/mod/mod_session.html | 2 +- docs/manual/mod/mod_session.html.en | 58 +- docs/manual/mod/mod_session.html.fr.utf8 | 47 +- docs/manual/mod/mod_session_cookie.html | 2 +- docs/manual/mod/mod_session_cookie.html.en | 16 +- docs/manual/mod/mod_session_cookie.html.fr.utf8 | 4 +- docs/manual/mod/mod_session_crypto.html | 2 +- docs/manual/mod/mod_session_crypto.html.en | 25 +- docs/manual/mod/mod_session_crypto.html.fr.utf8 | 34 +- docs/manual/mod/mod_session_dbd.html | 2 +- docs/manual/mod/mod_session_dbd.html.en | 16 +- docs/manual/mod/mod_session_dbd.html.fr.utf8 | 4 +- docs/manual/mod/mod_setenvif.html | 2 +- docs/manual/mod/mod_setenvif.html.en | 29 +- docs/manual/mod/mod_setenvif.html.fr.utf8 | 18 +- docs/manual/mod/mod_setenvif.html.ja.utf8 | 4 +- docs/manual/mod/mod_setenvif.html.ko.euc-kr | 4 +- docs/manual/mod/mod_setenvif.html.tr.utf8 | 9 +- docs/manual/mod/mod_slotmem_plain.html | 2 +- docs/manual/mod/mod_slotmem_plain.html.en | 16 +- docs/manual/mod/mod_slotmem_plain.html.fr.utf8 | 4 +- docs/manual/mod/mod_slotmem_shm.html | 2 +- docs/manual/mod/mod_slotmem_shm.html.en | 16 +- docs/manual/mod/mod_slotmem_shm.html.fr.utf8 | 4 +- docs/manual/mod/mod_so.html | 2 +- docs/manual/mod/mod_so.html.en | 20 +- docs/manual/mod/mod_so.html.fr.utf8 | 4 +- docs/manual/mod/mod_so.html.ja.utf8 | 4 +- docs/manual/mod/mod_so.html.ko.euc-kr | 4 +- docs/manual/mod/mod_so.html.tr.utf8 | 8 +- docs/manual/mod/mod_socache_dbm.html | 2 +- docs/manual/mod/mod_socache_dbm.html.en | 16 +- docs/manual/mod/mod_socache_dbm.html.fr.utf8 | 4 +- docs/manual/mod/mod_socache_dc.html | 2 +- docs/manual/mod/mod_socache_dc.html.en | 16 +- docs/manual/mod/mod_socache_dc.html.fr.utf8 | 4 +- docs/manual/mod/mod_socache_memcache.html | 2 +- docs/manual/mod/mod_socache_memcache.html.en | 16 +- docs/manual/mod/mod_socache_memcache.html.fr.utf8 | 4 +- docs/manual/mod/mod_socache_redis.html | 9 + docs/manual/mod/mod_socache_redis.html.en | 153 + docs/manual/mod/mod_socache_redis.html.fr.utf8 | 156 + docs/manual/mod/mod_socache_shmcb.html | 2 +- docs/manual/mod/mod_socache_shmcb.html.en | 16 +- docs/manual/mod/mod_socache_shmcb.html.fr.utf8 | 4 +- docs/manual/mod/mod_speling.html | 2 +- docs/manual/mod/mod_speling.html.en | 56 +- docs/manual/mod/mod_speling.html.fr.utf8 | 55 +- docs/manual/mod/mod_speling.html.ja.utf8 | 19 +- docs/manual/mod/mod_speling.html.ko.euc-kr | 19 +- docs/manual/mod/mod_ssl.html | 2 +- docs/manual/mod/mod_ssl.html.en | 262 +- docs/manual/mod/mod_ssl.html.fr.utf8 | 285 +- docs/manual/mod/mod_status.html | 2 +- docs/manual/mod/mod_status.html.en | 24 +- docs/manual/mod/mod_status.html.fr.utf8 | 4 +- docs/manual/mod/mod_status.html.ja.utf8 | 4 +- docs/manual/mod/mod_status.html.ko.euc-kr | 4 +- docs/manual/mod/mod_status.html.tr.utf8 | 8 +- docs/manual/mod/mod_substitute.html | 2 +- docs/manual/mod/mod_substitute.html.en | 20 +- docs/manual/mod/mod_substitute.html.fr.utf8 | 6 +- docs/manual/mod/mod_suexec.html | 2 +- docs/manual/mod/mod_suexec.html.en | 20 +- docs/manual/mod/mod_suexec.html.fr.utf8 | 4 +- docs/manual/mod/mod_suexec.html.ja.utf8 | 4 +- docs/manual/mod/mod_suexec.html.ko.euc-kr | 4 +- docs/manual/mod/mod_suexec.html.tr.utf8 | 8 +- docs/manual/mod/mod_systemd.html | 9 + docs/manual/mod/mod_systemd.html.en | 113 + docs/manual/mod/mod_systemd.html.fr.utf8 | 113 + docs/manual/mod/mod_tls.html | 5 + docs/manual/mod/mod_tls.html.en | 663 + docs/manual/mod/mod_unique_id.html | 2 +- docs/manual/mod/mod_unique_id.html.en | 16 +- docs/manual/mod/mod_unique_id.html.fr.utf8 | 4 +- docs/manual/mod/mod_unique_id.html.ja.utf8 | 4 +- docs/manual/mod/mod_unique_id.html.ko.euc-kr | 4 +- docs/manual/mod/mod_unixd.html | 2 +- docs/manual/mod/mod_unixd.html.en | 20 +- docs/manual/mod/mod_unixd.html.fr.utf8 | 4 +- docs/manual/mod/mod_unixd.html.tr.utf8 | 8 +- docs/manual/mod/mod_userdir.html | 2 +- docs/manual/mod/mod_userdir.html.en | 28 +- docs/manual/mod/mod_userdir.html.fr.utf8 | 14 +- docs/manual/mod/mod_userdir.html.ja.utf8 | 4 +- docs/manual/mod/mod_userdir.html.ko.euc-kr | 4 +- docs/manual/mod/mod_userdir.html.tr.utf8 | 17 +- docs/manual/mod/mod_usertrack.html | 2 +- docs/manual/mod/mod_usertrack.html.en | 77 +- docs/manual/mod/mod_usertrack.html.fr.utf8 | 66 +- docs/manual/mod/mod_version.html | 2 +- docs/manual/mod/mod_version.html.en | 16 +- docs/manual/mod/mod_version.html.fr.utf8 | 4 +- docs/manual/mod/mod_version.html.ja.utf8 | 4 +- docs/manual/mod/mod_version.html.ko.euc-kr | 4 +- docs/manual/mod/mod_vhost_alias.html | 2 +- docs/manual/mod/mod_vhost_alias.html.en | 20 +- docs/manual/mod/mod_vhost_alias.html.fr.utf8 | 4 +- docs/manual/mod/mod_vhost_alias.html.tr.utf8 | 8 +- docs/manual/mod/mod_watchdog.html | 2 +- docs/manual/mod/mod_watchdog.html.en | 16 +- docs/manual/mod/mod_watchdog.html.fr.utf8 | 4 +- docs/manual/mod/mod_xml2enc.html | 2 +- docs/manual/mod/mod_xml2enc.html.en | 28 +- docs/manual/mod/mod_xml2enc.html.fr.utf8 | 8 +- docs/manual/mod/module-dict.html | 2 +- docs/manual/mod/module-dict.html.en | 16 +- docs/manual/mod/module-dict.html.fr.utf8 | 4 +- docs/manual/mod/module-dict.html.ja.utf8 | 4 +- docs/manual/mod/module-dict.html.ko.euc-kr | 4 +- docs/manual/mod/module-dict.html.tr.utf8 | 6 +- docs/manual/mod/mpm_common.html | 2 +- docs/manual/mod/mpm_common.html.de | 328 +- docs/manual/mod/mpm_common.html.en | 63 +- docs/manual/mod/mpm_common.html.fr.utf8 | 40 +- docs/manual/mod/mpm_common.html.ja.utf8 | 4 +- docs/manual/mod/mpm_common.html.tr.utf8 | 34 +- docs/manual/mod/mpm_netware.html | 2 +- docs/manual/mod/mpm_netware.html.en | 16 +- docs/manual/mod/mpm_netware.html.fr.utf8 | 4 +- docs/manual/mod/mpm_winnt.html | 2 +- docs/manual/mod/mpm_winnt.html.de | 22 +- docs/manual/mod/mpm_winnt.html.en | 16 +- docs/manual/mod/mpm_winnt.html.fr.utf8 | 4 +- docs/manual/mod/mpm_winnt.html.ja.utf8 | 4 +- docs/manual/mod/mpmt_os2.html | 2 +- docs/manual/mod/mpmt_os2.html.en | 18 +- docs/manual/mod/mpmt_os2.html.fr.utf8 | 4 +- docs/manual/mod/overrides.html | 6 +- docs/manual/mod/overrides.html.en | 335 +- docs/manual/mod/overrides.html.fr.utf8 | 848 ++ docs/manual/mod/prefork.html | 2 +- docs/manual/mod/prefork.html.de | 88 +- docs/manual/mod/prefork.html.en | 20 +- docs/manual/mod/prefork.html.fr.utf8 | 4 +- docs/manual/mod/prefork.html.ja.utf8 | 4 +- docs/manual/mod/prefork.html.tr.utf8 | 8 +- docs/manual/mod/quickreference.html | 2 +- docs/manual/mod/quickreference.html.de | 1116 +- docs/manual/mod/quickreference.html.en | 1038 +- docs/manual/mod/quickreference.html.es | 1060 +- docs/manual/mod/quickreference.html.fr.utf8 | 1096 +- docs/manual/mod/quickreference.html.ja.utf8 | 1004 +- docs/manual/mod/quickreference.html.ko.euc-kr | 1018 +- docs/manual/mod/quickreference.html.tr.utf8 | 1113 +- docs/manual/mod/quickreference.html.zh-cn.utf8 | 1022 +- docs/manual/mod/worker.html | 2 +- docs/manual/mod/worker.html.de | 88 +- docs/manual/mod/worker.html.en | 20 +- docs/manual/mod/worker.html.fr.utf8 | 4 +- docs/manual/mod/worker.html.ja.utf8 | 4 +- docs/manual/mod/worker.html.tr.utf8 | 8 +- docs/manual/mpm.html | 2 +- docs/manual/mpm.html.de | 86 +- docs/manual/mpm.html.en | 20 +- docs/manual/mpm.html.es | 86 +- docs/manual/mpm.html.fr.utf8 | 4 +- docs/manual/mpm.html.ja.utf8 | 4 +- docs/manual/mpm.html.ko.euc-kr | 4 +- docs/manual/mpm.html.tr.utf8 | 6 +- docs/manual/mpm.html.zh-cn.utf8 | 4 +- docs/manual/new_features_2_0.html | 6 +- docs/manual/new_features_2_0.html.de | 172 +- docs/manual/new_features_2_0.html.en | 22 +- docs/manual/new_features_2_0.html.fr.utf8 | 6 +- docs/manual/new_features_2_0.html.ja.utf8 | 6 +- docs/manual/new_features_2_0.html.ko.euc-kr | 6 +- docs/manual/new_features_2_0.html.pt-br | 210 +- docs/manual/new_features_2_0.html.ru.koi8-r | 280 - docs/manual/new_features_2_0.html.tr.utf8 | 8 +- docs/manual/new_features_2_2.html | 2 +- docs/manual/new_features_2_2.html.en | 20 +- docs/manual/new_features_2_2.html.fr.utf8 | 4 +- docs/manual/new_features_2_2.html.ko.euc-kr | 4 +- docs/manual/new_features_2_2.html.pt-br | 114 +- docs/manual/new_features_2_2.html.tr.utf8 | 6 +- docs/manual/new_features_2_4.html | 2 +- docs/manual/new_features_2_4.html.en | 30 +- docs/manual/new_features_2_4.html.fr.utf8 | 20 +- docs/manual/new_features_2_4.html.tr.utf8 | 46 +- docs/manual/platform/ebcdic.html | 2 +- docs/manual/platform/ebcdic.html.en | 8 +- docs/manual/platform/ebcdic.html.ko.euc-kr | 4 +- docs/manual/platform/index.html | 2 +- docs/manual/platform/index.html.en | 10 +- docs/manual/platform/index.html.fr.utf8 | 2 +- docs/manual/platform/index.html.ko.euc-kr | 2 +- docs/manual/platform/index.html.zh-cn.utf8 | 2 +- docs/manual/platform/netware.html | 2 +- docs/manual/platform/netware.html.en | 14 +- docs/manual/platform/netware.html.fr.utf8 | 4 +- docs/manual/platform/netware.html.ko.euc-kr | 4 +- docs/manual/platform/perf-hp.html | 2 +- docs/manual/platform/perf-hp.html.en | 12 +- docs/manual/platform/perf-hp.html.fr.utf8 | 4 +- docs/manual/platform/perf-hp.html.ko.euc-kr | 4 +- docs/manual/platform/rpm.html | 2 +- docs/manual/platform/rpm.html.en | 12 +- docs/manual/platform/rpm.html.fr.utf8 | 4 +- docs/manual/platform/win_compiling.html | 2 +- docs/manual/platform/win_compiling.html.en | 12 +- docs/manual/platform/win_compiling.html.fr.utf8 | 4 +- docs/manual/platform/win_compiling.html.ko.euc-kr | 4 +- docs/manual/platform/windows.html | 2 +- docs/manual/platform/windows.html.en | 30 +- docs/manual/platform/windows.html.fr.utf8 | 19 +- docs/manual/platform/windows.html.ko.euc-kr | 4 +- docs/manual/programs/ab.html | 2 +- docs/manual/programs/ab.html.en | 16 +- docs/manual/programs/ab.html.fr.utf8 | 4 +- docs/manual/programs/ab.html.ko.euc-kr | 4 +- docs/manual/programs/ab.html.tr.utf8 | 14 +- docs/manual/programs/apachectl.html | 2 +- docs/manual/programs/apachectl.html.en | 16 +- docs/manual/programs/apachectl.html.fr.utf8 | 4 +- docs/manual/programs/apachectl.html.ko.euc-kr | 4 +- docs/manual/programs/apachectl.html.tr.utf8 | 6 +- docs/manual/programs/apxs.html | 2 +- docs/manual/programs/apxs.html.en | 16 +- docs/manual/programs/apxs.html.fr.utf8 | 4 +- docs/manual/programs/apxs.html.ko.euc-kr | 4 +- docs/manual/programs/apxs.html.tr.utf8 | 6 +- docs/manual/programs/configure.html | 2 +- docs/manual/programs/configure.html.en | 18 +- docs/manual/programs/configure.html.fr.utf8 | 4 +- docs/manual/programs/configure.html.ko.euc-kr | 4 +- docs/manual/programs/configure.html.tr.utf8 | 6 +- docs/manual/programs/dbmmanage.html | 2 +- docs/manual/programs/dbmmanage.html.en | 26 +- docs/manual/programs/dbmmanage.html.fr.utf8 | 20 +- docs/manual/programs/dbmmanage.html.ko.euc-kr | 4 +- docs/manual/programs/dbmmanage.html.tr.utf8 | 7 +- docs/manual/programs/fcgistarter.html | 2 +- docs/manual/programs/fcgistarter.html.en | 18 +- docs/manual/programs/fcgistarter.html.fr.utf8 | 6 +- docs/manual/programs/fcgistarter.html.tr.utf8 | 18 +- docs/manual/programs/htcacheclean.html | 2 +- docs/manual/programs/htcacheclean.html.en | 32 +- docs/manual/programs/htcacheclean.html.fr.utf8 | 20 +- docs/manual/programs/htcacheclean.html.ko.euc-kr | 4 +- docs/manual/programs/htcacheclean.html.tr.utf8 | 15 +- docs/manual/programs/htdbm.html | 2 +- docs/manual/programs/htdbm.html.en | 40 +- docs/manual/programs/htdbm.html.fr.utf8 | 32 +- docs/manual/programs/htdbm.html.tr.utf8 | 7 +- docs/manual/programs/htdigest.html | 2 +- docs/manual/programs/htdigest.html.en | 16 +- docs/manual/programs/htdigest.html.fr.utf8 | 4 +- docs/manual/programs/htdigest.html.ko.euc-kr | 4 +- docs/manual/programs/htdigest.html.tr.utf8 | 6 +- docs/manual/programs/htpasswd.html | 2 +- docs/manual/programs/htpasswd.html.en | 111 +- docs/manual/programs/htpasswd.html.fr.utf8 | 52 +- docs/manual/programs/htpasswd.html.ko.euc-kr | 4 +- docs/manual/programs/htpasswd.html.tr.utf8 | 14 +- docs/manual/programs/httpd.html | 2 +- docs/manual/programs/httpd.html.en | 16 +- docs/manual/programs/httpd.html.fr.utf8 | 4 +- docs/manual/programs/httpd.html.ko.euc-kr | 4 +- docs/manual/programs/httpd.html.tr.utf8 | 6 +- docs/manual/programs/httxt2dbm.html | 2 +- docs/manual/programs/httxt2dbm.html.en | 20 +- docs/manual/programs/httxt2dbm.html.fr.utf8 | 4 +- docs/manual/programs/httxt2dbm.html.tr.utf8 | 6 +- docs/manual/programs/index.html | 2 +- docs/manual/programs/index.html.en | 18 +- docs/manual/programs/index.html.es | 54 +- docs/manual/programs/index.html.fr.utf8 | 4 +- docs/manual/programs/index.html.ko.euc-kr | 2 +- docs/manual/programs/index.html.tr.utf8 | 2 +- docs/manual/programs/index.html.zh-cn.utf8 | 2 +- docs/manual/programs/log_server_status.html | 2 +- docs/manual/programs/log_server_status.html.en | 12 +- .../manual/programs/log_server_status.html.fr.utf8 | 4 +- docs/manual/programs/logresolve.html | 2 +- docs/manual/programs/logresolve.html.en | 16 +- docs/manual/programs/logresolve.html.fr.utf8 | 4 +- docs/manual/programs/logresolve.html.ko.euc-kr | 4 +- docs/manual/programs/logresolve.html.tr.utf8 | 6 +- docs/manual/programs/other.html | 2 +- docs/manual/programs/other.html.en | 16 +- docs/manual/programs/other.html.fr.utf8 | 4 +- docs/manual/programs/other.html.ko.euc-kr | 4 +- docs/manual/programs/other.html.tr.utf8 | 4 +- docs/manual/programs/rotatelogs.html | 2 +- docs/manual/programs/rotatelogs.html.en | 87 +- docs/manual/programs/rotatelogs.html.fr.utf8 | 91 +- docs/manual/programs/rotatelogs.html.ko.euc-kr | 4 +- docs/manual/programs/rotatelogs.html.tr.utf8 | 83 +- docs/manual/programs/split-logfile.html | 2 +- docs/manual/programs/split-logfile.html.en | 12 +- docs/manual/programs/split-logfile.html.fr.utf8 | 4 +- docs/manual/programs/suexec.html | 2 +- docs/manual/programs/suexec.html.en | 16 +- docs/manual/programs/suexec.html.fr.utf8 | 4 +- docs/manual/programs/suexec.html.ko.euc-kr | 4 +- docs/manual/programs/suexec.html.tr.utf8 | 6 +- docs/manual/rewrite/access.html | 2 +- docs/manual/rewrite/access.html.en | 18 +- docs/manual/rewrite/access.html.fr.utf8 | 10 +- docs/manual/rewrite/advanced.html | 2 +- docs/manual/rewrite/advanced.html.en | 36 +- docs/manual/rewrite/advanced.html.fr.utf8 | 31 +- docs/manual/rewrite/avoid.html | 2 +- docs/manual/rewrite/avoid.html.en | 14 +- docs/manual/rewrite/avoid.html.fr.utf8 | 4 +- docs/manual/rewrite/flags.html | 2 +- docs/manual/rewrite/flags.html.en | 159 +- docs/manual/rewrite/flags.html.fr.utf8 | 159 +- docs/manual/rewrite/htaccess.html | 2 +- docs/manual/rewrite/htaccess.html.en | 12 +- docs/manual/rewrite/htaccess.html.fr.utf8 | 4 +- docs/manual/rewrite/index.html | 2 +- docs/manual/rewrite/index.html.en | 14 +- docs/manual/rewrite/index.html.fr.utf8 | 2 +- docs/manual/rewrite/index.html.tr.utf8 | 2 +- docs/manual/rewrite/index.html.zh-cn.utf8 | 2 +- docs/manual/rewrite/intro.html | 2 +- docs/manual/rewrite/intro.html.en | 152 +- docs/manual/rewrite/intro.html.fr.utf8 | 142 +- docs/manual/rewrite/proxy.html | 2 +- docs/manual/rewrite/proxy.html.en | 12 +- docs/manual/rewrite/proxy.html.fr.utf8 | 4 +- docs/manual/rewrite/remapping.html | 2 +- docs/manual/rewrite/remapping.html.en | 14 +- docs/manual/rewrite/remapping.html.fr.utf8 | 4 +- docs/manual/rewrite/rewritemap.html | 2 +- docs/manual/rewrite/rewritemap.html.en | 16 +- docs/manual/rewrite/rewritemap.html.fr.utf8 | 4 +- docs/manual/rewrite/tech.html | 2 +- docs/manual/rewrite/tech.html.en | 12 +- docs/manual/rewrite/tech.html.fr.utf8 | 4 +- docs/manual/rewrite/vhosts.html | 2 +- docs/manual/rewrite/vhosts.html.en | 12 +- docs/manual/rewrite/vhosts.html.fr.utf8 | 4 +- docs/manual/sections.html | 2 +- docs/manual/sections.html.en | 31 +- docs/manual/sections.html.fr.utf8 | 306 +- docs/manual/sections.html.ja.utf8 | 4 +- docs/manual/sections.html.ko.euc-kr | 4 +- docs/manual/sections.html.tr.utf8 | 152 +- docs/manual/server-wide.html | 2 +- docs/manual/server-wide.html.en | 16 +- docs/manual/server-wide.html.fr.utf8 | 4 +- docs/manual/server-wide.html.ja.utf8 | 4 +- docs/manual/server-wide.html.ko.euc-kr | 4 +- docs/manual/server-wide.html.tr.utf8 | 6 +- docs/manual/sitemap.html | 2 +- docs/manual/sitemap.html.de | 101 +- docs/manual/sitemap.html.en | 23 +- docs/manual/sitemap.html.es | 407 +- docs/manual/sitemap.html.fr.utf8 | 7 +- docs/manual/sitemap.html.ja.utf8 | 7 +- docs/manual/sitemap.html.ko.euc-kr | 7 +- docs/manual/sitemap.html.tr.utf8 | 7 +- docs/manual/sitemap.html.zh-cn.utf8 | 7 +- docs/manual/socache.html | 2 +- docs/manual/socache.html.en | 17 +- docs/manual/socache.html.fr.utf8 | 9 +- docs/manual/ssl/index.html | 2 +- docs/manual/ssl/index.html.en | 14 +- docs/manual/ssl/index.html.fr.utf8 | 2 +- docs/manual/ssl/index.html.ja.utf8 | 2 +- docs/manual/ssl/index.html.tr.utf8 | 2 +- docs/manual/ssl/index.html.zh-cn.utf8 | 2 +- docs/manual/ssl/ssl_compat.html | 2 +- docs/manual/ssl/ssl_compat.html.en | 12 +- docs/manual/ssl/ssl_compat.html.fr.utf8 | 4 +- docs/manual/ssl/ssl_faq.html | 2 +- docs/manual/ssl/ssl_faq.html.en | 12 +- docs/manual/ssl/ssl_faq.html.fr.utf8 | 4 +- docs/manual/ssl/ssl_howto.html | 2 +- docs/manual/ssl/ssl_howto.html.en | 14 +- docs/manual/ssl/ssl_howto.html.fr.utf8 | 4 +- docs/manual/ssl/ssl_intro.html | 2 +- docs/manual/ssl/ssl_intro.html.en | 12 +- docs/manual/ssl/ssl_intro.html.fr.utf8 | 4 +- docs/manual/ssl/ssl_intro.html.ja.utf8 | 4 +- docs/manual/stopping.html | 2 +- docs/manual/stopping.html.de | 128 +- docs/manual/stopping.html.en | 20 +- docs/manual/stopping.html.es | 244 +- docs/manual/stopping.html.fr.utf8 | 4 +- docs/manual/stopping.html.ja.utf8 | 4 +- docs/manual/stopping.html.ko.euc-kr | 4 +- docs/manual/stopping.html.tr.utf8 | 6 +- docs/manual/style/common.dtd | 2 +- docs/manual/style/scripts/prettify.js | 6 +- docs/manual/style/scripts/prettify.min.js | 5 +- docs/manual/style/version.ent | 2 +- docs/manual/suexec.html | 2 +- docs/manual/suexec.html.en | 24 +- docs/manual/suexec.html.fr.utf8 | 12 +- docs/manual/suexec.html.ja.utf8 | 4 +- docs/manual/suexec.html.ko.euc-kr | 4 +- docs/manual/suexec.html.tr.utf8 | 13 +- docs/manual/upgrading.html | 2 +- docs/manual/upgrading.html.en | 12 +- docs/manual/upgrading.html.fr.utf8 | 4 +- docs/manual/urlmapping.html | 2 +- docs/manual/urlmapping.html.en | 16 +- docs/manual/urlmapping.html.fr.utf8 | 4 +- docs/manual/urlmapping.html.ja.utf8 | 4 +- docs/manual/urlmapping.html.ko.euc-kr | 4 +- docs/manual/urlmapping.html.tr.utf8 | 6 +- docs/manual/vhosts/details.html | 2 +- docs/manual/vhosts/details.html.en | 16 +- docs/manual/vhosts/details.html.fr.utf8 | 4 +- docs/manual/vhosts/details.html.ko.euc-kr | 4 +- docs/manual/vhosts/details.html.tr.utf8 | 6 +- docs/manual/vhosts/examples.html | 2 +- docs/manual/vhosts/examples.html.en | 16 +- docs/manual/vhosts/examples.html.fr.utf8 | 4 +- docs/manual/vhosts/examples.html.ja.utf8 | 4 +- docs/manual/vhosts/examples.html.ko.euc-kr | 4 +- docs/manual/vhosts/examples.html.tr.utf8 | 6 +- docs/manual/vhosts/fd-limits.html | 2 +- docs/manual/vhosts/fd-limits.html.en | 22 +- docs/manual/vhosts/fd-limits.html.fr.utf8 | 4 +- docs/manual/vhosts/fd-limits.html.ja.utf8 | 4 +- docs/manual/vhosts/fd-limits.html.ko.euc-kr | 4 +- docs/manual/vhosts/fd-limits.html.tr.utf8 | 4 +- docs/manual/vhosts/index.html | 2 +- docs/manual/vhosts/index.html.de | 52 +- docs/manual/vhosts/index.html.en | 14 +- docs/manual/vhosts/index.html.fr.utf8 | 2 +- docs/manual/vhosts/index.html.ja.utf8 | 2 +- docs/manual/vhosts/index.html.ko.euc-kr | 2 +- docs/manual/vhosts/index.html.tr.utf8 | 2 +- docs/manual/vhosts/index.html.zh-cn.utf8 | 2 +- docs/manual/vhosts/ip-based.html | 2 +- docs/manual/vhosts/ip-based.html.en | 16 +- docs/manual/vhosts/ip-based.html.fr.utf8 | 4 +- docs/manual/vhosts/ip-based.html.ja.utf8 | 4 +- docs/manual/vhosts/ip-based.html.ko.euc-kr | 4 +- docs/manual/vhosts/ip-based.html.tr.utf8 | 6 +- docs/manual/vhosts/mass.html | 2 +- docs/manual/vhosts/mass.html.en | 16 +- docs/manual/vhosts/mass.html.fr.utf8 | 4 +- docs/manual/vhosts/mass.html.ko.euc-kr | 4 +- docs/manual/vhosts/mass.html.tr.utf8 | 6 +- docs/manual/vhosts/name-based.html | 2 +- docs/manual/vhosts/name-based.html.de | 186 +- docs/manual/vhosts/name-based.html.en | 16 +- docs/manual/vhosts/name-based.html.fr.utf8 | 4 +- docs/manual/vhosts/name-based.html.ja.utf8 | 4 +- docs/manual/vhosts/name-based.html.ko.euc-kr | 4 +- docs/manual/vhosts/name-based.html.tr.utf8 | 6 +- docs/server-status/server-status.lua | 6 +- httpd.spec | 3 +- include/ap_config_auto.h.in | 194 +- include/ap_expr.h | 4 +- include/ap_mmn.h | 79 +- include/ap_mpm.h | 103 +- include/ap_regex.h | 23 +- include/ap_release.h | 4 +- include/http_config.h | 43 +- include/http_connection.h | 15 + include/http_core.h | 61 +- include/http_protocol.h | 104 +- include/http_request.h | 22 +- include/http_ssl.h | 317 + include/http_vhost.h | 13 + include/httpd.h | 279 +- include/mod_auth.h | 2 +- include/mpm_common.h | 9 + include/scoreboard.h | 9 +- include/util_fcgi.h | 2 +- include/util_ldap.h | 3 +- include/util_script.h | 2 + include/util_time.h | 4 +- libhttpd.dsp | 8 + libhttpd.mak | 12 + modules/aaa/mod_auth_basic.c | 14 +- modules/aaa/mod_auth_digest.c | 91 +- modules/aaa/mod_auth_form.c | 13 +- modules/aaa/mod_authn_core.c | 61 +- modules/aaa/mod_authn_dbd.c | 6 +- modules/aaa/mod_authn_dbm.c | 55 +- modules/aaa/mod_authn_socache.c | 4 +- modules/aaa/mod_authnz_fcgi.c | 15 +- modules/aaa/mod_authnz_ldap.c | 45 +- modules/aaa/mod_authz_core.c | 22 +- modules/aaa/mod_authz_dbd.c | 4 +- modules/aaa/mod_authz_dbm.c | 32 +- modules/aaa/mod_authz_groupfile.c | 4 +- modules/arch/unix/config5.m4 | 9 + modules/arch/unix/mod_systemd.c | 119 + modules/arch/win32/mod_isapi.c | 9 +- modules/arch/win32/mod_isapi.h | 2 +- modules/cache/cache_storage.c | 5 +- modules/cache/cache_util.c | 2 +- modules/cache/config.m4 | 1 + modules/cache/mod_cache.c | 27 +- modules/cache/mod_cache_disk.c | 41 +- modules/cache/mod_cache_socache.c | 98 +- modules/cache/mod_file_cache.c | 2 +- modules/cache/mod_socache_dbm.c | 171 +- modules/cache/mod_socache_dc.c | 2 +- modules/cache/mod_socache_memcache.c | 13 - modules/cache/mod_socache_redis.c | 486 + modules/cache/mod_socache_redis.dep | 5 + modules/cache/mod_socache_redis.dsp | 111 + modules/cache/mod_socache_redis.mak | 353 + modules/cache/mod_socache_shmcb.c | 27 +- modules/cluster/mod_heartmonitor.c | 22 +- modules/core/mod_macro.c | 2 +- modules/core/mod_so.c | 2 +- modules/core/mod_watchdog.c | 67 +- modules/database/mod_dbd.c | 3 + modules/dav/fs/dbm.c | 47 +- modules/dav/fs/lock.c | 2 +- modules/dav/fs/repos.c | 75 +- modules/dav/lock/locks.c | 28 +- modules/dav/main/mod_dav.c | 635 +- modules/dav/main/mod_dav.h | 132 +- modules/dav/main/props.c | 88 +- modules/dav/main/std_liveprop.c | 8 +- modules/dav/main/util.c | 87 +- modules/examples/mod_case_filter_in.c | 2 +- modules/examples/mod_example_hooks.c | 26 +- modules/filters/libsed.h | 12 +- modules/filters/mod_brotli.c | 15 +- modules/filters/mod_charset_lite.c | 4 +- modules/filters/mod_data.c | 4 +- modules/filters/mod_deflate.c | 349 +- modules/filters/mod_ext_filter.c | 6 +- modules/filters/mod_include.c | 41 +- modules/filters/mod_proxy_html.c | 31 +- modules/filters/mod_reflector.c | 11 +- modules/filters/mod_reqtimeout.c | 237 +- modules/filters/mod_request.c | 28 +- modules/filters/mod_sed.c | 116 +- modules/filters/mod_substitute.c | 9 +- modules/filters/mod_xml2enc.c | 47 +- modules/filters/regexp.h | 4 +- modules/filters/sed1.c | 207 +- modules/generators/mod_autoindex.c | 10 +- modules/generators/mod_cgi.c | 75 +- modules/generators/mod_cgid.c | 35 +- modules/generators/mod_info.c | 37 +- modules/generators/mod_status.c | 48 +- modules/http/byterange_filter.c | 7 +- modules/http/http_core.c | 16 +- modules/http/http_etag.c | 349 +- modules/http/http_filters.c | 290 +- modules/http/http_protocol.c | 128 +- modules/http/http_request.c | 33 +- modules/http/mod_mime.c | 19 +- modules/http2/.gitignore | 35 - modules/http2/config2.m4 | 22 +- modules/http2/h2.h | 85 +- modules/http2/h2_alt_svc.c | 131 - modules/http2/h2_alt_svc.h | 40 - modules/http2/h2_bucket_beam.c | 1470 +-- modules/http2/h2_bucket_beam.h | 375 +- modules/http2/h2_bucket_eos.c | 17 +- modules/http2/h2_c1.c | 323 + modules/http2/h2_c1.h | 83 + modules/http2/h2_c1_io.c | 559 + modules/http2/h2_c1_io.h | 101 + modules/http2/h2_c2.c | 942 ++ modules/http2/h2_c2.h | 57 + modules/http2/h2_c2_filter.c | 1056 ++ modules/http2/h2_c2_filter.h | 68 + modules/http2/h2_config.c | 859 +- modules/http2/h2_config.h | 74 +- modules/http2/h2_conn.c | 370 - modules/http2/h2_conn.h | 77 - modules/http2/h2_conn_ctx.c | 123 + modules/http2/h2_conn_ctx.h | 100 + modules/http2/h2_conn_io.c | 389 - modules/http2/h2_conn_io.h | 77 - modules/http2/h2_ctx.c | 121 - modules/http2/h2_ctx.h | 78 - modules/http2/h2_filter.c | 568 - modules/http2/h2_filter.h | 73 - modules/http2/h2_from_h1.c | 875 -- modules/http2/h2_from_h1.h | 50 - modules/http2/h2_h2.c | 765 -- modules/http2/h2_h2.h | 79 - modules/http2/h2_headers.c | 99 +- modules/http2/h2_headers.h | 50 +- modules/http2/h2_mplx.c | 1834 ++- modules/http2/h2_mplx.h | 314 +- modules/http2/h2_ngn_shed.c | 392 - modules/http2/h2_ngn_shed.h | 79 - modules/http2/h2_protocol.c | 485 + modules/http2/h2_protocol.h | 56 + modules/http2/h2_proxy_session.c | 423 +- modules/http2/h2_proxy_session.h | 18 +- modules/http2/h2_proxy_util.c | 40 +- modules/http2/h2_proxy_util.h | 7 +- modules/http2/h2_push.c | 339 +- modules/http2/h2_push.h | 86 +- modules/http2/h2_request.c | 494 +- modules/http2/h2_request.h | 19 +- modules/http2/h2_session.c | 1816 ++- modules/http2/h2_session.h | 118 +- modules/http2/h2_stream.c | 1520 ++- modules/http2/h2_stream.h | 129 +- modules/http2/h2_switch.c | 85 +- modules/http2/h2_task.c | 769 -- modules/http2/h2_task.h | 127 - modules/http2/h2_util.c | 983 +- modules/http2/h2_util.h | 161 +- modules/http2/h2_version.h | 4 +- modules/http2/h2_workers.c | 755 +- modules/http2/h2_workers.h | 131 +- modules/http2/h2_ws.c | 362 + modules/http2/h2_ws.h | 35 + modules/http2/mod_http2.c | 164 +- modules/http2/mod_http2.dep | 2 - modules/http2/mod_http2.dsp | 34 +- modules/http2/mod_http2.h | 75 +- modules/http2/mod_http2.mak | 9 - modules/http2/mod_proxy_http2.c | 494 +- modules/ldap/util_ldap.c | 162 +- modules/ldap/util_ldap_cache.c | 14 +- modules/ldap/util_ldap_cache_mgr.c | 14 +- modules/loggers/mod_log_config.c | 37 +- modules/loggers/mod_log_debug.c | 8 + modules/loggers/mod_log_forensic.c | 8 +- modules/lua/config.m4 | 33 +- modules/lua/lua_apr.c | 8 +- modules/lua/lua_request.c | 225 +- modules/lua/mod_lua.c | 71 +- modules/lua/mod_lua.h | 12 +- modules/mappers/config9.m4 | 5 + modules/mappers/mod_alias.c | 186 +- modules/mappers/mod_imagemap.c | 2 +- modules/mappers/mod_negotiation.c | 10 +- modules/mappers/mod_rewrite.c | 288 +- modules/mappers/mod_rewrite.mak | 4 +- modules/mappers/mod_speling.c | 37 +- modules/mappers/mod_vhost_alias.c | 2 +- modules/md/config2.m4 | 15 +- modules/md/md.h | 218 +- modules/md/md_acme.c | 724 +- modules/md/md_acme.h | 216 +- modules/md/md_acme_acct.c | 785 +- modules/md/md_acme_acct.h | 103 +- modules/md/md_acme_authz.c | 801 +- modules/md/md_acme_authz.h | 65 +- modules/md/md_acme_drive.c | 1316 +- modules/md/md_acme_drive.h | 55 + modules/md/md_acme_order.c | 562 + modules/md/md_acme_order.h | 91 + modules/md/md_acmev2_drive.c | 181 + modules/md/md_acmev2_drive.h | 27 + modules/md/md_core.c | 316 +- modules/md/md_crypt.c | 1334 +- modules/md/md_crypt.h | 156 +- modules/md/md_curl.c | 482 +- modules/md/md_event.c | 89 + modules/md/md_event.h | 46 + modules/md/md_http.c | 330 +- modules/md/md_http.h | 210 +- modules/md/md_json.c | 376 +- modules/md/md_json.h | 75 +- modules/md/md_jws.c | 116 +- modules/md/md_jws.h | 26 +- modules/md/md_log.h | 4 + modules/md/md_ocsp.c | 1063 ++ modules/md/md_ocsp.h | 71 + modules/md/md_reg.c | 1283 +- modules/md/md_reg.h | 242 +- modules/md/md_result.c | 285 + modules/md/md_result.h | 87 + modules/md/md_status.c | 653 + modules/md/md_status.h | 126 + modules/md/md_store.c | 134 +- modules/md/md_store.h | 310 +- modules/md/md_store_fs.c | 426 +- modules/md/md_store_fs.h | 2 +- modules/md/md_tailscale.c | 383 + modules/md/md_tailscale.h | 25 + modules/md/md_time.c | 325 + modules/md/md_time.h | 77 + modules/md/md_util.c | 388 +- modules/md/md_util.h | 134 +- modules/md/md_version.h | 7 +- modules/md/mod_md.c | 2187 ++-- modules/md/mod_md.dsp | 63 +- modules/md/mod_md.h | 30 - modules/md/mod_md.mak | 102 +- modules/md/mod_md_config.c | 1048 +- modules/md/mod_md_config.h | 70 +- modules/md/mod_md_drive.c | 345 + modules/md/mod_md_drive.h | 35 + modules/md/mod_md_ocsp.c | 272 + modules/md/mod_md_ocsp.h | 33 + modules/md/mod_md_os.c | 33 +- modules/md/mod_md_status.c | 987 ++ modules/md/mod_md_status.h | 27 + modules/metadata/mod_cern_meta.c | 4 +- modules/metadata/mod_headers.c | 30 +- modules/metadata/mod_mime_magic.c | 26 +- modules/metadata/mod_remoteip.c | 38 +- modules/metadata/mod_unique_id.c | 54 +- modules/metadata/mod_usertrack.c | 67 +- modules/proxy/ajp.h | 4 +- modules/proxy/ajp_header.c | 48 +- modules/proxy/balancers/mod_lbmethod_heartbeat.c | 5 +- modules/proxy/mod_proxy.c | 704 +- modules/proxy/mod_proxy.h | 296 +- modules/proxy/mod_proxy_ajp.c | 135 +- modules/proxy/mod_proxy_balancer.c | 456 +- modules/proxy/mod_proxy_connect.c | 168 +- modules/proxy/mod_proxy_express.c | 29 + modules/proxy/mod_proxy_fcgi.c | 196 +- modules/proxy/mod_proxy_fdpass.c | 4 +- modules/proxy/mod_proxy_ftp.c | 171 +- modules/proxy/mod_proxy_hcheck.c | 348 +- modules/proxy/mod_proxy_http.c | 1812 +-- modules/proxy/mod_proxy_scgi.c | 20 +- modules/proxy/mod_proxy_uwsgi.c | 148 +- modules/proxy/mod_proxy_wstunnel.c | 266 +- modules/proxy/proxy_util.c | 2751 +++- modules/proxy/proxy_util.h | 6 +- modules/session/mod_session.c | 51 +- modules/session/mod_session.h | 3 + modules/session/mod_session_cookie.c | 6 +- modules/session/mod_session_crypto.c | 6 +- modules/session/mod_session_dbd.c | 8 +- modules/slotmem/mod_slotmem_shm.c | 6 +- modules/ssl/mod_ssl.c | 162 +- modules/ssl/mod_ssl.h | 29 + modules/ssl/mod_ssl_openssl.h | 49 +- modules/ssl/ssl_engine_config.c | 56 +- modules/ssl/ssl_engine_init.c | 723 +- modules/ssl/ssl_engine_io.c | 341 +- modules/ssl/ssl_engine_kernel.c | 355 +- modules/ssl/ssl_engine_log.c | 18 +- modules/ssl/ssl_engine_ocsp.c | 3 +- modules/ssl/ssl_engine_pphrase.c | 322 +- modules/ssl/ssl_engine_vars.c | 52 +- modules/ssl/ssl_private.h | 171 +- modules/ssl/ssl_scache.c | 4 +- modules/ssl/ssl_util.c | 51 +- modules/ssl/ssl_util_ocsp.c | 6 +- modules/ssl/ssl_util_ssl.c | 180 +- modules/ssl/ssl_util_ssl.h | 31 +- modules/ssl/ssl_util_stapling.c | 190 +- modules/test/mod_dialup.c | 4 +- modules/test/mod_optional_hook_import.c | 4 +- modules/tls/Makefile.in | 20 + modules/tls/config2.m4 | 173 + modules/tls/mod_tls.c | 288 + modules/tls/mod_tls.h | 19 + modules/tls/tls_cache.c | 310 + modules/tls/tls_cache.h | 63 + modules/tls/tls_cert.c | 564 + modules/tls/tls_cert.h | 211 + modules/tls/tls_conf.c | 780 ++ modules/tls/tls_conf.h | 185 + modules/tls/tls_core.c | 1433 +++ modules/tls/tls_core.h | 184 + modules/tls/tls_filter.c | 1017 ++ modules/tls/tls_filter.h | 90 + modules/tls/tls_ocsp.c | 120 + modules/tls/tls_ocsp.h | 47 + modules/tls/tls_proto.c | 603 + modules/tls/tls_proto.h | 124 + modules/tls/tls_util.c | 367 + modules/tls/tls_util.h | 157 + modules/tls/tls_var.c | 397 + modules/tls/tls_var.h | 39 + modules/tls/tls_version.h | 39 + os/unix/unixd.c | 2 +- os/win32/BaseAddr.ref | 3 +- os/win32/os.h | 3 - os/win32/util_win32.c | 45 - server/Makefile.in | 2 +- server/NWGNUmakefile | 2 +- server/buildmark.c | 2 +- server/config.c | 263 +- server/connection.c | 28 +- server/core.c | 487 +- server/core_filters.c | 749 +- server/eor_bucket.c | 43 +- server/gen_test_char.c | 25 +- server/listen.c | 2 +- server/log.c | 94 +- server/main.c | 46 +- server/mpm/event/event.c | 934 +- server/mpm/mpmt_os2/mpmt_os2.c | 8 +- server/mpm/mpmt_os2/mpmt_os2_child.c | 1 + server/mpm/netware/mpm_netware.c | 1 + server/mpm/prefork/prefork.c | 88 +- server/mpm/winnt/child.c | 27 +- server/mpm/winnt/mpm_winnt.c | 23 +- server/mpm/winnt/nt_eventlog.c | 1 + server/mpm/winnt/service.c | 8 +- server/mpm/worker/worker.c | 125 +- server/mpm_common.c | 6 +- server/mpm_fdqueue.c | 4 + server/mpm_fdqueue.h | 2 +- server/mpm_unix.c | 23 +- server/protocol.c | 453 +- server/provider.c | 21 +- server/request.c | 149 +- server/scoreboard.c | 18 +- server/ssl.c | 285 + server/util.c | 737 +- server/util_expr_eval.c | 51 +- server/util_expr_parse.c | 2 + server/util_filter.c | 5 +- server/util_md5.c | 8 +- server/util_pcre.c | 334 +- server/util_regex.c | 3 +- server/util_script.c | 131 +- server/util_time.c | 35 +- server/util_xml.c | 2 +- server/vhost.c | 41 +- support/SHA1/htpasswd-sha1.pl | 2 +- support/ab.c | 159 +- support/apxs.in | 22 +- support/dbmmanage.in | 88 +- support/htcacheclean.c | 75 +- support/htdbm.c | 10 +- support/htpasswd.c | 30 +- support/passwd_common.c | 57 +- support/passwd_common.h | 8 +- support/rotatelogs.c | 43 +- support/suexec.c | 16 +- test/Makefile.in | 6 + test/README.ci | 163 + test/README.pytest | 139 + test/clients/.gitignore | 1 + test/clients/Makefile.in | 20 + test/clients/h2ws.c | 1110 ++ test/conftest.py | 31 + test/make_sni.sh | 6 +- test/modules/core/__init__.py | 1 + test/modules/core/conftest.py | 44 + test/modules/core/test_001_encoding.py | 93 + test/modules/http2/.gitignore | 3 + test/modules/http2/Makefile.in | 20 + test/modules/http2/__init__.py | 0 test/modules/http2/conftest.py | 40 + test/modules/http2/env.py | 169 + test/modules/http2/htdocs/cgi/alive.json | 4 + test/modules/http2/htdocs/cgi/echo.py | 16 + test/modules/http2/htdocs/cgi/echohd.py | 22 + test/modules/http2/htdocs/cgi/env.py | 41 + test/modules/http2/htdocs/cgi/files/empty.txt | 0 test/modules/http2/htdocs/cgi/hecho.py | 48 + test/modules/http2/htdocs/cgi/hello.py | 25 + test/modules/http2/htdocs/cgi/mnot164.py | 16 + test/modules/http2/htdocs/cgi/necho.py | 56 + test/modules/http2/htdocs/cgi/requestparser.py | 57 + test/modules/http2/htdocs/cgi/ssi/include.inc | 1 + test/modules/http2/htdocs/cgi/ssi/test.html | 9 + test/modules/http2/htdocs/cgi/upload.py | 55 + test/modules/http2/htdocs/cgi/xxx/test.json | 1 + test/modules/http2/htdocs/noh2/alive.json | 5 + test/modules/http2/htdocs/noh2/index.html | 9 + test/modules/http2/mod_h2test/mod_h2test.c | 588 + test/modules/http2/mod_h2test/mod_h2test.h | 21 + test/modules/http2/test_001_httpd_alive.py | 22 + test/modules/http2/test_002_curl_basics.py | 71 + test/modules/http2/test_003_get.py | 265 + test/modules/http2/test_004_post.py | 201 + test/modules/http2/test_005_files.py | 48 + test/modules/http2/test_006_assets.py | 75 + test/modules/http2/test_007_ssi.py | 43 + test/modules/http2/test_008_ranges.py | 189 + test/modules/http2/test_009_timing.py | 74 + test/modules/http2/test_100_conn_reuse.py | 57 + test/modules/http2/test_101_ssl_reneg.py | 138 + test/modules/http2/test_102_require.py | 41 + test/modules/http2/test_103_upgrade.py | 118 + test/modules/http2/test_104_padding.py | 104 + test/modules/http2/test_105_timeout.py | 152 + test/modules/http2/test_106_shutdown.py | 75 + test/modules/http2/test_107_frame_lengths.py | 51 + test/modules/http2/test_200_header_invalid.py | 207 + test/modules/http2/test_201_header_conditional.py | 70 + test/modules/http2/test_202_trailer.py | 92 + test/modules/http2/test_203_rfc9113.py | 56 + test/modules/http2/test_300_interim.py | 40 + test/modules/http2/test_400_push.py | 200 + test/modules/http2/test_401_early_hints.py | 83 + test/modules/http2/test_500_proxy.py | 157 + test/modules/http2/test_501_proxy_serverheader.py | 36 + test/modules/http2/test_502_proxy_port.py | 41 + test/modules/http2/test_503_proxy_fwd.py | 79 + test/modules/http2/test_600_h2proxy.py | 201 + test/modules/http2/test_601_h2proxy_twisted.py | 99 + test/modules/http2/test_700_load_get.py | 63 + test/modules/http2/test_710_load_post_static.py | 65 + test/modules/http2/test_711_load_post_cgi.py | 73 + test/modules/http2/test_712_buffering.py | 48 + test/modules/http2/test_800_websockets.py | 363 + test/modules/http2/ws_server.py | 104 + test/modules/md/__init__.py | 0 test/modules/md/conftest.py | 92 + .../accounts/ACME-localhost-0000/account.json | 6 + .../accounts/ACME-localhost-0000/account.pem | 54 + .../sample1/archive/7007-1502285564.org.1/md.json | 18 + .../sample1/domains/7007-1502285564.org/cert.pem | 32 + .../sample1/domains/7007-1502285564.org/chain.pem | 27 + .../sample1/domains/7007-1502285564.org/md.json | 23 + .../sample1/domains/7007-1502285564.org/pkey.pem | 52 + .../md/data/store_migrate/1.0/sample1/httpd.json | 6 + .../data/store_migrate/1.0/sample1/md_store.json | 7 + test/modules/md/data/test_920/002.pubcert | 58 + .../md/data/test_conf_validate/test_014.conf | 8 + .../md/data/test_drive/test1.example.org.conf | 6 + test/modules/md/data/test_roundtrip/temp.conf | 27 + test/modules/md/dns01.py | 62 + test/modules/md/http_challenge_foobar.py | 27 + test/modules/md/md_acme.py | 125 + test/modules/md/md_cert_util.py | 239 + test/modules/md/md_certs.py | 444 + test/modules/md/md_conf.py | 83 + test/modules/md/md_env.py | 613 + test/modules/md/message.py | 26 + test/modules/md/msg_fail_on.py | 28 + test/modules/md/notifail.py | 16 + test/modules/md/notify.py | 18 + test/modules/md/pebble/pebble-eab.json.template | 16 + test/modules/md/pebble/pebble.json.template | 12 + test/modules/md/test_001_store.py | 213 + test/modules/md/test_010_store_migrate.py | 43 + test/modules/md/test_100_reg_add.py | 152 + test/modules/md/test_110_reg_update.py | 273 + test/modules/md/test_120_reg_list.py | 87 + test/modules/md/test_202_acmev2_regs.py | 132 + test/modules/md/test_300_conf_validate.py | 390 + test/modules/md/test_310_conf_store.py | 850 ++ test/modules/md/test_502_acmev2_drive.py | 549 + test/modules/md/test_602_roundtrip.py | 143 + test/modules/md/test_702_auto.py | 756 ++ test/modules/md/test_720_wildcard.py | 254 + test/modules/md/test_730_static.py | 117 + test/modules/md/test_740_acme_errors.py | 72 + test/modules/md/test_741_setup_errors.py | 48 + test/modules/md/test_750_eab.py | 337 + test/modules/md/test_751_sectigo.py | 181 + test/modules/md/test_752_zerossl.py | 202 + test/modules/md/test_780_tailscale.py | 186 + test/modules/md/test_790_failover.py | 87 + test/modules/md/test_800_must_staple.py | 84 + test/modules/md/test_801_stapling.py | 391 + test/modules/md/test_810_ec.py | 153 + test/modules/md/test_820_locks.py | 73 + test/modules/md/test_900_notify.py | 122 + test/modules/md/test_901_message.py | 297 + test/modules/md/test_910_cleanups.py | 54 + test/modules/md/test_920_status.py | 245 + test/modules/proxy/__init__.py | 0 test/modules/proxy/conftest.py | 51 + test/modules/proxy/env.py | 54 + test/modules/proxy/test_01_http.py | 96 + test/modules/proxy/test_02_unix.py | 187 + test/modules/tls/__init__.py | 0 test/modules/tls/conf.py | 61 + test/modules/tls/conftest.py | 39 + test/modules/tls/env.py | 190 + test/modules/tls/htdocs/a.mod-tls.test/index.json | 3 + test/modules/tls/htdocs/a.mod-tls.test/vars.py | 56 + .../modules/tls/htdocs/b.mod-tls.test/dir1/vars.py | 23 + test/modules/tls/htdocs/b.mod-tls.test/index.json | 3 + .../tls/htdocs/b.mod-tls.test/resp-jitter.py | 23 + test/modules/tls/htdocs/b.mod-tls.test/vars.py | 56 + test/modules/tls/htdocs/index.html | 9 + test/modules/tls/htdocs/index.json | 3 + test/modules/tls/test_01_apache.py | 14 + test/modules/tls/test_02_conf.py | 138 + test/modules/tls/test_03_sni.py | 71 + test/modules/tls/test_04_get.py | 67 + test/modules/tls/test_05_proto.py | 64 + test/modules/tls/test_06_ciphers.py | 209 + test/modules/tls/test_07_alpn.py | 43 + test/modules/tls/test_08_vars.py | 60 + test/modules/tls/test_09_timeout.py | 43 + test/modules/tls/test_10_session_id.py | 50 + test/modules/tls/test_11_md.py | 37 + test/modules/tls/test_12_cauth.py | 235 + test/modules/tls/test_13_proxy.py | 40 + test/modules/tls/test_14_proxy_ssl.py | 78 + test/modules/tls/test_15_proxy_tls.py | 86 + test/modules/tls/test_16_proxy_mixed.py | 47 + test/modules/tls/test_17_proxy_machine_cert.py | 69 + test/pyhttpd/__init__.py | 0 test/pyhttpd/certs.py | 476 + test/pyhttpd/conf.py | 188 + test/pyhttpd/conf/httpd.conf.template | 60 + test/pyhttpd/conf/mime.types | 1588 +++ test/pyhttpd/conf/stop.conf.template | 46 + test/pyhttpd/conf/test.conf | 1 + test/pyhttpd/config.ini.in | 32 + test/pyhttpd/curl.py | 138 + test/pyhttpd/env.py | 898 ++ test/pyhttpd/htdocs/alive.json | 4 + test/pyhttpd/htdocs/forbidden.html | 11 + test/pyhttpd/htdocs/index.html | 9 + test/pyhttpd/htdocs/test1/001.html | 10 + test/pyhttpd/htdocs/test1/002.jpg | Bin 0 -> 90364 bytes test/pyhttpd/htdocs/test1/003.html | 11 + test/pyhttpd/htdocs/test1/003/003_img.jpg | Bin 0 -> 90364 bytes test/pyhttpd/htdocs/test1/004.html | 23 + test/pyhttpd/htdocs/test1/004/gophertiles.jpg | Bin 0 -> 742 bytes test/pyhttpd/htdocs/test1/006.html | 23 + test/pyhttpd/htdocs/test1/006/006.css | 21 + test/pyhttpd/htdocs/test1/006/006.js | 31 + test/pyhttpd/htdocs/test1/006/header.html | 1 + test/pyhttpd/htdocs/test1/007.html | 21 + test/pyhttpd/htdocs/test1/007/007.py | 29 + test/pyhttpd/htdocs/test1/009.py | 21 + test/pyhttpd/htdocs/test1/alive.json | 5 + test/pyhttpd/htdocs/test1/index.html | 46 + test/pyhttpd/htdocs/test2/006/006.css | 21 + test/pyhttpd/htdocs/test2/10%abnormal.txt | 0 test/pyhttpd/htdocs/test2/alive.json | 4 + test/pyhttpd/htdocs/test2/x%2f.test | 0 test/pyhttpd/log.py | 163 + test/pyhttpd/mod_aptest/mod_aptest.c | 66 + test/pyhttpd/nghttp.py | 304 + test/pyhttpd/result.py | 92 + test/pyhttpd/ws_util.py | 137 + test/test_limits.c | 2 +- test/test_travis_conditions.sh | 42 + test/time-sem.c | 2 + test/travis_Dockerfile_slapd | 9 + test/travis_Dockerfile_slapd.centos7 | 5 + test/travis_before_linux.sh | 186 + test/travis_run_linux.sh | 265 + 1703 files changed, 112042 insertions(+), 45688 deletions(-) create mode 100644 .github/workflows/linux.yml create mode 100644 .gitignore create mode 100644 README.CHANGES create mode 100644 docs/manual/getting-started.html.ru.utf8 create mode 100644 docs/manual/index.html.ru.utf8 create mode 100644 docs/manual/mod/mod_md.html.fr.utf8 create mode 100644 docs/manual/mod/mod_proxy_uwsgi.html.fr.utf8 create mode 100644 docs/manual/mod/mod_socache_redis.html create mode 100644 docs/manual/mod/mod_socache_redis.html.en create mode 100644 docs/manual/mod/mod_socache_redis.html.fr.utf8 create mode 100644 docs/manual/mod/mod_systemd.html create mode 100644 docs/manual/mod/mod_systemd.html.en create mode 100644 docs/manual/mod/mod_systemd.html.fr.utf8 create mode 100644 docs/manual/mod/mod_tls.html create mode 100644 docs/manual/mod/mod_tls.html.en create mode 100644 docs/manual/mod/overrides.html.fr.utf8 delete mode 100644 docs/manual/new_features_2_0.html.ru.koi8-r create mode 100644 include/http_ssl.h create mode 100644 modules/arch/unix/mod_systemd.c create mode 100644 modules/cache/mod_socache_redis.c create mode 100644 modules/cache/mod_socache_redis.dep create mode 100644 modules/cache/mod_socache_redis.dsp create mode 100644 modules/cache/mod_socache_redis.mak delete mode 100644 modules/http2/.gitignore delete mode 100644 modules/http2/h2_alt_svc.c delete mode 100644 modules/http2/h2_alt_svc.h create mode 100644 modules/http2/h2_c1.c create mode 100644 modules/http2/h2_c1.h create mode 100644 modules/http2/h2_c1_io.c create mode 100644 modules/http2/h2_c1_io.h create mode 100644 modules/http2/h2_c2.c create mode 100644 modules/http2/h2_c2.h create mode 100644 modules/http2/h2_c2_filter.c create mode 100644 modules/http2/h2_c2_filter.h delete mode 100644 modules/http2/h2_conn.c delete mode 100644 modules/http2/h2_conn.h create mode 100644 modules/http2/h2_conn_ctx.c create mode 100644 modules/http2/h2_conn_ctx.h delete mode 100644 modules/http2/h2_conn_io.c delete mode 100644 modules/http2/h2_conn_io.h delete mode 100644 modules/http2/h2_ctx.c delete mode 100644 modules/http2/h2_ctx.h delete mode 100644 modules/http2/h2_filter.c delete mode 100644 modules/http2/h2_filter.h delete mode 100644 modules/http2/h2_from_h1.c delete mode 100644 modules/http2/h2_from_h1.h delete mode 100644 modules/http2/h2_h2.c delete mode 100644 modules/http2/h2_h2.h delete mode 100644 modules/http2/h2_ngn_shed.c delete mode 100644 modules/http2/h2_ngn_shed.h create mode 100644 modules/http2/h2_protocol.c create mode 100644 modules/http2/h2_protocol.h delete mode 100644 modules/http2/h2_task.c delete mode 100644 modules/http2/h2_task.h create mode 100644 modules/http2/h2_ws.c create mode 100644 modules/http2/h2_ws.h create mode 100644 modules/md/md_acme_drive.h create mode 100644 modules/md/md_acme_order.c create mode 100644 modules/md/md_acme_order.h create mode 100644 modules/md/md_acmev2_drive.c create mode 100644 modules/md/md_acmev2_drive.h create mode 100644 modules/md/md_event.c create mode 100644 modules/md/md_event.h create mode 100644 modules/md/md_ocsp.c create mode 100644 modules/md/md_ocsp.h create mode 100644 modules/md/md_result.c create mode 100644 modules/md/md_result.h create mode 100644 modules/md/md_status.c create mode 100644 modules/md/md_status.h create mode 100644 modules/md/md_tailscale.c create mode 100644 modules/md/md_tailscale.h create mode 100644 modules/md/md_time.c create mode 100644 modules/md/md_time.h create mode 100644 modules/md/mod_md_drive.c create mode 100644 modules/md/mod_md_drive.h create mode 100644 modules/md/mod_md_ocsp.c create mode 100644 modules/md/mod_md_ocsp.h create mode 100644 modules/md/mod_md_status.c create mode 100644 modules/md/mod_md_status.h create mode 100644 modules/tls/Makefile.in create mode 100644 modules/tls/config2.m4 create mode 100644 modules/tls/mod_tls.c create mode 100644 modules/tls/mod_tls.h create mode 100644 modules/tls/tls_cache.c create mode 100644 modules/tls/tls_cache.h create mode 100644 modules/tls/tls_cert.c create mode 100644 modules/tls/tls_cert.h create mode 100644 modules/tls/tls_conf.c create mode 100644 modules/tls/tls_conf.h create mode 100644 modules/tls/tls_core.c create mode 100644 modules/tls/tls_core.h create mode 100644 modules/tls/tls_filter.c create mode 100644 modules/tls/tls_filter.h create mode 100644 modules/tls/tls_ocsp.c create mode 100644 modules/tls/tls_ocsp.h create mode 100644 modules/tls/tls_proto.c create mode 100644 modules/tls/tls_proto.h create mode 100644 modules/tls/tls_util.c create mode 100644 modules/tls/tls_util.h create mode 100644 modules/tls/tls_var.c create mode 100644 modules/tls/tls_var.h create mode 100644 modules/tls/tls_version.h create mode 100644 server/ssl.c create mode 100644 test/README.ci create mode 100644 test/README.pytest create mode 100644 test/clients/.gitignore create mode 100644 test/clients/Makefile.in create mode 100644 test/clients/h2ws.c create mode 100644 test/conftest.py create mode 100644 test/modules/core/__init__.py create mode 100644 test/modules/core/conftest.py create mode 100644 test/modules/core/test_001_encoding.py create mode 100644 test/modules/http2/.gitignore create mode 100644 test/modules/http2/Makefile.in create mode 100644 test/modules/http2/__init__.py create mode 100644 test/modules/http2/conftest.py create mode 100644 test/modules/http2/env.py create mode 100644 test/modules/http2/htdocs/cgi/alive.json create mode 100644 test/modules/http2/htdocs/cgi/echo.py create mode 100644 test/modules/http2/htdocs/cgi/echohd.py create mode 100644 test/modules/http2/htdocs/cgi/env.py create mode 100644 test/modules/http2/htdocs/cgi/files/empty.txt create mode 100644 test/modules/http2/htdocs/cgi/hecho.py create mode 100644 test/modules/http2/htdocs/cgi/hello.py create mode 100644 test/modules/http2/htdocs/cgi/mnot164.py create mode 100644 test/modules/http2/htdocs/cgi/necho.py create mode 100644 test/modules/http2/htdocs/cgi/requestparser.py create mode 100644 test/modules/http2/htdocs/cgi/ssi/include.inc create mode 100644 test/modules/http2/htdocs/cgi/ssi/test.html create mode 100644 test/modules/http2/htdocs/cgi/upload.py create mode 100644 test/modules/http2/htdocs/cgi/xxx/test.json create mode 100644 test/modules/http2/htdocs/noh2/alive.json create mode 100644 test/modules/http2/htdocs/noh2/index.html create mode 100644 test/modules/http2/mod_h2test/mod_h2test.c create mode 100644 test/modules/http2/mod_h2test/mod_h2test.h create mode 100644 test/modules/http2/test_001_httpd_alive.py create mode 100644 test/modules/http2/test_002_curl_basics.py create mode 100644 test/modules/http2/test_003_get.py create mode 100644 test/modules/http2/test_004_post.py create mode 100644 test/modules/http2/test_005_files.py create mode 100644 test/modules/http2/test_006_assets.py create mode 100644 test/modules/http2/test_007_ssi.py create mode 100644 test/modules/http2/test_008_ranges.py create mode 100644 test/modules/http2/test_009_timing.py create mode 100644 test/modules/http2/test_100_conn_reuse.py create mode 100644 test/modules/http2/test_101_ssl_reneg.py create mode 100644 test/modules/http2/test_102_require.py create mode 100644 test/modules/http2/test_103_upgrade.py create mode 100644 test/modules/http2/test_104_padding.py create mode 100644 test/modules/http2/test_105_timeout.py create mode 100644 test/modules/http2/test_106_shutdown.py create mode 100644 test/modules/http2/test_107_frame_lengths.py create mode 100644 test/modules/http2/test_200_header_invalid.py create mode 100644 test/modules/http2/test_201_header_conditional.py create mode 100644 test/modules/http2/test_202_trailer.py create mode 100644 test/modules/http2/test_203_rfc9113.py create mode 100644 test/modules/http2/test_300_interim.py create mode 100644 test/modules/http2/test_400_push.py create mode 100644 test/modules/http2/test_401_early_hints.py create mode 100644 test/modules/http2/test_500_proxy.py create mode 100644 test/modules/http2/test_501_proxy_serverheader.py create mode 100644 test/modules/http2/test_502_proxy_port.py create mode 100644 test/modules/http2/test_503_proxy_fwd.py create mode 100644 test/modules/http2/test_600_h2proxy.py create mode 100644 test/modules/http2/test_601_h2proxy_twisted.py create mode 100644 test/modules/http2/test_700_load_get.py create mode 100644 test/modules/http2/test_710_load_post_static.py create mode 100644 test/modules/http2/test_711_load_post_cgi.py create mode 100644 test/modules/http2/test_712_buffering.py create mode 100644 test/modules/http2/test_800_websockets.py create mode 100644 test/modules/http2/ws_server.py create mode 100644 test/modules/md/__init__.py create mode 100755 test/modules/md/conftest.py create mode 100644 test/modules/md/data/store_migrate/1.0/sample1/accounts/ACME-localhost-0000/account.json create mode 100644 test/modules/md/data/store_migrate/1.0/sample1/accounts/ACME-localhost-0000/account.pem create mode 100644 test/modules/md/data/store_migrate/1.0/sample1/archive/7007-1502285564.org.1/md.json create mode 100644 test/modules/md/data/store_migrate/1.0/sample1/domains/7007-1502285564.org/cert.pem create mode 100644 test/modules/md/data/store_migrate/1.0/sample1/domains/7007-1502285564.org/chain.pem create mode 100644 test/modules/md/data/store_migrate/1.0/sample1/domains/7007-1502285564.org/md.json create mode 100644 test/modules/md/data/store_migrate/1.0/sample1/domains/7007-1502285564.org/pkey.pem create mode 100644 test/modules/md/data/store_migrate/1.0/sample1/httpd.json create mode 100644 test/modules/md/data/store_migrate/1.0/sample1/md_store.json create mode 100644 test/modules/md/data/test_920/002.pubcert create mode 100644 test/modules/md/data/test_conf_validate/test_014.conf create mode 100644 test/modules/md/data/test_drive/test1.example.org.conf create mode 100644 test/modules/md/data/test_roundtrip/temp.conf create mode 100755 test/modules/md/dns01.py create mode 100755 test/modules/md/http_challenge_foobar.py create mode 100755 test/modules/md/md_acme.py create mode 100755 test/modules/md/md_cert_util.py create mode 100755 test/modules/md/md_certs.py create mode 100755 test/modules/md/md_conf.py create mode 100755 test/modules/md/md_env.py create mode 100755 test/modules/md/message.py create mode 100755 test/modules/md/msg_fail_on.py create mode 100755 test/modules/md/notifail.py create mode 100755 test/modules/md/notify.py create mode 100644 test/modules/md/pebble/pebble-eab.json.template create mode 100644 test/modules/md/pebble/pebble.json.template create mode 100644 test/modules/md/test_001_store.py create mode 100644 test/modules/md/test_010_store_migrate.py create mode 100644 test/modules/md/test_100_reg_add.py create mode 100644 test/modules/md/test_110_reg_update.py create mode 100644 test/modules/md/test_120_reg_list.py create mode 100644 test/modules/md/test_202_acmev2_regs.py create mode 100644 test/modules/md/test_300_conf_validate.py create mode 100644 test/modules/md/test_310_conf_store.py create mode 100644 test/modules/md/test_502_acmev2_drive.py create mode 100644 test/modules/md/test_602_roundtrip.py create mode 100644 test/modules/md/test_702_auto.py create mode 100644 test/modules/md/test_720_wildcard.py create mode 100644 test/modules/md/test_730_static.py create mode 100644 test/modules/md/test_740_acme_errors.py create mode 100644 test/modules/md/test_741_setup_errors.py create mode 100644 test/modules/md/test_750_eab.py create mode 100644 test/modules/md/test_751_sectigo.py create mode 100644 test/modules/md/test_752_zerossl.py create mode 100644 test/modules/md/test_780_tailscale.py create mode 100644 test/modules/md/test_790_failover.py create mode 100644 test/modules/md/test_800_must_staple.py create mode 100644 test/modules/md/test_801_stapling.py create mode 100644 test/modules/md/test_810_ec.py create mode 100644 test/modules/md/test_820_locks.py create mode 100644 test/modules/md/test_900_notify.py create mode 100644 test/modules/md/test_901_message.py create mode 100644 test/modules/md/test_910_cleanups.py create mode 100644 test/modules/md/test_920_status.py create mode 100644 test/modules/proxy/__init__.py create mode 100644 test/modules/proxy/conftest.py create mode 100644 test/modules/proxy/env.py create mode 100644 test/modules/proxy/test_01_http.py create mode 100644 test/modules/proxy/test_02_unix.py create mode 100644 test/modules/tls/__init__.py create mode 100644 test/modules/tls/conf.py create mode 100644 test/modules/tls/conftest.py create mode 100644 test/modules/tls/env.py create mode 100644 test/modules/tls/htdocs/a.mod-tls.test/index.json create mode 100755 test/modules/tls/htdocs/a.mod-tls.test/vars.py create mode 100755 test/modules/tls/htdocs/b.mod-tls.test/dir1/vars.py create mode 100644 test/modules/tls/htdocs/b.mod-tls.test/index.json create mode 100755 test/modules/tls/htdocs/b.mod-tls.test/resp-jitter.py create mode 100755 test/modules/tls/htdocs/b.mod-tls.test/vars.py create mode 100644 test/modules/tls/htdocs/index.html create mode 100644 test/modules/tls/htdocs/index.json create mode 100644 test/modules/tls/test_01_apache.py create mode 100644 test/modules/tls/test_02_conf.py create mode 100644 test/modules/tls/test_03_sni.py create mode 100644 test/modules/tls/test_04_get.py create mode 100644 test/modules/tls/test_05_proto.py create mode 100644 test/modules/tls/test_06_ciphers.py create mode 100644 test/modules/tls/test_07_alpn.py create mode 100644 test/modules/tls/test_08_vars.py create mode 100644 test/modules/tls/test_09_timeout.py create mode 100644 test/modules/tls/test_10_session_id.py create mode 100644 test/modules/tls/test_11_md.py create mode 100644 test/modules/tls/test_12_cauth.py create mode 100644 test/modules/tls/test_13_proxy.py create mode 100644 test/modules/tls/test_14_proxy_ssl.py create mode 100644 test/modules/tls/test_15_proxy_tls.py create mode 100644 test/modules/tls/test_16_proxy_mixed.py create mode 100644 test/modules/tls/test_17_proxy_machine_cert.py create mode 100644 test/pyhttpd/__init__.py create mode 100644 test/pyhttpd/certs.py create mode 100644 test/pyhttpd/conf.py create mode 100644 test/pyhttpd/conf/httpd.conf.template create mode 100644 test/pyhttpd/conf/mime.types create mode 100644 test/pyhttpd/conf/stop.conf.template create mode 100644 test/pyhttpd/conf/test.conf create mode 100644 test/pyhttpd/config.ini.in create mode 100644 test/pyhttpd/curl.py create mode 100644 test/pyhttpd/env.py create mode 100644 test/pyhttpd/htdocs/alive.json create mode 100644 test/pyhttpd/htdocs/forbidden.html create mode 100644 test/pyhttpd/htdocs/index.html create mode 100644 test/pyhttpd/htdocs/test1/001.html create mode 100644 test/pyhttpd/htdocs/test1/002.jpg create mode 100644 test/pyhttpd/htdocs/test1/003.html create mode 100644 test/pyhttpd/htdocs/test1/003/003_img.jpg create mode 100644 test/pyhttpd/htdocs/test1/004.html create mode 100644 test/pyhttpd/htdocs/test1/004/gophertiles.jpg create mode 100644 test/pyhttpd/htdocs/test1/006.html create mode 100644 test/pyhttpd/htdocs/test1/006/006.css create mode 100644 test/pyhttpd/htdocs/test1/006/006.js create mode 100644 test/pyhttpd/htdocs/test1/006/header.html create mode 100644 test/pyhttpd/htdocs/test1/007.html create mode 100644 test/pyhttpd/htdocs/test1/007/007.py create mode 100644 test/pyhttpd/htdocs/test1/009.py create mode 100644 test/pyhttpd/htdocs/test1/alive.json create mode 100644 test/pyhttpd/htdocs/test1/index.html create mode 100755 test/pyhttpd/htdocs/test2/006/006.css create mode 100644 test/pyhttpd/htdocs/test2/10%abnormal.txt create mode 100644 test/pyhttpd/htdocs/test2/alive.json create mode 100644 test/pyhttpd/htdocs/test2/x%2f.test create mode 100644 test/pyhttpd/log.py create mode 100644 test/pyhttpd/mod_aptest/mod_aptest.c create mode 100644 test/pyhttpd/nghttp.py create mode 100644 test/pyhttpd/result.py create mode 100644 test/pyhttpd/ws_util.py create mode 100755 test/test_travis_conditions.sh create mode 100644 test/travis_Dockerfile_slapd create mode 100644 test/travis_Dockerfile_slapd.centos7 create mode 100755 test/travis_before_linux.sh create mode 100755 test/travis_run_linux.sh diff --git a/.gdbinit b/.gdbinit index 7b3b9a7..8879865 100644 --- a/.gdbinit +++ b/.gdbinit @@ -6,12 +6,12 @@ define dump_table set $n = ((apr_array_header_t *)$arg0)->nelts set $i = 0 while $i < $n - if $t[$i].val == (void *)0L - printf "[%u] '%s'=>NULL\n", $i, $t[$i].key - else - printf "[%u] '%s'='%s' [%p]\n", $i, $t[$i].key, $t[$i].val, $t[$i].val - end - set $i = $i + 1 + if $t[$i].val == (void *)0L + printf "[%u] '%s'=>NULL\n", $i, $t[$i].key + else + printf "[%u] '%s'='%s' [%p]\n", $i, $t[$i].key, $t[$i].val, $t[$i].val + end + set $i = $i + 1 end end document dump_table @@ -47,7 +47,7 @@ define dump_string_hash printf "'%s' => '%p'\n", $ent->key, $ent->val set $ent = $ent->next end - set $i = $i + 1 + set $i = $i + 1 end end document dump_string_hash @@ -64,7 +64,7 @@ define dump_string_shash printf "'%s' => '%s'\n", $ent->key, $ent->val set $ent = $ent->next end - set $i = $i + 1 + set $i = $i + 1 end end document dump_string_shash @@ -72,7 +72,7 @@ document dump_string_shash end define ro - run -DONE_PROCESS + run -DONE_PROCESS end define dump_string_array @@ -80,8 +80,8 @@ define dump_string_array set $n = (int)((apr_array_header_t *)$arg0)->nelts set $i = 0 while $i < $n - printf "[%u] '%s'\n", $i, $a[$i] - set $i = $i + 1 + printf "[%u] '%s'\n", $i, $a[$i] + set $i = $i + 1 end end document dump_string_array @@ -125,9 +125,9 @@ define dump_bucket_ex set $refcount = -1 print_bkt_datacol "bucket" "%-9s" $bucket->type->name $sh - printf "(0x%08lx)", (unsigned long)$bucket + printf "(%12lx)", (unsigned long)$bucket print_bkt_datacol "length" "%-6ld" (long)($bucket->length) $sh - print_bkt_datacol "data" "0x%08lx" $bucket->data $sh + print_bkt_datacol "data" "%12lx" $bucket->data $sh if !$sh printf "\n " @@ -151,18 +151,13 @@ define dump_bucket_ex print_bkt_datacol "rc" "n/%c" 'a' $sh else - if (($bucket->type == &apr_bucket_type_file) || \ - ($bucket->type == &apr_bucket_type_pipe) || \ - ($bucket->type == &apr_bucket_type_socket)) + if ($bucket->type == &apr_bucket_type_file) - # buckets that contain data not in memory (ie not printable) - - print_bkt_datacol "contents" "[**unprintable**%c" ']' $sh - printf " " - if $bucket->type == &apr_bucket_type_file - set $refcount = ((apr_bucket_refcount *)$bucket->data)->refcount - print_bkt_datacol "rc" "%d" $refcount $sh - end + # file bucket, can show fd and refcount + set $fd = ((apr_bucket_file*)$bucket->data)->fd->filedes + print_bkt_datacol "contents" "[***file***] fd=%-6ld" (long)$fd $sh + set $refcount = ((apr_bucket_refcount *)$bucket->data)->refcount + print_bkt_datacol "rc" "%-3d" $refcount $sh else if (($bucket->type == &apr_bucket_type_heap) || \ @@ -210,29 +205,52 @@ define dump_bucket_ex printf " contents=[" end set $datalen = $bucket->length - if $datalen > 17 - printmem $data 17 - printf "..." - set $datalen = 20 + if $isValidAddress($data) == 1 + if $datalen > 17 + printmem $data 17 + printf "..." + set $datalen = 20 + else + printmemn $data $datalen + end + printf "]" + while $datalen < 20 + printf " " + set $datalen = $datalen + 1 + end else - printmemn $data $datalen - end - printf "]" - while $datalen < 20 - printf " " - set $datalen = $datalen + 1 + printf "Iv addr %12lx]", $data end if $refcount != -1 - print_bkt_datacol "rc" "%d" $refcount $sh + print_bkt_datacol "rc" "%-3d" $refcount $sh else print_bkt_datacol "rc" "n/%c" 'a' $sh end else - # 3rd-party bucket type - print_bkt_datacol "contents" "[**unknown**%c" ']' $sh - printf " " + if ($bucket->type == &apr_bucket_type_pipe) + + # pipe bucket, can show fd + set $fd = ((apr_file_t*)$bucket->data)->filedes + print_bkt_datacol "contents" "[***pipe***] fd=%-3ld" (long)$fd $sh + + else + if ($bucket->type == &apr_bucket_type_socket) + + # file bucket, can show fd + set $fd = ((apr_socket_t*)$bucket->data)->socketdes + print_bkt_datacol "contents" "[**socket**] fd=%-3ld" (long)$fd $sh + + else + + # 3rd-party bucket type + print_bkt_datacol "contents" "[**opaque**]%-7c" ' ' $sh + end + end + + # no refcount + printf " " print_bkt_datacol "rc" "n/%c" 'a' $sh end end @@ -257,9 +275,9 @@ define dump_brigade - ((size_t) &((struct apr_bucket *)0)->link))) printf "dump of brigade 0x%lx\n", (unsigned long)$bb - printf " | type (address) | length | " - printf "data addr | contents | rc\n" - printf "----------------------------------------" + printf " | type (address) | length | " + printf "data address | contents | rc\n" + printf "-------------------------------------------" printf "----------------------------------------\n" if $bucket == $sentinel @@ -267,13 +285,18 @@ define dump_brigade end set $j = 0 + set $brigade_length = 0 while $bucket != $sentinel printf "%2d", $j dump_bucket_ex $bucket 1 set $j = $j + 1 + if $bucket->length > 0 + set $brigade_length = $brigade_length + $bucket->length + end set $bucket = $bucket->link.next end printf "end of brigade\n" + printf "Length of brigade (excluding buckets of unknown length): %u\n", $brigade_length end document dump_brigade Print bucket brigade info @@ -330,10 +353,26 @@ document dump_process_rec Print process_rec info end +define dump_server_addr_recs + set $sa_ = $arg0 + set $san_ = 0 + while $sa_ + ### need to call apr_sockaddr_info_getbuf to print ->host_addr properly + ### which is a PITA since we need a buffer :( + printf " addr#%d: vhost=%s -> :%d\n", $san_++, $sa_->virthost, $sa_->host_port + set $sa_ = $sa_->next + end +end +document dump_server_addr_recs + Print server_addr_rec info +end + + define dump_server_rec set $s = $arg0 - printf "name=%s:%d\n", \ - $s->server_hostname, $s->port + printf "name=%s:%d (0x%lx)\n", \ + $s->server_hostname, $s->port, $s + dump_server_addr_recs $s->addrs dump_process_rec($s->process) end document dump_server_rec @@ -362,6 +401,28 @@ define dump_request_tree end end +define dump_scoreboard + # Need to reserve size of array first before string literals could be + # put in + set $status = {0, 1, 2, 3, 4 ,5 ,6 ,7 ,8 ,9 ,10} + set $status = {"DEAD", "STARTING", "READY", "BUSY_READ", "BUSY_WRITE", "BUSY_KEEPALIVE", "BUSY_LOG", "BUSY_DNS", "CLOSING", "GRACEFUL", "IDLE_KILL"} + set $i = 0 + while ($i < server_limit) + if ap_scoreboard_image->servers[$i][0].pid != 0 + set $j = 0 + while ($j < threads_per_child) + set $ws = ap_scoreboard_image->servers[$i][$j] + printf "pid: %d, tid: 0x%lx, status: %s\n", $ws.pid, $ws.tid, $status[$ws.status] + set $j = $j +1 + end + end + set $i = $i +1 + end +end +document dump_scoreboard + Dump the scoreboard +end + define dump_allocator printf "Allocator current_free_index = %d, max_free_index = %d\n", \ ($arg0)->current_free_index, ($arg0)->max_free_index @@ -414,14 +475,18 @@ define dump_one_pool end define dump_all_pools - set $root = $arg0 + if $argc > 0 + set $root = $arg0 + else + set $root = ap_pglobal + end while $root->parent set $root = $root->parent end dump_pool_and_children $root end document dump_all_pools - Dump the whole pool hierarchy starting from apr_global_pool. Requires an arbitrary pool as starting parameter. + Dump the whole pool hierarchy starting from apr_global_pool. Optionally takes an arbitrary pool as starting parameter. end python @@ -481,13 +546,12 @@ class DumpPoolAndChilds (gdb.Command): def _dump(self, arg, depth): pool = arg - print("%*c" % (depth * 4 + 1, " "), end="") - self._dump_one_pool(pool) - if pool['child'] != 0: - self._dump(pool['child'], depth + 1) - s = pool['sibling'] - if s != 0: - self._dump(s, depth) + while pool: + print("%*c" % (depth * 4 + 1, " "), end="") + self._dump_one_pool(pool) + if pool['child'] != 0: + self._dump(pool['child'], depth + 1) + pool = pool['sibling'] def invoke (self, arg, from_tty): pool = gdb.parse_and_eval(arg) @@ -508,6 +572,27 @@ document dump_pool_and_children Dump the whole pool hierarchy starting from the given pool. end +python + +class isValidAddress (gdb.Function): + """Determines if the argument is a valid address.""" + + def __init__(self): + super(isValidAddress, self).__init__("isValidAddress") + + def invoke(self, address): + inf = gdb.inferiors()[0] + result = 1 + try: + inf.read_memory(address, 8) + except: + result = 0 + return result + +isValidAddress() + +end + # Set sane defaults for common signals: handle SIGPIPE noprint pass nostop handle SIGUSR1 print pass nostop diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml new file mode 100644 index 0000000..ddacd4a --- /dev/null +++ b/.github/workflows/linux.yml @@ -0,0 +1,287 @@ +name: Linux + +on: + push: + branches: [ "*" ] + paths-ignore: + - 'docs/**' + - STATUS + - CHANGES + - changes-entries/* + tags: + - 2.* + pull_request: + branches: [ "trunk", "2.4.x" ] + paths-ignore: + - 'docs/**' + - STATUS + - CHANGES + - changes-entries/* + +env: + MARGS: "-j2" + CFLAGS: "-g" + +jobs: + build: + strategy: + fail-fast: false + matrix: + include: + # ------------------------------------------------------------------------- + - name: Empty APLOGNO() test + env: | + SKIP_TESTING=1 + TEST_LOGNO=1 + # ------------------------------------------------------------------------- + - name: Default + # ------------------------------------------------------------------------- + - name: All-static modules + config: --enable-mods-static=reallyall + # ------------------------------------------------------------------------- + - name: Prefork MPM, all-modules (except cgid) + config: --enable-mods-shared=reallyall --with-mpm=prefork --disable-cgid + # ------------------------------------------------------------------------- + - name: Worker MPM, all-modules + config: --enable-mods-shared=reallyall --with-mpm=worker + # ------------------------------------------------------------------------- + - name: Shared MPMs, all-modules + config: --enable-mods-shared=reallyall --enable-mpms-shared=all + # ------------------------------------------------------------------------- + - name: Event MPM, all-modules, mod_cgid only + config: --enable-mods-shared=reallyall --with-mpm=event --disable-cgi + # ------------------------------------------------------------------------- + - name: Event MPM, all-modules, no CMSG_DATA + config: --enable-mods-shared=reallyall --with-mpm=event ac_cv_have_decl_CMSG_DATA=no + # ------------------------------------------------------------------------- + - name: Default, all-modules + install + config: --enable-mods-shared=reallyall + env: | + TEST_INSTALL=1 + APACHE_TEST_EXTRA_ARGS=-v + # ------------------------------------------------------------------------- + - name: Default, all-modules, random test order + config: --enable-mods-shared=reallyall + env: | + TEST_ARGS=-order=random + # ------------------------------------------------------------------------- + - name: GCC 10 maintainer-mode w/-Werror, install + VPATH + config: --enable-mods-shared=reallyall --enable-maintainer-mode + notest-cflags: -Werror -O2 + env: | + CC=gcc-10 + TEST_VPATH=1 + TEST_INSTALL=1 + SKIP_TESTING=1 + # ------------------------------------------------------------------------- + - name: All-modules, APR 1.7.4, APR-util 1.6.3 + config: --enable-mods-shared=reallyall + env: | + APR_VERSION=1.7.4 + APU_VERSION=1.6.3 + APU_CONFIG="--with-crypto --with-ldap" + # ------------------------------------------------------------------------- + - name: APR 1.8.x, APR-util 1.7.x + config: --enable-mods-shared=reallyall + env: | + APR_VERSION=1.8.x + APU_VERSION=1.7.x + APU_CONFIG="--with-crypto --with-ldap" + CLEAR_CACHE=1 + # ------------------------------------------------------------------------- + - name: Pool-debug + config: --enable-mods-shared=reallyall + env: | + APR_VERSION=1.7.x + APR_CONFIG="--enable-pool-debug" + APU_VERSION=1.7.x + APU_CONFIG="--with-crypto --with-ldap" + TEST_MALLOC=1 + CLEAR_CACHE=1 + # ------------------------------------------------------------------------- + - name: Shared MPMs (event), pool-debug, SSL/TLS variants + config: --enable-mods-shared=reallyall --enable-mpms-shared=all --with-mpm=event + env: | + APR_VERSION=1.7.x + APR_CONFIG="--enable-pool-debug" + APU_VERSION=1.7.x + APU_CONFIG="--with-crypto --with-ldap" + TEST_MALLOC=1 + TEST_SSL=1 + CLEAR_CACHE=1 + # ------------------------------------------------------------------------- + - name: Shared MPMs (worker), pool-debug, SSL/TLS variants + config: --enable-mods-shared=reallyall --enable-mpms-shared=all --with-mpm=worker + env: | + APR_VERSION=1.7.x + APR_CONFIG="--enable-pool-debug" + APU_VERSION=1.7.x + APU_CONFIG="--with-crypto --with-ldap" + TEST_MALLOC=1 + TEST_SSL=1 + CLEAR_CACHE=1 + # ------------------------------------------------------------------------- + - name: Shared MPMs (prefork), pool-debug, SSL/TLS variants + config: --enable-mods-shared=reallyall --enable-mpms-shared=all --with-mpm=prefork + env: | + APR_VERSION=1.7.x + APR_CONFIG="--enable-pool-debug" + APU_VERSION=1.7.x + APU_CONFIG="--with-crypto --with-ldap" + TEST_MALLOC=1 + TEST_SSL=1 + CLEAR_CACHE=1 + # ------------------------------------------------------------------------- + - name: litmus WebDAV tests + config: --enable-dav --enable-dav-fs + env: | + LITMUS=1 + TESTS="t/modules/dav.t" + pkgs: litmus + # ------------------------------------------------------------------------- + - name: APR 1.7.4, APR-util 1.6.3, LDAP + config: --enable-mods-shared=reallyall + pkgs: ldap-utils + env: | + APR_VERSION=1.7.4 + APU_VERSION=1.6.3 + APU_CONFIG="--with-crypto --with-ldap" + TEST_MALLOC=1 + TEST_LDAP=1 + TEST_ARGS="-defines LDAP" + TESTS="t/modules/" + # ------------------------------------------------------------------------- + - name: APR trunk thread debugging + config: --enable-mods-shared=reallyall --with-mpm=event + env: | + APR_VERSION=trunk + APR_CONFIG="--with-crypto --enable-thread-debug" + # ------------------------------------------------------------------------- + - name: ASan + notest-cflags: -ggdb -fsanitize=address -fno-sanitize-recover=address -fno-omit-frame-pointer + config: --enable-mods-shared=reallyall + env: | + APR_VERSION=1.7.x + APU_VERSION=1.7.x + APU_CONFIG="--with-crypto --with-ldap" + TEST_ASAN=1 + CLEAR_CACHE=1 + # ------------------------------------------------------------------------- + - name: ASan, pool-debug + notest-cflags: -ggdb -fsanitize=address -fno-sanitize-recover=address -fno-omit-frame-pointer + config: --enable-mods-shared=reallyall + env: | + APR_VERSION=1.7.x + APR_CONFIG="--enable-pool-debug" + APU_VERSION=1.7.x + APU_CONFIG="--with-crypto --with-ldap" + TEST_ASAN=1 + CLEAR_CACHE=1 + # ------------------------------------------------------------------------- + - name: HTTP/2 test suite + config: --enable-mods-shared=reallyall --with-mpm=event --enable-mpms-shared=all + pkgs: curl python3-pytest nghttp2-client python3-cryptography python3-requests python3-multipart python3-filelock python3-websockets + env: | + APR_VERSION=1.7.4 + APU_VERSION=1.6.3 + APU_CONFIG="--with-crypto" + NO_TEST_FRAMEWORK=1 + TEST_INSTALL=1 + TEST_H2=1 + TEST_CORE=1 + TEST_PROXY=1 + # ------------------------------------------------------------------------- + ### TODO: if: *condition_not_24x + ### TODO: pebble install is broken. + # - name: ACME test suite + # config: --enable-mods-shared=reallyall --with-mpm=event --enable-mpms-shared=event + # pkgs: >- + # python3-pytest nghttp2-client python3-cryptography python3-requests python3-filelock + # golang-1.17 curl + # env: | + # APR_VERSION=1.7.4 + # APU_VERSION=1.6.3 + # APU_CONFIG="--with-crypto" + # GOROOT=/usr/lib/go-1.17 + # NO_TEST_FRAMEWORK=1 + # TEST_INSTALL=1 + # TEST_MD=1 + # ------------------------------------------------------------------------- + ### TODO: if: *condition_not_24x + - name: MOD_TLS test suite + config: --enable-mods-shared=reallyall --with-mpm=event --enable-mpms-shared=event + pkgs: curl python3-pytest nghttp2-client python3-cryptography python3-requests python3-multipart python3-filelock python3-websockets cargo cbindgen + env: | + APR_VERSION=1.7.4 + APU_VERSION=1.6.3 + APU_CONFIG="--with-crypto" + RUSTLS_VERSION="v0.10.0" + NO_TEST_FRAMEWORK=1 + TEST_INSTALL=1 + TEST_MOD_TLS=1 + # ------------------------------------------------------------------------- + ### TODO if: *condition_not_24x + ### TODO: Fails because :i386 packages are not being found. + # - name: i386 Shared MPMs, most modules, maintainer-mode w/-Werror + # config: --enable-mods-shared=reallyall --disable-xml2enc --disable-proxy-html --enable-mpms-shared=all --enable-maintainer-mode + # pkgs: >- + # cpanminus libc6-dev-i386 gcc-multilib libexpat1-dev:i386 libssl-dev:i386 + # lib32z1-dev libbrotli-dev:i386 libpcre2-dev:i386 libldap2-dev:i386 libtool-bin + # perl-doc libapr1-dev libbrotli-dev:i386 + # env: | + # PKG_CONFIG_PATH="/usr/lib/i386-linux-gnu/pkgconfig" + # NOTEST_CFLAGS="-Werror" + # CC="gcc -m32" + # APR_VERSION=1.7.3 + # APU_VERSION=1.6.3 + # APU_CONFIG="--with-crypto --with-ldap" + runs-on: ubuntu-latest + timeout-minutes: 30 + env: + NOTEST_CFLAGS: ${{ matrix.notest-cflags }} + CONFIG: ${{ matrix.config }} + name: ${{ matrix.name }} + steps: + - name: Set environment variables + run: | + echo "${{ matrix.env }}" >> $GITHUB_ENV + echo JOBID=`echo "${{ matrix.notest-cflags }} ${{ matrix.env }} ${{ matrix.config }}'"| md5sum - | sed 's/ .*//'` >> $GITHUB_ENV + # https://github.com/actions/runner-images/issues/9491#issuecomment-1989718917 + - name: Workaround ASAN issue in Ubuntu 22.04 + run: sudo sysctl vm.mmap_rnd_bits=28 + - name: apt refresh + run: sudo apt-get -o Acquire::Retries=5 update + - name: Install prerequisites + run: sudo apt-get install -o Acquire::Retries=5 + cpanminus libtool-bin libapr1-dev libaprutil1-dev + liblua5.3-dev libbrotli-dev libcurl4-openssl-dev + libnghttp2-dev libjansson-dev libpcre2-dev gdb + perl-doc ${{ matrix.pkgs }} + - uses: actions/checkout@v4 + - name: Cache installed libraries + uses: actions/cache@v4 + with: + path: ~/root + key: cache-libs-${{ env.JOBID }} + - name: Cache CPAN modules + uses: actions/cache@v4 + with: + path: ~/perl5 + key: cache-cpan-${{ env.JOBID }} + - name: Configure environment + run: ./test/travis_before_linux.sh + timeout-minutes: 15 + - uses: actions/upload-artifact@v4 + if: failure() + with: + name: config.log-${{ env.JOBID }} + path: | + /home/runner/build/**/config.log + - name: Build and test + run: ./test/travis_run_linux.sh + - uses: actions/upload-artifact@v4 + if: failure() + with: + name: error_log-${{ env.JOBID }} + path: test/perl-framework/t/logs/error_log + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..31fa572 --- /dev/null +++ b/.gitignore @@ -0,0 +1,370 @@ +# global +.deps +.libs +*.swp +*.o +*.a +*.lo +*.la +*.slo +*.so +*.vcproj +*.vcproj.* +*.x +*.aps +*.plg +*.dep +*.rc +*.stc +*.stt +*.sto +*.mak +Makefile +modules.mk +BuildLog.htm +Debug +Release + +# / +/config.nice +/configure +/missing +/install-sh +/mkinstalldirs +/aclocal.m4 +/generated_lists +/buildmk.stamp +/config.log +/libtool +/shlibtool +/config.status +/modules.c +/config.cache +/httpd +/httpd.exe +/LibD +/LibR +/Apache.suo +/Apache.ncb +/Apache.opt +/apachecore.dll +/Apache.sln +/autom4te.cache +/httpd.spec +/tags +/TAGS +/*.kdev4 +/.kdev_include_paths +/.cproject +/.project + +# /built/ +/built/ + +# /cmake-build-debug/ +/cmake-build-debug/ + +# /build/ +/build/rules.mk +/build/config_vars.mk +/build/apr_common.m4 +/build/find_apr.m4 +/build/find_apu.m4 +/build/ltconfig +/build/ltmain.sh +/build/PrintPath +/build/config.sub +/build/config.guess +/build/config_vars.sh + +# /build/pkg/ +/build/pkg/pkginfo + +# /build/win32/ +!/build/win32/httpd.rc + +# /docs/ +/docs/dox + +# /docs/conf/ +/docs/conf/httpd-std.conf +/docs/conf/ssl-std.conf +/docs/conf/httpd.conf + +# /docs/conf/extra/ +/docs/conf/extra/*.conf + +# /docs/log-message-tags/ +/docs/log-message-tags/list + +# /docs/manual/ +/docs/manual/_chm +/docs/manual/_off +/docs/manual/_tools +/docs/manual/_dist +/docs/manual/build +/docs/manual/*.tex +/docs/manual/*.aux +/docs/manual/*.out +/docs/manual/*.log +/docs/manual/*.pdf +/docs/manual/*.toc +/docs/manual/.outdated* + +# /docs/manual/developer/ +/docs/manual/developer/*.tex +/docs/manual/developer/*.aux + +# /docs/manual/faq/ +/docs/manual/faq/*.tex +/docs/manual/faq/*.aux + +# /docs/manual/howto/ +/docs/manual/howto/*.aux +/docs/manual/howto/*.tex +/docs/manual/howto/Working-Copy.txt + +# /docs/manual/misc/ +/docs/manual/misc/*.tex +/docs/manual/misc/*.aux + +# /docs/manual/mod/ +/docs/manual/mod/*.tex +/docs/manual/mod/*.aux +/docs/manual/mod/.translated.* + +# /docs/manual/platform/ +/docs/manual/platform/*.tex +/docs/manual/platform/*.aux + +# /docs/manual/programs/ +/docs/manual/programs/*.tex +/docs/manual/programs/*.aux + +# /docs/manual/rewrite/ +/docs/manual/rewrite/_chm +/docs/manual/rewrite/_off +/docs/manual/rewrite/_tools +/docs/manual/rewrite/_dist +/docs/manual/rewrite/build +/docs/manual/rewrite/*.tex +/docs/manual/rewrite/*.aux +/docs/manual/rewrite/*.out +/docs/manual/rewrite/*.log +/docs/manual/rewrite/*.pdf +/docs/manual/rewrite/*.toc +/docs/manual/rewrite/.outdated* + +# /docs/manual/ssl/ +/docs/manual/ssl/*.tex +/docs/manual/ssl/*.aux + +# /docs/manual/style/ +/docs/manual/style/_generated + +# /docs/manual/vhosts/ +/docs/manual/vhosts/*.tex +/docs/manual/vhosts/*.aux + +# /include/ +/include/ap_config_auto.h +/include/ap_config_auto.h.in +/include/ap_config_layout.h +/include/ap_ldap.h +/include/mod_cgi.h +/include/mod_dav.h +/include/mod_include.h +/include/mod_proxy.h +/include/mod_so.h +/include/mpm.h +/include/mpm_default.h +/include/os.h + +# /modules/aaa/ + +# /modules/apreq/ + +# /modules/arch/ + +# /modules/arch/unix/ + +# /modules/arch/win32/ + +# /modules/cache/ + +# /modules/cluster/ + +# /modules/core/ + +# /modules/core/test/ +/modules/core/test/out + +# /modules/database/ + +# /modules/dav/ + +# /modules/dav/fs/ + +# /modules/dav/lock/ + +# /modules/dav/main/ + +# /modules/debugging/ + +# /modules/echo/ + +# /modules/examples/ + +# /modules/experimental/ + +# /modules/filters/ + +# /modules/generators/ + +# /modules/http/ + +# /modules/http2/ + +# /modules/ldap/ + +# /modules/loggers/ + +# /modules/lua/ + +# /modules/lua/test/ +/modules/lua/test/cycle +/modules/lua/test/httpd.conf + +# /modules/mappers/ + +# /modules/md/ +/modules/md/a2md + +# /modules/metadata/ + +# /modules/proxy/ + +# /modules/proxy/balancers/ + +# /modules/proxy/examples/ + +# /modules/session/ + +# /modules/slotmem/ + +# /modules/ssl/ + +# /modules/test/ + +# /os/ + +# /os/bs2000/ + +# /os/os2/ + +# /os/unix/ + +# /os/win32/ +/os/win32/*.mdp +/os/win32/*.ncb +/os/win32/*.opt +/os/win32/*.dsw +/os/win32/mod_*D +/os/win32/mod_*R + +# /server/ +/server/test_char.h +/server/gen_test_char +/server/gen_test_char.exe +/server/gen_test_char.exe.manifest +/server/export_files +/server/exports.c +/server/export_vars.h +/server/ApacheCoreOS2.def +/server/httpd.exp +/server/buildmarked.c + +# /server/mpm/ + +# /server/mpm/event/ + +# /server/mpm/motorz/ + +# /server/mpm/mpmt_os2/ + +# /server/mpm/prefork/ + +# /server/mpm/simple/ + +# /server/mpm/winnt/ + +# /server/mpm/worker/ + +# /srclib/ +/srclib/pth +/srclib/apr +/srclib/apr-util +/srclib/apr-iconv +/srclib/distcache +/srclib/lua +/srclib/pcre +/srclib/openssl +/srclib/zlib + +# /support/ +/support/rotatelogs +/support/htpasswd +/support/htdbm +/support/htdigest +/support/htcacheclean +/support/unescape +/support/inc2shtml +/support/httpd_monitor +/support/suexec +/support/logresolve +/support/ab +/support/apxs +/support/apachectl +/support/checkgid +/support/dbmmanage +/support/envvars-std +/support/log_server_status +/support/logresolve.pl +/support/split-logfile +/support/phf_abuse_log.cgi +/support/httxt2dbm +/support/fcgistarter +/support/firehose +/support/*.exe + +# /support/win32/ +!/support/win32/ApacheMonitor.rc +/support/win32/ApacheMonitorVer.rc + +# /test/ +/test/a.out +/test/time-FCNTL +/test/time-FLOCK +/test/time-SYSVSEM +/test/time-SYSVSEM2 +/test/time-PTHREAD +/test/time-USLOCK +/test/zb +/test/test-writev +/test/test_date +/test/test_select +/test/dbu +/test/sni +/test/httpdunit +/test/httpdunit.cases + +# /test/unit/ +/test/unit/*.tests + +# Intellij +/.idea/ + +test/gen +test/pyhttpd/config.ini +__pycache__ + diff --git a/ABOUT_APACHE b/ABOUT_APACHE index d013e5b..490b806 100644 --- a/ABOUT_APACHE +++ b/ABOUT_APACHE @@ -69,7 +69,7 @@ is today more widely used than all other web servers combined. ============================================================================ -The current project management committe of the Apache HTTP Server +The current project management committee of the Apache HTTP Server project (as of March, 2011) is: Aaron Bannert André Malo Astrid Stolper diff --git a/Apache-apr2.dsw b/Apache-apr2.dsw index fe2f526..ef3b223 100644 --- a/Apache-apr2.dsw +++ b/Apache-apr2.dsw @@ -342,6 +342,9 @@ Package=<4> Project_Dep_Name mod_socache_shmcb End Project Dependency Begin Project Dependency + Project_Dep_Name mod_socache_redis + End Project Dependency + Begin Project Dependency Project_Dep_Name mod_speling End Project Dependency Begin Project Dependency @@ -2789,6 +2792,24 @@ Package=<4> ############################################################################### +Project: "mod_socache_redis"=.\modules\cache\mod_socache_redis.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libapr + End Project Dependency + Begin Project Dependency + Project_Dep_Name libhttpd + End Project Dependency +}}} + +############################################################################### + Project: "mod_speling"=.\modules\mappers\mod_speling.dsp - Package Owner=<4> Package=<5> diff --git a/Apache.dsw b/Apache.dsw index a0be3ae..a984559 100644 --- a/Apache.dsw +++ b/Apache.dsw @@ -357,6 +357,9 @@ Package=<4> Project_Dep_Name mod_socache_shmcb End Project Dependency Begin Project Dependency + Project_Dep_Name mod_socache_redis + End Project Dependency + Begin Project Dependency Project_Dep_Name mod_speling End Project Dependency Begin Project Dependency @@ -3296,6 +3299,27 @@ Package=<4> ############################################################################### +Project: "mod_socache_redis"=.\modules\cache\mod_socache_redis.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libapr + End Project Dependency + Begin Project Dependency + Project_Dep_Name libaprutil + End Project Dependency + Begin Project Dependency + Project_Dep_Name libhttpd + End Project Dependency +}}} + +############################################################################### + Project: "mod_speling"=.\modules\mappers\mod_speling.dsp - Package Owner=<4> Package=<5> diff --git a/CHANGES b/CHANGES index a0692f8..5c6a28b 100644 --- a/CHANGES +++ b/CHANGES @@ -1,18 +1,1950 @@ -*- coding: utf-8 -*- +Changes with Apache 2.4.59 + + *) mod_deflate: Fixes and better logging for handling various + error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton, + Eric Norris ] + + *) Add CGIScriptTimeout to mod_cgi. [Eric Covener] + + *) mod_xml2enc: Tolerate libxml2 2.12.0 and later. PR 68610 + [ttachi ] + + *) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable. + [Jean-Frederic Clere] + + *) mod_ssl: Use OpenSSL-standard functions to assemble CA + name lists for SSLCACertificatePath/SSLCADNRequestPath. + Names will now be consistently sorted. PR 61574. + [Joe Orton] + + *) mod_xml2enc: Update check to accept any text/ media type + or any XML media type per RFC 7303, avoiding + corruption of Microsoft OOXML formats. PR 64339. + [Joseph Heenan , Joe Orton] + + *) mod_http2: v2.0.26 with the following fixes: + - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes + . + - Fixed small memory leak in h2 header bucket free. Thanks to + Michael Kaufmann for finding this and providing the fix. + + *) htcacheclean: In -a/-A mode, list all files per subdirectory + rather than only one. PR 65091. + [Artem Egorenkov ] + + *) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files + which include CA certificates; those CA certs are treated as if + configured with SSLProxyMachineCertificateChainFile. [Joe Orton] + + *) htpasswd, htdbm, dbmmanage: Update help&docs to refer to + "hashing", rather than "encrypting" passwords. + [Michele Preziuso ] + + *) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047. + [Giovanni Bechis, Yann Ylavic] + + *) htpasswd: Add support for passwords using SHA-2. [Joe Orton, + Yann Ylavic] + + *) core: Allow mod_env to override system environment vars. [Joe Orton] + + *) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an + operation which removes a directory/file between apr_dir_read() and + apr_stat(). Current behaviour is to abort the connection which seems + inferior to tolerating (and logging) the error. [Joe Orton] + + *) mod_ldap: HTML-escape data in the ldap-status handler. + [Eric Covener, Chamal De Silva] + + *) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set. + Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available, + notably with OpenSSL >= 3. PR 68080. [Yann Ylavic, Joe Orton] + + *) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about + deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting + to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice). + [Yann Ylavic] + + *) mod_ssl: release memory to the OS when needed. [Giovanni Bechis] + + *) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when + some dollar substitution (backreference) happens in the hostname or port + part of the URL. [Yann Ylavic] + + *) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend + systems are cached. [Yann Ylavic] + + *) mod_proxy: Add optional third argument for ProxyRemote, which + configures Basic authentication credentials to pass to the remote + proxy. PR 37355. [Joe Orton] + +Changes with Apache 2.4.58 + + *) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream + memory not reclaimed right away on RST (cve.mitre.org) + When a HTTP/2 stream was reset (RST frame) by a client, there + was a time window were the request's memory resources were not + reclaimed immediately. Instead, de-allocation was deferred to + connection close. A client could send new requests and resets, + keeping the connection busy and open and causing the memory + footprint to keep on growing. On connection close, all resources + were reclaimed, but the process might run out of memory before + that. + This was found by the reporter during testing of CVE-2023-44487 + (HTTP/2 Rapid Reset Exploit) with their own test client. During + "normal" HTTP/2 use, the probability to hit this bug is very + low. The kept memory would not become noticeable before the + connection closes or times out. + Users are recommended to upgrade to version 2.4.58, which fixes + the issue. + Credits: Will Dormann of Vul Labs + + *) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with + initial windows size 0 (cve.mitre.org) + An attacker, opening a HTTP/2 connection with an initial window + size of 0, was able to block handling of that connection + indefinitely in Apache HTTP Server. This could be used to + exhaust worker resources in the server, similar to the well + known "slow loris" attack pattern. + This has been fixed in version 2.4.58, so that such connection + are terminated properly after the configured connection timeout. + This issue affects Apache HTTP Server: from 2.4.55 through + 2.4.57. + Users are recommended to upgrade to version 2.4.58, which fixes + the issue. + Credits: Prof. Sven Dietrich (City University of New York) + + *) SECURITY: CVE-2023-31122: mod_macro buffer over-read + (cve.mitre.org) + Out-of-bounds Read vulnerability in mod_macro of Apache HTTP + Server.This issue affects Apache HTTP Server: through 2.4.57. + Credits: David Shoon (github/davidshoon) + + *) mod_ssl: Silence info log message "SSL Library Error: error:0A000126: + SSL routines::unexpected eof while reading" when using + OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if + available. [Rainer Jung] + + *) mod_http2: improved early cleanup of streams. + [Stefan Eissing] + + *) mod_proxy_http2: improved error handling on connection errors while + response is already underway. + [Stefan Eissing] + + *) mod_http2: fixed a bug that could lead to a crash in main connection + output handling. This occured only when the last request on a HTTP/2 + connection had been processed and the session decided to shut down. + This could lead to an attempt to send a final GOAWAY while the previous + write was still in progress. See PR 66646. + [Stefan Eissing] + + *) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value. + Fixes PR66752. + [Stefan Eissing] + + *) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as + described in RFC 8441. A new directive 'H2WebSockets on|off' has been + added. The feature is by default not enabled. + As also discussed in the manual, this feature should work for setups + using "ProxyPass backend-url upgrade=websocket" without further changes. + Special server modules for WebSockets will have to be adapted, + most likely, as the handling if IO events is different with HTTP/2. + HTTP/2 WebSockets are supported on platforms with native pipes. This + excludes Windows. + [Stefan Eissing] + + *) mod_rewrite: Fix a regression with both a trailing ? and [QSA]. + in OCSP stapling. PR 66672. [Frank Meier , covener] + + *) mod_http2: fixed a bug in flushing pending data on an already closed + connection that could lead to a busy loop, preventing the HTTP/2 session + to close down successfully. Fixed PR 66624. + [Stefan Eissing] + + *) mod_http2: v2.0.15 with the following fixes and improvements + - New directive 'H2EarlyHint name value' to add headers to a response, + picked up already when a "103 Early Hints" response is sent. 'name' and + 'value' must comply to the HTTP field restrictions. + This directive can be repeated several times and header fields of the + same names add. Sending a 'Link' header with 'preload' relation will + also cause a HTTP/2 PUSH if enabled and supported by the client. + - Fixed an issue where requests were not logged and accounted in a timely + fashion when the connection returns to "keepalive" handling, e.g. when + the request served was the last outstanding one. + This led to late appearance in access logs with wrong duration times + reported. + - Accurately report the bytes sent for a request in the '%O' Log format. + This addresses #203, a long outstanding issue where mod_h2 has reported + numbers over-eagerly from internal buffering and not what has actually + been placed on the connection. + The numbers are now the same with and without H2CopyFiles enabled. + [Stefan Eissing] + + *) mod_proxy_http2: fix retry handling to not leak temporary errors. + On detecting that that an existing connection was shutdown by the other + side, a 503 response leaked even though the request was retried on a + fresh connection. + [Stefan Eissing] + + *) mod_rewrite: Add server directory to include path as mod_rewrite requires + test_char.h. PR 66571 [Valeria Petrov ] + + *) mod_http2: new directive `H2ProxyRequests on|off` to enable handling + of HTTP/2 requests in a forward proxy configuration. + General forward proxying is enabled via `ProxyRequests`. If the + HTTP/2 protocol is also enabled for such a server/host, this new + directive is needed in addition. + [Stefan Eissing] + + *) core: Updated conf/mime.types: + - .js moved from 'application/javascript' to 'text/javascript' + - .mjs was added as 'text/javascript' + - add .opus ('audio/ogg') + - add 'application/vnd.geogebra.slides' + - add WebAssembly MIME types and extension + [Mathias Bynens <@mathiasbynens> via PR 318, + Richard de Boer , Dave Hodder , + Zbynek Konecny ] + + *) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend + connection when sending data on the frontend one. This caused crashes + or infinite loops in rare situations. + *) mod_proxy_http2: fixed a bug in retry/response handling that could lead + to wrong status codes or HTTP messages send at the end of response bodies + exceeding the announced content-length. + *) mod_proxy_http2: fix retry handling to not leak temporary errors. + On detecting that that an existing connection was shutdown by the other + side, a 503 response leaked even though the request was retried on a + fresh connection. + *) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in + the wrong order when a bucket_beam was destroyed. + [Stefan Eissing] + + *) mod_http2: avoid double chunked-encoding on internal redirects. + PR 66597 [Yann Ylavic, Stefan Eissing] + + *) mod_http2: Fix reporting of `Total Accesses` in server-status to not count + HTTP/2 requests twice. Fixes PR 66801. + [Stefan Eissing] + + *) mod_ssl: Fix handling of Certificate Revoked messages + in OCSP stapling. PR 66626. [] + + *) mod_http2: fixed a bug in handling of stream timeouts. + [Stefan Eissing] + + *) mod_tls: updating to rustls-ffi version 0.9.2 or higher. + Checking in configure for proper version installed. Code + fixes for changed clienthello member name. + [Stefan Eissing] + + *) mod_md: + - New directive `MDMatchNames all|servernames` to allow more control over how + MDomains are matched to VirtualHosts. + - New directive `MDChallengeDns01Version`. Setting this to `2` will provide + the command also with the challenge value on `teardown` invocation. In version + 1, the default, only the `setup` invocation gets this parameter. + Refs #312. Thanks to @domrim for the idea. + - For Managed Domain in "manual" mode, the checks if all used ServerName and + ServerAlias are part of the MDomain now reports a warning instead of an error + (AH10040) when not all names are present. + - MDChallengeDns01 can now be configured for individual domains. + Using PR from Jérôme Billiras (@bilhackmac) and adding test case and fixing proper working + - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge + teardown not being invoked as it should. + + *) mod_ldap: Avoid performance overhead of APR-util rebind cache for + OpenLDAP 2.2+. PR 64414. [Joe Orton] + + *) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum + amount of response body bytes put into a single HTTP/2 DATA frame. + Setting this to 0 places no limit (but the max size allowed by the + protocol is observed). + The module, by default, tries to use the maximum size possible, which is + somewhat around 16KB. This sets the maximum. When less response data is + available, smaller frames will be sent. + + *) mod_md: fixed passing of the server environment variables to programs + started via MDMessageCmd and MDChallengeDns01 on *nix system. + See . + [Stefan Eissing] + + *) mod_dav: Add DavBasePath directive to configure the repository root + path. PR 35077. [Joe Orton] + + *) mod_alias: Add AliasPreservePath directive to map the full + path after the alias in a location. [Graham Leggett] + + *) mod_alias: Add RedirectRelative to allow relative redirect targets to be + issued as-is. [Eric Covener, Graham Leggett] + + *) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make + sure that if the format is configured early enough it applies to every log + line. PR 62161. [Yann Ylavic] + + *) mod_deflate: Add DeflateAlterETag to control how the ETag + is modified. The 'NoChange' parameter mimics 2.2.x behavior. + PR 45023, PR 39727. [Eric Covener] + + *) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet] + + *) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers". + Resolve inconsistency between the previous two occurrences by + counting workers in state SERVER_GRACEFUL no longer as busy, + but instead in a new counter "GracefulWorkers" (or on HTML + view as "workers gracefully restarting"). Also add the graceful + counter as a new column to the existing HTML per process table + for async MPMs. PR 63300. [Rainer Jung] + +Changes with Apache 2.4.57 + + *) mod_proxy: Check before forwarding that a nocanon path has not been + rewritten with spaces during processing. [Yann Ylavic] + + *) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not + double encode encoded slashes in the URL sent by the reverse proxy to the + backend. [Ruediger Pluem] + + *) mod_http2: fixed a crash during connection termination. See PR 66539. + [Stefan Eissing] + + *) mod_rewrite: Fix a 2.4.56 regression for substitutions ending + in a question mark. PR66547. [Eric Covener] + + *) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded + characters on redirections without the "NE" flag. + [Yann Ylavic, Eric Covener] + + *) mod_proxy: Fix double encoding of the uri-path of the request forwarded + to the origin server, when using mapping=encoded|servlet. [Yann Ylavic] + + *) mod_mime: Do not match the extention against possible query string + parameters in case ProxyPass was used with the nocanon option. + [Ruediger Pluem] + +Changes with Apache 2.4.56 + + *) SECURITY: CVE-2023-27522: Apache HTTP Server: mod_proxy_uwsgi + HTTP response splitting (cve.mitre.org) + HTTP Response Smuggling vulnerability in Apache HTTP Server via + mod_proxy_uwsgi. This issue affects Apache HTTP Server: from + 2.4.30 through 2.4.55. + Special characters in the origin response header can + truncate/split the response forwarded to the client. + Credits: Dimas Fariski Setyawan Putra (nyxsorcerer) + + *) SECURITY: CVE-2023-25690: HTTP request splitting with + mod_rewrite and mod_proxy (cve.mitre.org) + Some mod_proxy configurations on Apache HTTP Server versions + 2.4.0 through 2.4.55 allow a HTTP Request Smuggling attack. + Configurations are affected when mod_proxy is enabled along with + some form of RewriteRule or ProxyPassMatch in which a non-specific + pattern matches some portion of the user-supplied request-target (URL) + data and is then re-inserted into the proxied request-target + using variable substitution. For example, something like: + RewriteEngine on + RewriteRule "^/here/(.*)" "http://example.com:8080/elsewhere?$1"; [P] + ProxyPassReverse /here/ http://example.com:8080/ + Request splitting/smuggling could result in bypass of access + controls in the proxy server, proxying unintended URLs to + existing origin servers, and cache poisoning. + Credits: Lars Krapf of Adobe + + *) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be + truncated without the initial logfile being truncated. [Eric Covener] + + *) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to + allow connections of any age to be reused. Up to now, a negative value + was handled as an error when parsing the configuration file. PR 66421. + [nailyk , Christophe Jaillet] + + *) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number + of headers. [Ruediger Pluem] + + *) mod_md: + - Enabling ED25519 support and certificate transparency information when + building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis. + - MDChallengeDns01 can now be configured for individual domains. + Thanks to Jérôme Billiras (@bilhackmac) for the initial PR. + - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge + teardown not being invoked as it should. + [Stefan Eissing] + + *) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors + reported in access logs and error documents. The processing of the + reset was correct, only unneccesary reporting was caused. + [Stefan Eissing] + + *) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation. + [Yann Ylavic] + +Changes with Apache 2.4.55 + + *) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to + 2.4.55 allows a backend to trigger HTTP response splitting + (cve.mitre.org) + Prior to Apache HTTP Server 2.4.55, a malicious backend can + cause the response headers to be truncated early, resulting in + some headers being incorporated into the response body. If the + later headers have any security purpose, they will not be + interpreted by the client. + Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer) + + *) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp + Possible request smuggling (cve.mitre.org) + Inconsistent Interpretation of HTTP Requests ('HTTP Request + Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server + allows an attacker to smuggle requests to the AJP server it + forwards requests to. This issue affects Apache HTTP Server + Apache HTTP Server 2.4 version 2.4.54 and prior versions. + Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec + at Qi'anxin Group + + *) SECURITY: CVE-2006-20001: mod_dav out of bounds read, or write + of zero byte (cve.mitre.org) + A carefully crafted If: request header can cause a memory read, + or write of a single zero byte, in a pool (heap) memory location + beyond the header value sent. This could cause the process to + crash. + This issue affects Apache HTTP Server 2.4.54 and earlier. + + *) mod_dav: Open the lock database read-only when possible. + PR 36636 [Wilson Felipe , manu] + + *) mod_proxy_http2: apply the standard httpd content type handling + to responses from the backend, as other proxy modules do. Fixes PR 66391. + Thanks to Jérôme Billiras for providing the patch. + [Stefan Eissing] + + *) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981 + [Basant Kumar Kukreja , Alejandro Alvarez + ] + + *) mod_proxy_hcheck: Honor worker timeout settings. [Yann Ylavic] + + *) mod_http2: version 2.0.11 of the module, synchronizing changes + with the gitgub version. This is a partial rewrite of how connections + and streams are handled. + - an APR pollset and pipes (where supported) are used to monitor + the main connection and react to IO for request/response handling. + This replaces the stuttered timed waits of earlier versions. + - H2SerializeHeaders directive still exists, but has no longer an effect. + - Clients that seemingly misbehave still get less resources allocated, + but ongoing requests are no longer disrupted. + - Fixed an issue since 1.15.24 that "Server" headers in proxied requests + were overwritten instead of preserved. [PR by @daum3ns] + - A regression in v1.15.24 was fixed that could lead to httpd child + processes not being terminated on a graceful reload or when reaching + MaxConnectionsPerChild. When unprocessed h2 requests were queued at + the time, these could stall. See #212. + - Improved information displayed in 'server-status' for H2 connections when + Extended Status is enabled. Now one can see the last request that IO + operations happened on and transferred IO stats are updated as well. + - When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection + send a GOAWAY frame much too early on new connections, leading to invalid + protocol state and a client failing the request. See PR65731 at + . + The module now initializes the HTTP/2 protocol correctly and allows the + client to submit one request before the shutdown via a GOAWAY frame + is being announced. + - :scheme pseudo-header values, not matching the + connection scheme, are forwarded via absolute uris to the + http protocol processing to preserve semantics of the request. + Checks on combinations of pseudo-headers values/absence + have been added as described in RFC 7540. Fixes #230. + - A bug that prevented trailers (e.g. HEADER frame at the end) to be + generated in certain cases was fixed. See #233 where it prevented + gRPC responses to be properly generated. + - Request and response header values are automatically stripped of leading + and trialing space/tab characters. This is equivalent behaviour to what + Apache httpd's http/1.1 parser does. + The checks for this in nghttp2 v1.50.0+ are disabled. + - Extensive testing in production done by Alessandro Bianchi (@alexskynet) + on the v2.0.x versions for stability. Many thanks! + + *) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when + request ':authority' is known. Improved test case that did not catch that + the previous 'fix' was incorrect. + + *) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests + using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski] + + *) mod_proxy: The AH03408 warning for a forcibly closed backend + connection is now logged at INFO level. [Yann Ylavic] + + *) mod_ssl: When dumping the configuration, the existence of + certificate/key files is no longer tested. [Joe Orton] + + *) mod_authn_core: Add expression support to AuthName and AuthType. + [Graham Leggett] + + *) mod_ssl: when a proxy connection had handled a request using SSL, an + error was logged when "SSLProxyEngine" was only configured in the + location/proxy section and not the overall server. The connection + continued to work, the error log was in error. Fixed PR66190. + [Stefan Eissing] + + *) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302. + [Alessandro Cavaliere ] + + *) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300. + [Alessandro Cavaliere ] + + *) mod_http2: Export mod_http2.h as public header. [Stefan Eissing] + + *) mod_md: a new directive `MDStoreLocks` can be used on cluster + setups with a shared file system for `MDStoreDir` to order + activation of renewed certificates when several cluster nodes are + restarted at the same time. Store locks are not enabled by default. + Restored curl_easy cleanup behaviour from v2.4.14 and refactored + the use of curl_multi for OCSP requests to work with that. + Fixes . + + *) core: Avoid an overflow on large inputs in ap_is_matchexp. PR 66033 + [Ruediger Pluem] + + *) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based + storage instead of slotmem. Needed after setting + HeartbeatMaxServers default to the documented value 10 in 2.4.54. + PR 66131. [Jérôme Billiras] + + *) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery + This is a game changer for performances if client use PROPFIND a lot, + PR 66313. [Emmanuel Dreyfus] + +Changes with Apache 2.4.54 + + *) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by + hop-by-hop mechanism (cve.mitre.org) + Apache HTTP Server 2.4.53 and earlier may not send the + X-Forwarded-* headers to the origin server based on client side + Connection header hop-by-hop mechanism. + This may be used to bypass IP based authentication on the origin + server/application. + Credits: The Apache HTTP Server project would like to thank + Gaetan Ferry (Synacktiv) for reporting this issue + + *) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with + websockets (cve.mitre.org) + Apache HTTP Server 2.4.53 and earlier may return lengths to + applications calling r:wsread() that point past the end of the + storage allocated for the buffer. + Credits: The Apache HTTP Server project would like to thank + Ronald Crane (Zippenhop LLC) for reporting this issue + + *) SECURITY: CVE-2022-30522: mod_sed denial of service + (cve.mitre.org) + If Apache HTTP Server 2.4.53 is configured to do transformations + with mod_sed in contexts where the input to mod_sed may be very + large, mod_sed may make excessively large memory allocations and + trigger an abort. + Credits: This issue was found by Brian Moussalli from the JFrog + Security Research team + + *) SECURITY: CVE-2022-29404: Denial of service in mod_lua + r:parsebody (cve.mitre.org) + In Apache HTTP Server 2.4.53 and earlier, a malicious request to + a lua script that calls r:parsebody(0) may cause a denial of + service due to no default limit on possible input size. + Credits: The Apache HTTP Server project would like to thank + Ronald Crane (Zippenhop LLC) for reporting this issue + + *) SECURITY: CVE-2022-28615: Read beyond bounds in + ap_strcmp_match() (cve.mitre.org) + Apache HTTP Server 2.4.53 and earlier may crash or disclose + information due to a read beyond bounds in ap_strcmp_match() + when provided with an extremely large input buffer. While no + code distributed with the server can be coerced into such a + call, third-party modules or lua scripts that use + ap_strcmp_match() may hypothetically be affected. + Credits: The Apache HTTP Server project would like to thank + Ronald Crane (Zippenhop LLC) for reporting this issue + + *) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite() + (cve.mitre.org) + The ap_rwrite() function in Apache HTTP Server 2.4.53 and + earlier may read unintended memory if an attacker can cause the + server to reflect very large input using ap_rwrite() or + ap_rputs(), such as with mod_luas r:puts() function. + Credits: The Apache HTTP Server project would like to thank + Ronald Crane (Zippenhop LLC) for reporting this issue + + *) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi + (cve.mitre.org) + Apache HTTP Server 2.4.53 and earlier on Windows may read beyond + bounds when configured to process requests with the mod_isapi + module. + Credits: The Apache HTTP Server project would like to thank + Ronald Crane (Zippenhop LLC) for reporting this issue + + *) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request + smuggling (cve.mitre.org) + Inconsistent Interpretation of HTTP Requests ('HTTP Request + Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server + allows an attacker to smuggle requests to the AJP server it + forwards requests to. This issue affects Apache HTTP Server + Apache HTTP Server 2.4 version 2.4.53 and prior versions. + Credits: Ricter Z @ 360 Noah Lab + + *) mod_ssl: SSLFIPS compatible with OpenSSL 3.0. PR 66063. + [Petr Sumbera , Yann Ylavic] + + *) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue. + PR 65666. [Yann Ylavic] + + *) mod_md: a bug was fixed that caused very large MDomains + with the combined DNS names exceeding ~7k to fail, as + request bodies would contain partially wrong data from + uninitialized memory. This would have appeared as failure + in signing-up/renewing such configurations. + [Stefan Eissing, Ronald Crane (Zippenhop LLC)] + + *) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue. + PR 65666. [Yann Ylavic] + + *) MPM event: Restart children processes killed before idle maintenance. + PR 65769. [Yann Ylavic, Ruediger Pluem] + + *) ab: Allow for TLSv1.3 when the SSL library supports it. + [abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic] + + *) core: Disable TCP_NOPUSH optimization on OSX since it might introduce + transmission delays. PR 66019. [Yann Ylavic] + + *) MPM event: Fix accounting of active/total processes on ungraceful restart, + PR 66004 (follow up to PR 65626 from 2.4.52). [Yann Ylavic] + + *) core: make ap_escape_quotes() work correctly on strings + with more than MAX_INT/2 characters, counting quotes double. + Credit to for finding this. + [Stefan Eissing] + + *) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of + an ACME CA. This gives a failover for renewals when several consecutive attempts + to get a certificate failed. + A new directive was added: `MDRetryDelay` sets the delay of retries. + A new directive was added: `MDRetryFailover` sets the number of errored + attempts before an alternate CA is selected for certificate renewals. + [Stefan Eissing] + + *) mod_http2: remove unused and insecure code. Fixes PR66037. + Thanks to Ronald Crane (Zippenhop LLC) for reporting this. + [Stefan Eissing] + + *) mod_proxy: Add backend port to log messages to + ease identification of involved service. [Rainer Jung] + + *) mod_http2: removing unscheduling of ongoing tasks when + connection shows potential abuse by a client. This proved + counter-productive and the abuse detection can false flag + requests using server-side-events. + Fixes . + [Stefan Eissing] + + *) mod_md: Implement full auto status ("key: value" type status output). + Especially not only status summary counts for certificates and + OCSP stapling but also lists. Auto status format is similar to + what was used for mod_proxy_balancer. + [Rainer Jung] + + *) mod_md: fixed a bug leading to failed transfers for OCSP + stapling information when more than 6 certificates needed + updates in the same run. [Stefan Eissing] + + *) mod_proxy: Set a status code of 502 in case the backend just closed the + connection in reply to our forwarded request. [Ruediger Pluem] + + *) mod_md: a possible NULL pointer deref was fixed in + the JSON code for persisting time periods (start+end). + Fixes #282 on mod_md's github. + Thanks to @marcstern for finding this. [Stefan Eissing] + + *) mod_heartmonitor: Set the documented default value + "10" for HeartbeatMaxServers instead of "0". With "0" + no shared memory slotmem was initialized. [Rainer Jung] + + *) mod_md: added support for managing certificates via a + local tailscale daemon for users of that secure networking. + This gives trusted certificates for tailscale assigned + domain names in the *.ts.net space. + [Stefan Eissing] + + *) core: Change default value of LimitRequestBody from 0 (unlimited) + to 1GB. [Eric Covener] + +Changes with Apache 2.4.53 + + *) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds + (cve.mitre.org) + Out-of-bounds Write vulnerability in mod_sed of Apache HTTP + Server allows an attacker to overwrite heap memory with possibly + attacker provided data. + This issue affects Apache HTTP Server 2.4 version 2.4.52 and + prior versions. + Credits: Ronald Crane (Zippenhop LLC) + + *) SECURITY: CVE-2022-22721: core: Possible buffer overflow with + very large or unlimited LimitXMLRequestBody (cve.mitre.org) + If LimitXMLRequestBody is set to allow request bodies larger + than 350MB (defaults to 1M) on 32 bit systems an integer + overflow happens which later causes out of bounds writes. + This issue affects Apache HTTP Server 2.4.52 and earlier. + Credits: Anonymous working with Trend Micro Zero Day Initiative + + *) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability + in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org) + Apache HTTP Server 2.4.52 and earlier fails to close inbound + connection when errors are encountered discarding the request + body, exposing the server to HTTP Request Smuggling + Credits: James Kettle + + *) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of + in r:parsebody (cve.mitre.org) + A carefully crafted request body can cause a read to a random + memory area which could cause the process to crash. + This issue affects Apache HTTP Server 2.4.52 and earlier. + Credits: Chamal De Silva + + *) core: Make sure and check that LimitXMLRequestBody fits in system memory. + [Ruediger Pluem, Yann Ylavic] + + *) core: Simpler connection close logic if discarding the request body fails. + [Yann Ylavic, Ruediger Pluem] + + *) mod_http2: preserve the port number given in a HTTP/1.1 + request that was Upgraded to HTTP/2. Fixes PR65881. + [Stefan Eissing] + + *) mod_proxy: Allow for larger worker name. PR 53218. [Yann Ylavic] + + *) dbm: Split the loading of a dbm driver from the opening of a dbm file. When + an attempt to load a dbm driver fails, log clearly which driver triggered + the error (not "default"), and what the error was. [Graham Leggett] + + *) mod_proxy: Use the maxium of front end and backend timeouts instead of the + minimum when tunneling requests (websockets, CONNECT requests). + Backend timeouts can be configured more selectively (per worker if needed) + as front end timeouts and typically the backend timeouts reflect the + application requirements better. PR 65886 [Ruediger Pluem] + + *) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers + when an efficient TLS implementation is available. [Yann Ylavic] + + *) core, mod_info: Add compiled and loaded PCRE versions to version + number display. [Rainer Jung] + + *) mod_md: do not interfere with requests to /.well-known/acme-challenge/ + resources if challenge type 'http-01' is not configured for a domain. + Fixes . + [Stefan Eissing] + + *) mod_dav: Fix regression when gathering properties which could lead to huge + memory consumption proportional to the number of resources. + [Evgeny Kotkov, Ruediger Pluem] + + *) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x) + for regular expression evaluation. This depends on locating pcre2-config. + [William Rowe, Petr Pisar , Rainer Jung] + + *) Add the ldap function to the expression API, allowing LDAP filters and + distinguished names based on expressions to be escaped correctly to + guard against LDAP injection. [Graham Leggett] + + *) mod_md: the status description in MDomain's JSON, exposed in the + md-status handler (if configured) did sometimes not carry the correct + message when certificates needed renew. + [Stefan Eissing] + + *) mpm_event: Fix a possible listener deadlock on heavy load when restarting + and/or reaching MaxConnectionsPerChild. PR 65769. [Yann Ylavic] + +Changes with Apache 2.4.52 + + *) SECURITY: CVE-2021-44790: Possible buffer overflow when parsing + multipart content in mod_lua of Apache HTTP Server 2.4.51 and + earlier (cve.mitre.org) + A carefully crafted request body can cause a buffer overflow in + the mod_lua multipart parser (r:parsebody() called from Lua + scripts). + The Apache httpd team is not aware of an exploit for the + vulnerability though it might be possible to craft one. + This issue affects Apache HTTP Server 2.4.51 and earlier. + Credits: Chamal + + *) SECURITY: CVE-2021-44224: Possible NULL dereference or SSRF in + forward proxy configurations in Apache HTTP Server 2.4.51 and + earlier (cve.mitre.org) + A crafted URI sent to httpd configured as a forward proxy + (ProxyRequests on) can cause a crash (NULL pointer dereference) + or, for configurations mixing forward and reverse proxy + declarations, can allow for requests to be directed to a + declared Unix Domain Socket endpoint (Server Side Request + Forgery). + This issue affects Apache HTTP Server 2.4.7 up to 2.4.51 + (included). + Credits: 漂亮鼠 + TengMA(@Te3t123) + + *) http: Enforce that fully qualified uri-paths not to be forward-proxied + have an http(s) scheme, and that the ones to be forward proxied have a + hostname, per HTTP specifications. [Ruediger Pluem, Yann Ylavic] + + *) configure: OpenSSL detection will now use pkg-config data from + .../lib64/ within the --with-ssl path. [Jean-Frederic Clere] + + *) mod_proxy_connect, mod_proxy: Do not change the status code after we + already sent it to the client. [Ruediger Pluem] + + *) mod_http: Correctly sent a 100 Continue status code when sending an interim + response as result of an Expect: 100-Continue in the request and not the + current status code of the request. PR 65725 [Ruediger Pluem] + + *) mod_dav: Some DAV extensions, like CalDAV, specify both document + elements and property elements that need to be taken into account + when generating a property. The document element and property element + are made available in the dav_liveprop_elem structure by calling + dav_get_liveprop_element(). [Graham Leggett] + + *) mod_dav: Add utility functions dav_validate_root_ns(), + dav_find_child_ns(), dav_find_next_ns(), dav_find_attr_ns() and + dav_find_attr() so that other modules get to play too. + [Graham Leggett] + + *) mpm_event: Restart stopping of idle children after a load peak. PR 65626. + [Yann Ylavic, Ruediger Pluem] + + *) mod_http2: fixes 2 regressions in server limit handling. + 1. When reaching server limits, such as MaxRequestsPerChild, the + HTTP/2 connection send a GOAWAY frame much too early on new + connections, leading to invalid protocol state and a client + failing the request. See PR65731. + The module now initializes the HTTP/2 protocol correctly and + allows the client to submit one request before the shutdown + via a GOAWAY frame is being announced. + 2. A regression in v1.15.24 was fixed that could lead to httpd + child processes not being terminated on a graceful reload or + when reaching MaxConnectionsPerChild. When unprocessed h2 + requests were queued at the time, these could stall. + See . + [Stefan Eissing] + + *) mod_ssl: Add build support for OpenSSL v3. [Rainer Jung, + Stefan Fritsch, Yann Ylavic, Stefan Eissing, Joe Orton, + Giovanni Bechis] + + *) mod_proxy_connect: Honor the smallest of the backend or client timeout + while tunneling. [Yann Ylavic] + + *) mod_proxy: SetEnv proxy-nohalfclose (or alike) allows to disable TCP + half-close forwarding when tunneling protocols. [Yann Ylavic] + + *) core: Be safe with ap_lingering_close() called with a socket NULL-ed by + a third-party module. PR 65627. + [acmondor , Yann Ylavic] + + *) mod_md: Fix memory leak in case of failures to load the private key. + PR 65620 [ Filipe Casal ] + + *) mod_md: adding v2.4.8 with the following changes + - Added support for ACME External Account Binding (EAB). + Use the new directive `MDExternalAccountBinding` to provide the + server with the value for key identifier and hmac as provided by + your CA. + While working on some servers, EAB handling is not uniform + across CAs. First tests with a Sectigo Certificate Manager in + demo mode are successful. But ZeroSSL, for example, seems to + regard EAB values as a one-time-use-only thing, which makes them + fail if you create a seconde account or retry the creation of the + first account with the same EAB. + - The directive 'MDCertificateAuthority' now checks if its parameter + is a http/https url or one of a set of known names. Those are + 'LetsEncrypt', 'LetsEncrypt-Test', 'Buypass' and 'Buypass-Test' + for now and they are not case-sensitive. + The default of LetsEncrypt is unchanged. + - `MDContactEmail` can now be specified inside a `` + section. + - Treating 401 HTTP status codes for orders like 403, since some ACME + servers seem to prefer that for accessing oders from other accounts. + - When retrieving certificate chains, try to read the response even + if the HTTP Content-Type is unrecognized. + - Fixed a bug that reset the error counter of a certificate renewal + and prevented the increasing delays in further attempts. + - Fixed the renewal process giving up every time on an already existing + order with some invalid domains. Now, if such are seen in a previous + order, a new order is created for a clean start over again. + See + - Fixed a mixup in md-status handler when static certificate files + and renewal was configured at the same time. + + *) mod_md: values for External Account Binding (EAB) can + now also be configured to be read from a separate JSON + file. This allows to keep server configuration permissions + world readable without exposing secrets. + [Stefan Eissing] + + *) mod_proxy_uwsgi: Remove duplicate slashes at the beginning of PATH_INFO. + PR 65616. [Ruediger Pluem] + +Changes with Apache 2.4.51 + + *) SECURITY: CVE-2021-42013: Path Traversal and Remote Code + Execution in Apache HTTP Server 2.4.49 and 2.4.50 (incomplete + fix of CVE-2021-41773) (cve.mitre.org) + It was found that the fix for CVE-2021-41773 in Apache HTTP + Server 2.4.50 was insufficient. An attacker could use a path + traversal attack to map URLs to files outside the directories + configured by Alias-like directives. + If files outside of these directories are not protected by the + usual default configuration "require all denied", these requests + can succeed. If CGI scripts are also enabled for these aliased + paths, this could allow for remote code execution. + This issue only affects Apache 2.4.49 and Apache 2.4.50 and not + earlier versions. + Credits: Reported by Juan Escobar from Dreamlab Technologies, + Fernando Muñoz from NULL Life CTF Team, and Shungo Kumasaka + + *) core: Add ap_unescape_url_ex() for better decoding control, and deprecate + unused AP_NORMALIZE_DROP_PARAMETERS flag. + [Yann Ylavic, Ruediger Pluem, Stefan Eissing, Joe Orton] + +Changes with Apache 2.4.50 + + *) SECURITY: CVE-2021-41773: Path traversal and file disclosure + vulnerability in Apache HTTP Server 2.4.49 (cve.mitre.org) + A flaw was found in a change made to path normalization in + Apache HTTP Server 2.4.49. An attacker could use a path + traversal attack to map URLs to files outside the expected + document root. + If files outside of the document root are not protected by + "require all denied" these requests can succeed. Additionally + this flaw could leak the source of interpreted files like CGI + scripts. + This issue is known to be exploited in the wild. + This issue only affects Apache 2.4.49 and not earlier versions. + Credits: This issue was reported by Ash Daulton along with the + cPanel Security Team + + *) SECURITY: CVE-2021-41524: null pointer dereference in h2 fuzzing + (cve.mitre.org) + While fuzzing the 2.4.49 httpd, a new null pointer dereference + was detected during HTTP/2 request processing, + allowing an external source to DoS the server. This requires a + specially crafted request. + The vulnerability was recently introduced in version 2.4.49. No + exploit is known to the project. + Credits: Apache httpd team would like to thank LI ZHI XIN from + NSFocus Security Team for reporting this issue. + + *) core: AP_NORMALIZE_DECODE_UNRESERVED should normalize the second dot in + the uri-path when it's preceded by a dot. [Yann Ylavic] + + *) mod_md: when MDMessageCmd for a 'challenge-setup::' + fails (!= 0 exit), the renewal process is aborted and an error is + reported for the MDomain. This provides scripts that distribute + information in a cluster to abort early with bothering an ACME + server to validate a dns name that will not work. The common + retry logic will make another attempt in the future, as with + other failures. + Fixed a bug when adding private key specs to an already working + MDomain, see . + [Stefan Eissing] + + *) mod_proxy: Handle UDS URIs with empty hostname ("unix:///...") as if they + had no hostname ("unix:/..."). [Yann Ylavic] + + *) mod_md: fixed a bug in handling multiple parallel OCSP requests. These could + run into an assertion which terminated (and restarted) the child process where + the task was running. Eventually, all OCSP responses were collected, but not + in the way that things are supposed to work. + See also . + The bug was possibly triggered when more than one OCSP status needed updating + at the same time. For example for several renewed certificates after a server + reload. + + *) mod_rewrite: Fix UDS ("unix:") scheme for [P] rules. PR 57691 + 65590. + [Janne Peltonen ] + + *) event mpm: Correctly count active child processes in parent process if + child process dies due to MaxConnectionsPerChild. + PR 65592 [Ruediger Pluem] + + *) mod_http2: when a server is restarted gracefully, any idle h2 worker + threads are shut down immediately. + Also, change OpenSSL API use for deprecations in OpenSSL 3.0. + Adds all other, never proposed code changes to make a clean + sync of http2 sources. [Stefan Eissing] + + *) mod_dav: Correctly handle errors returned by dav providers on REPORT + requests. [Ruediger Pluem] + + *) core: do not install core input/output filters on secondary + connections. [Stefan Eissing] + + *) core: Add ap_pre_connection() as a wrapper to ap_run_pre_connection() + and use it to prevent that failures in running the pre_connection + hook cause crashes afterwards. [Ruediger Pluem] + + *) mod_speling: Add CheckBasenameMatch PR 44221. [Christophe Jaillet] + +Changes with Apache 2.4.49 + + *) SECURITY: CVE-2021-40438 (cve.mitre.org) + mod_proxy: Server Side Request Forgery (SSRF) vulnerability [Yann Ylavic] + + *) SECURITY: CVE-2021-39275 (cve.mitre.org) + core: ap_escape_quotes buffer overflow + + *) SECURITY: CVE-2021-36160 (cve.mitre.org) + mod_proxy_uwsgi: Out of bound read vulnerability [Yann Ylavic] + + *) SECURITY: CVE-2021-34798 (cve.mitre.org) + core: null pointer dereference on malformed request + + *) SECURITY: CVE-2021-33193 (cve.mitre.org) + mod_http2: Request splitting vulnerability with mod_proxy [Stefan Eissing] + + *) core/mod_proxy/mod_ssl: + Adding `outgoing` flag to conn_rec, indicating a connection is + initiated by the server to somewhere, in contrast to incoming + connections from clients. + Adding 'ap_ssl_bind_outgoing()` function that marks a connection + as outgoing and is used by mod_proxy instead of the previous + optional function `ssl_engine_set`. This enables other SSL + module to secure proxy connections. + The optional functions `ssl_engine_set`, `ssl_engine_disable` and + `ssl_proxy_enable` are now provided by the core to have backward + compatibility with non-httpd modules that might use them. mod_ssl + itself no longer registers these functions, but keeps them in its + header for backward compatibility. + The core provided optional function wrap any registered function + like it was done for `ssl_is_ssl`. + [Stefan Eissing] + + *) mod_ssl: Support logging private key material for use with + wireshark via log file given by SSLKEYLOGFILE environment + variable. Requires OpenSSL 1.1.1. PR 63391. [Joe Orton] + + *) mod_proxy: Do not canonicalize the proxied URL when both "nocanon" and + "ProxyPassInterpolateEnv On" are configured. PR 65549. + [Joel Self ] + + *) mpm_event: Fix children processes possibly not stopped on graceful + restart. PR 63169. [Joel Self ] + + *) mod_proxy: Fix a potential infinite loop when tunneling Upgrade(d) + protocols from mod_proxy_http, and a timeout triggering falsely when + using mod_proxy_wstunnel, mod_proxy_connect or mod_proxy_http with + upgrade= setting. PRs 65521 and 65519. [Yann Ylavic] + + *) mod_unique_id: Reduce the time window where duplicates may be generated + PR 65159 + [Christophe Jaillet] + + *) mpm_prefork: Block signals for child_init hooks to prevent potential + threads created from there to catch MPM's signals. + [Ruediger Pluem, Yann Ylavic] + + *) Revert "mod_unique_id: Fix potential duplicated ID generation under heavy load. + PR 65159" added in 2.4.47. + This causes issue on Windows. + [Christophe Jaillet] + + *) mod_proxy_uwsgi: Fix PATH_INFO setting for generic worker. [Yann Ylavic] + + *) mod_md: Certificate/keys pairs are verified as matching before a renewal is accepted + as successful or a staged renewal is replacing the existing certificates. + This avoid potential mess ups in the md store file system to render the active + certificates non-working. [@mkauf] + + *) mod_proxy: Faster unix socket path parsing in the "proxy:" URL. + [Yann Ylavic] + + *) mod_ssl: tighten the handling of ALPN for outgoing (proxy) + connections. If ALPN protocols are provided and sent to the + remote server, the received protocol selected is inspected + and checked for a match. Without match, the peer handshake + fails. + An exception is the proposal of "http/1.1" where it is + accepted if the remote server did not answer ALPN with + a selected protocol. This accommodates for hosts that do + not observe/support ALPN and speak http/1.x be default. + + *) mod_proxy: Fix possible reuse/merging of Proxy(Pass)Match worker instances + with others when their URLs contain a '$' substitution. PR 65419 + 65429. + [Yann Ylavic] + + *) mod_dav: Add method_precondition hook. WebDAV extensions define + conditions that must exist before a WebDAV method can be executed. + This hook allows a WebDAV extension to verify these preconditions. + [Graham Leggett] + + *) Add hooks deliver_report and gather_reports to mod_dav.h. Allows other + modules apart from versioning implementations to handle the REPORT method. + [Graham Leggett] + + *) Add dav_get_provider(), dav_open_lockdb(), dav_close_lockdb() and + dav_get_resource() to mod_dav.h. [Graham Leggett] + + *) core: fix ap_escape_quotes substitution logic. [Eric Covener] + + *) core/mpm: add hook 'child_stopping` that gets called when the MPM is + stopping a child process. The additional `graceful` parameter allows + registered hooks to free resources early during a graceful shutdown. + [Yann Ylavic, Stefan Eissing] + + *) mod_proxy: Fix icomplete initialization of BalancerMember(s) from the + balancer-manager, which can lead to a crash. [Yann Ylavic] + + *) mpm_event: Fix graceful stop/restart of children processes if connections + are in lingering close for too long. [Yann Ylavic] + + *) mod_md: fixed a potential null pointer dereference if ACME/OCSP + server returned 2xx responses without content type. Reported by chuangwen. + [chuangwen, Stefan Eissing] + + *) mod_md: + - Domain names in `` can now appear in quoted form. + - Fixed a failure in ACME challenge selection that aborted further searches + when the tls-alpn-01 method did not seem to be suitable. + - Changed the tls-alpn-01 setup to only become unsuitable when none of the + dns names showed support for a configured 'Protocols ... acme-tls/1'. This + allows use of tls-alpn-01 for dns names that are not mapped to a VirtualHost. + [Stefan Eissing] + + *) Add CPING to health check logic. [Jean-Frederic Clere] + + *) core: Split ap_create_request() from ap_read_request(). [Graham Leggett] + + *) core, h2: common ap_parse_request_line() and ap_check_request_header() + code. [Yann Ylavic] + + *) core: Add StrictHostCheck to allow unconfigured hostnames to be + rejected. [Eric Covener] + + *) htcacheclean: Improve help messages. [Christophe Jaillet] + +Changes with Apache 2.4.48 + + *) SECURITY: CVE-2021-31618 (cve.mitre.org) + mod_http2: Fix a potential NULL pointer dereference [Ivan Zhakov] + + *) mod_proxy_wstunnel: Add ProxyWebsocketFallbackToProxyHttp to opt-out the + fallback to mod_proxy_http for WebSocket upgrade and tunneling. + [Yann Ylavic] + + *) mod_proxy: Fix flushing of THRESHOLD_MIN_WRITE data while tunneling. + BZ 65294. [Yann Ylavic] + + *) core: Fix a regression that stripped the ETag header from 304 responses. + PR 61820 [Ruediger Pluem, Roy T. Fielding] + + *) core: Adding SSL related inquiry functions to the server API. + These function are always available, even when no module providing + SSL is loaded. They provide their own "shadowing" implementation for + the optional functions of similar name that mod_ssl and impersonators + of mod_ssl provide. + This enables loading of several SSL providing modules when all but + one of them registers itself into the new hooks. Two old-style SSL + modules will not work, as they replace the others optional functions + with their own. + Modules using the old-style optional functions will continue to work + as core supplies its own versions of those. + The following has been added so far: + - ap_ssl_conn_is_ssl() to query if a connection is using SSL. + - ap_ssl_var_lookup() to query SSL related variables for a + server/connection/request. + - Hooks for 'ssl_conn_is_ssl' and 'ssl_var_lookup' where modules + providing SSL can install their own value supplying functions. + - ap_ssl_add_cert_files() to enable other modules like mod_md to provide + certificate and keys for an SSL module like mod_ssl. + - ap_ssl_add_fallback_cert_files() to enable other modules like mod_md to + provide a fallback certificate in case no 'proper' certificate is + available for an SSL module like mod_ssl. + - ap_ssl_answer_challenge() to enable other modules like mod_md to + provide a certificate as used in the RFC 8555 'tls-alpn-01' challenge + for the ACME protocol for an SSL module like mod_ssl. The function + and its hook provide PEM encoded data instead of file names. + - Hooks for 'ssl_add_cert_files', 'ssl_add_fallback_cert_files' and + 'ssl_answer_challenge' where modules like mod_md can provide providers + to the above mentioned functions. + - These functions reside in the new 'http_ssl.h' header file. + [Stefan Eissing] + + *) core/mod_ssl/mod_md: adding OCSP response provisioning as core feature. This + allows modules to access and provide OCSP response data without being tied + of each other. The data is exchanged in standard, portable formats (PEM encoded + certificates and DER encoded responses), so that the actual SSL/crypto + implementations used by the modules are independant of each other. + Registration and retrieval happen in the context of a server (server_rec) + which modules may use to decide if they are configured for this or not. + The area of changes: + 1. core: defines 2 functions in include/http_ssl.h, so that modules may + register a certificate, together with its issuer certificate for OCSP + response provisioning and ask for current response data (DER bytes) later. + Also, 2 hooks are defined that allow modules to implement this OCSP + provisioning. + 2. mod_ssl uses the new functions, in addition to what it did already, to + register its certificates this way. If no one is interested in providing + OCSP, it falls back to its own (if configured) stapling implementation. + 3. mod_md registers itself at the core hooks for OCSP provisioning. Depending + on configuration, it will accept registrations of its own certificates only, + all certificates or none. + [Stefan Eissing] + + *) mod_md: v2.4.0 with improvements and bugfixes + - MDPrivateKeys allows the specification of several types. Beside "RSA" plus + optional key lengths elliptic curves can be configured. This means you can + have multiple certificates for a Managed Domain with different key types. + With ```MDPrivateKeys secp384r1 rsa2048``` you get one ECDSA and one RSA + certificate and all modern client will use the shorter ECDSA, while older + client will get the RSA certificate. + Many thanks to @tlhackque who pushed and helped on this. + - Support added for MDomains consisting of a wildcard. Configuring + ```MDomain *.host.net``` will match all virtual hosts matching that pattern + and obtain one certificate for it (assuming you have 'dns-01' challenge + support configured). Addresses #239. + - Removed support for ACMEv1 servers. The only known installation used to + be Let's Encrypt which has disabled that version more than a year ago for + new accounts. + - Andreas Ulm () implemented the + ```renewing``` call to ```MDMessageCmd``` that can deny a certificate + renewal attempt. This is useful in clustered installations, as + discussed in #233). + - New event ```challenge-setup::```, triggered when the + challenge data for a domain has been created. This is invoked before the + ACME server is told to check for it. The type is one of the ACME challenge + types. This is invoked for every DNS name in a MDomain. + - The max delay for retries has been raised to daily (this is like all + retries jittered somewhat to avoid repeats at fixed time of day). + - Certain error codes reported by the ACME server that indicate a problem + with the configured data now immediately switch to daily retries. For + example: if the ACME server rejects a contact email or a domain name, + frequent retries will most likely not solve the problem. But daily retries + still make sense as there might be an error at the server and un-supervised + certificate renewal is the goal. Refs #222. + - Test case and work around for domain names > 64 octets. Fixes #227. + When the first DNS name of an MD is longer than 63 octets, the certificate + request will not contain a CN field, but leave it up to the CA to choose one. + Currently, Lets Encrypt looks for a shorter name in the SAN list given and + fails the request if none is found. But it is really up to the CA (and what + browsers/libs accept here) and may change over the years. That is why + the decision is best made at the CA. + - Retry delays now have a random +/-[0-50]% modification applied to let + retries from several servers spread out more, should they have been + restarted at the same time of day. + - Fixed several places where the 'badNonce' return code from an ACME server + was not handled correctly. The test server 'pebble' simulates this behaviour + by default and helps nicely in verifying this behaviour. Thanks, pebble! + - Set the default `MDActivationDelay` to 0. This was confusing to users that + new certificates were deemed not usably before a day of delay. When clocks are + correct, using a new certificate right away should not pose a problem. + - When handling ACME authorization resources, the module no longer requires + the server to return a "Location" header, as was necessary in ACMEv1. + Fixes #216. + - Fixed a theoretical uninitialized read when testing for JSON error responses + from the ACME CA. Reported at . + - ACME problem reports from CAs that include parameters in the Content-Type + header are handled correctly. (Previously, the problem text would not be + reported and retries could exceed CA limits.) + - Account Update transactions to V2 CAs now use the correct POST-AS-GET method. + Previously, an empty JSON object was sent - which apparently LE accepted, + but others reject. + [Stefan Eissing, @tlhackque, Andreas Ulm] + +Changes with Apache 2.4.47 + + *) SECURITY: CVE-2021-30641 (cve.mitre.org) + Unexpected section matching with 'MergeSlashes OFF' + + *) SECURITY: CVE-2020-35452 (cve.mitre.org) + mod_auth_digest: possible stack overflow by one nul byte while validating + the Digest nonce. [Yann Ylavic] + + *) SECURITY: CVE-2021-26691 (cve.mitre.org) + mod_session: Fix possible crash due to NULL pointer dereference, which + could be used to cause a Denial of Service with a malicious backend + server and SessionHeader. [Yann Ylavic] + + *) SECURITY: CVE-2021-26690 (cve.mitre.org) + mod_session: Fix possible crash due to NULL pointer dereference, which + could be used to cause a Denial of Service. [Yann Ylavic] + + *) SECURITY: CVE-2020-13950 (cve.mitre.org) + mod_proxy_http: Fix possible crash due to NULL pointer dereference, which + could be used to cause a Denial of Service. [Yann Ylavic] + + *) SECURITY: CVE-2020-13938 (cve.mitre.org) + Windows: Prevent local users from stopping the httpd process [Ivan Zhakov] + + *) SECURITY: CVE-2019-17567 (cve.mitre.org) + mod_proxy_wstunnel, mod_proxy_http: Handle Upgradable protocols end-to-end + negotiation. [Yann Ylavic] + + *) mod_dav_fs: Improve logging output when failing to open files for + writing. PR 64413. [Bingyu Shen ] + + *) mod_http2: Fixed a race condition that could lead to streams being + aborted (RST to the client), although a response had been produced. + [Stefan Eissing] + + *) mod_lua: Add support to Lua 5.4 [Joe Orton, Giovanni Bechis, Ruediger Pluem] + + *) MPM event/worker: Fix possible crash in child process on early signal + delivery. PR 64533. [Ruediger Pluem] + + *) mod_http2: sync with github standalone version 1.15.17 + - Log requests and sent the configured error response in case of early detected + errors like too many or too long headers. [Ruediger Pluem] + - new option 'H2OutputBuffering on/off' which controls the buffering of stream output. + The default is on, which is the behaviour of older mod-h2 versions. When off, all + bytes are made available immediately to the main connection for sending them + out to the client. This fixes interop issues with certain flavours of gRPC, see + also . + [Stefan Eissing] + + *) mod_unique_id: Fix potential duplicated ID generation under heavy load. + PR 65159 + [Jonas Müntener , Christophe Jaillet] + + *) "[mod_dav_fs etag handling] should really honor the FileETag setting". + - It now does. + - Add "Digest" to FileETag directive, allowing a strong ETag to be + generated using a file digest. + - Add ap_make_etag_ex() and ap_set_etag_fd() to allow full control over + ETag generation. + - Add concept of "binary notes" to request_rec, allowing packed bit flags + to be added to a request. + - First binary note - AP_REQUEST_STRONG_ETAG - allows modules to force + the ETag to a strong ETag to comply with RFC requirements, such as those + mandated by various WebDAV extensions. + [Graham Leggett] + + *) mod_proxy_http: Fix a possibly crash when the origin connection gets + interrupted before completion. PR 64234. + [Barnim Dzwillo , Ruediger Pluem] + + *) mod_ssl: Do not keep connections to OCSP responders alive when doing + OCSP requests. PR 64135. [Ruediger Pluem] + + *) mod_ssl: Improve the coalescing filter to buffer into larger TLS + records, and avoid revealing the HTTP header size via TLS record + boundaries (for common response generators). + [Joe Orton, Ruediger Pluem] + + *) mod_proxy_hcheck: Don't pile up health checks if the previous one did + not finish before hcinterval. PR 63010. [Yann Ylavic] + + *) mod_session: Improve session parsing. [Yann Yalvic] + + *) mod_authnz_ldap: Prevent authentications with empty passwords for the + initial bind to fail with status 500. [Ruediger Pluem] + + *) mod_proxy_fcgi: Honor "SetEnv proxy-sendcl" to forward a chunked + Transfer-Encoding from the client, spooling the request body when needed + to provide a Content-Length to the backend. PR 57087. [Yann Ylavic] + + *) mod_proxy: Improve tunneling loop to support half closed connections and + pending data draining (for protocols like rsync). PR 61616. [Yann Ylavic] + + *) mod_proxy_wstunnel: Leave Upgrade requests handling to mod_proxy_http, + allowing for (non-)Upgrade negotiation with the origin server. + [Yann Ylavic] + + *) mod_proxy: Allow ProxyErrorOverride to be restricted to specific status + codes. PR63628. [Martin Drößler ] + + *) core: Add ReadBufferSize, FlushMaxThreshold and FlushMaxPipelined + directives. [Yann Ylavic] + + *) core: Ensure that aborted connections are logged as such. PR 62823 + [Arnaud Grandville ] + + *) http: Allow unknown response status' lines returned in the form of + "HTTP/x.x xxx Status xxx". [Yann Ylavic] + + *) mod_proxy_http: Fix 100-continue deadlock for spooled request bodies, + leading to Request Timeout (408). PR 63855. [Yann Ylavic] + + *) core: Remove headers on 304 Not Modified as specified by RFC7234, as + opposed to passing an explicit subset of headers. PR 61820. + [Giovanni Bechis] + + *) mpm_event: Don't reset connections after lingering close, restoring prior + to 2.4.28 behaviour. [Yann Ylavic] + + *) mpm_event: Kill connections in keepalive state only when there is no more + workers available, not when the maximum number of connections is reached, + restoring prior to 2.4.30 behaviour. [Yann Ylavic] + + *) mod_unique_id: Use base64url encoding for UNIQUE_ID variable, + avoiding the use of '@'. PR 57044. + [Michael Kaufmann ] + + *) mod_rewrite: Extend the [CO] (cookie) flag of RewriteRule to accept a + SameSite attribute. [Eric Covener] + + *) mod_proxy: Add proxy check_trans hook. This allows proxy + modules to decline request handling at early stage. + + *) mod_proxy_wstunnel: Decline requests without an Upgrade + header so ws/wss can be enabled overlapping with later + http/https. + + *) mod_http2: Log requests and sent the configured error response in case of + early detected errors like too many or too long headers. + [Ruediger Pluem, Stefan Eissing] + + *) mod_md: Lowered the required minimal libcurl version from 7.50 to 7.29 + as proposed by . [Stefan Eissing] + + *) mod_ssl: Fix request body buffering with PHA in TLSv1.3. [Joe Orton] + + *) mod_proxy_uwsgi: Fix a crash when sending environment variables with no + value. PR 64598 [Ruediger Pluem] + + *) mod_proxy: Recognize parameters from ProxyPassMatch workers with dollar + substitution, such that they apply to the backend connection. Note that + connection reuse is disabled by default to avoid compatibility issues. + [Takashi Sato, Jan Kaluza, Eric Covener, Yann Ylavic, Jean-Frederic Clere] + +Changes with Apache 2.4.46 + + *) SECURITY: CVE-2020-11984 (cve.mitre.org) + mod_proxy_uwsgi: Malicious request may result in information disclosure + or RCE of existing file on the server running under a malicious process + environment. [Yann Ylavic] + + *) SECURITY: CVE-2020-11993 (cve.mitre.org) + mod_http2: when throttling connection requests, log statements + where possibly made that result in concurrent, unsafe use of + a memory pool. [Stefan Eissing] + + *) SECURITY: CVE-2020-9490 (cve.mitre.org) + mod_http2: a specially crafted value for the 'Cache-Digest' header + request would result in a crash when the server actually tries + to HTTP/2 PUSH a resource afterwards. [Stefan Eissing] + + *) mod_proxy_fcgi: Fix missing APLOGNO macro argument + [Eric Covener, Christophe Jaillet] + +Changes with Apache 2.4.45 + + *) mod_http2: remove support for abandoned http-wg draft + . + [Stefan Eissing] + +Changes with Apache 2.4.44 + + *) mod_proxy_uwsgi: Error out on HTTP header larger than 16K (hard + protocol limit). [Yann Ylavic] + + *) mod_http2: + Fixes : + "LimitRequestFields 0" now disables the limit, as documented. + Fixes : + Do not count repeated headers with same name against the field + count limit. The are merged internally, as if sent in a single HTTP/1 line. + [Stefan Eissing] + + *) mod_http2: Avoid segfaults in case of handling certain responses for + already aborted connections. [Stefan Eissing, Ruediger Pluem] + + *) mod_http2: The module now handles master/secondary connections and has marked + methods according to use. [Stefan Eissing] + + *) core: Drop an invalid Last-Modified header value coming + from a FCGI/CGI script instead of replacing it with Unix epoch. + [Yann Ylavic, Luca Toscano] + + *) Add support for strict content-length parsing through addition of + ap_parse_strict_length() [Yann Ylavic] + + *) mod_proxy_fcgi: ProxyFCGISetEnvIf unsets variables when expression + evaluates to false. PR64365. [Michael König ] + + *) mod_proxy_http: flush spooled request body in one go to avoid + leaking (or long lived) temporary file. PR 64452. [Yann Ylavic] + + *) mod_ssl: Fix a race condition and possible crash when using a proxy client + certificate (SSLProxyMachineCertificateFile). + [Armin Abfalterer ] + + *) mod_ssl: Fix memory leak in stapling code. PR63687. [Stefan Eissing] + + *) mod_http2: Fixed regression that no longer set H2_STREAM_ID and H2_STREAM_TAG. + PR64330 [Stefan Eissing] + + *) mod_http2: Fixed regression that caused connections to close when mod_reqtimeout + was configured with a handshake timeout. Fixes gitub issue #196. + [Stefan Eissing] + + *) mod_proxy_http2: the "ping" proxy parameter + (see ) is now used + when checking the liveliness of a new or reused h2 connection to the backend. + With short durations, this makes load-balancing more responsive. The module + will hold back requests until ping conditions are met, using features of the + HTTP/2 protocol alone. [Ruediger Pluem, Stefan Eissing] + + *) core: httpd is no longer linked against -lsystemd if mod_systemd + is enabled (and built as a DSO). [Rainer Jung] + + *) mod_proxy_http2: respect ProxyTimeout settings on backend connections + while waiting on incoming data. [Ruediger Pluem, Stefan Eissing] + +Changes with Apache 2.4.43 + + *) mod_ssl: Fix memory leak of OCSP stapling response. [Yann Ylavic] + +Changes with Apache 2.4.42 + + *) SECURITY: CVE-2020-1934 (cve.mitre.org) + mod_proxy_ftp: Use of uninitialized value with malicious backend FTP + server. [Eric Covener] + + *) SECURITY: CVE-2020-1927 (cve.mitre.org) + rewrite, core: Set PCRE_DOTALL flag by default to avoid unpredictable + matches and substitutions with encoded line break characters. + The fix for CVE-2019-10098 was not effective. [Ruediger Pluem] + + *) mod_proxy_http: Fix the forwarding of requests with content body when a + balancer member is unavailable; the retry on the next member was issued + with an empty body (regression introduced in 2.4.41). PR63891. + [Yann Ylavic] + + *) core: Use a temporary file when writing the pid file, avoiding + startup failure if an empty pidfile is left over from a + previous crashed or aborted invocation of httpd. PR 63140. + [Nicolas Carrier , Joe Orton] + + *) mod_http2: Fixes issue where mod_unique_id would generate non-unique request + identifier under load, see . + [Michael Kaufmann, Stefan Eissing] + + *) mod_proxy_hcheck: Allow healthcheck expressions to use %{Content-Type}. + PR64140. [Renier Velazco ] + + *) mod_authz_groupfile: Drop AH01666 from loglevel "error" to "info". + PR64172. + + *) mod_usertrack: Add CookieSameSite, CookieHTTPOnly, and CookieSecure + to allow customization of the usertrack cookie. PR64077. + [Prashant Keshvani , Eric Covener] + + *) mod_proxy_ajp: Add "secret" parameter to proxy workers to implement legacy + AJP13 authentication. PR 53098. [Dmitry A. Bakshaev ] + + *) mpm_event: avoid possible KeepAliveTimeout off by -100 ms. + [Eric Covener, Yann Ylavic] + + *) Add a config layout for OpenWRT. [Graham Leggett] + + *) Add support for cross compiling to apxs. If apxs is being executed from + somewhere other than its target location, add that prefix to includes and + library directories. Without this, apxs would fail to find config_vars.mk + and exit. [Graham Leggett] + + *) mod_ssl: Disable client verification on ACME ALPN challenges. Fixes github + issue mod_md#172 (https://github.com/icing/mod_md/issues/172). + [Michael Kaufmann , Stefan Eissing] + + *) mod_ssl: use OPENSSL_init_ssl() to initialise OpenSSL on versions 1.1+. + [Graham Leggett] + + *) mod_ssl: Support use of private keys and certificates from an + OpenSSL ENGINE via PKCS#11 URIs in SSLCertificateFile/KeyFile. + [Anderson Sasaki , Joe Orton] + + *) mod_md: + - Prefer MDContactEmail directive to ServerAdmin for registration. New directive + thanks to Timothe Litt (@tlhackque). + - protocol check for pre-configured "tls-alpn-01" challenge has been improved. It will now + check all matching virtual hosts for protocol support. Thanks to @mkauf. + - Corrected a check when OCSP stapling was configured for hosts + where the responsible MDomain is not clear, by Michal Karm Babacek (@Karm). + - Softening the restrictions where mod_md configuration directives may appear. This should + allow for use in and sections. If all possible variations lead to the configuration + you wanted in the first place, is another matter. + [Michael Kaufmann , Timothe Litt (@tlhackque), + Michal Karm Babacek (@Karm), Stefan Eissing (@icing)] + + *) test: Added continuous testing with Travis CI. + This tests various scenarios on Ubuntu with the full test suite. + Architectures tested: amd64, s390x, ppc64le, arm64 + The tests pass successfully. + [Luca Toscano, Joe Orton, Mike Rumph, and others] + + *) core: Be stricter in parsing of Transfer-Encoding headers. + [ZeddYu , Eric Covener] + + *) mod_ssl: negotiate the TLS protocol version per name based vhost + configuration, when linked with OpenSSL-1.1.1 or later. The base vhost's + SSLProtocol (from the first vhost declared on the IP:port) is now only + relevant if no SSLProtocol is declared for the vhost or globally, + otherwise the vhost or global value apply. [Yann Ylavic] + + *) mod_cgi, mod_cgid: Fix a memory leak in some error cases with large script + output. PR 64096. [Joe Orton] + + *) config: Speed up graceful restarts by using pre-hashed command table. PR 64066. + [Giovanni Bechis , Jim Jagielski] + + *) mod_systemd: New module providing integration with systemd. [Jan Kaluza] + + *) mod_lua: Add r:headers_in_table, r:headers_out_table, r:err_headers_out_table, + r:notes_table, r:subprocess_env_table as read-only native table alternatives + that can be iterated over. [Eric Covener] + + *) mod_http2: Fixed rare cases where a h2 worker could deadlock the main connection. + [Yann Ylavic, Stefan Eissing] + + *) mod_lua: Accept nil assignments to the exposed tables (r.subprocess_env, + r.headers_out, etc) to remove the key from the table. PR63971. + [Eric Covener] + + *) mod_http2: Fixed interaction with mod_reqtimeout. A loaded mod_http2 was disabling the + ssl handshake timeouts. Also, fixed a mistake of the last version that made `H2Direct` + always `on`, regardless of configuration. Found and reported by + and + . [Stefan Eissing] + + *) mod_http2: Multiple field length violations in the same request no longer cause + several log entries to be written. [@mkauf] + + *) mod_ssl: OCSP does not apply to proxy mode. PR 63679. + [Lubos Uhliarik , Yann Ylavic] + + *) mod_proxy_html, mod_xml2enc: Fix build issues with macOS due to r1864469 + [Jim Jagielski] + + *) mod_authn_socache: Increase the maximum length of strings that can be cached by + the module from 100 to 256. PR 62149 [] + + *) mod_proxy: Fix crash by resolving pool concurrency problems. PR 63503 + [Ruediger Pluem, Eric Covener] + + *) core: On Windows, fix a start-up crash if is used with a path that is not + valid (For example, testing for a file on a flash drive that is not mounted) + [Christophe Jaillet] + + *) mod_deflate, mod_brotli: honor "Accept-Encoding: foo;q=0" as per RFC 7231; which + means 'foo' is "not acceptable". PR 58158 [Chistophe Jaillet] + + *) mod_md v2.2.3: + - Configuring MDCAChallenges replaces any previous existing challenge configuration. It + had been additive before which was not the intended behaviour. [@mkauf] + - Fixing order of ACME challenges used when nothing else configured. Code now behaves as + documented for `MDCAChallenges`. Fixes #156. Thanks again to @mkauf for finding this. + - Fixing a potential, low memory null pointer dereference [thanks to @uhliarik]. + - Fixing an incompatibility with a change in libcurl v7.66.0 that added unwanted + "transfer-encoding" to POST requests. This failed in direct communication with + Let's Encrypt boulder server. Thanks to @mkauf for finding and fixing. [Stefan Eissing] + + *) mod_md: Adding the several new features. + The module offers an implementation of OCSP Stapling that can replace fully or + for a limited set of domains the existing one from mod_ssl. OCSP handling + is part of mod_md's monitoring and message notifications. If can be used + for sites that do not have ACME certificates. + The url for a CTLog Monitor can be configured. It is used in the server-status + to link to the external status page of a certificate. + The MDMessageCmd is called with argument "installed" when a new certificate + has been activated on server restart/reload. This allows for processing of + the new certificate, for example to applications that require it in different + locations or formats. + [Stefan Eissing] + + *) mod_proxy_balancer: Fix case-sensitive referer check related to CSRF/XSS + protection. PR 63688. [Armin Abfalterer ] + +Changes with Apache 2.4.41 + + *) SECURITY: CVE-2019-10097 (cve.mitre.org) + mod_remoteip: Fix stack buffer overflow and NULL pointer deference + when reading the PROXY protocol header. [Joe Orton, + Daniel McCarney ] + + *) SECURITY: CVE-2019-9517 (cve.mitre.org) + mod_http2: a malicious client could perform a DoS attack by flooding + a connection with requests and basically never reading responses + on the TCP connection. Depending on h2 worker dimensioning, it was + possible to block those with relatively few connections. [Stefan Eissing] + + *) SECURITY: CVE-2019-10098 (cve.mitre.org) + rewrite, core: Set PCRE_DOTALL flag by default to avoid unpredictable + matches and substitutions with encoded line break characters. + [Yann Ylavic] + + *) SECURITY: CVE-2019-10092 (cve.mitre.org) + Remove HTML-escaped URLs from canned error responses to prevent misleading + text/links being displayed via crafted links. [Eric Covener] + + *) SECURITY: CVE-2019-10082 (cve.mitre.org) + mod_http2: Using fuzzed network input, the http/2 session + handling could be made to read memory after being freed, + during connection shutdown. [Stefan Eissing] + + *) SECURITY: CVE-2019-10081 (cve.mitre.org) + mod_http2: HTTP/2 very early pushes, for example configured with "H2PushResource", + could lead to an overwrite of memory in the pushing request's pool, + leading to crashes. The memory copied is that of the configured push + link header values, not data supplied by the client. [Stefan Eissing] + + *) mod_proxy_balancer: Improve balancer-manager protection against + XSS/XSRF attacks from trusted users. [Joe Orton, + Niels Heinen ] + + *) mod_session: Introduce SessionExpiryUpdateInterval which allows to + configure the session/cookie expiry's update interval. PR 57300. + [Paul Spangler ] + + *) modules/filters: Fix broken compilation when using old GCC (<4.2.x). + PR 63633. [Rainer Jung, Joe Orton] + + *) mod_ssl: Fix startup failure in 2.4.40 with SSLCertificateChainFile + configured for a domain managed by mod_md. [Stefan Eissing] + +Changes with Apache 2.4.40 + + *) core, mod_rewrite: Set PCRE_DOTALL by default. Revert via + RegexDefaultOptions -DOTALL [Yann Ylavic] + + *) core: Remove request details from built-in error documents [Eric Covener] + + *) mod_http2: core setting "LimitRequestFieldSize" is not additionally checked on + merged header fields, just as HTTP/1.1 does. [Stefan Eissing, Michael Kaufmann] + + *) mod_http2: fixed a bug that prevented proper stream cleanup when connection + throttling was in place. Stream resets by clients on streams initiated by them + are counted as possible trigger for throttling. [Stefan Eissing] + + *) mod_http2/mpm_event: Fixes the behaviour when a HTTP/2 connection has nothing + more to write with streams ongoing (flow control block). The timeout waiting + for the client to send WINODW_UPDATE was incorrectly KeepAliveTimeout and not + Timeout as it should be. Fixes PR 63534. [Yann Ylavic, Stefan Eissing] + + *) mod_proxy_balancer: Load balancer required byrequests when bytraffic chosen. + PR 62372. [Jim Jagielski] + + *) mod_proxy_hcheck: Create the configuration for mod_proxy_hcheck + when used in BalancerMember. PR 60757. [Jean-Frederic Clere] + + *) mod_proxy_hcheck: Mute extremely frequent debug message. [Yann Ylavic] + + *) mod_ssl/mod_md: reversing dependency by letting mod_ssl offer hooks for + adding certificates and keys to a virtual host. An additional hook allows + answering special TLS connections as used in ACME challenges. + Adding 2 new hooks for init/get of OCSP stapling status information when + other modules want to provide those. Falls back to own implementation with + same behaviour as before. + [Stefan Eissing] + + *) mod_md: new features + - protocol + - supports the ACMEv2 protocol. It is the default and will be used on the next + certificate renewal, unless another "MDCertificateAuthority" is configured + - 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 + - challenges + - new challenge method 'tls-alpn-01' implemented + - challenge type 'tls-sni-01' has been removed as CAs do not offer this any longer + - supports command configuration to setup/teardown 'dns-01' challenges + - supports wildcard certificates when dns challenges are configured + - status information and monitoring + - a domain exposes its status at https:///.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. + - "MDMessageCmd" that is invoked on several events: 'renewed', 'expiring' and + 'errored'. + - "MDWarnWindow" directive to configure when expiration warnings shall be issued. + [Stefan Eissing] + + *) mod_mime_magic: Fix possible corruption of returned strings. + [Christophe Jaillet] + + *) Default "conf/magic": Fix pattern for "audio/x-wav" for WAV files, + remove "audio/unknown" pattern for other RIFF files. + [Àngel Ollé Blázquez ] + + *) mod_proxy_http2: fixing a potential NULL pointer use in logging. + [Christophe Jaillet, Dr Silvio Cesare InfoSect] + + *) mod_dav: Reduce the amount of memory needed when doing PROPFIND's on large + collections by improving the memory management. [Joe Orton, Ruediger Pluem] + + *) mod_proxy_http2: adding support for handling trailers in both directions. + PR 63502. [Stefan Eissing] + + *) mod_proxy_http: forward 100-continue, and minimize race conditions when + reusing backend connections. PR 60330. [Yann Ylavic, Jean-Frederic Clere] + + *) mod_proxy_balancer: Fix some HTML syntax issues. [Christophe Jaillet] + + *) When using mod_status with the Event MPM, report the number of requests + associated with an active connection in the "ACC" field. Previously + zero was always reported with this MPM. PR60647. [Eric Covener] + + *) mod_http2: remove the no longer existing h2_ngn_shed.c from Cmake. + [Stefan Eissing] + + *) mod_proxy/ssl: Proxy SSL client certificate configuration and other proxy + SSL configurations broken inside context. PR 63430. + [Ruediger Pluem, Yann Ylavic] + + *) mod_proxy: allow SSLProxyCheckPeer* usage for all proxy modules. + PR 61857. [Markus Gausling , Yann Ylavic] + + *) mod_reqtimeout: Fix default rates missing (not applied) in 2.4.39. + PR 63325. [Yann Ylavic] + + *) mod_info: Fix output of server settings for PIPE_BUF in mod_info in + the rare case that PIPE_BUF is defined. [Rainer Jung] + + *) mod_md: Store permissions are enforced on file creation, enforcing restrictions in + spite of umask. Fixes . [Stefan Eissing] + +Changes with Apache 2.4.39 + + *) SECURITY: CVE-2019-0197 (cve.mitre.org) + mod_http2: fixes a possible crash when HTTP/2 was enabled for a http: + host or H2Upgrade was enabled for h2 on a https: host. An Upgrade + request from http/1.1 to http/2 that was not the first request on a + connection could lead to a misconfiguration and crash. Servers that + never enabled the h2 protocol or only enabled it for https: and + did not set "H2Upgrade on" are unaffected by this issue. + [Stefan Eissing] + + *) SECURITY: CVE-2019-0196 (cve.mitre.org) + mod_http2: using fuzzed network input, the http/2 request + handling could be made to access freed memory in string + comparison when determining the method of a request and + thus process the request incorrectly. [Stefan Eissing] + + *) SECURITY: CVE-2019-0211 (cve.mitre.org) + MPMs unix: Fix a local privilege escalation vulnerability by not + maintaining each child's listener bucket number in the scoreboard, + preventing unprivileged code like scripts run by/on the server (e.g. via + mod_php) from modifying it persistently to abuse the privileged main + process. [Charles Fol , Yann Ylavic] + + *) SECURITY: CVE-2019-0217 (cve.mitre.org) + mod_auth_digest: Fix a race condition checking user credentials which + could allow a user with valid credentials to impersonate another, + under a threaded MPM. PR 63124. [Simon Kappel ] + + *) SECURITY: CVE-2019-0215 (cve.mitre.org) + mod_ssl: Fix access control bypass for per-location/per-dir client + certificate verification in TLSv1.3. + + *) SECURITY: CVE-2019-0220 (cve.mitre.org) + Merge consecutive slashes in URL's. Opt-out with + `MergeSlashes OFF`. [Eric Covener] + + *) mod_proxy/ssl: Cleanup per-request SSL configuration anytime a backend + connection is recycled/reused to avoid a possible crash with some SSLProxy + configurations in or context. PR 63256. [Yann Ylavic] + + *) mod_log_config: Support %{c}h for conn-hostname, %h for useragent_host + PR 55348 + + *) mod_socache_redis: Support for Redis as socache storage provider. + + *) core: new configuration option 'MergeSlashes on|off' that controls handling of + multiple, consecutive slash ('/') characters in the path component of the request URL. + [Eric Covener] + + *) mod_http2: when SSL renegotiation is inhibited and a 403 ErrorDocument is + in play, the proper HTTP/2 stream reset did not trigger with H2_ERR_HTTP_1_1_REQUIRED. + Fixed. [Michael Kaufmann] + + *) mod_http2: new configuration directive: `H2Padding numbits` to control + padding of HTTP/2 payload frames. 'numbits' is a number from 0-8, + controlling the range of padding bytes added to a frame. The actual number + added is chosen randomly per frame. This applies to HEADERS, DATA and PUSH_PROMISE + frames equally. The default continues to be 0, e.g. no padding. [Stefan Eissing] + + *) mod_http2: ripping out all the h2_req_engine internal features now that mod_proxy_http2 + has no more need for it. Optional functions are still declared but no longer implemented. + While previous mod_proxy_http2 will work with this, it is recommended to run the matching + versions of both modules. [Stefan Eissing] + + *) mod_proxy_http2: changed mod_proxy_http2 implementation and fixed several bugs which + resolve PR63170. The proxy module does now a single h2 request on the (reused) + connection and returns. [Stefan Eissing] + + *) mod_http2/mod_proxy_http2: proxy_http2 checks correct master connection aborted status + to trigger immediate shutdown of backend connections. This is now always signalled + by mod_http2 when the the session is being released. + proxy_http2 now only sends a PING frame to the backend when there is not already one + in flight. [Stefan Eissing] + + *) mod_proxy_http2: fixed an issue where a proxy_http2 handler entered an infinite + loop when encountering certain errors on the backend connection. + See . [Stefan Eissing] + + *) mod_http2: Configuration directives H2Push and H2Upgrade can now be specified per + Location/Directory, e.g. disabling PUSH for a specific set of resources. [Stefan Eissing] + + *) mod_http2: HEAD requests to some module such as mod_cgid caused the stream to + terminate improperly and cause a HTTP/2 PROTOCOL_ERROR. + Fixes . [Michael Kaufmann] + + *) http: Fix possible empty response with mod_ratelimit for HEAD requests. + PR 63192. [Yann Ylavic] + + *) mod_cache_socache: Avoid reallocations and be safe with outgoing data + lifetime. [Yann Ylavic] + + *) mod_http2: enable re-use of slave connections again. Fixed slave connection + keepalives counter. [Stefan Eissing] + + *) mod_reqtimeout: Allow to configure (TLS-)handshake timeouts. + PR 61310. [Yann Ylavic] + + *) core: Split out the ability to parse wildcard files and directories + from the Include/IncludeOptional directives into a generic set of + functions ap_dir_nofnmatch() and ap_dir_fnmatch(). [Graham Leggett] + + *) mod_proxy_wstunnel: Fix websocket proxy over UDS. + PR 62932 + + *) mod_ssl: Don't unset FIPS mode on restart unless it's forced by + configuration (SSLFIPS on) and not active by default in OpenSSL. + PR 63136. [Yann Ylavic] + Changes with Apache 2.4.38 + *) SECURITY: CVE-2018-17199 (cve.mitre.org) + mod_session: mod_session_cookie does not respect expiry time allowing + sessions to be reused. [Hank Ibell] + + *) SECURITY: CVE-2018-17189 (cve.mitre.org) + mod_http2: fixes a DoS attack vector. By sending slow request bodies + to resources not consuming them, httpd cleanup code occupies a server + thread unnecessarily. This was changed to an immediate stream reset + which discards all stream state and incoming data. [Stefan Eissing] + + *) SECURITY: CVE-2019-0190 (cve.mitre.org) + mod_ssl: Fix infinite loop triggered by a client-initiated + renegotiation in TLSv1.2 (or earlier) with OpenSSL 1.1.1 and + later. PR 63052. [Joe Orton] + *) mod_ssl: Clear retry flag before aborting client-initiated renegotiation. PR 63052 [Joe Orton] *) mod_negotiation: Treat LanguagePriority as case-insensitive to match AddLanguage behavior and HTTP specification. PR 39730 [Christophe Jaillet] - + *) mod_md: incorrect behaviour when synchronizing ongoing ACME challenges have been fixed. [Michael Kaufmann, Stefan Eissing] - + *) mod_setenvif: We can have expressions that become true if a regex pattern in the expression does NOT match. In this case val is NULL - and we should just set the value for the environment variable + and we should just set the value for the environment variable like in the pattern case. [Ruediger Pluem] *) mod_session: Always decode session attributes early. [Hank Ibell] @@ -21,7 +1953,7 @@ Changes with Apache 2.4.38 multiple environment variables are specified in a directive. [Hank Ibell] *) mod_rewrite: Only create the global mutex used by "RewriteMap prg:" when - this type of map is present in the configuration. PR62311. + this type of map is present in the configuration. PR62311. [Hank Ibell ] *) mod_dav: Fix invalid Location header when a resource is created by @@ -45,7 +1977,7 @@ Changes with Apache 2.4.38 *) mod_proxy: If ProxyPassReverse is used for reverse mapping of relative redirects, subsequent ProxyPassReverse statements, whether they are relative or absolute, may fail. PR 60408. [Peter Haworth ] - + *) mod_lua: Now marked as a stable module [https://s.apache.org/Xnh1] Changes with Apache 2.4.37 @@ -74,9 +2006,9 @@ Changes with Apache 2.4.36 [Eric Covener] *) mod_http2: adding defensive code for stream EOS handling, in case the request handler - missed to signal it the normal way (eos buckets). Addresses github issues + missed to signal it the normal way (eos buckets). Addresses github issues https://github.com/icing/mod_h2/issues/164, https://github.com/icing/mod_h2/issues/167 - and https://github.com/icing/mod_h2/issues/170. [Stefan Eissing] + and https://github.com/icing/mod_h2/issues/170. [Stefan Eissing] *) ab: Add client certificate support. PR 55774. [Graham Leggett] @@ -102,6 +2034,9 @@ Changes with Apache 2.4.36 should be accepted after the authorization scheme. \t are also tolerated. [Christophe Jaillet] + *) mod_socache_redis: New socache submodule provider to allow use + of Redis as storage backend. [Jim Jagielski] + *) mod_proxy_hcheck: Fix issues with interval determination. PR 62318 [Jim Jagielski] @@ -151,7 +2086,7 @@ Changes with Apache 2.4.35 *) mod_watchdog: Correct some log messages. [Rainer Jung] *) mod_md: When the last domain name from an MD is moved to another one, - that now empty MD gets moved to the store archive. PR 62572. + that now empty MD gets moved to the store archive. PR 62572. [Stefan Eissing] *) mod_ssl: Fix merging of SSLOCSPOverrideResponder. [Jeff Trawick, @@ -230,7 +2165,7 @@ Changes with Apache 2.4.34 connections. [Ruediger Pluem, Joe Orton] *) mod_proxy_html: Fix variable interpolation and memory allocation failure - in ProxyHTMLURLMap. [Ewald Dieterich ] + in ProxyHTMLURLMap. PR 62344. [Ewald Dieterich ] *) mod_remoteip: Fix RemoteIP{Trusted,Internal}ProxyList loading broken by 2.4.30. PR 62220. [Chritophe Jaillet, Yann Ylavic] @@ -308,6 +2243,9 @@ Changes with Apache 2.4.34 *) core: Add , and conditional section containers. [Eric Covener, Joe Orton] + *) rotatelogs: Add -D option to create parent directories. PR 46669. + [Philippe Lantin , Ben Reser, Rainer Jung] + Changes with Apache 2.4.33 *) core: Fix request timeout logging and possible crash for error_log hooks. @@ -408,6 +2346,9 @@ Changes with Apache 2.4.30 (not released) mod_http2: Potential crash w/ mod_http2. [Stefan Eissing] + *) mod_proxy: Provide an RFC1035 compliant version of the hostname in the + proxy_worker_shared structure. PR62085 [Graham Leggett] + *) mod_proxy: Worker schemes and hostnames which are too large are no longer fatal errors; it is logged and the truncated values are stored. [Jim Jagielski] @@ -451,7 +2392,7 @@ Changes with Apache 2.4.30 (not released) [Joe Orton] *) mpm_event,worker: Mask signals for threads created by modules in child - init, so that they don't receive (implicitely) the ones meant for the MPM. + init, so that they don't receive (implicitly) the ones meant for the MPM. PR 62009. [Armin Abfalterer , Yann Ylavic] *) mod_md: new experimental, module for managing domains across virtual hosts, @@ -568,7 +2509,7 @@ Changes with Apache 2.4.28 *) mod_proxy_wstunnel: Allow upgrade to any protocol dynamically. PR 61142. - *) mod_watchdog/mod_proxy_hcheck: Time intervals can now be spefified + *) mod_watchdog/mod_proxy_hcheck: Time intervals can now be specified down to the millisecond. Supports 'mi' (minute), 'ms' (millisecond), 's' (second) and 'hr' (hour!) time suffixes. [Jim Jagielski] @@ -774,7 +2715,7 @@ Changes with Apache 2.4.26 in use (ProxyHCTPsize > 0). PR 60071. [Yann Ylavic, Jim Jagielski] *) core: %{DOCUMENT_URI} used in nested SSI expressions should point to the - URI originally requsted by the user, not the nested documents URI. This + URI originally requested by the user, not the nested documents URI. This restores the behavior of this variable to match the "legacy" SSI parser. PR60624. [Hank Ibell ] @@ -810,7 +2751,7 @@ Changes with Apache 2.4.26 [Luca Toscano] *) mod_http2: not counting file buckets again stream max buffer limits. - Effectively transfering static files in one step from slave to master + Effectively transferring static files in one step from slave to master connection. [Stefan Eissing] *) mod_http2: comforting ap_check_pipeline() on slave connections @@ -1059,7 +3000,7 @@ Changes with Apache 2.4.24 (not released) 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 mod_cgid interop in high load situations. Fix for handling of incoming trailers when no request body is sent. [Stefan Eissing] @@ -1572,7 +3513,7 @@ Changes with Apache 2.4.18 [Stefan Eissing] *) mod_proxy_fdpass: Fix AH01153 error when using the default configuration. - In earlier version of httpd, you can explicitelly set the 'flusher' parameter + In earlier version of httpd, you can explicitly set the 'flusher' parameter to 'flush' as a workaround. (i.e. flusher=flush) Add documentation for the 'flusher' parameter when defining a proxy worker. [Christophe Jaillet] @@ -1658,7 +3599,7 @@ Changes with Apache 2.4.17 *) mod_http2: added donated HTTP/2 implementation via core module. Similar configuration options to mod_ssl. [Stefan Eissing] - *) mod_proxy: don't recyle backend announced "Connection: close" connections + *) mod_proxy: don't recycle backend announced "Connection: close" connections to avoid reusing it should the close be effective after some new request is ready to be sent. [Yann Ylavic] @@ -1922,7 +3863,7 @@ Changes with Apache 2.4.13 (not released) to avoid a crash when relocation occurs. PR 57177. [Yann Ylavic] *) mod_dav: Avoid a potential integer underflow in the lock timeout value sent - back to a client. The answer to a LOCK request could be an extremly large + back to a client. The answer to a LOCK request could be an extremely large integer if the time needed to lock the resource was longer that the requested timeout given in the LOCK request. In such a case, we now answer "Second-0". PR55420 @@ -2144,7 +4085,7 @@ Changes with Apache 2.4.11 (not released) *) mod_proxy_connect: Fix ProxyRemote to https:// backends on EBCDIC systems. PR 57092 [Edward Lu ] - *) mod_cache: Avoid a 304 response to an unconditional requst when an AH00752 + *) mod_cache: Avoid a 304 response to an unconditional request when an AH00752 CacheLock error occurs during cache revalidation. [Eric Covener] *) mod_ssl: Move OCSP stapling information from a per-certificate store to diff --git a/CMakeLists.txt b/CMakeLists.txt index e2d5020..7b30547 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,6 +26,7 @@ FIND_PACKAGE(LibXml2) FIND_PACKAGE(Lua51) FIND_PACKAGE(OpenSSL) FIND_PACKAGE(ZLIB) +FIND_PACKAGE(CURL) # Options for support libraries not supported by cmake-bundled FindFOO @@ -46,7 +47,13 @@ ENDIF() # PCRE names its libraries differently for debug vs. release builds. # We can't query our own CMAKE_BUILD_TYPE at configure time. # If the debug version exists in PREFIX/lib, default to that one. -IF(EXISTS "${CMAKE_INSTALL_PREFIX}/lib/pcred.lib") +IF(EXISTS "${CMAKE_INSTALL_PREFIX}/lib/pcre2-8d.lib") + SET(default_pcre_libraries ${CMAKE_INSTALL_PREFIX}/lib/pcre2-8d.lib) + SET(default_pcre_cflags "-DHAVE_PCRE2") +ELSEIF(EXISTS "${CMAKE_INSTALL_PREFIX}/lib/pcre2-8.lib") + SET(default_pcre_libraries ${CMAKE_INSTALL_PREFIX}/lib/pcre2-8.lib) + SET(default_pcre_cflags "-DHAVE_PCRE2") +ELSEIF(EXISTS "${CMAKE_INSTALL_PREFIX}/lib/pcred.lib") SET(default_pcre_libraries ${CMAKE_INSTALL_PREFIX}/lib/pcred.lib) ELSE() SET(default_pcre_libraries ${CMAKE_INSTALL_PREFIX}/lib/pcre.lib) @@ -64,16 +71,35 @@ ELSE() SET(default_brotli_libraries) ENDIF() +IF(EXISTS "${CMAKE_INSTALL_PREFIX}/lib/libcurl_imp.lib") + SET(default_curl_libraries "${CMAKE_INSTALL_PREFIX}/lib/libcurl_imp.lib") +ELSEIF(EXISTS "${CMAKE_INSTALL_PREFIX}/lib/libcurl.lib") + SET(default_curl_libraries "${CMAKE_INSTALL_PREFIX}/lib/libcurl.lib") +ELSE() + SET(default_curl_libraries) +ENDIF() + +IF(EXISTS "${CMAKE_INSTALL_PREFIX}/lib/jansson.lib") + SET(default_jansson_libraries "${CMAKE_INSTALL_PREFIX}/lib/jansson.lib") +ELSE() + SET(default_jansson_libraries) +ENDIF() + SET(APR_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE STRING "Directory with APR[-Util] include files") SET(APR_LIBRARIES ${default_apr_libraries} CACHE STRING "APR libraries to link with") SET(NGHTTP2_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE STRING "Directory with NGHTTP2 include files within nghttp2 subdirectory") SET(NGHTTP2_LIBRARIES ${default_nghttp2_libraries} CACHE STRING "NGHTTP2 libraries to link with") +SET(PCRE_CFLAGS "${default_pcre_cflags}" CACHE STRING "PCRE flags for util_pcre.c compilation") SET(PCRE_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE STRING "Directory with PCRE include files") SET(PCRE_LIBRARIES ${default_pcre_libraries} CACHE STRING "PCRE libraries to link with") SET(LIBXML2_ICONV_INCLUDE_DIR "" CACHE STRING "Directory with iconv include files for libxml2") SET(LIBXML2_ICONV_LIBRARIES "" CACHE STRING "iconv libraries to link with for libxml2") SET(BROTLI_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE STRING "Directory with include files for Brotli") SET(BROTLI_LIBRARIES ${default_brotli_libraries} CACHE STRING "Brotli libraries to link with") +SET(CURL_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE STRING "Directory with include files for cURL") +SET(CURL_LIBRARIES ${default_curl_libraries} CACHE STRING "cURL libraries to link with") +SET(JANSSON_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE STRING "Directory with include files for jansson") +SET(JANSSON_LIBRARIES "${default_jansson_libraries}" CACHE STRING "Jansson libraries to link with") # end support library configuration # Misc. options @@ -199,6 +225,19 @@ ELSE() SET(BROTLI_FOUND FALSE) ENDIF() +# See if we have Jansson +SET(JANSSON_FOUND TRUE) +IF(EXISTS "${JANSSON_INCLUDE_DIR}/jansson.h") + FOREACH(onelib ${JANSSON_LIBRARIES}) + IF(NOT EXISTS ${onelib}) + SET(JANSSON_FOUND FALSE) + ENDIF() + ENDFOREACH() +ELSE() + SET(JANSSON_FOUND FALSE) +ENDIF() + + MESSAGE(STATUS "") MESSAGE(STATUS "Summary of feature detection:") MESSAGE(STATUS "") @@ -208,6 +247,8 @@ MESSAGE(STATUS "NGHTTP2_FOUND ............ : ${NGHTTP2_FOUND}") MESSAGE(STATUS "OPENSSL_FOUND ............ : ${OPENSSL_FOUND}") MESSAGE(STATUS "ZLIB_FOUND ............... : ${ZLIB_FOUND}") MESSAGE(STATUS "BROTLI_FOUND ............. : ${BROTLI_FOUND}") +MESSAGE(STATUS "CURL_FOUND ............... : ${CURL_FOUND}") +MESSAGE(STATUS "JANSSON_FOUND ............ : ${JANSSON_FOUND}") MESSAGE(STATUS "APR_HAS_LDAP ............. : ${APR_HAS_LDAP}") MESSAGE(STATUS "APR_HAS_XLATE ............ : ${APR_HAS_XLATE}") MESSAGE(STATUS "APU_HAVE_CRYPTO .......... : ${APU_HAVE_CRYPTO}") @@ -264,6 +305,7 @@ SET(MODULE_LIST "modules/cache/mod_socache_dc+O+distcache small object cache provider" "modules/cache/mod_socache_memcache+I+memcache small object cache provider" "modules/cache/mod_socache_shmcb+I+ shmcb small object cache provider" + "modules/cache/mod_socache_redis+I+redis small object cache provider" "modules/cluster/mod_heartbeat+I+Generates Heartbeats" "modules/cluster/mod_heartmonitor+I+Collects Heartbeats" "modules/core/mod_macro+I+Define and use macros in configuration files" @@ -308,6 +350,7 @@ SET(MODULE_LIST "modules/loggers/mod_log_forensic+I+forensic logging" "modules/loggers/mod_logio+I+input and output logging" "modules/lua/mod_lua+i+Apache Lua Framework" + "modules/md/mod_md+i+Apache Managed Domains (Certificates)" "modules/mappers/mod_actions+I+Action triggering on requests" "modules/mappers/mod_alias+A+mapping of requests to different filesystem parts" "modules/mappers/mod_dir+A+directory request handling" @@ -410,18 +453,16 @@ SET(mod_http2_extra_defines ssize_t=long) SET(mod_http2_extra_includes ${NGHTTP2_INCLUDE_DIR}) SET(mod_http2_extra_libs ${NGHTTP2_LIBRARIES}) SET(mod_http2_extra_sources - modules/http2/h2_alt_svc.c - modules/http2/h2_bucket_eos.c modules/http2/h2_config.c - modules/http2/h2_conn.c modules/http2/h2_conn_io.c - modules/http2/h2_ctx.c modules/http2/h2_filter.c - modules/http2/h2_from_h1.c modules/http2/h2_h2.c - modules/http2/h2_bucket_beam.c - modules/http2/h2_mplx.c modules/http2/h2_push.c - modules/http2/h2_request.c modules/http2/h2_headers.c - modules/http2/h2_session.c modules/http2/h2_stream.c - modules/http2/h2_switch.c modules/http2/h2_ngn_shed.c - modules/http2/h2_task.c modules/http2/h2_util.c - modules/http2/h2_workers.c + modules/http2/h2_bucket_beam.c modules/http2/h2_bucket_eos.c + modules/http2/h2_c1.c modules/http2/h2_c1_io.c + modules/http2/h2_c2.c modules/http2/h2_c2_filter.c + modules/http2/h2_config.c modules/http2/h2_conn_ctx.c + modules/http2/h2_mplx.c modules/http2/h2_headers.c + modules/http2/h2_protocol.c modules/http2/h2_push.c + modules/http2/h2_request.c modules/http2/h2_session.c + modules/http2/h2_stream.c modules/http2/h2_switch.c + modules/http2/h2_util.c modules/http2/h2_workers.c + modules/http2/h2_ws.c ) SET(mod_ldap_extra_defines LDAP_DECLARE_EXPORT) SET(mod_ldap_extra_libs wldap32) @@ -439,6 +480,25 @@ SET(mod_lua_extra_sources modules/lua/lua_vmprep.c modules/lua/lua_dbd.c ) SET(mod_lua_requires LUA51_FOUND) +SET(mod_md_requires OPENSSL_FOUND CURL_FOUND JANSSON_FOUND) +SET(mod_md_extra_includes ${OPENSSL_INCLUDE_DIR} ${CURL_INCLUDE_DIR} ${JANSSON_INCLUDE_DIR}) +SET(mod_md_extra_libs ${OPENSSL_LIBRARIES} ${CURL_LIBRARIES} ${JANSSON_LIBRARIES} mod_watchdog) +SET(mod_md_extra_sources + modules/md/md_acme.c modules/md/md_acme_acct.c + modules/md/md_acme_authz.c modules/md/md_acme_drive.c + modules/md/md_acmev2_drive.c modules/md/md_event.c + modules/md/md_acme_order.c modules/md/md_core.c + modules/md/md_curl.c modules/md/md_crypt.c + modules/md/md_http.c modules/md/md_json.c + modules/md/md_jws.c modules/md/md_log.c + modules/md/md_result.c modules/md/md_reg.c + modules/md/md_status.c modules/md/md_store.c + modules/md/md_store_fs.c modules/md/md_time.c + modules/md/md_ocsp.c modules/md/md_util.c + modules/md/mod_md_config.c modules/md/mod_md_drive.c + modules/md/mod_md_os.c modules/md/mod_md_status.c + modules/md/mod_md_ocsp.c modules/md/md_tailscale.c +) SET(mod_optional_hook_export_extra_defines AP_DECLARE_EXPORT) # bogus reuse of core API prefix SET(mod_proxy_extra_defines PROXY_DECLARE_EXPORT) SET(mod_proxy_extra_sources modules/proxy/proxy_util.c) @@ -616,6 +676,7 @@ SET(LIBHTTPD_SOURCES server/protocol.c server/provider.c server/request.c + server/ssl.c server/scoreboard.c server/util.c server/util_cfgtree.c @@ -656,6 +717,7 @@ SET(HTTPD_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/modules/session ${CMAKE_CURRENT_SOURCE_DIR}/modules/ssl ${CMAKE_CURRENT_SOURCE_DIR}/server + ${CMAKE_CURRENT_SOURCE_DIR}/server/mpm/winnt ${APR_INCLUDE_DIR} ${PCRE_INCLUDE_DIR} ) @@ -718,15 +780,17 @@ FOREACH (mod ${MODULE_PATHS}) IF(NOT ${enable_mod_val} STREQUAL "O") # build of module is desired SET(mod_requires "${mod_name}_requires") STRING(TOUPPER ${enable_mod_val} enable_mod_val_upper) - IF(NOT ${${mod_requires}} STREQUAL "") # module has some prerequisite - IF(NOT ${${mod_requires}}) # prerequisite doesn't exist - IF(NOT ${enable_mod_val} STREQUAL ${enable_mod_val_upper}) # lower case, so optional based on prereq - MESSAGE(STATUS "${mod_name} was requested but couldn't be built due to a missing prerequisite (${${mod_requires}})") - SET(enable_mod_val_upper "O") # skip due to missing prerequisite - ELSE() # must be upper case "A" or "I" (or coding error above) - MESSAGE(FATAL_ERROR "${mod_name} was requested but couldn't be built due to a missing prerequisite (${${mod_requires}})") + IF(NOT "${${mod_requires}}" STREQUAL "") # module has some prerequisite + FOREACH (required ${${mod_requires}}) + IF(NOT ${required}) # prerequisite doesn't exist + IF(NOT ${enable_mod_val} STREQUAL ${enable_mod_val_upper}) # lower case, so optional based on prereq + MESSAGE(STATUS "${mod_name} was requested but couldn't be built due to a missing prerequisite (${required})") + SET(enable_mod_val_upper "O") # skip due to missing prerequisite + ELSE() # must be upper case "A" or "I" (or coding error above) + MESSAGE(FATAL_ERROR "${mod_name} was requested but couldn't be built due to a missing prerequisite (${required})") + ENDIF() ENDIF() - ENDIF() + ENDFOREACH() ENDIF() # map a->A, i->I, O->O for remaining logic since prereq checking is over SET(enable_mod_val ${enable_mod_val_upper}) @@ -802,7 +866,7 @@ SET(install_targets ${install_targets} libhttpd) SET(install_bin_pdb ${install_bin_pdb} $) TARGET_LINK_LIBRARIES(libhttpd ${EXTRA_LIBS} ${APR_LIBRARIES} ${PCRE_LIBRARIES} ${HTTPD_SYSTEM_LIBS}) DEFINE_WITH_BLANKS(define_long_name "LONG_NAME" "Apache HTTP Server Core") -SET_TARGET_PROPERTIES(libhttpd PROPERTIES COMPILE_FLAGS "-DAP_DECLARE_EXPORT ${define_long_name} -DBIN_NAME=libhttpd.dll ${EXTRA_COMPILE_FLAGS}") +SET_TARGET_PROPERTIES(libhttpd PROPERTIES COMPILE_FLAGS "-DAP_DECLARE_EXPORT ${define_long_name} ${PCRE_CFLAGS} -DBIN_NAME=libhttpd.dll ${EXTRA_COMPILE_FLAGS}") ADD_DEPENDENCIES(libhttpd test_char_header) ########### HTTPD EXECUTABLES ########## @@ -956,6 +1020,10 @@ MESSAGE(STATUS " libxml2 iconv prereq include dir. : ${LIBXML2_ICONV_INCLUDE_DI MESSAGE(STATUS " libxml2 iconv prereq libraries .. : ${LIBXML2_ICONV_LIBRARIES}") MESSAGE(STATUS " Brotli include directory......... : ${BROTLI_INCLUDE_DIR}") MESSAGE(STATUS " Brotli libraries ................ : ${BROTLI_LIBRARIES}") +MESSAGE(STATUS " Curl include directory........... : ${CURL_INCLUDE_DIR}") +MESSAGE(STATUS " Curl libraries .................. : ${CURL_LIBRARIES}") +MESSAGE(STATUS " Jansson include directory ....... : ${JANSSON_INCLUDE_DIR}") +MESSAGE(STATUS " Jansson libraries ............... : ${JANSSON_LIBRARIES}") MESSAGE(STATUS " Extra include directories ....... : ${EXTRA_INCLUDES}") MESSAGE(STATUS " Extra compile flags ............. : ${EXTRA_COMPILE_FLAGS}") MESSAGE(STATUS " Extra libraries ................. : ${EXTRA_LIBS}") diff --git a/LICENSE b/LICENSE index 0d72de2..9c59479 100644 --- a/LICENSE +++ b/LICENSE @@ -516,7 +516,7 @@ This program is Copyright (C) Zeus Technology Limited 1996. This program may be used and copied freely providing this copyright notice is not removed. -This software is provided "as is" and any express or implied waranties, +This software is provided "as is" and any express or implied warranties, including but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall Zeus Technology Ltd. be liable for any direct, indirect, incidental, special, diff --git a/Makefile.in b/Makefile.in index 21c76f8..ebf7a16 100644 --- a/Makefile.in +++ b/Makefile.in @@ -128,7 +128,7 @@ install-conf: fi # Create a sanitized config_vars.mk -build/config_vars.out: build/config_vars.mk +build/config_vars.out: build/config_vars.mk build/config_vars.sh @$(SHELL) build/config_vars.sh < build/config_vars.mk > build/config_vars.out install-build: build/config_vars.out @@ -155,6 +155,26 @@ docs: echo ' http://httpd.apache.org/docs-project/docsformat.html'; \ fi +update-changes: + @for i in `find changes-entries -type f`; do \ + cp CHANGES CHANGES.tmp ; \ + awk -v fname=$$i 'BEGIN{done = 0; active = 0} \ + done == 0 && active == 0 && /^Changes with Apache /{ active = 1; print; next}; \ + /^( *\*|Changes with Apache )/ && active == 1 && done == 0{rec=$$0; while(getline CHANGES ; \ + rm CHANGES.tmp ; \ + if [ -n "$(SVN)" ] ; then \ + if ! $(SVN) rm $$i 2>/dev/null ; then \ + $(RM) $$i ; \ + fi ; \ + else \ + $(RM) $$i ; \ + fi ; \ + done ; \ + if [ -n "$(SVN)" ] ; then \ + $(SVN) diff CHANGES ; \ + fi + validate-xml: @if test -d $(top_srcdir)/docs/manual/build; then \ cd $(top_srcdir)/docs/manual/build && ./build.sh validate-xml; \ @@ -235,6 +255,7 @@ INSTALL_HEADERS = \ $(srcdir)/modules/cache/cache_common.h \ $(srcdir)/modules/database/mod_dbd.h \ $(srcdir)/modules/dav/main/mod_dav.h \ + $(srcdir)/modules/http2/mod_http2.h \ $(srcdir)/modules/filters/mod_include.h \ $(srcdir)/modules/filters/mod_xml2enc.h \ $(srcdir)/modules/generators/mod_cgi.h \ diff --git a/Makefile.win b/Makefile.win index c99bf55..701ea06 100644 --- a/Makefile.win +++ b/Makefile.win @@ -517,6 +517,7 @@ _build: # $(MAKE) $(MAKEOPT) -f mod_socache_dc.mak CFG="mod_socache_dc - Win32 $(LONG)" RECURSE=0 $(CTARGET) $(MAKE) $(MAKEOPT) -f mod_socache_memcache.mak CFG="mod_socache_memcache - Win32 $(LONG)" RECURSE=0 $(CTARGET) $(MAKE) $(MAKEOPT) -f mod_socache_shmcb.mak CFG="mod_socache_shmcb - Win32 $(LONG)" RECURSE=0 $(CTARGET) + $(MAKE) $(MAKEOPT) -f mod_socache_redis.mak CFG="mod_socache_redis - Win32 $(LONG)" RECURSE=0 $(CTARGET) cd ..\.. cd modules\core $(MAKE) $(MAKEOPT) -f mod_macro.mak CFG="mod_macro - Win32 $(LONG)" RECURSE=0 $(CTARGET) @@ -819,6 +820,7 @@ _copybin: # copy modules\cache\$(LONG)\mod_socache_dc.$(src_so) "$(inst_so)" <.y copy modules\cache\$(LONG)\mod_socache_memcache.$(src_so) "$(inst_so)" <.y copy modules\cache\$(LONG)\mod_socache_shmcb.$(src_so) "$(inst_so)" <.y + copy modules\cache\$(LONG)\mod_socache_redis.$(src_so) "$(inst_so)" <.y copy modules\core\$(LONG)\mod_macro.$(src_so) "$(inst_so)" <.y copy modules\core\$(LONG)\mod_watchdog.$(src_so) "$(inst_so)" <.y copy modules\cluster\$(LONG)\mod_heartbeat.$(src_so) "$(inst_so)" <.y diff --git a/NOTICE b/NOTICE index 6e88e64..4ac4b6f 100644 --- a/NOTICE +++ b/NOTICE @@ -1,8 +1,8 @@ Apache HTTP Server -Copyright 2019 The Apache Software Foundation. +Copyright 2024 The Apache Software Foundation. This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). +The Apache Software Foundation (https://www.apache.org/). Portions of this software were developed at the National Center for Supercomputing Applications (NCSA) at the University of diff --git a/README b/README index 6033744..f1f6d78 100644 --- a/README +++ b/README @@ -16,7 +16,7 @@ ------------------ Details of the latest version can be found on the Apache HTTP - server project page under http://httpd.apache.org/. + server project page under https://httpd.apache.org/. Documentation ------------- @@ -24,7 +24,7 @@ The documentation available as of the date of this release is included in HTML format in the docs/manual/ directory. The most up-to-date documentation can be found at - http://httpd.apache.org/docs/2.4/. + https://httpd.apache.org/docs/2.4/. Installation ------------ @@ -46,7 +46,7 @@ to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption - software, to see if this is permitted. See + software, to see if this is permitted. See for more information. The U.S. Government Department of Commerce, Bureau of Industry and @@ -82,7 +82,7 @@ Some object code distributions of Apache httpd, indicated with the word "crypto" in the package name, may include object code for the OpenSSL encryption library as distributed in open source form from - . + . The above files are optional and may be removed if the cryptographic functionality is not desired or needs to be excluded from redistribution. @@ -96,15 +96,15 @@ o If you want to be informed about new code releases, bug fixes, security fixes, general news and information about the Apache server subscribe to the apache-announce mailing list as described under - + o If you want freely available support for running Apache please see the - resources at + resources at o If you have a concrete bug report for Apache please see the instructions - for bug reporting at + for bug reporting at o If you want to participate in actively developing Apache please subscribe to the `dev@httpd.apache.org' mailing list as described at - + diff --git a/README.CHANGES b/README.CHANGES new file mode 100644 index 0000000..26f8c26 --- /dev/null +++ b/README.CHANGES @@ -0,0 +1,19 @@ +Changes can be documented in two ways now: Either by directly editing the +CHANGES file like it was done until now or by storing each entry for the +CHANGES file correctly formated in a separate file in the changes-entries +directory. + +The benefit of the single file per change approach is that it eases backporting +the CHANGES entry to a stable branch as it avoids the frequent merge conflicts +as changes are merged in different orders or not at all in the stable branch. + +In order to keep the current CHANGES file for the users as is there is a new +make target called 'update-changes'. It merges all change files in the +changes-entries directory to the top of the CHANGES file and removes them +afterwards. + +This make target can be seen in a similar way as the scripts to update the +documentation files from its xml sources. It can be executed immediately +after the new file in the changes-entries directory has been created / merged +and committed or it can be executed later. It should be executed at least before +a release gets tagged. diff --git a/README.cmake b/README.cmake index 60fcc42..f262c14 100644 --- a/README.cmake +++ b/README.cmake @@ -148,7 +148,7 @@ How to build included if it is present. -DNGHTTP2_INCLUDE_DIR=d:/path/to/nghttp2inst/include (which has nghttp2/*.h) - -DNGHTTP2_LIBRARIES=d:/path/to/nghttp2inst/lib/nghttp2.lib" + -DNGHTTP2_LIBRARIES="d:/path/to/nghttp2inst/lib/nghttp2.lib" These will have to be specified if nghttp2 was installed to a different directory than httpd. diff --git a/ROADMAP b/ROADMAP index 9194437..4b3f662 100644 --- a/ROADMAP +++ b/ROADMAP @@ -1,6 +1,6 @@ APACHE 2.x ROADMAP ================== -Last modified at [$Date: 2010-10-30 17:56:13 +0000 (Sat, 30 Oct 2010) $] +Last modified at [$Date: 2020-02-20 19:33:40 -0500 (Thu, 20 Feb 2020) $] WORKS IN PROGRESS @@ -116,7 +116,7 @@ MAKING APACHE REPOSITORY-AGNOSTIC * The translate_name hook goes away Wrowe altogether disagrees. translate_name today even operates - on URIs ... this mechansim needs to be preserved. + on URIs ... this mechanism needs to be preserved. * The doc for map_to_storage is totally opaque to me. It has something to do with filesystems, but it also talks about diff --git a/VERSIONING b/VERSIONING index dbfec92..bc9ad8a 100644 --- a/VERSIONING +++ b/VERSIONING @@ -1,6 +1,6 @@ APACHE 2.x VERSIONING ===================== -[$LastChangedDate: 2007-02-28 17:12:06 +0000 (Wed, 28 Feb 2007) $] +[$LastChangedDate: 2020-02-20 19:33:40 -0500 (Thu, 20 Feb 2020) $] INTRODUCTION @@ -31,7 +31,7 @@ STABLE RELEASES, 2.{even}.{revision} All even numbered releases will be considered stable revisions. -Stable revisions will retain forward compatiblity to the maximum +Stable revisions will retain forward compatibility to the maximum possible extent. Features may be added during minor revisions, and features may be deprecated by making appropriate notations in the documentation, but no features may be removed. @@ -96,12 +96,12 @@ the current stable release. Work proceeds on development releases, permitting the modification of the MMN at any time in order to correct deficiencies or shortcomings in the API. This means that modules from one development release to another may not be binary compatible, or may not successfully -compile without modification to accomodate the API changes. +compile without modification to accommodate the API changes. The only 'supported' development release at any time will be the most recently released version. Developers will not be answering bug reports of older development releases once a new release is available. It becomes -the resposibility of the reporter to use the latest development version +the responsibility of the reporter to use the latest development version to confirm that any issue still exists. Any new code, new API features or new ('experimental') modules may be diff --git a/acinclude.m4 b/acinclude.m4 index ce1d637..51cf130 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -79,6 +79,7 @@ AC_DEFUN([APACHE_GEN_CONFIG_VARS],[ APACHE_SUBST(LIBTOOL) APACHE_SUBST(SHELL) APACHE_SUBST(RSYNC) + APACHE_SUBST(SVN) APACHE_SUBST(MODULE_DIRS) APACHE_SUBST(MODULE_CLEANDIRS) APACHE_SUBST(PORT) @@ -516,12 +517,18 @@ AC_DEFUN([APACHE_CHECK_OPENSSL],[ dnl Before doing anything else, load in pkg-config variables if test -n "$PKGCONFIG"; then saved_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" - if test "x$ap_openssl_base" != "x" -a \ - -f "${ap_openssl_base}/lib/pkgconfig/openssl.pc"; then - dnl Ensure that the given path is used by pkg-config too, otherwise - dnl the system openssl.pc might be picked up instead. - PKG_CONFIG_PATH="${ap_openssl_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" - export PKG_CONFIG_PATH + if test "x$ap_openssl_base" != "x"; then + if test -f "${ap_openssl_base}/lib/pkgconfig/openssl.pc"; then + dnl Ensure that the given path is used by pkg-config too, otherwise + dnl the system openssl.pc might be picked up instead. + PKG_CONFIG_PATH="${ap_openssl_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" + export PKG_CONFIG_PATH + elif test -f "${ap_openssl_base}/lib64/pkgconfig/openssl.pc"; then + dnl Ensure that the given path is used by pkg-config too, otherwise + dnl the system openssl.pc might be picked up instead. + PKG_CONFIG_PATH="${ap_openssl_base}/lib64/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" + export PKG_CONFIG_PATH + fi fi AC_ARG_ENABLE(ssl-staticlib-deps,APACHE_HELP_STRING(--enable-ssl-staticlib-deps,[link mod_ssl with dependencies of OpenSSL's static libraries (as indicated by "pkg-config --static"). Must be specified in addition to --enable-ssl.]), [ if test "$enableval" = "yes"; then @@ -582,6 +589,7 @@ AC_DEFUN([APACHE_CHECK_OPENSSL],[ liberrors="" AC_CHECK_HEADERS([openssl/engine.h]) AC_CHECK_FUNCS([SSL_CTX_new], [], [liberrors="yes"]) + AC_CHECK_FUNCS([OPENSSL_init_ssl]) AC_CHECK_FUNCS([ENGINE_init ENGINE_load_builtin_engines RAND_egd]) if test "x$liberrors" != "x"; then AC_MSG_WARN([OpenSSL libraries are unusable]) @@ -606,6 +614,29 @@ AC_DEFUN([APACHE_CHECK_OPENSSL],[ fi ]) +AC_DEFUN([APACHE_CHECK_SYSTEMD], [ +dnl Check for systemd support for listen.c's socket activation. +case $host in +*-linux-*) + if test -n "$PKGCONFIG" && $PKGCONFIG --exists libsystemd; then + SYSTEMD_LIBS=`$PKGCONFIG --libs libsystemd` + elif test -n "$PKGCONFIG" && $PKGCONFIG --exists libsystemd-daemon; then + SYSTEMD_LIBS=`$PKGCONFIG --libs libsystemd-daemon` + else + AC_CHECK_LIB(systemd-daemon, sd_notify, SYSTEMD_LIBS="-lsystemd-daemon") + fi + if test -n "$SYSTEMD_LIBS"; then + AC_CHECK_HEADERS(systemd/sd-daemon.h) + if test "${ac_cv_header_systemd_sd_daemon_h}" = "no" || test -z "${SYSTEMD_LIBS}"; then + AC_MSG_WARN([Your system does not support systemd.]) + else + AC_DEFINE(HAVE_SYSTEMD, 1, [Define if systemd is supported]) + fi + fi + ;; +esac +]) + dnl dnl APACHE_EXPORT_ARGUMENTS dnl Export (via APACHE_SUBST) the various path-related variables that diff --git a/build/apr_common.m4 b/build/apr_common.m4 index 6b5c0f0..ac2312c 100644 --- a/build/apr_common.m4 +++ b/build/apr_common.m4 @@ -451,43 +451,6 @@ fi ]) -dnl -dnl APR_CHECK_SIZEOF_EXTENDED(INCLUDES, TYPE [, CROSS_SIZE]) -dnl -dnl A variant of AC_CHECK_SIZEOF which allows the checking of -dnl sizes of non-builtin types -dnl -AC_DEFUN([APR_CHECK_SIZEOF_EXTENDED], -[changequote(<<, >>)dnl -dnl The name to #define. -define(<>, translit(sizeof_$2, [a-z *], [A-Z_P]))dnl -dnl The cache variable name. -define(<>, translit(ac_cv_sizeof_$2, [ *], [_p]))dnl -changequote([, ])dnl -AC_MSG_CHECKING(size of $2) -AC_CACHE_VAL(AC_CV_NAME, -[AC_TRY_RUN([#include -$1 -#ifdef WIN32 -#define binmode "b" -#else -#define binmode -#endif -main() -{ - FILE *f=fopen("conftestval", "w" binmode); - if (!f) exit(1); - fprintf(f, "%d\n", sizeof($2)); - exit(0); -}], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$3],,, -AC_CV_NAME=$3))])dnl -AC_MSG_RESULT($AC_CV_NAME) -AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The size of ]$2) -undefine([AC_TYPE_NAME])dnl -undefine([AC_CV_NAME])dnl -]) - - dnl dnl APR_TRY_COMPILE_NO_WARNING(INCLUDES, FUNCTION-BODY, dnl [ACTIONS-IF-NO-WARNINGS], [ACTIONS-IF-WARNINGS]) @@ -505,15 +468,18 @@ AC_DEFUN([APR_TRY_COMPILE_NO_WARNING], fi AC_COMPILE_IFELSE( [AC_LANG_SOURCE( - [#include "confdefs.h" + [ +#ifndef PACKAGE_NAME +#include "confdefs.h" +#endif ] [[$1]] [int main(int argc, const char *const *argv) {] [[$2]] [ return 0; }] - )], - [$3], [$4]) - CFLAGS=$apr_save_CFLAGS + )], [CFLAGS=$apr_save_CFLAGS +$3], [CFLAGS=$apr_save_CFLAGS +$4]) ]) dnl @@ -526,12 +492,14 @@ dnl string. dnl dnl AC_DEFUN([APR_CHECK_STRERROR_R_RC], [ -AC_MSG_CHECKING(for type of return code from strerror_r) -AC_TRY_RUN([ +AC_CACHE_CHECK([whether return code from strerror_r has type int], +[ac_cv_strerror_r_rc_int], +[AC_TRY_RUN([ #include #include #include -main() +#include +int main(void) { char buf[1024]; if (strerror_r(ERANGE, buf, sizeof buf) < 1) { @@ -543,14 +511,10 @@ main() }], [ ac_cv_strerror_r_rc_int=yes ], [ ac_cv_strerror_r_rc_int=no ], [ - ac_cv_strerror_r_rc_int=no ] ) + ac_cv_strerror_r_rc_int=no ] ) ] ) if test "x$ac_cv_strerror_r_rc_int" = xyes; then AC_DEFINE(STRERROR_R_RC_INT, 1, [Define if strerror returns int]) - msg="int" -else - msg="pointer" fi -AC_MSG_RESULT([$msg]) ] ) dnl @@ -974,12 +938,45 @@ fi AC_SUBST(MKDEP) ]) +dnl +dnl APR_CHECK_TYPES_FMT_COMPATIBLE(TYPE-1, TYPE-2, FMT-TAG, +dnl [ACTION-IF-TRUE], [ACTION-IF-FALSE]) +dnl +dnl Try to determine whether two types are the same and accept the given +dnl printf formatter (bare token, e.g. literal d, ld, etc). +dnl +AC_DEFUN([APR_CHECK_TYPES_FMT_COMPATIBLE], [ +define([apr_cvname], apr_cv_typematch_[]translit([$1], [ ], [_])_[]translit([$2], [ ], [_])_[][$3]) +AC_CACHE_CHECK([whether $1 and $2 use fmt %$3], apr_cvname, [ +APR_TRY_COMPILE_NO_WARNING([#include +#include +#ifdef HAVE_STDINT_H +#include +#endif +], [ + $1 chk1, *ptr1; + $2 chk2, *ptr2 = &chk1; + ptr1 = &chk2; + *ptr1 = *ptr2 = 0; + printf("%$3 %$3", chk1, chk2); +], [apr_cvname=yes], [apr_cvname=no])]) +if test "$apr_cvname" = "yes"; then + : + $4 +else + : + $5 +fi +]) + dnl dnl APR_CHECK_TYPES_COMPATIBLE(TYPE-1, TYPE-2, [ACTION-IF-TRUE]) dnl dnl Try to determine whether two types are the same. Only works dnl for gcc and icc. dnl +dnl @deprecated @see APR_CHECK_TYPES_FMT_COMPATIBLE +dnl AC_DEFUN([APR_CHECK_TYPES_COMPATIBLE], [ define([apr_cvname], apr_cv_typematch_[]translit([$1], [ ], [_])_[]translit([$2], [ ], [_])) AC_CACHE_CHECK([whether $1 and $2 are the same], apr_cvname, [ diff --git a/build/config.guess b/build/config.guess index 588fe82..e81d3ae 100755 --- a/build/config.guess +++ b/build/config.guess @@ -1,8 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2018 Free Software Foundation, Inc. +# Copyright 1992-2021 Free Software Foundation, Inc. -timestamp='2018-01-01' +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2021-06-03' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -27,11 +29,19 @@ timestamp='2018-01-01' # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess +# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess # # Please send patches to . +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + + me=`echo "$0" | sed -e 's,.*/,,'` usage="\ @@ -50,7 +60,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2018 Free Software Foundation, Inc. +Copyright 1992-2021 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -84,7 +94,8 @@ if test $# != 0; then exit 1 fi -trap 'exit 1' 1 2 15 +# Just in case it came from the environment. +GUESS= # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires @@ -96,66 +107,90 @@ trap 'exit 1' 1 2 15 # Portable tmp directory creation inspired by the Autoconf team. -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' +tmp= +# shellcheck disable=SC2172 +trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 + +set_cc_for_build() { + # prevent multiple calls if $tmp is already set + test "$tmp" && return 0 + : "${TMPDIR=/tmp}" + # shellcheck disable=SC2039,SC3028 + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } + dummy=$tmp/dummy + case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in + ,,) echo "int x;" > "$dummy.c" + for driver in cc gcc c89 c99 ; do + if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then + CC_FOR_BUILD=$driver + break + fi + done + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; + esac +} # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then +if test -f /.attbin/uname ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown -case "${UNAME_SYSTEM}" in +case $UNAME_SYSTEM in Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu + LIBC=unknown - eval $set_cc_for_build - cat <<-EOF > $dummy.c + set_cc_for_build + cat <<-EOF > "$dummy.c" #include #if defined(__UCLIBC__) LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc - #else + #elif defined(__GLIBC__) LIBC=gnu + #else + #include + /* First heuristic to detect musl libc. */ + #ifdef __DEFINED_va_list + LIBC=musl + #endif #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval "$cc_set_libc" + + # Second heuristic to detect musl libc. + if [ "$LIBC" = unknown ] && + command -v ldd >/dev/null && + ldd --version 2>&1 | grep -q ^musl; then + LIBC=musl + fi + + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + if [ "$LIBC" = unknown ]; then + LIBC=gnu + fi ;; esac # Note: order is significant - the case branches are not exclusive. -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in +case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, @@ -167,32 +202,32 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - /sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || \ + /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ echo unknown)` - case "${UNAME_MACHINE_ARCH}" in + case $UNAME_MACHINE_ARCH in + aarch64eb) machine=aarch64_be-unknown ;; armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; earmv*) - arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` + arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` machine=${arch}${endian}-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + *) machine=$UNAME_MACHINE_ARCH-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently (or will in the future) and ABI. - case "${UNAME_MACHINE_ARCH}" in + case $UNAME_MACHINE_ARCH in earm*) os=netbsdelf ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build + set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then @@ -208,10 +243,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ;; esac # Determine ABI tags. - case "${UNAME_MACHINE_ARCH}" in + case $UNAME_MACHINE_ARCH in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` + abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` ;; esac # The OS release @@ -219,56 +254,68 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in + case $UNAME_VERSION in Debian*) release='-gnu' ;; *) - release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` + release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}${abi}" - exit ;; + GUESS=$machine-${os}${release}${abi-} + ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} - exit ;; + GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE + ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; + GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE + ;; + *:SecBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE + ;; *:LibertyBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} - exit ;; + GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE + ;; *:MidnightBSD:*:*) - echo ${UNAME_MACHINE}-unknown-midnightbsd${UNAME_RELEASE} - exit ;; + GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE + ;; *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; + GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE + ;; *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; + GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE + ;; + *:OS108:*:*) + GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE + ;; macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; + GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE + ;; *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; + GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE + ;; *:Sortix:*:*) - echo ${UNAME_MACHINE}-unknown-sortix - exit ;; + GUESS=$UNAME_MACHINE-unknown-sortix + ;; + *:Twizzler:*:*) + GUESS=$UNAME_MACHINE-unknown-twizzler + ;; *:Redox:*:*) - echo ${UNAME_MACHINE}-unknown-redox - exit ;; + GUESS=$UNAME_MACHINE-unknown-redox + ;; mips:OSF1:*.*) - echo mips-dec-osf1 - exit ;; + GUESS=mips-dec-osf1 + ;; alpha:OSF1:*:*) + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + trap '' 0 case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` @@ -282,7 +329,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in + case $ALPHA_CPU_TYPE in "EV4 (21064)") UNAME_MACHINE=alpha ;; "EV4.5 (21064)") @@ -319,75 +366,76 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; + OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + GUESS=$UNAME_MACHINE-dec-osf$OSF_REL + ;; Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; + GUESS=m68k-unknown-sysv4 + ;; *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; + GUESS=$UNAME_MACHINE-unknown-amigaos + ;; *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; + GUESS=$UNAME_MACHINE-unknown-morphos + ;; *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; + GUESS=i370-ibm-openedition + ;; *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; + GUESS=s390-ibm-zvmoe + ;; *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; + GUESS=powerpc-ibm-os400 + ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; + GUESS=arm-acorn-riscix$UNAME_RELEASE + ;; arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; + GUESS=arm-unknown-riscos + ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; + GUESS=hppa1.1-hitachi-hiuxmpp + ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; + case `(/bin/universe) 2>/dev/null` in + att) GUESS=pyramid-pyramid-sysv3 ;; + *) GUESS=pyramid-pyramid-bsd ;; + esac + ;; NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; + GUESS=pyramid-pyramid-svr4 + ;; DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; + GUESS=sparc-icl-nx6 + ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; + sparc) GUESS=sparc-icl-nx7 ;; + esac + ;; s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL + ;; sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-hal-solaris2$SUN_REL + ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-sun-solaris2$SUN_REL + ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} - exit ;; + GUESS=i386-pc-auroraux$UNAME_RELEASE + ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build + set_cc_for_build SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then + if test "$CC_FOR_BUILD" != no_compiler_found; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null @@ -395,41 +443,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in SUN_ARCH=x86_64 fi fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=$SUN_ARCH-pc-solaris2$SUN_REL + ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-sun-solaris3$SUN_REL + ;; sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in + case `/usr/bin/arch -k` in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` + GUESS=sparc-sun-sunos$SUN_REL + ;; sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; + GUESS=m68k-sun-sunos$UNAME_RELEASE + ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 - case "`/bin/arch`" in + test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 + case `/bin/arch` in sun3) - echo m68k-sun-sunos${UNAME_RELEASE} + GUESS=m68k-sun-sunos$UNAME_RELEASE ;; sun4) - echo sparc-sun-sunos${UNAME_RELEASE} + GUESS=sparc-sun-sunos$UNAME_RELEASE ;; esac - exit ;; + ;; aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; + GUESS=sparc-auspex-sunos$UNAME_RELEASE + ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor @@ -439,44 +490,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; + GUESS=m68k-milan-mint$UNAME_RELEASE + ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; + GUESS=m68k-hades-mint$UNAME_RELEASE + ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; + GUESS=m68k-unknown-mint$UNAME_RELEASE + ;; m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; + GUESS=m68k-apple-machten$UNAME_RELEASE + ;; powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; + GUESS=powerpc-apple-machten$UNAME_RELEASE + ;; RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; + GUESS=mips-dec-mach_bsd4.3 + ;; RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; + GUESS=mips-dec-ultrix$UNAME_RELEASE + ;; VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; + GUESS=vax-dec-ultrix$UNAME_RELEASE + ;; 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; + GUESS=clipper-intergraph-clix$UNAME_RELEASE + ;; mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { @@ -497,83 +548,84 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in exit (-1); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && + dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`"$dummy" "$dummyarg"` && { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; + GUESS=mips-mips-riscos$UNAME_RELEASE + ;; Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; + GUESS=powerpc-motorola-powermax + ;; Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; + GUESS=powerpc-harris-powermax + ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; + GUESS=powerpc-harris-powermax + ;; Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; + GUESS=powerpc-harris-powerunix + ;; m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; + GUESS=m88k-harris-cxux7 + ;; m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; + GUESS=m88k-motorola-sysv4 + ;; m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; + GUESS=m88k-motorola-sysv3 + ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] + if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ + test "$TARGET_BINARY_INTERFACE"x = x then - echo m88k-dg-dgux${UNAME_RELEASE} + GUESS=m88k-dg-dgux$UNAME_RELEASE else - echo m88k-dg-dguxbcs${UNAME_RELEASE} + GUESS=m88k-dg-dguxbcs$UNAME_RELEASE fi else - echo i586-dg-dgux${UNAME_RELEASE} + GUESS=i586-dg-dgux$UNAME_RELEASE fi - exit ;; + ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; + GUESS=m88k-dolphin-sysv3 + ;; M88*:*:R3*:*) # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; + GUESS=m88k-motorola-sysv3 + ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; + GUESS=m88k-tektronix-sysv3 + ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; + GUESS=m68k-tektronix-bsd + ;; *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; + IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` + GUESS=mips-sgi-irix$IRIX_REL + ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id + ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; + GUESS=i386-ibm-aix + ;; ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then + if test -x /usr/bin/oslevel ; then IBM_REV=`/usr/bin/oslevel` else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + IBM_REV=$UNAME_VERSION.$UNAME_RELEASE fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; + GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV + ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #include main() @@ -584,77 +636,77 @@ EOF exit(0); } EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` then - echo "$SYSTEM_NAME" + GUESS=$SYSTEM_NAME else - echo rs6000-ibm-aix3.2.5 + GUESS=rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 + GUESS=rs6000-ibm-aix3.2.4 else - echo rs6000-ibm-aix3.2 + GUESS=rs6000-ibm-aix3.2 fi - exit ;; + ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi - if [ -x /usr/bin/lslpp ] ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | + if test -x /usr/bin/lslpp ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + IBM_REV=$UNAME_VERSION.$UNAME_RELEASE fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; + GUESS=$IBM_ARCH-ibm-aix$IBM_REV + ;; *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; + GUESS=rs6000-ibm-aix + ;; ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) - echo romp-ibm-bsd4.4 - exit ;; + GUESS=romp-ibm-bsd4.4 + ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 + GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to + ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; + GUESS=rs6000-bull-bosx + ;; DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; + GUESS=m68k-bull-sysv3 + ;; 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; + GUESS=m68k-hp-bsd + ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; + GUESS=m68k-hp-bsd4.4 + ;; 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in + HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` + case $UNAME_MACHINE in 9000/31?) HP_ARCH=m68000 ;; 9000/[34]??) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then + if test -x /usr/bin/getconf; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in + case $sc_cpu_version in 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in + case $sc_kernel_bits in 32) HP_ARCH=hppa2.0n ;; 64) HP_ARCH=hppa2.0w ;; '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + if test "$HP_ARCH" = ""; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #define _HPUX_SOURCE #include @@ -687,13 +739,13 @@ EOF exit (0); } EOF - (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac - if [ ${HP_ARCH} = hppa2.0w ] + if test "$HP_ARCH" = hppa2.0w then - eval $set_cc_for_build + set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler @@ -712,15 +764,15 @@ EOF HP_ARCH=hppa64 fi fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; + GUESS=$HP_ARCH-hp-hpux$HPUX_REV + ;; ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; + HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` + GUESS=ia64-hp-hpux$HPUX_REV + ;; 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #include int main () @@ -745,38 +797,38 @@ EOF exit (0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; + GUESS=unknown-hitachi-hiuxwe2 + ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) - echo hppa1.1-hp-bsd - exit ;; + GUESS=hppa1.1-hp-bsd + ;; 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; + GUESS=hppa1.0-hp-bsd + ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; + GUESS=hppa1.0-hp-mpeix + ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) - echo hppa1.1-hp-osf - exit ;; + GUESS=hppa1.1-hp-osf + ;; hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; + GUESS=hppa1.0-hp-osf + ;; i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk + if test -x /usr/sbin/sysversion ; then + GUESS=$UNAME_MACHINE-unknown-osf1mk else - echo ${UNAME_MACHINE}-unknown-osf1 + GUESS=$UNAME_MACHINE-unknown-osf1 fi - exit ;; + ;; parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; + GUESS=hppa1.1-hp-lites + ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; + GUESS=c1-convex-bsd + ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd @@ -784,121 +836,145 @@ EOF fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; + GUESS=c34-convex-bsd + ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; + GUESS=c38-convex-bsd + ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; + GUESS=c4-convex-bsd + ;; CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=ymp-cray-unicos$CRAY_REL + ;; CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=t90-cray-unicos$CRAY_REL + ;; CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=alphaev5-cray-unicosmk$CRAY_REL + ;; CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=sv1-cray-unicos$CRAY_REL + ;; *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=craynv-cray-unicosmp$CRAY_REL + ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; + FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` + GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; + FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` + GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; + GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE + ;; sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; + GUESS=sparc-unknown-bsdi$UNAME_RELEASE + ;; *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; + GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE + ;; + arm:FreeBSD:*:*) + UNAME_PROCESSOR=`uname -p` + set_cc_for_build + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi + else + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf + fi + ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` - case ${UNAME_PROCESSOR} in + case $UNAME_PROCESSOR in amd64) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL + ;; i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; + GUESS=$UNAME_MACHINE-pc-cygwin + ;; *:MINGW64*:*) - echo ${UNAME_MACHINE}-pc-mingw64 - exit ;; + GUESS=$UNAME_MACHINE-pc-mingw64 + ;; *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; + GUESS=$UNAME_MACHINE-pc-mingw32 + ;; *:MSYS*:*) - echo ${UNAME_MACHINE}-pc-msys - exit ;; + GUESS=$UNAME_MACHINE-pc-msys + ;; i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; + GUESS=$UNAME_MACHINE-pc-pw32 + ;; *:Interix*:*) - case ${UNAME_MACHINE} in + case $UNAME_MACHINE in x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; + GUESS=i586-pc-interix$UNAME_RELEASE + ;; authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; + GUESS=x86_64-unknown-interix$UNAME_RELEASE + ;; IA64) - echo ia64-unknown-interix${UNAME_RELEASE} - exit ;; + GUESS=ia64-unknown-interix$UNAME_RELEASE + ;; esac ;; i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; + GUESS=$UNAME_MACHINE-pc-uwin + ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; + GUESS=x86_64-pc-cygwin + ;; prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=powerpcle-unknown-solaris2$SUN_REL + ;; *:GNU:*:*) # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; + GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` + GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL + ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; + GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC + ;; + *:Minix:*:*) + GUESS=$UNAME_MACHINE-unknown-minix + ;; aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; @@ -909,183 +985,225 @@ EOF esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; arm*:Linux:*:*) - eval $set_cc_for_build + set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi else - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf fi fi - exit ;; + ;; avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; e2k:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; i*86:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-pc-linux-$LIBC + ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; k1om:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + set_cc_for_build + IS_GLIBC=0 + test x"${LIBC}" = xgnu && IS_GLIBC=1 + sed 's/^ //' << EOF > "$dummy.c" #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el + #undef mips + #undef mipsel + #undef mips64 + #undef mips64el + #if ${IS_GLIBC} && defined(_ABI64) + LIBCABI=gnuabi64 + #else + #if ${IS_GLIBC} && defined(_ABIN32) + LIBCABI=gnuabin32 + #else + LIBCABI=${LIBC} + #endif + #endif + + #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa64r6 + #else + #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa32r6 + #else + #if defined(__mips64) + CPU=mips64 + #else + CPU=mips + #endif + #endif + #endif + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el + MIPS_ENDIAN=el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} + MIPS_ENDIAN= #else - CPU= + MIPS_ENDIAN= #endif #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } + cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` + eval "$cc_set_vars" + test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } ;; mips64el:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; openrisc*:Linux:*:*) - echo or1k-unknown-linux-${LIBC} - exit ;; + GUESS=or1k-unknown-linux-$LIBC + ;; or32:Linux:*:* | or1k*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; padre:Linux:*:*) - echo sparc-unknown-linux-${LIBC} - exit ;; + GUESS=sparc-unknown-linux-$LIBC + ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-${LIBC} - exit ;; + GUESS=hppa64-unknown-linux-$LIBC + ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; - *) echo hppa-unknown-linux-${LIBC} ;; + PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; + PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; + *) GUESS=hppa-unknown-linux-$LIBC ;; esac - exit ;; + ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-${LIBC} - exit ;; + GUESS=powerpc64-unknown-linux-$LIBC + ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-${LIBC} - exit ;; + GUESS=powerpc-unknown-linux-$LIBC + ;; ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-${LIBC} - exit ;; + GUESS=powerpc64le-unknown-linux-$LIBC + ;; ppcle:Linux:*:*) - echo powerpcle-unknown-linux-${LIBC} - exit ;; - riscv32:Linux:*:* | riscv64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; + GUESS=powerpcle-unknown-linux-$LIBC + ;; + riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-ibm-linux-$LIBC + ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-dec-linux-$LIBC + ;; x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} - exit ;; + set_cc_for_build + LIBCABI=$LIBC + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_X32 >/dev/null + then + LIBCABI=${LIBC}x32 + fi + fi + GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI + ;; xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; + GUESS=i386-sequent-sysv4 + ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; + GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION + ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; + GUESS=$UNAME_MACHINE-pc-os2-emx + ;; i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; + GUESS=$UNAME_MACHINE-unknown-stop + ;; i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; + GUESS=$UNAME_MACHINE-unknown-atheos + ;; i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; + GUESS=$UNAME_MACHINE-pc-syllable + ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; + GUESS=i386-unknown-lynxos$UNAME_RELEASE + ;; i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; + GUESS=$UNAME_MACHINE-pc-msdosdjgpp + ;; i*86:*:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL fi - exit ;; + ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in @@ -1093,12 +1211,12 @@ EOF *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; + GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 @@ -1108,11 +1226,11 @@ EOF && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL else - echo ${UNAME_MACHINE}-pc-sysv32 + GUESS=$UNAME_MACHINE-pc-sysv32 fi - exit ;; + ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about @@ -1120,31 +1238,31 @@ EOF # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; + GUESS=i586-pc-msdosdjgpp + ;; Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; + GUESS=i386-pc-mach3 + ;; paragon:*:*:*) - echo i860-intel-osf1 - exit ;; + GUESS=i860-intel-osf1 + ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 fi - exit ;; + ;; mini*:CTIX:SYS*5:*) # "miniframe" - echo m68010-convergent-sysv - exit ;; + GUESS=m68010-convergent-sysv + ;; mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; + GUESS=m68k-convergent-sysv + ;; M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; + GUESS=m68k-diab-dnix + ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) @@ -1152,9 +1270,9 @@ EOF test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; @@ -1163,252 +1281,407 @@ EOF test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; + GUESS=m68k-unknown-lynxos$UNAME_RELEASE + ;; mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; + GUESS=m68k-atari-sysv4 + ;; TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; + GUESS=sparc-unknown-lynxos$UNAME_RELEASE + ;; rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; + GUESS=rs6000-unknown-lynxos$UNAME_RELEASE + ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; + GUESS=powerpc-unknown-lynxos$UNAME_RELEASE + ;; SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; + GUESS=mips-dde-sysv$UNAME_RELEASE + ;; RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; + GUESS=mips-sni-sysv4 + ;; RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; + GUESS=mips-sni-sysv4 + ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 + GUESS=$UNAME_MACHINE-sni-sysv4 else - echo ns32k-sni-sysv + GUESS=ns32k-sni-sysv fi - exit ;; + ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says - echo i586-unisys-sysv4 - exit ;; + GUESS=i586-unisys-sysv4 + ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; + GUESS=hppa1.1-stratus-sysv4 + ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; + GUESS=i860-stratus-sysv4 + ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; + GUESS=$UNAME_MACHINE-stratus-vos + ;; *:VOS:*:*) # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; + GUESS=hppa1.1-stratus-vos + ;; mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; + GUESS=m68k-apple-aux$UNAME_RELEASE + ;; news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; + GUESS=mips-sony-newsos6 + ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} + if test -d /usr/nec; then + GUESS=mips-nec-sysv$UNAME_RELEASE else - echo mips-unknown-sysv${UNAME_RELEASE} + GUESS=mips-unknown-sysv$UNAME_RELEASE fi - exit ;; + ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; + GUESS=powerpc-be-beos + ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; + GUESS=powerpc-apple-beos + ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; + GUESS=i586-pc-beos + ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; + GUESS=i586-pc-haiku + ;; x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; + GUESS=x86_64-unknown-haiku + ;; SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; + GUESS=sx4-nec-superux$UNAME_RELEASE + ;; SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; + GUESS=sx5-nec-superux$UNAME_RELEASE + ;; SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; + GUESS=sx6-nec-superux$UNAME_RELEASE + ;; SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; + GUESS=sx7-nec-superux$UNAME_RELEASE + ;; SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; + GUESS=sx8-nec-superux$UNAME_RELEASE + ;; SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; + GUESS=sx8r-nec-superux$UNAME_RELEASE + ;; SX-ACE:SUPER-UX:*:*) - echo sxace-nec-superux${UNAME_RELEASE} - exit ;; + GUESS=sxace-nec-superux$UNAME_RELEASE + ;; Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; + GUESS=powerpc-apple-rhapsody$UNAME_RELEASE + ;; *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; + GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE + ;; + arm64:Darwin:*:*) + GUESS=aarch64-apple-darwin$UNAME_RELEASE + ;; *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - eval $set_cc_for_build - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc + UNAME_PROCESSOR=`uname -p` + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + if command -v xcode-select > /dev/null 2> /dev/null && \ + ! xcode-select --print-path > /dev/null 2> /dev/null ; then + # Avoid executing cc if there is no toolchain installed as + # cc will be a stub that puts up a graphical alert + # prompting the user to install developer tools. + CC_FOR_BUILD=no_compiler_found + else + set_cc_for_build fi - if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc - if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_PPC >/dev/null - then - UNAME_PROCESSOR=powerpc - fi + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc fi elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 + # uname -m returns i386 or x86_64 + UNAME_PROCESSOR=$UNAME_MACHINE fi - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; + GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE + ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; + GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE + ;; *:QNX:*:4*) - echo i386-pc-qnx - exit ;; + GUESS=i386-pc-qnx + ;; NEO-*:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} - exit ;; + GUESS=neo-tandem-nsk$UNAME_RELEASE + ;; NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; + GUESS=nse-tandem-nsk$UNAME_RELEASE + ;; NSR-*:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; + GUESS=nsr-tandem-nsk$UNAME_RELEASE + ;; + NSV-*:NONSTOP_KERNEL:*:*) + GUESS=nsv-tandem-nsk$UNAME_RELEASE + ;; NSX-*:NONSTOP_KERNEL:*:*) - echo nsx-tandem-nsk${UNAME_RELEASE} - exit ;; + GUESS=nsx-tandem-nsk$UNAME_RELEASE + ;; *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; + GUESS=mips-compaq-nonstopux + ;; BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; + GUESS=bs2000-siemens-sysv + ;; DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; + GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE + ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. - if test "$cputype" = 386; then + if test "${cputype-}" = 386; then UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" + elif test "x${cputype-}" != x; then + UNAME_MACHINE=$cputype fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; + GUESS=$UNAME_MACHINE-unknown-plan9 + ;; *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; + GUESS=pdp10-unknown-tops10 + ;; *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; + GUESS=pdp10-unknown-tenex + ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; + GUESS=pdp10-dec-tops20 + ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; + GUESS=pdp10-xkl-tops20 + ;; *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; + GUESS=pdp10-unknown-tops20 + ;; *:ITS:*:*) - echo pdp10-unknown-its - exit ;; + GUESS=pdp10-unknown-its + ;; SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; + GUESS=mips-sei-seiux$UNAME_RELEASE + ;; *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; + DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL + ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; + case $UNAME_MACHINE in + A*) GUESS=alpha-dec-vms ;; + I*) GUESS=ia64-dec-vms ;; + V*) GUESS=vax-dec-vms ;; esac ;; *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; + GUESS=i386-pc-xenix + ;; i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` - exit ;; + SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` + GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL + ;; i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; + GUESS=$UNAME_MACHINE-pc-rdos + ;; + *:AROS:*:*) + GUESS=$UNAME_MACHINE-unknown-aros + ;; x86_64:VMkernel:*:*) - echo ${UNAME_MACHINE}-unknown-esx - exit ;; + GUESS=$UNAME_MACHINE-unknown-esx + ;; amd64:Isilon\ OneFS:*:*) - echo x86_64-unknown-onefs - exit ;; + GUESS=x86_64-unknown-onefs + ;; + *:Unleashed:*:*) + GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE + ;; esac +# Do we have a guess based on uname results? +if test "x$GUESS" != x; then + echo "$GUESS" + exit +fi + +# No uname command or uname output not recognized. +set_cc_for_build +cat > "$dummy.c" < +#include +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#include +#if defined(_SIZE_T_) || defined(SIGLOST) +#include +#endif +#endif +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); +#endif + +#if defined (vax) +#if !defined (ultrix) +#include +#if defined (BSD) +#if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +#else +#if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#endif +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#else +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname un; + uname (&un); + printf ("vax-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname *un; + uname (&un); + printf ("mips-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("mips-dec-ultrix\n"); exit (0); +#endif +#endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. +test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } + echo "$0: unable to guess system type" >&2 -case "${UNAME_MACHINE}:${UNAME_SYSTEM}" in +case $UNAME_MACHINE:$UNAME_SYSTEM in mips:Linux | mips64:Linux) # If we got here on MIPS GNU/Linux, output extra information. cat >&2 <&2 </dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} +UNAME_MACHINE = "$UNAME_MACHINE" +UNAME_RELEASE = "$UNAME_RELEASE" +UNAME_SYSTEM = "$UNAME_SYSTEM" +UNAME_VERSION = "$UNAME_VERSION" EOF +fi exit 1 # Local variables: -# eval: (add-hook 'write-file-functions 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" diff --git a/build/config.sub b/build/config.sub index f2632cd..d74fb6d 100755 --- a/build/config.sub +++ b/build/config.sub @@ -1,8 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2018 Free Software Foundation, Inc. +# Copyright 1992-2021 Free Software Foundation, Inc. -timestamp='2018-01-01' +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2021-08-14' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -33,7 +35,7 @@ timestamp='2018-01-01' # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub +# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases @@ -50,6 +52,13 @@ timestamp='2018-01-01' # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + me=`echo "$0" | sed -e 's,.*/,,'` usage="\ @@ -67,7 +76,7 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright 1992-2018 Free Software Foundation, Inc. +Copyright 1992-2021 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -89,12 +98,12 @@ while test $# -gt 0 ; do - ) # Use stdin as input. break ;; -* ) - echo "$me: invalid option $1$help" + echo "$me: invalid option $1$help" >&2 exit 1 ;; *local*) # First pass through any local machine types. - echo $1 + echo "$1" exit ;; * ) @@ -110,1251 +119,1181 @@ case $# in exit 1;; esac -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ - kopensolaris*-gnu* | cloudabi*-eabi* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - android-linux) - os=-linux-android - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac +# Split fields of configuration type +# shellcheck disable=SC2162 +saved_IFS=$IFS +IFS="-" read field1 field2 field3 field4 <&2 + exit 1 ;; - -lynx*) - os=-lynxos + *-*-*-*) + basic_machine=$field1-$field2 + basic_os=$field3-$field4 ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + *-*-*) + # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two + # parts + maybe_os=$field2-$field3 + case $maybe_os in + nto-qnx* | linux-* | uclinux-uclibc* \ + | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ + | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ + | storm-chaos* | os2-emx* | rtmk-nova*) + basic_machine=$field1 + basic_os=$maybe_os + ;; + android-linux) + basic_machine=$field1-unknown + basic_os=linux-android + ;; + *) + basic_machine=$field1-$field2 + basic_os=$field3 + ;; + esac ;; - -psos*) - os=-psos + *-*) + # A lone config we happen to match not fitting any pattern + case $field1-$field2 in + decstation-3100) + basic_machine=mips-dec + basic_os= + ;; + *-*) + # Second component is usually, but not always the OS + case $field2 in + # Prevent following clause from handling this valid os + sun*os*) + basic_machine=$field1 + basic_os=$field2 + ;; + zephyr*) + basic_machine=$field1-unknown + basic_os=$field2 + ;; + # Manufacturers + dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ + | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ + | unicom* | ibm* | next | hp | isi* | apollo | altos* \ + | convergent* | ncr* | news | 32* | 3600* | 3100* \ + | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ + | ultra | tti* | harris | dolphin | highlevel | gould \ + | cbm | ns | masscomp | apple | axis | knuth | cray \ + | microblaze* | sim | cisco \ + | oki | wec | wrs | winbond) + basic_machine=$field1-$field2 + basic_os= + ;; + *) + basic_machine=$field1 + basic_os=$field2 + ;; + esac + ;; + esac ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint + *) + # Convert single-component short-hands not valid as part of + # multi-component configurations. + case $field1 in + 386bsd) + basic_machine=i386-pc + basic_os=bsd + ;; + a29khif) + basic_machine=a29k-amd + basic_os=udi + ;; + adobe68k) + basic_machine=m68010-adobe + basic_os=scout + ;; + alliant) + basic_machine=fx80-alliant + basic_os= + ;; + altos | altos3068) + basic_machine=m68k-altos + basic_os= + ;; + am29k) + basic_machine=a29k-none + basic_os=bsd + ;; + amdahl) + basic_machine=580-amdahl + basic_os=sysv + ;; + amiga) + basic_machine=m68k-unknown + basic_os= + ;; + amigaos | amigados) + basic_machine=m68k-unknown + basic_os=amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + basic_os=sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + basic_os=sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + basic_os=bsd + ;; + aros) + basic_machine=i386-pc + basic_os=aros + ;; + aux) + basic_machine=m68k-apple + basic_os=aux + ;; + balance) + basic_machine=ns32k-sequent + basic_os=dynix + ;; + blackfin) + basic_machine=bfin-unknown + basic_os=linux + ;; + cegcc) + basic_machine=arm-unknown + basic_os=cegcc + ;; + convex-c1) + basic_machine=c1-convex + basic_os=bsd + ;; + convex-c2) + basic_machine=c2-convex + basic_os=bsd + ;; + convex-c32) + basic_machine=c32-convex + basic_os=bsd + ;; + convex-c34) + basic_machine=c34-convex + basic_os=bsd + ;; + convex-c38) + basic_machine=c38-convex + basic_os=bsd + ;; + cray) + basic_machine=j90-cray + basic_os=unicos + ;; + crds | unos) + basic_machine=m68k-crds + basic_os= + ;; + da30) + basic_machine=m68k-da30 + basic_os= + ;; + decstation | pmax | pmin | dec3100 | decstatn) + basic_machine=mips-dec + basic_os= + ;; + delta88) + basic_machine=m88k-motorola + basic_os=sysv3 + ;; + dicos) + basic_machine=i686-pc + basic_os=dicos + ;; + djgpp) + basic_machine=i586-pc + basic_os=msdosdjgpp + ;; + ebmon29k) + basic_machine=a29k-amd + basic_os=ebmon + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + basic_os=ose + ;; + gmicro) + basic_machine=tron-gmicro + basic_os=sysv + ;; + go32) + basic_machine=i386-pc + basic_os=go32 + ;; + h8300hms) + basic_machine=h8300-hitachi + basic_os=hms + ;; + h8300xray) + basic_machine=h8300-hitachi + basic_os=xray + ;; + h8500hms) + basic_machine=h8500-hitachi + basic_os=hms + ;; + harris) + basic_machine=m88k-harris + basic_os=sysv3 + ;; + hp300 | hp300hpux) + basic_machine=m68k-hp + basic_os=hpux + ;; + hp300bsd) + basic_machine=m68k-hp + basic_os=bsd + ;; + hppaosf) + basic_machine=hppa1.1-hp + basic_os=osf + ;; + hppro) + basic_machine=hppa1.1-hp + basic_os=proelf + ;; + i386mach) + basic_machine=i386-mach + basic_os=mach + ;; + isi68 | isi) + basic_machine=m68k-isi + basic_os=sysv + ;; + m68knommu) + basic_machine=m68k-unknown + basic_os=linux + ;; + magnum | m3230) + basic_machine=mips-mips + basic_os=sysv + ;; + merlin) + basic_machine=ns32k-utek + basic_os=sysv + ;; + mingw64) + basic_machine=x86_64-pc + basic_os=mingw64 + ;; + mingw32) + basic_machine=i686-pc + basic_os=mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + basic_os=mingw32ce + ;; + monitor) + basic_machine=m68k-rom68k + basic_os=coff + ;; + morphos) + basic_machine=powerpc-unknown + basic_os=morphos + ;; + moxiebox) + basic_machine=moxie-unknown + basic_os=moxiebox + ;; + msdos) + basic_machine=i386-pc + basic_os=msdos + ;; + msys) + basic_machine=i686-pc + basic_os=msys + ;; + mvs) + basic_machine=i370-ibm + basic_os=mvs + ;; + nacl) + basic_machine=le32-unknown + basic_os=nacl + ;; + ncr3000) + basic_machine=i486-ncr + basic_os=sysv4 + ;; + netbsd386) + basic_machine=i386-pc + basic_os=netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + basic_os=linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + basic_os=newsos + ;; + news1000) + basic_machine=m68030-sony + basic_os=newsos + ;; + necv70) + basic_machine=v70-nec + basic_os=sysv + ;; + nh3000) + basic_machine=m68k-harris + basic_os=cxux + ;; + nh[45]000) + basic_machine=m88k-harris + basic_os=cxux + ;; + nindy960) + basic_machine=i960-intel + basic_os=nindy + ;; + mon960) + basic_machine=i960-intel + basic_os=mon960 + ;; + nonstopux) + basic_machine=mips-compaq + basic_os=nonstopux + ;; + os400) + basic_machine=powerpc-ibm + basic_os=os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + basic_os=ose + ;; + os68k) + basic_machine=m68k-none + basic_os=os68k + ;; + paragon) + basic_machine=i860-intel + basic_os=osf + ;; + parisc) + basic_machine=hppa-unknown + basic_os=linux + ;; + psp) + basic_machine=mipsallegrexel-sony + basic_os=psp + ;; + pw32) + basic_machine=i586-unknown + basic_os=pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + basic_os=rdos + ;; + rdos32) + basic_machine=i386-pc + basic_os=rdos + ;; + rom68k) + basic_machine=m68k-rom68k + basic_os=coff + ;; + sa29200) + basic_machine=a29k-amd + basic_os=udi + ;; + sei) + basic_machine=mips-sei + basic_os=seiux + ;; + sequent) + basic_machine=i386-sequent + basic_os= + ;; + sps7) + basic_machine=m68k-bull + basic_os=sysv2 + ;; + st2000) + basic_machine=m68k-tandem + basic_os= + ;; + stratus) + basic_machine=i860-stratus + basic_os=sysv4 + ;; + sun2) + basic_machine=m68000-sun + basic_os= + ;; + sun2os3) + basic_machine=m68000-sun + basic_os=sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + basic_os=sunos4 + ;; + sun3) + basic_machine=m68k-sun + basic_os= + ;; + sun3os3) + basic_machine=m68k-sun + basic_os=sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + basic_os=sunos4 + ;; + sun4) + basic_machine=sparc-sun + basic_os= + ;; + sun4os3) + basic_machine=sparc-sun + basic_os=sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + basic_os=sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + basic_os=solaris2 + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + basic_os= + ;; + sv1) + basic_machine=sv1-cray + basic_os=unicos + ;; + symmetry) + basic_machine=i386-sequent + basic_os=dynix + ;; + t3e) + basic_machine=alphaev5-cray + basic_os=unicos + ;; + t90) + basic_machine=t90-cray + basic_os=unicos + ;; + toad1) + basic_machine=pdp10-xkl + basic_os=tops20 + ;; + tpf) + basic_machine=s390x-ibm + basic_os=tpf + ;; + udi29k) + basic_machine=a29k-amd + basic_os=udi + ;; + ultra3) + basic_machine=a29k-nyu + basic_os=sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + basic_os=none + ;; + vaxv) + basic_machine=vax-dec + basic_os=sysv + ;; + vms) + basic_machine=vax-dec + basic_os=vms + ;; + vsta) + basic_machine=i386-pc + basic_os=vsta + ;; + vxworks960) + basic_machine=i960-wrs + basic_os=vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + basic_os=vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + basic_os=vxworks + ;; + xbox) + basic_machine=i686-pc + basic_os=mingw32 + ;; + ymp) + basic_machine=ymp-cray + basic_os=unicos + ;; + *) + basic_machine=$1 + basic_os= + ;; + esac ;; esac -# Decode aliases for certain CPU-COMPANY combinations. +# Decode 1-component or ad-hoc basic machines case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arceb \ - | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ - | avr | avr32 \ - | ba \ - | be32 | be64 \ - | bfin \ - | c4x | c8051 | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | e2k | epiphany \ - | fido | fr30 | frv | ft32 \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i860 | i960 | ia16 | ia64 \ - | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pru \ - | pyramid \ - | riscv32 | riscv64 \ - | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ - | visium \ - | wasm32 \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; - leon|leon[3-9]) - basic_machine=sparc-$basic_machine - ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) - basic_machine=$basic_machine-unknown - os=-none + # Here we handle the default manufacturer of certain CPU types. It is in + # some cases the only manufacturer, in others, it is the most popular. + w89k) + cpu=hppa1.1 + vendor=winbond ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + op50n) + cpu=hppa1.1 + vendor=oki ;; - ms1) - basic_machine=mt-unknown + op60c) + cpu=hppa1.1 + vendor=oki ;; - - strongarm | thumb | xscale) - basic_machine=arm-unknown + ibm*) + cpu=i370 + vendor=ibm ;; - xgate) - basic_machine=$basic_machine-unknown - os=-none + orion105) + cpu=clipper + vendor=highlevel ;; - xscaleeb) - basic_machine=armeb-unknown + mac | mpw | mac-mpw) + cpu=m68k + vendor=apple ;; - - xscaleel) - basic_machine=armel-unknown + pmac | pmac-mpw) + cpu=powerpc + vendor=apple ;; - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | ba-* \ - | be32-* | be64-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | e2k-* | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | hexagon-* \ - | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ - | ip2k-* | iq2000-* \ - | k1om-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | microblaze-* | microblazeel-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa32r6-* | mipsisa32r6el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64r6-* | mipsisa64r6el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | or1k*-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pru-* \ - | pyramid-* \ - | riscv32-* | riscv64-* \ - | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ - | visium-* \ - | wasm32-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att + cpu=m68000 + vendor=att ;; 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - asmjs) - basic_machine=asmjs-unknown - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux + cpu=we32k + vendor=att ;; bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c54x-*) - basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16 | cr16-*) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec + cpu=powerpc + vendor=ibm + basic_os=cnk ;; decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 + cpu=pdp10 + vendor=dec + basic_os=tops10 ;; decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 + cpu=pdp10 + vendor=dec + basic_os=tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx + cpu=m68k + vendor=motorola ;; dpx2*) - basic_machine=m68k-bull - os=-sysv3 - ;; - e500v[12]) - basic_machine=powerpc-unknown - os=$os"spe" - ;; - e500v[12]-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - os=$os"spe" - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd + cpu=m68k + vendor=bull + basic_os=sysv3 ;; encore | umax | mmax) - basic_machine=ns32k-encore + cpu=ns32k + vendor=encore ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose + elxsi) + cpu=elxsi + vendor=elxsi + basic_os=${basic_os:-bsd} ;; fx2800) - basic_machine=i860-alliant + cpu=i860 + vendor=alliant ;; genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 + cpu=ns32k + vendor=ns ;; h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp + cpu=hppa1.0 + vendor=hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp + cpu=m68000 + vendor=hp ;; hp9k3[2-9][0-9]) - basic_machine=m68k-hp + cpu=m68k + vendor=hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp + cpu=hppa1.0 + vendor=hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm + cpu=hppa1.0 + vendor=hp ;; i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv32 ;; i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv4 ;; i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv ;; i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=solaris2 ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta + j90 | j90-cray) + cpu=j90 + vendor=cray + basic_os=${basic_os:-unicos} ;; iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) + cpu=mips + vendor=sgi + case $basic_os in + irix*) ;; *) - os=-irix4 + basic_os=irix4 ;; esac ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - leon-*|leon[3-9]-*) - basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze*) - basic_machine=microblaze-xilinx - ;; - mingw64) - basic_machine=x86_64-pc - os=-mingw64 - ;; - mingw32) - basic_machine=i686-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; miniframe) - basic_machine=m68000-convergent + cpu=m68000 + vendor=convergent ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - moxiebox) - basic_machine=moxie-unknown - os=-moxiebox - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - msys) - basic_machine=i686-pc - os=-msys - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - nacl) - basic_machine=le32-unknown - os=-nacl - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos + *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) + cpu=m68k + vendor=atari + basic_os=mint ;; news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv + cpu=mips + vendor=sony + basic_os=newsos ;; next | m*-next) - basic_machine=m68k-next - case $os in - -nextstep* ) + cpu=m68k + vendor=next + case $basic_os in + openstep*) + ;; + nextstep*) ;; - -ns2*) - os=-nextstep2 + ns2*) + basic_os=nextstep2 ;; *) - os=-nextstep3 + basic_os=nextstep3 ;; esac ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; np1) - basic_machine=np1-gould - ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - nsx-tandem) - basic_machine=nsx-tandem + cpu=np1 + vendor=gould ;; op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k + cpu=hppa1.1 + vendor=oki + basic_os=proelf ;; pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 ;; pbd) - basic_machine=sparc-tti + cpu=sparc + vendor=tti ;; pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + cpu=m68k + vendor=tti ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + pc532) + cpu=ns32k + vendor=pc532 ;; pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc | ppcbe) basic_machine=powerpc-unknown - ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + cpu=pn + vendor=gould ;; - ppcle | powerpclittle) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + power) + cpu=power + vendor=ibm ;; ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - os=-rdos - ;; - rdos32) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff + cpu=i386 + vendor=ibm ;; rm[46]00) - basic_machine=mips-siemens + cpu=mips + vendor=siemens ;; rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown + cpu=romp + vendor=ibm ;; sde) - basic_machine=mipsisa32-sde - os=-elf + cpu=mipsisa32 + vendor=sde + basic_os=${basic_os:-elf} ;; - sei) - basic_machine=mips-sei - os=-seiux + simso-wrs) + cpu=sparclite + vendor=wrs + basic_os=vxworks ;; - sequent) - basic_machine=i386-sequent + tower | tower-32) + cpu=m68k + vendor=ncr ;; - sh) - basic_machine=sh-hitachi - os=-hms + vpp*|vx|vx-*) + cpu=f301 + vendor=fujitsu ;; - sh5el) - basic_machine=sh5le-unknown + w65) + cpu=w65 + vendor=wdc ;; - sh64) - basic_machine=sh64-unknown + w89k-*) + cpu=hppa1.1 + vendor=winbond + basic_os=proelf ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks + none) + cpu=none + vendor=none ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 + leon|leon[3-9]) + cpu=sparc + vendor=$basic_machine ;; - spur) - basic_machine=spur-unknown + leon-*|leon[3-9]-*) + cpu=sparc + vendor=`echo "$basic_machine" | sed 's/-.*//'` ;; - st2000) - basic_machine=m68k-tandem + + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read cpu vendor <&2 - exit 1 + # Recognize the canonical CPU types that are allowed with any + # company name. + case $cpu in + 1750a | 580 \ + | a29k \ + | aarch64 | aarch64_be \ + | abacus \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ + | alphapca5[67] | alpha64pca5[67] \ + | am33_2.0 \ + | amdgcn \ + | arc | arceb | arc32 | arc64 \ + | arm | arm[lb]e | arme[lb] | armv* \ + | avr | avr32 \ + | asmjs \ + | ba \ + | be32 | be64 \ + | bfin | bpf | bs2000 \ + | c[123]* | c30 | [cjt]90 | c4x \ + | c8051 | clipper | craynv | csky | cydra \ + | d10v | d30v | dlx | dsp16xx \ + | e2k | elxsi | epiphany \ + | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ + | h8300 | h8500 \ + | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ + | i370 | i*86 | i860 | i960 | ia16 | ia64 \ + | ip2k | iq2000 \ + | k1om \ + | le32 | le64 \ + | lm32 \ + | loongarch32 | loongarch64 | loongarchx32 \ + | m32c | m32r | m32rle \ + | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \ + | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ + | m88110 | m88k | maxq | mb | mcore | mep | metag \ + | microblaze | microblazeel \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64eb | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa32r3 | mipsisa32r3el \ + | mipsisa32r5 | mipsisa32r5el \ + | mipsisa32r6 | mipsisa32r6el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r3 | mipsisa64r3el \ + | mipsisa64r5 | mipsisa64r5el \ + | mipsisa64r6 | mipsisa64r6el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ + | mipstx39 | mipstx39el \ + | mmix \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nds32 | nds32le | nds32be \ + | nfp \ + | nios | nios2 | nios2eb | nios2el \ + | none | np1 | ns16k | ns32k | nvptx \ + | open8 \ + | or1k* \ + | or32 \ + | orion \ + | picochip \ + | pdp10 | pdp11 | pj | pjl | pn | power \ + | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ + | pru \ + | pyramid \ + | riscv | riscv32 | riscv32be | riscv64 | riscv64be \ + | rl78 | romp | rs6000 | rx \ + | s390 | s390x \ + | score \ + | sh | shl \ + | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \ + | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ + | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ + | spu \ + | tahoe \ + | thumbv7* \ + | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ + | tron \ + | ubicom32 \ + | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ + | vax \ + | visium \ + | w65 \ + | wasm32 | wasm64 \ + | we32k \ + | x86 | x86_64 | xc16x | xgate | xps100 \ + | xstormy16 | xtensa* \ + | ymp \ + | z8k | z80) + ;; + + *) + echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2 + exit 1 + ;; + esac ;; esac # Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` +case $vendor in + digital*) + vendor=dec ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + commodore*) + vendor=cbm ;; *) ;; @@ -1362,216 +1301,215 @@ esac # Decode manufacturer-specific aliases for certain operating systems. -if [ x"$os" != x"" ] +if test x$basic_os != x then + +# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just +# set os. +case $basic_os in + gnu/linux*) + kernel=linux + os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` + ;; + os2-emx) + kernel=os2 + os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` + ;; + nto-qnx*) + kernel=nto + os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` + ;; + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read kernel os <&2 - exit 1 + # No normalization, but not necessarily accepted, that comes below. ;; esac + else # Here we handle the default operating systems that come with various machines. @@ -1584,264 +1522,362 @@ else # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. -case $basic_machine in +kernel= +case $cpu-$vendor in score-*) - os=-elf + os=elf ;; spu-*) - os=-elf + os=elf ;; *-acorn) - os=-riscix1.2 + os=riscix1.2 ;; arm*-rebel) - os=-linux + kernel=linux + os=gnu ;; arm*-semi) - os=-aout + os=aout ;; c4x-* | tic4x-*) - os=-coff + os=coff ;; c8051-*) - os=-elf + os=elf + ;; + clipper-intergraph) + os=clix ;; hexagon-*) - os=-elf + os=elf ;; tic54x-*) - os=-coff + os=coff ;; tic55x-*) - os=-coff + os=coff ;; tic6x-*) - os=-coff + os=coff ;; # This must come before the *-dec entry. pdp10-*) - os=-tops20 + os=tops20 ;; pdp11-*) - os=-none + os=none ;; *-dec | vax-*) - os=-ultrix4.2 + os=ultrix4.2 ;; m68*-apollo) - os=-domain + os=domain ;; i386-sun) - os=-sunos4.0.2 + os=sunos4.0.2 ;; m68000-sun) - os=-sunos3 + os=sunos3 ;; m68*-cisco) - os=-aout + os=aout ;; mep-*) - os=-elf + os=elf ;; mips*-cisco) - os=-elf + os=elf ;; mips*-*) - os=-elf + os=elf ;; or32-*) - os=-coff + os=coff ;; *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 + os=sysv3 ;; sparc-* | *-sun) - os=-sunos4.1.1 + os=sunos4.1.1 ;; pru-*) - os=-elf + os=elf ;; *-be) - os=-beos - ;; - *-haiku) - os=-haiku + os=beos ;; *-ibm) - os=-aix + os=aix ;; *-knuth) - os=-mmixware + os=mmixware ;; *-wec) - os=-proelf + os=proelf ;; *-winbond) - os=-proelf + os=proelf ;; *-oki) - os=-proelf + os=proelf ;; *-hp) - os=-hpux + os=hpux ;; *-hitachi) - os=-hiux + os=hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv + os=sysv ;; *-cbm) - os=-amigaos + os=amigaos ;; *-dg) - os=-dgux + os=dgux ;; *-dolphin) - os=-sysv3 + os=sysv3 ;; m68k-ccur) - os=-rtu + os=rtu ;; m88k-omron*) - os=-luna + os=luna ;; *-next) - os=-nextstep + os=nextstep ;; *-sequent) - os=-ptx + os=ptx ;; *-crds) - os=-unos + os=unos ;; *-ns) - os=-genix + os=genix ;; i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 + os=mvs ;; *-gould) - os=-sysv + os=sysv ;; *-highlevel) - os=-bsd + os=bsd ;; *-encore) - os=-bsd + os=bsd ;; *-sgi) - os=-irix + os=irix ;; *-siemens) - os=-sysv4 + os=sysv4 ;; *-masscomp) - os=-rtu + os=rtu ;; f30[01]-fujitsu | f700-fujitsu) - os=-uxpv + os=uxpv ;; *-rom68k) - os=-coff + os=coff ;; *-*bug) - os=-coff + os=coff ;; *-apple) - os=-macos + os=macos ;; *-atari*) - os=-mint + os=mint + ;; + *-wrs) + os=vxworks ;; *) - os=-none + os=none ;; esac + fi +# Now, validate our (potentially fixed-up) OS. +case $os in + # Sometimes we do "kernel-libc", so those need to count as OSes. + musl* | newlib* | relibc* | uclibc*) + ;; + # Likewise for "kernel-abi" + eabi* | gnueabi*) + ;; + # VxWorks passes extra cpu info in the 4th filed. + simlinux | simwindows | spe) + ;; + # Now accept the basic system types. + # The portable systems comes first. + # Each alternative MUST end in a * to match a version number. + gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ + | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \ + | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ + | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ + | hiux* | abug | nacl* | netware* | windows* \ + | os9* | macos* | osx* | ios* \ + | mpw* | magic* | mmixware* | mon960* | lnews* \ + | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ + | aos* | aros* | cloudabi* | sortix* | twizzler* \ + | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ + | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ + | mirbsd* | netbsd* | dicos* | openedition* | ose* \ + | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \ + | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \ + | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ + | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ + | udi* | lites* | ieee* | go32* | aux* | hcos* \ + | chorusrdb* | cegcc* | glidix* | serenity* \ + | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ + | midipix* | mingw32* | mingw64* | mint* \ + | uxpv* | beos* | mpeix* | udk* | moxiebox* \ + | interix* | uwin* | mks* | rhapsody* | darwin* \ + | openstep* | oskit* | conix* | pw32* | nonstopux* \ + | storm-chaos* | tops10* | tenex* | tops20* | its* \ + | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \ + | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \ + | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ + | skyos* | haiku* | rdos* | toppers* | drops* | es* \ + | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ + | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ + | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr*) + ;; + # This one is extra strict with allowed versions + sco3.2v2 | sco3.2v[4-9]* | sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + ;; + none) + ;; + *) + echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2 + exit 1 + ;; +esac + +# As a final step for OS-related things, validate the OS-kernel combination +# (given a valid OS), if there is a kernel. +case $kernel-$os in + linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ + | linux-musl* | linux-relibc* | linux-uclibc* ) + ;; + uclinux-uclibc* ) + ;; + -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) + # These are just libc implementations, not actual OSes, and thus + # require a kernel. + echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 + exit 1 + ;; + kfreebsd*-gnu* | kopensolaris*-gnu*) + ;; + vxworks-simlinux | vxworks-simwindows | vxworks-spe) + ;; + nto-qnx*) + ;; + os2-emx) + ;; + *-eabi* | *-gnueabi*) + ;; + -*) + # Blank kernel with real OS is always fine. + ;; + *-*) + echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 + exit 1 + ;; +esac + # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) +case $vendor in + unknown) + case $cpu-$os in + *-riscix*) vendor=acorn ;; - -sunos*) + *-sunos*) vendor=sun ;; - -cnk*|-aix*) + *-cnk* | *-aix*) vendor=ibm ;; - -beos*) + *-beos*) vendor=be ;; - -hpux*) + *-hpux*) vendor=hp ;; - -mpeix*) + *-mpeix*) vendor=hp ;; - -hiux*) + *-hiux*) vendor=hitachi ;; - -unos*) + *-unos*) vendor=crds ;; - -dgux*) + *-dgux*) vendor=dg ;; - -luna*) + *-luna*) vendor=omron ;; - -genix*) + *-genix*) vendor=ns ;; - -mvs* | -opened*) + *-clix*) + vendor=intergraph + ;; + *-mvs* | *-opened*) + vendor=ibm + ;; + *-os400*) vendor=ibm ;; - -os400*) + s390-* | s390x-*) vendor=ibm ;; - -ptx*) + *-ptx*) vendor=sequent ;; - -tpf*) + *-tpf*) vendor=ibm ;; - -vxsim* | -vxworks* | -windiss*) + *-vxsim* | *-vxworks* | *-windiss*) vendor=wrs ;; - -aux*) + *-aux*) vendor=apple ;; - -hms*) + *-hms*) vendor=hitachi ;; - -mpw* | -macos*) + *-mpw* | *-macos*) vendor=apple ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) vendor=atari ;; - -vos*) + *-vos*) vendor=stratus ;; esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac -echo $basic_machine$os +echo "$cpu-$vendor-${kernel:+$kernel-}$os" exit # Local variables: -# eval: (add-hook 'write-file-functions 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" diff --git a/build/installwinconf.awk b/build/installwinconf.awk index 16234fc..ae0421f 100644 --- a/build/installwinconf.awk +++ b/build/installwinconf.awk @@ -191,6 +191,7 @@ BEGIN { print "#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so" > dstfl; print "#LoadModule socache_dbm_module modules/mod_socache_dbm.so" > dstfl; print "#LoadModule socache_memcache_module modules/mod_socache_memcache.so" > dstfl; + print "#LoadModule socache_redis_module modules/mod_socache_redis.so" > dstfl; print "#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so" > dstfl; print "#LoadModule speling_module modules/mod_speling.so" > dstfl; print "#LoadModule ssl_module modules/mod_ssl.so" > dstfl; diff --git a/build/ltmain.sh b/build/ltmain.sh index a736cf9..2a50d7f 100644 --- a/build/ltmain.sh +++ b/build/ltmain.sh @@ -1,12 +1,12 @@ -#! /bin/sh +#! /usr/bin/env sh ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in -## by inline-source v2014-01-03.01 +## by inline-source v2019-02-19.15 -# libtool (GNU libtool) 2.4.6 +# libtool (GNU libtool) 2.4.7 # Provide generalized library-building support services. # Written by Gordon Matzigkeit , 1996 -# Copyright (C) 1996-2015 Free Software Foundation, Inc. +# Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. @@ -31,8 +31,8 @@ PROGRAM=libtool PACKAGE=libtool -VERSION="2.4.6 Debian-2.4.6-2" -package_revision=2.4.6 +VERSION=2.4.7 +package_revision=2.4.7 ## ------ ## @@ -64,34 +64,25 @@ package_revision=2.4.6 # libraries, which are installed to $pkgauxdir. # Set a version string for this script. -scriptversion=2015-01-20.17; # UTC +scriptversion=2019-02-19.15; # UTC # General shell script boiler plate, and helper functions. # Written by Gary V. Vaughan, 2004 -# Copyright (C) 2004-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. - -# As a special exception to the GNU General Public License, if you distribute -# this file as part of a program or library that is built using GNU Libtool, -# you may include this file under the same distribution terms that you use -# for the rest of that program. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2004-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. -# Please report bugs or propose patches to gary@gnu.org. +# Please report bugs or propose patches to: +# ## ------ ## @@ -139,9 +130,12 @@ do _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" fi" done - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +# These NLS vars are set unconditionally (bootstrap issue #24). Unset those +# in case the environment reset is needed later and the $save_* variant is not +# defined (see the code above). +LC_ALL=C +LANGUAGE=C +export LANGUAGE LC_ALL # Make sure IFS has a sensible default sp=' ' @@ -159,6 +153,26 @@ if test "${PATH_SEPARATOR+set}" != set; then fi +# func_unset VAR +# -------------- +# Portably unset VAR. +# In some shells, an 'unset VAR' statement leaves a non-zero return +# status if VAR is already unset, which might be problematic if the +# statement is used at the end of a function (thus poisoning its return +# value) or when 'set -e' is active (causing even a spurious abort of +# the script in this case). +func_unset () +{ + { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } +} + + +# Make sure CDPATH doesn't cause `cd` commands to output the target dir. +func_unset CDPATH + +# Make sure ${,E,F}GREP behave sanely. +func_unset GREP_OPTIONS + ## ------------------------- ## ## Locate command utilities. ## @@ -259,7 +273,7 @@ test -z "$SED" && { rm -f conftest.in conftest.tmp conftest.nl conftest.out } - func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin + func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin" rm -f conftest.sed SED=$func_path_progs_result } @@ -295,7 +309,7 @@ test -z "$GREP" && { rm -f conftest.in conftest.tmp conftest.nl conftest.out } - func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin + func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin" GREP=$func_path_progs_result } @@ -360,6 +374,35 @@ sed_double_backslash="\ s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g s/\n//g" +# require_check_ifs_backslash +# --------------------------- +# Check if we can use backslash as IFS='\' separator, and set +# $check_ifs_backshlash_broken to ':' or 'false'. +require_check_ifs_backslash=func_require_check_ifs_backslash +func_require_check_ifs_backslash () +{ + _G_save_IFS=$IFS + IFS='\' + _G_check_ifs_backshlash='a\\b' + for _G_i in $_G_check_ifs_backshlash + do + case $_G_i in + a) + check_ifs_backshlash_broken=false + ;; + '') + break + ;; + *) + check_ifs_backshlash_broken=: + break + ;; + esac + done + IFS=$_G_save_IFS + require_check_ifs_backslash=: +} + ## ----------------- ## ## Global variables. ## @@ -580,16 +623,16 @@ if test yes = "$_G_HAVE_PLUSEQ_OP"; then { $debug_cmd - func_quote_for_eval "$2" - eval "$1+=\\ \$func_quote_for_eval_result" + func_quote_arg pretty "$2" + eval "$1+=\\ \$func_quote_arg_result" }' else func_append_quoted () { $debug_cmd - func_quote_for_eval "$2" - eval "$1=\$$1\\ \$func_quote_for_eval_result" + func_quote_arg pretty "$2" + eval "$1=\$$1\\ \$func_quote_arg_result" } fi @@ -1091,85 +1134,203 @@ func_relative_path () } -# func_quote_for_eval ARG... -# -------------------------- -# Aesthetically quote ARGs to be evaled later. -# This function returns two values: -# i) func_quote_for_eval_result -# double-quoted, suitable for a subsequent eval -# ii) func_quote_for_eval_unquoted_result -# has all characters that are still active within double -# quotes backslashified. -func_quote_for_eval () +# func_quote_portable EVAL ARG +# ---------------------------- +# Internal function to portably implement func_quote_arg. Note that we still +# keep attention to performance here so we as much as possible try to avoid +# calling sed binary (so far O(N) complexity as long as func_append is O(1)). +func_quote_portable () { $debug_cmd - func_quote_for_eval_unquoted_result= - func_quote_for_eval_result= - while test 0 -lt $#; do - case $1 in - *[\\\`\"\$]*) - _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; - *) - _G_unquoted_arg=$1 ;; - esac - if test -n "$func_quote_for_eval_unquoted_result"; then - func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" - else - func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" + $require_check_ifs_backslash + + func_quote_portable_result=$2 + + # one-time-loop (easy break) + while true + do + if $1; then + func_quote_portable_result=`$ECHO "$2" | $SED \ + -e "$sed_double_quote_subst" -e "$sed_double_backslash"` + break fi - case $_G_unquoted_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and variable expansion - # for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_quoted_arg=\"$_G_unquoted_arg\" + # Quote for eval. + case $func_quote_portable_result in + *[\\\`\"\$]*) + # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string + # contains the shell wildcard characters. + case $check_ifs_backshlash_broken$func_quote_portable_result in + :*|*[\[\*\?]*) + func_quote_portable_result=`$ECHO "$func_quote_portable_result" \ + | $SED "$sed_quote_subst"` + break + ;; + esac + + func_quote_portable_old_IFS=$IFS + for _G_char in '\' '`' '"' '$' + do + # STATE($1) PREV($2) SEPARATOR($3) + set start "" "" + func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy + IFS=$_G_char + for _G_part in $func_quote_portable_result + do + case $1 in + quote) + func_append func_quote_portable_result "$3$2" + set quote "$_G_part" "\\$_G_char" + ;; + start) + set first "" "" + func_quote_portable_result= + ;; + first) + set quote "$_G_part" "" + ;; + esac + done + done + IFS=$func_quote_portable_old_IFS ;; - *) - _G_quoted_arg=$_G_unquoted_arg - ;; + *) ;; esac - - if test -n "$func_quote_for_eval_result"; then - func_append func_quote_for_eval_result " $_G_quoted_arg" - else - func_append func_quote_for_eval_result "$_G_quoted_arg" - fi - shift + break done + + func_quote_portable_unquoted_result=$func_quote_portable_result + case $func_quote_portable_result in + # double-quote args containing shell metacharacters to delay + # word splitting, command substitution and variable expansion + # for a subsequent eval. + # many bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + func_quote_portable_result=\"$func_quote_portable_result\" + ;; + esac } -# func_quote_for_expand ARG -# ------------------------- -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () -{ - $debug_cmd +# func_quotefast_eval ARG +# ----------------------- +# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', +# but optimized for speed. Result is stored in $func_quotefast_eval. +if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then + printf -v _GL_test_printf_tilde %q '~' + if test '\~' = "$_GL_test_printf_tilde"; then + func_quotefast_eval () + { + printf -v func_quotefast_eval_result %q "$1" + } + else + # Broken older Bash implementations. Make those faster too if possible. + func_quotefast_eval () + { + case $1 in + '~'*) + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + ;; + *) + printf -v func_quotefast_eval_result %q "$1" + ;; + esac + } + fi +else + func_quotefast_eval () + { + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + } +fi - case $1 in - *[\\\`\"]*) - _G_arg=`$ECHO "$1" | $SED \ - -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; - *) - _G_arg=$1 ;; + +# func_quote_arg MODEs ARG +# ------------------------ +# Quote one ARG to be evaled later. MODEs argument may contain zero or more +# specifiers listed below separated by ',' character. This function returns two +# values: +# i) func_quote_arg_result +# double-quoted (when needed), suitable for a subsequent eval +# ii) func_quote_arg_unquoted_result +# has all characters that are still active within double +# quotes backslashified. Available only if 'unquoted' is specified. +# +# Available modes: +# ---------------- +# 'eval' (default) +# - escape shell special characters +# 'expand' +# - the same as 'eval'; but do not quote variable references +# 'pretty' +# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might +# be used later in func_quote to get output like: 'echo "a b"' instead +# of 'echo a\ b'. This is slower than default on some shells. +# 'unquoted' +# - produce also $func_quote_arg_unquoted_result which does not contain +# wrapping double-quotes. +# +# Examples for 'func_quote_arg pretty,unquoted string': +# +# string | *_result | *_unquoted_result +# ------------+-----------------------+------------------- +# " | \" | \" +# a b | "a b" | a b +# "a b" | "\"a b\"" | \"a b\" +# * | "*" | * +# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" +# +# Examples for 'func_quote_arg pretty,unquoted,expand string': +# +# string | *_result | *_unquoted_result +# --------------+---------------------+-------------------- +# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" +func_quote_arg () +{ + _G_quote_expand=false + case ,$1, in + *,expand,*) + _G_quote_expand=: + ;; esac - case $_G_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting and command substitution for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_arg=\"$_G_arg\" + case ,$1, in + *,pretty,*|*,expand,*|*,unquoted,*) + func_quote_portable $_G_quote_expand "$2" + func_quote_arg_result=$func_quote_portable_result + func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result + ;; + *) + # Faster quote-for-eval for some shells. + func_quotefast_eval "$2" + func_quote_arg_result=$func_quotefast_eval_result ;; esac +} + - func_quote_for_expand_result=$_G_arg +# func_quote MODEs ARGs... +# ------------------------ +# Quote all ARGs to be evaled later and join them into single command. See +# func_quote_arg's description for more info. +func_quote () +{ + $debug_cmd + _G_func_quote_mode=$1 ; shift + func_quote_result= + while test 0 -lt $#; do + func_quote_arg "$_G_func_quote_mode" "$1" + if test -n "$func_quote_result"; then + func_append func_quote_result " $func_quote_arg_result" + else + func_append func_quote_result "$func_quote_arg_result" + fi + shift + done } @@ -1215,8 +1376,8 @@ func_show_eval () _G_cmd=$1 _G_fail_exp=${2-':'} - func_quote_for_expand "$_G_cmd" - eval "func_notquiet $func_quote_for_expand_result" + func_quote_arg pretty,expand "$_G_cmd" + eval "func_notquiet $func_quote_arg_result" $opt_dry_run || { eval "$_G_cmd" @@ -1241,8 +1402,8 @@ func_show_eval_locale () _G_fail_exp=${2-':'} $opt_quiet || { - func_quote_for_expand "$_G_cmd" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$_G_cmd" + eval "func_echo $func_quote_arg_result" } $opt_dry_run || { @@ -1369,30 +1530,26 @@ func_lt_ver () # End: #! /bin/sh -# Set a version string for this script. -scriptversion=2014-01-07.03; # UTC - # A portable, pluggable option parser for Bourne shell. # Written by Gary V. Vaughan, 2010 -# Copyright (C) 2010-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2010-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# Please report bugs or propose patches to: +# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# Please report bugs or propose patches to gary@gnu.org. +# Set a version string for this script. +scriptversion=2019-02-19.15; # UTC ## ------ ## @@ -1415,7 +1572,7 @@ scriptversion=2014-01-07.03; # UTC # # In order for the '--version' option to work, you will need to have a # suitably formatted comment like the one at the top of this file -# starting with '# Written by ' and ending with '# warranty; '. +# starting with '# Written by ' and ending with '# Copyright'. # # For '-h' and '--help' to work, you will also need a one line # description of your script's purpose in a comment directly above the @@ -1427,7 +1584,7 @@ scriptversion=2014-01-07.03; # UTC # to display verbose messages only when your user has specified # '--verbose'. # -# After sourcing this file, you can plug processing for additional +# After sourcing this file, you can plug in processing for additional # options by amending the variables from the 'Configuration' section # below, and following the instructions in the 'Option parsing' # section further down. @@ -1476,8 +1633,8 @@ fatal_help="Try '\$progname --help' for more information." ## ------------------------- ## # This section contains functions for adding, removing, and running hooks -# to the main code. A hook is just a named list of of function, that can -# be run in order later on. +# in the main code. A hook is just a list of function names that can be +# run in order later on. # func_hookable FUNC_NAME # ----------------------- @@ -1510,7 +1667,8 @@ func_add_hook () # func_remove_hook FUNC_NAME HOOK_FUNC # ------------------------------------ -# Remove HOOK_FUNC from the list of functions called by FUNC_NAME. +# Remove HOOK_FUNC from the list of hook functions to be called by +# FUNC_NAME. func_remove_hook () { $debug_cmd @@ -1519,10 +1677,28 @@ func_remove_hook () } +# func_propagate_result FUNC_NAME_A FUNC_NAME_B +# --------------------------------------------- +# If the *_result variable of FUNC_NAME_A _is set_, assign its value to +# *_result variable of FUNC_NAME_B. +func_propagate_result () +{ + $debug_cmd + + func_propagate_result_result=: + if eval "test \"\${${1}_result+set}\" = set" + then + eval "${2}_result=\$${1}_result" + else + func_propagate_result_result=false + fi +} + + # func_run_hooks FUNC_NAME [ARG]... # --------------------------------- # Run all hook functions registered to FUNC_NAME. -# It is assumed that the list of hook functions contains nothing more +# It's assumed that the list of hook functions contains nothing more # than a whitespace-delimited list of legal shell function names, and # no effort is wasted trying to catch shell meta-characters or preserve # whitespace. @@ -1532,22 +1708,19 @@ func_run_hooks () case " $hookable_fns " in *" $1 "*) ;; - *) func_fatal_error "'$1' does not support hook funcions.n" ;; + *) func_fatal_error "'$1' does not support hook functions." ;; esac eval _G_hook_fns=\$$1_hooks; shift for _G_hook in $_G_hook_fns; do - eval $_G_hook '"$@"' - - # store returned options list back into positional - # parameters for next 'cmd' execution. - eval _G_hook_result=\$${_G_hook}_result - eval set dummy "$_G_hook_result"; shift + func_unset "${_G_hook}_result" + eval $_G_hook '${1+"$@"}' + func_propagate_result $_G_hook func_run_hooks + if $func_propagate_result_result; then + eval set dummy "$func_run_hooks_result"; shift + fi done - - func_quote_for_eval ${1+"$@"} - func_run_hooks_result=$func_quote_for_eval_result } @@ -1557,10 +1730,18 @@ func_run_hooks () ## --------------- ## # In order to add your own option parsing hooks, you must accept the -# full positional parameter list in your hook function, remove any -# options that you action, and then pass back the remaining unprocessed -# options in '_result', escaped suitably for -# 'eval'. Like this: +# full positional parameter list from your hook function. You may remove +# or edit any options that you action, and then pass back the remaining +# unprocessed options in '_result', escaped +# suitably for 'eval'. +# +# The '_result' variable is automatically unset +# before your hook gets called; for best performance, only set the +# *_result variable when necessary (i.e. don't call the 'func_quote' +# function unnecessarily because it can be an expensive operation on some +# machines). +# +# Like this: # # my_options_prep () # { @@ -1570,9 +1751,8 @@ func_run_hooks () # usage_message=$usage_message' # -s, --silent don'\''t print informational messages # ' -# -# func_quote_for_eval ${1+"$@"} -# my_options_prep_result=$func_quote_for_eval_result +# # No change in '$@' (ignored completely by this hook). Leave +# # my_options_prep_result variable intact. # } # func_add_hook func_options_prep my_options_prep # @@ -1581,25 +1761,36 @@ func_run_hooks () # { # $debug_cmd # -# # Note that for efficiency, we parse as many options as we can +# args_changed=false +# +# # Note that, for efficiency, we parse as many options as we can # # recognise in a loop before passing the remainder back to the # # caller on the first unrecognised argument we encounter. # while test $# -gt 0; do # opt=$1; shift # case $opt in -# --silent|-s) opt_silent=: ;; +# --silent|-s) opt_silent=: +# args_changed=: +# ;; # # Separate non-argument short options: # -s*) func_split_short_opt "$_G_opt" # set dummy "$func_split_short_opt_name" \ # "-$func_split_short_opt_arg" ${1+"$@"} # shift +# args_changed=: # ;; -# *) set dummy "$_G_opt" "$*"; shift; break ;; +# *) # Make sure the first unrecognised option "$_G_opt" +# # is added back to "$@" in case we need it later, +# # if $args_changed was set to 'true'. +# set dummy "$_G_opt" ${1+"$@"}; shift; break ;; # esac # done # -# func_quote_for_eval ${1+"$@"} -# my_silent_option_result=$func_quote_for_eval_result +# # Only call 'func_quote' here if we processed at least one argument. +# if $args_changed; then +# func_quote eval ${1+"$@"} +# my_silent_option_result=$func_quote_result +# fi # } # func_add_hook func_parse_options my_silent_option # @@ -1610,17 +1801,26 @@ func_run_hooks () # # $opt_silent && $opt_verbose && func_fatal_help "\ # '--silent' and '--verbose' options are mutually exclusive." -# -# func_quote_for_eval ${1+"$@"} -# my_option_validation_result=$func_quote_for_eval_result # } # func_add_hook func_validate_options my_option_validation # -# You'll alse need to manually amend $usage_message to reflect the extra +# You'll also need to manually amend $usage_message to reflect the extra # options you parse. It's preferable to append if you can, so that # multiple option parsing hooks can be added safely. +# func_options_finish [ARG]... +# ---------------------------- +# Finishing the option parse loop (call 'func_options' hooks ATM). +func_options_finish () +{ + $debug_cmd + + func_run_hooks func_options ${1+"$@"} + func_propagate_result func_run_hooks func_options_finish +} + + # func_options [ARG]... # --------------------- # All the functions called inside func_options are hookable. See the @@ -1630,17 +1830,27 @@ func_options () { $debug_cmd - func_options_prep ${1+"$@"} - eval func_parse_options \ - ${func_options_prep_result+"$func_options_prep_result"} - eval func_validate_options \ - ${func_parse_options_result+"$func_parse_options_result"} + _G_options_quoted=false - eval func_run_hooks func_options \ - ${func_validate_options_result+"$func_validate_options_result"} + for my_func in options_prep parse_options validate_options options_finish + do + func_unset func_${my_func}_result + func_unset func_run_hooks_result + eval func_$my_func '${1+"$@"}' + func_propagate_result func_$my_func func_options + if $func_propagate_result_result; then + eval set dummy "$func_options_result"; shift + _G_options_quoted=: + fi + done - # save modified positional parameters for caller - func_options_result=$func_run_hooks_result + $_G_options_quoted || { + # As we (func_options) are top-level options-parser function and + # nobody quoted "$@" for us yet, we need to do it explicitly for + # caller. + func_quote eval ${1+"$@"} + func_options_result=$func_quote_result + } } @@ -1649,9 +1859,8 @@ func_options () # All initialisations required before starting the option parse loop. # Note that when calling hook functions, we pass through the list of # positional parameters. If a hook function modifies that list, and -# needs to propogate that back to rest of this script, then the complete -# modified list must be put in 'func_run_hooks_result' before -# returning. +# needs to propagate that back to rest of this script, then the complete +# modified list must be put in 'func_run_hooks_result' before returning. func_hookable func_options_prep func_options_prep () { @@ -1662,9 +1871,7 @@ func_options_prep () opt_warning_types= func_run_hooks func_options_prep ${1+"$@"} - - # save modified positional parameters for caller - func_options_prep_result=$func_run_hooks_result + func_propagate_result func_run_hooks func_options_prep } @@ -1676,25 +1883,32 @@ func_parse_options () { $debug_cmd - func_parse_options_result= - + _G_parse_options_requote=false # this just eases exit handling while test $# -gt 0; do # Defer to hook functions for initial option parsing, so they # get priority in the event of reusing an option name. func_run_hooks func_parse_options ${1+"$@"} - - # Adjust func_parse_options positional parameters to match - eval set dummy "$func_run_hooks_result"; shift + func_propagate_result func_run_hooks func_parse_options + if $func_propagate_result_result; then + eval set dummy "$func_parse_options_result"; shift + # Even though we may have changed "$@", we passed the "$@" array + # down into the hook and it quoted it for us (because we are in + # this if-branch). No need to quote it again. + _G_parse_options_requote=false + fi # Break out of the loop if we already parsed every option. test $# -gt 0 || break + # We expect that one of the options parsed in this function matches + # and thus we remove _G_opt from "$@" and need to re-quote. + _G_match_parse_options=: _G_opt=$1 shift case $_G_opt in --debug|-x) debug_cmd='set -x' - func_echo "enabling shell trace mode" + func_echo "enabling shell trace mode" >&2 $debug_cmd ;; @@ -1704,7 +1918,10 @@ func_parse_options () ;; --warnings|--warning|-W) - test $# = 0 && func_missing_arg $_G_opt && break + if test $# = 0 && func_missing_arg $_G_opt; then + _G_parse_options_requote=: + break + fi case " $warning_categories $1" in *" $1 "*) # trailing space prevents matching last $1 above @@ -1757,15 +1974,24 @@ func_parse_options () shift ;; - --) break ;; + --) _G_parse_options_requote=: ; break ;; -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + *) set dummy "$_G_opt" ${1+"$@"}; shift + _G_match_parse_options=false + break + ;; esac + + if $_G_match_parse_options; then + _G_parse_options_requote=: + fi done - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - func_parse_options_result=$func_quote_for_eval_result + if $_G_parse_options_requote; then + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + func_parse_options_result=$func_quote_result + fi } @@ -1782,12 +2008,10 @@ func_validate_options () test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" func_run_hooks func_validate_options ${1+"$@"} + func_propagate_result func_run_hooks func_validate_options # Bail if the options were screwed! $exit_cmd $EXIT_FAILURE - - # save modified positional parameters for caller - func_validate_options_result=$func_run_hooks_result } @@ -1843,8 +2067,8 @@ func_missing_arg () # func_split_equals STRING # ------------------------ -# Set func_split_equals_lhs and func_split_equals_rhs shell variables after -# splitting STRING at the '=' sign. +# Set func_split_equals_lhs and func_split_equals_rhs shell variables +# after splitting STRING at the '=' sign. test -z "$_G_HAVE_XSI_OPS" \ && (eval 'x=a/b/c; test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ @@ -1859,8 +2083,9 @@ then func_split_equals_lhs=${1%%=*} func_split_equals_rhs=${1#*=} - test "x$func_split_equals_lhs" = "x$1" \ - && func_split_equals_rhs= + if test "x$func_split_equals_lhs" = "x$1"; then + func_split_equals_rhs= + fi }' else # ...otherwise fall back to using expr, which is often a shell builtin. @@ -1870,7 +2095,7 @@ else func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` func_split_equals_rhs= - test "x$func_split_equals_lhs" = "x$1" \ + test "x$func_split_equals_lhs=" = "x$1" \ || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` } fi #func_split_equals @@ -1896,7 +2121,7 @@ else { $debug_cmd - func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` + func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'` func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` } fi #func_split_short_opt @@ -1938,31 +2163,44 @@ func_usage_message () # func_version # ------------ # Echo version message to standard output and exit. +# The version message is extracted from the calling file's header +# comments, with leading '# ' stripped: +# 1. First display the progname and version +# 2. Followed by the header comment line matching /^# Written by / +# 3. Then a blank line followed by the first following line matching +# /^# Copyright / +# 4. Immediately followed by any lines between the previous matches, +# except lines preceding the intervening completely blank line. +# For example, see the header comments of this file. func_version () { $debug_cmd printf '%s\n' "$progname $scriptversion" $SED -n ' - /(C)/!b go - :more - /\./!{ - N - s|\n# | | - b more - } - :go - /^# Written by /,/# warranty; / { - s|^# || - s|^# *$|| - s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| - p + /^# Written by /!b + s|^# ||; p; n + + :fwd2blnk + /./ { + n + b fwd2blnk } - /^# Written by / { - s|^# || - p + p; n + + :holdwrnt + s|^# || + s|^# *$|| + /^Copyright /!{ + /./H + n + b holdwrnt } - /^warranty; /q' < "$progpath" + + s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| + G + s|\(\n\)\n*|\1|g + p; q' < "$progpath" exit $? } @@ -1972,12 +2210,12 @@ func_version () # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" # time-stamp-time-zone: "UTC" # End: # Set a version string. -scriptversion='(GNU libtool) 2.4.6' +scriptversion='(GNU libtool) 2.4.7' # func_echo ARG... @@ -2068,12 +2306,12 @@ include the following information: compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) - version: $progname $scriptversion Debian-2.4.6-2 + version: $progname (GNU libtool) 2.4.7 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` Report bugs to . -GNU libtool home page: . +GNU libtool home page: . General help using GNU software: ." exit 0 } @@ -2124,7 +2362,7 @@ fi # a configuration failure hint, and exit. func_fatal_configuration () { - func__fatal_error ${1+"$@"} \ + func_fatal_error ${1+"$@"} \ "See the $PACKAGE documentation for more information." \ "Fatal configuration error." } @@ -2270,6 +2508,8 @@ libtool_options_prep () nonopt= preserve_args= + _G_rc_lt_options_prep=: + # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) @@ -2293,11 +2533,16 @@ libtool_options_prep () uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; + *) + _G_rc_lt_options_prep=false + ;; esac - # Pass back the list of options. - func_quote_for_eval ${1+"$@"} - libtool_options_prep_result=$func_quote_for_eval_result + if $_G_rc_lt_options_prep; then + # Pass back the list of options. + func_quote eval ${1+"$@"} + libtool_options_prep_result=$func_quote_result + fi } func_add_hook func_options_prep libtool_options_prep @@ -2309,9 +2554,12 @@ libtool_parse_options () { $debug_cmd + _G_rc_lt_parse_options=false + # Perform our own loop to consume as many options as possible in # each iteration. while test $# -gt 0; do + _G_match_lt_parse_options=: _G_opt=$1 shift case $_G_opt in @@ -2386,15 +2634,20 @@ libtool_parse_options () func_append preserve_args " $_G_opt" ;; - # An option not handled by this hook function: - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + # An option not handled by this hook function: + *) set dummy "$_G_opt" ${1+"$@"} ; shift + _G_match_lt_parse_options=false + break + ;; esac + $_G_match_lt_parse_options && _G_rc_lt_parse_options=: done - - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - libtool_parse_options_result=$func_quote_for_eval_result + if $_G_rc_lt_parse_options; then + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + libtool_parse_options_result=$func_quote_result + fi } func_add_hook func_parse_options libtool_parse_options @@ -2451,8 +2704,8 @@ libtool_validate_options () } # Pass back the unparsed argument list - func_quote_for_eval ${1+"$@"} - libtool_validate_options_result=$func_quote_for_eval_result + func_quote eval ${1+"$@"} + libtool_validate_options_result=$func_quote_result } func_add_hook func_validate_options libtool_validate_options @@ -3418,8 +3671,8 @@ func_mode_compile () esac done - func_quote_for_eval "$libobj" - test "X$libobj" != "X$func_quote_for_eval_result" \ + func_quote_arg pretty "$libobj" + test "X$libobj" != "X$func_quote_arg_result" \ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ && func_warning "libobj name '$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" @@ -3492,8 +3745,8 @@ compiler." func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 srcfile=$func_to_tool_file_result - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result + func_quote_arg pretty "$srcfile" + qsrcfile=$func_quote_arg_result # Only build a PIC object if we are building libtool libraries. if test yes = "$build_libtool_libs"; then @@ -3648,7 +3901,8 @@ This mode accepts the following additional options: -prefer-non-pic try to build non-PIC objects only -shared do not build a '.o' file suitable for static linking -static only build a '.o' file suitable for static linking - -Wc,FLAG pass FLAG directly to the compiler + -Wc,FLAG + -Xcompiler FLAG pass FLAG directly to the compiler COMPILE-COMMAND is a command to be used in creating a 'standard' object file from the given SOURCEFILE. @@ -3754,6 +4008,8 @@ The following components of LINK-COMMAND are treated specially: -weak LIBNAME declare that the target provides the LIBNAME interface -Wc,FLAG -Xcompiler FLAG pass linker-specific FLAG directly to the compiler + -Wa,FLAG + -Xassembler FLAG pass linker-specific FLAG directly to the assembler -Wl,FLAG -Xlinker FLAG pass linker-specific FLAG directly to the linker -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) @@ -4096,8 +4352,8 @@ func_mode_install () case $nonopt in *shtool*) :;; *) false;; esac then # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " + func_quote_arg pretty "$nonopt" + install_prog="$func_quote_arg_result " arg=$1 shift else @@ -4107,8 +4363,8 @@ func_mode_install () # The real first argument should be the name of the installation program. # Aesthetically quote it. - func_quote_for_eval "$arg" - func_append install_prog "$func_quote_for_eval_result" + func_quote_arg pretty "$arg" + func_append install_prog "$func_quote_arg_result" install_shared_prog=$install_prog case " $install_prog " in *[\\\ /]cp\ *) install_cp=: ;; @@ -4165,12 +4421,12 @@ func_mode_install () esac # Aesthetically quote the argument. - func_quote_for_eval "$arg" - func_append install_prog " $func_quote_for_eval_result" + func_quote_arg pretty "$arg" + func_append install_prog " $func_quote_arg_result" if test -n "$arg2"; then - func_quote_for_eval "$arg2" + func_quote_arg pretty "$arg2" fi - func_append install_shared_prog " $func_quote_for_eval_result" + func_append install_shared_prog " $func_quote_arg_result" done test -z "$install_prog" && \ @@ -4181,8 +4437,8 @@ func_mode_install () if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else - func_quote_for_eval "$install_override_mode" - func_append install_shared_prog " -m $func_quote_for_eval_result" + func_quote_arg pretty "$install_override_mode" + func_append install_shared_prog " -m $func_quote_arg_result" fi fi @@ -4478,8 +4734,8 @@ func_mode_install () relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` $opt_quiet || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$relink_command" + eval "func_echo $func_quote_arg_result" } if eval "$relink_command"; then : else @@ -5258,7 +5514,8 @@ else if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" - qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` + func_quote_arg pretty "$ECHO" + qECHO=$func_quote_arg_result $ECHO "\ # A function that is used when there is no print builtin or printf. @@ -5268,7 +5525,7 @@ func_fallback_echo () \$1 _LTECHO_EOF' } - ECHO=\"$qECHO\" + ECHO=$qECHO fi # Very basic option parsing. These options are (a) specific to @@ -6611,9 +6868,9 @@ func_mode_link () while test "$#" -gt 0; do arg=$1 shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - func_append libtool_args " $func_quote_for_eval_result" + func_quote_arg pretty,unquoted "$arg" + qarg=$func_quote_arg_unquoted_result + func_append libtool_args " $func_quote_arg_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then @@ -6849,6 +7106,13 @@ func_mode_link () prev= continue ;; + xassembler) + func_append compiler_flags " -Xassembler $qarg" + prev= + func_append compile_command " -Xassembler $qarg" + func_append finalize_command " -Xassembler $qarg" + continue + ;; xcclinker) func_append linker_flags " $qarg" func_append compiler_flags " $qarg" @@ -7019,7 +7283,7 @@ func_mode_link () # These systems don't actually have a C library (as such) test X-lc = "X$arg" && continue ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) # Do not include libc due to us having libc/libc_r. test X-lc = "X$arg" && continue ;; @@ -7039,7 +7303,7 @@ func_mode_link () esac elif test X-lc_r = "X$arg"; then case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) # Do not include libc_r directly, use -pthread flag. continue ;; @@ -7069,8 +7333,20 @@ func_mode_link () prev=xcompiler continue ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + # Solaris ld rejects as of 11.4. Refer to Oracle bug 22985199. + -pthread) + case $host in + *solaris2*) ;; + *) + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac + ;; + esac + continue + ;; + -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) func_append compiler_flags " $arg" func_append compile_command " $arg" @@ -7211,9 +7487,9 @@ func_mode_link () save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs - func_quote_for_eval "$flag" - func_append arg " $func_quote_for_eval_result" - func_append compiler_flags " $func_quote_for_eval_result" + func_quote_arg pretty "$flag" + func_append arg " $func_quote_arg_result" + func_append compiler_flags " $func_quote_arg_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" @@ -7227,16 +7503,21 @@ func_mode_link () save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs - func_quote_for_eval "$flag" - func_append arg " $wl$func_quote_for_eval_result" - func_append compiler_flags " $wl$func_quote_for_eval_result" - func_append linker_flags " $func_quote_for_eval_result" + func_quote_arg pretty "$flag" + func_append arg " $wl$func_quote_arg_result" + func_append compiler_flags " $wl$func_quote_arg_result" + func_append linker_flags " $func_quote_arg_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; + -Xassembler) + prev=xassembler + continue + ;; + -Xcompiler) prev=xcompiler continue @@ -7254,8 +7535,8 @@ func_mode_link () # -msg_* for osf cc -msg_*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result ;; # Flags to be passed through unchanged, with rationale: @@ -7275,12 +7556,14 @@ func_mode_link () # -specs=* GCC specs files # -stdlib=* select c++ std lib with clang # -fsanitize=* Clang/GCC memory and address sanitizer + # -fuse-ld=* Linker select flags for GCC + # -Wa,* Pass flags directly to the assembler -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ - -specs=*|-fsanitize=*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*) + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" @@ -7301,15 +7584,15 @@ func_mode_link () continue else # Otherwise treat like 'Some other compiler flag' below - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result fi ;; # Some other compiler flag. -* | +*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result ;; *.$objext) @@ -7429,8 +7712,8 @@ func_mode_link () *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result ;; esac # arg @@ -7571,10 +7854,7 @@ func_mode_link () case $pass in dlopen) libs=$dlfiles ;; dlpreopen) libs=$dlprefiles ;; - link) - libs="$deplibs %DEPLIBS%" - test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" - ;; + link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; esac fi if test lib,dlpreopen = "$linkmode,$pass"; then @@ -7893,19 +8173,19 @@ func_mode_link () # It is a libtool convenience library, so add in its objects. func_append convenience " $ladir/$objdir/$old_library" func_append old_convenience " $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done elif test prog != "$linkmode" && test lib != "$linkmode"; then func_fatal_error "'$lib' is not a convenience library" fi + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done continue fi # $pass = conv @@ -8638,7 +8918,7 @@ func_mode_link () test CXX = "$tagname" && { case $host_os in linux*) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 func_suncc_cstd_abi @@ -8811,7 +9091,7 @@ func_mode_link () # case $version_type in # correct linux to gnu/linux during the next big refactor - darwin|freebsd-elf|linux|osf|windows|none) + darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age=$number_minor @@ -8829,9 +9109,6 @@ func_mode_link () revision=$number_minor lt_irix_increment=no ;; - *) - func_fatal_configuration "$modename: unknown library version type '$version_type'" - ;; esac ;; no) @@ -8905,7 +9182,7 @@ func_mode_link () versuffix=.$current.$revision ;; - freebsd-elf) + freebsd-elf | midnightbsd-elf) func_arith $current - $age major=.$func_arith_result versuffix=$major.$age.$revision @@ -9131,7 +9408,7 @@ func_mode_link () *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) @@ -9942,8 +10219,8 @@ EOF for cmd in $concat_cmds; do IFS=$save_ifs $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? @@ -10036,8 +10313,8 @@ EOF eval cmd=\"$cmd\" IFS=$save_ifs $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? @@ -10511,12 +10788,13 @@ EOF elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + func_quote_arg pretty "$var_value" + relink_command="$var=$func_quote_arg_result; export $var; $relink_command" fi done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + func_quote eval cd "`pwd`" + func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)" + relink_command=$func_quote_arg_unquoted_result fi # Only actually do things if not in dry run mode. @@ -10756,13 +11034,15 @@ EOF elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + func_quote_arg pretty,unquoted "$var_value" + relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command" fi done # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + func_quote eval cd "`pwd`" + relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + func_quote_arg pretty,unquoted "$relink_command" + relink_command=$func_quote_arg_unquoted_result if test yes = "$hardcode_automatic"; then relink_command= fi diff --git a/build/nw_export.inc b/build/nw_export.inc index a97a181..f0a26f5 100644 --- a/build/nw_export.inc +++ b/build/nw_export.inc @@ -42,6 +42,7 @@ #include "http_main.h" #include "http_protocol.h" #include "http_request.h" +#include "http_ssl.h" #include "http_vhost.h" #include "mpm_common.h" #include "ap_regex.h" diff --git a/build/rpm/httpd.spec.in b/build/rpm/httpd.spec.in index efd3a63..c85881d 100644 --- a/build/rpm/httpd.spec.in +++ b/build/rpm/httpd.spec.in @@ -392,6 +392,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/httpd/modules/mod_slotmem_shm.so %{_libdir}/httpd/modules/mod_socache_dbm.so %{_libdir}/httpd/modules/mod_socache_memcache.so +%{_libdir}/httpd/modules/mod_socache_redis.so %{_libdir}/httpd/modules/mod_socache_shmcb.so %{_libdir}/httpd/modules/mod_speling.so %{_libdir}/httpd/modules/mod_status.so diff --git a/config.layout b/config.layout index 8579587..a29351e 100644 --- a/config.layout +++ b/config.layout @@ -394,3 +394,28 @@ logfiledir: ${localstatedir}/log/httpd proxycachedir: ${localstatedir}/cache/httpd + +# OpenWrt layout + + prefix: /usr + exec_prefix: ${prefix} + bindir: ${prefix}/bin + sbindir: ${prefix}/sbin + libdir: ${prefix}/lib + libexecdir: ${prefix}/lib+ + mandir: ${prefix}/share/man + sysconfdir: /etc+ + datadir: ${prefix}/share+ + installbuilddir: ${datadir}/build + errordir: ${datadir}/error + iconsdir: ${datadir}/icons + htdocsdir: ${datadir}/htdocs + manualdir: /usr/share/doc/apache2/manual + cgidir: ${datadir}/cgi-bin + includedir: ${prefix}/include+ + localstatedir: /var + runtimedir: ${localstatedir}/run+ + logfiledir: ${localstatedir}/log+ + proxycachedir: ${localstatedir}/cache/apache2 + + diff --git a/configure b/configure index f28488e..0b955f8 100755 --- a/configure +++ b/configure @@ -1,9 +1,10 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69. +# Generated by GNU Autoconf 2.72. # # -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# Copyright (C) 1992-1996, 1998-2017, 2020-2023 Free Software Foundation, +# Inc. # # # This configure script is free software; the Free Software Foundation @@ -14,63 +15,65 @@ # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( +else case e in #( + e) case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; +esac ;; esac fi + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. as_nl=' ' export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi # The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then +if ${PATH_SEPARATOR+false} :; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || @@ -79,13 +82,6 @@ if test "${PATH_SEPARATOR+set}" != set; then fi -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( @@ -94,43 +90,27 @@ case $0 in #(( for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break done IFS=$as_save_IFS ;; esac -# We did not find ourselves, most probably we were run as `sh COMMAND' +# We did not find ourselves, most probably we were run as 'sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. @@ -151,26 +131,28 @@ case $- in # (((( esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 +# out after a failed 'exec'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + as_bourne_compatible="if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( +else case e in #( + e) case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; +esac ;; esac fi " @@ -185,42 +167,55 @@ as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : +if ( set x; as_fn_ret_success y && test x = \"\$1\" ) +then : -else - exitcode=1; echo positional parameters were not saved. +else case e in #( + e) exitcode=1; echo positional parameters were not saved. ;; +esac fi test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : + if (eval "$as_required") 2>/dev/null +then : as_have_required=yes -else - as_have_required=no +else case e in #( + e) as_have_required=no ;; +esac fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +else case e in #( + e) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base + as_shell=$as_dir$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : break 2 fi fi @@ -228,14 +223,22 @@ fi esac as_found=false done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } IFS=$as_save_IFS +if $as_found +then : +else case e in #( + e) if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi ;; +esac +fi - if test "x$CONFIG_SHELL" != x; then : + + if test "x$CONFIG_SHELL" != x +then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also @@ -252,25 +255,27 @@ case $- in # (((( esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +# out after a failed 'exec'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." else - $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 -fi +fi ;; +esac fi fi SHELL=${CONFIG_SHELL-/bin/sh} @@ -291,6 +296,7 @@ as_fn_unset () } as_unset=as_fn_unset + # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. @@ -322,7 +328,7 @@ as_fn_mkdir_p () as_dirs= while :; do case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" @@ -331,7 +337,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | +printf "%s\n" X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -370,16 +376,18 @@ as_fn_executable_p () # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : eval 'as_fn_append () { eval $1+=\$2 }' -else - as_fn_append () +else case e in #( + e) as_fn_append () { eval $1=\$$1\$2 - } + } ;; +esac fi # as_fn_append # as_fn_arith ARG... @@ -387,16 +395,18 @@ fi # as_fn_append # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : eval 'as_fn_arith () { as_val=$(( $* )) }' -else - as_fn_arith () +else case e in #( + e) as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` - } + } ;; +esac fi # as_fn_arith @@ -410,9 +420,9 @@ as_fn_error () as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $2" >&2 + printf "%s\n" "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -439,7 +449,7 @@ as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | +printf "%s\n" X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -472,6 +482,8 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits /[$]LINENO/= ' <$as_myself | sed ' + t clear + :clear s/[$]LINENO.*/&-/ t lineno b @@ -483,7 +495,7 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall @@ -497,6 +509,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits exit } + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) @@ -510,6 +526,12 @@ case `echo -n x` in #((((( ECHO_N='-n';; esac +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -521,9 +543,9 @@ if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. + # 1) On MSYS, both 'ln -s file dir' and 'ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; 'ln -s' creates a wrapper executable. + # In both cases, we have to default to 'cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then @@ -548,10 +570,12 @@ as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +as_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" +as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated # Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g" +as_tr_sh="eval sed '$as_sed_sh'" # deprecated test -n "$DJDIR" || exec 7<&0 /dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: '$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" @@ -1302,9 +1329,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: '$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" @@ -1515,9 +1542,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: '$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" @@ -1531,9 +1558,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: '$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" @@ -1561,8 +1588,8 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" + -*) as_fn_error $? "unrecognized option: '$ac_option' +Try '$0 --help' for more information" ;; *=*) @@ -1570,16 +1597,16 @@ Try \`$0 --help' for more information" # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + as_fn_error $? "invalid variable name: '$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; @@ -1595,7 +1622,7 @@ if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1620,7 +1647,7 @@ do as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done -# There might be people who depend on the old broken behavior: `$host' +# There might be people who depend on the old broken behavior: '$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias @@ -1659,7 +1686,7 @@ $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | +printf "%s\n" X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -1688,7 +1715,7 @@ if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_msg="sources are in $srcdir, but 'cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` @@ -1716,7 +1743,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures this package to adapt to many kinds of systems. +'configure' configures this package to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1730,11 +1757,11 @@ Configuration: --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages + -q, --quiet, --silent do not print 'checking ...' messages --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' + -C, --config-cache alias for '--cache-file=config.cache' -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] + --srcdir=DIR find the sources in DIR [configure dir or '..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX @@ -1742,10 +1769,10 @@ Installation directories: --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. +By default, 'make install' will install all the files in +'$ac_default_prefix/bin', '$ac_default_prefix/lib' etc. You can specify +an installation prefix other than '$ac_default_prefix' using '--prefix', +for instance '--prefix=\$HOME'. For better control, use the options below. @@ -1843,6 +1870,7 @@ Optional Features: --enable-socache-dbm dbm small object cache provider --enable-socache-memcache memcache small object cache provider + --enable-socache-redis redis small object cache provider --enable-socache-dc distcache small object cache provider --enable-so DSO capability. This module will be automatically enabled unless you build all modules statically. @@ -1996,12 +2024,18 @@ Optional Features: Apache proxy Load balancing by busyness --enable-lbmethod-heartbeat Apache proxy Load balancing from Heartbeats + --enable-tls TLS protocol handling using rustls. Implemented by + mod_tls. This module requires a librustls + installation. See --with-rustls on how to manage + non-standard locations. This module is usually + linked shared and requires loading. --enable-mpms-shared=MPM-LIST Space-separated list of MPM modules to enable for dynamic loading. MPM-LIST=list | "all" --enable-unixd unix specific support --enable-privileges Per-virtualhost Unix UserIDs and enhanced security for Solaris + --enable-systemd Systemd support --enable-heartbeat Generates Heartbeats --enable-heartmonitor Collects Heartbeats --enable-dav WebDAV protocol handling. --enable-dav also enables @@ -2045,11 +2079,12 @@ Optional Packages: --with-z=PATH use a specific zlib library --with-libxml2=PATH location for libxml2 --with-brotli=PATH Brotli installation directory - --with-lua=PATH Path to the Lua 5.3/5.2/5.1 prefix + --with-lua=PATH Path to the Lua installation prefix --with-ssl=PATH OpenSSL installation directory --with-nghttp2=PATH nghttp2 installation directory --with-jansson=PATH jansson installation directory --with-curl=PATH curl installation directory + --with-rustls=PATH rustls installation directory --with-mpm=MPM Choose the process model for Apache to use by default. MPM={event|worker|prefork|winnt} This will be statically linked as the only available MPM @@ -2079,7 +2114,7 @@ Some influential environment variables: you have headers in a nonstandard directory CPP C preprocessor -Use these variables to override the choices made by `configure' or to help +Use these variables to override the choices made by 'configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to the package provider. @@ -2098,9 +2133,9 @@ if test "$ac_init_help" = "recursive"; then case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -2128,7 +2163,8 @@ esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. + # Check for configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive @@ -2136,7 +2172,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix echo && $SHELL "$ac_srcdir/configure" --help=recursive else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done @@ -2146,9 +2182,9 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF configure -generated by GNU Autoconf 2.69 +generated by GNU Autoconf 2.72 -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2023 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -2165,14 +2201,14 @@ fi ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext + rm -f conftest.$ac_objext conftest.beam if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -2180,17 +2216,19 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest.$ac_objext; then : + } && test -s conftest.$ac_objext +then : ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 +else case e in #( + e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=1 + ac_retval=1 ;; +esac fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval @@ -2209,7 +2247,7 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -2217,151 +2255,24 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err - }; then : + } +then : ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 +else case e in #( + e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_mongrel - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + ac_retval=1 ;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval -} # ac_fn_c_try_run +} # ac_fn_c_try_cpp # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- @@ -2370,26 +2281,30 @@ fi ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : eval "$3=yes" -else - eval "$3=no" +else case e in #( + e) eval "$3=no" ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile @@ -2400,14 +2315,14 @@ $as_echo "$ac_res" >&6; } ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext + rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -2415,20 +2330,22 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext - }; then : + } +then : ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 +else case e in #( + e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=1 + ac_retval=1 ;; +esac fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would @@ -2440,34 +2357,72 @@ fi } # ac_fn_c_try_link +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that +# executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } +then : + ac_retval=0 +else case e in #( + e) printf "%s\n" "$as_me: program exited with status $ac_status" >&5 + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status ;; +esac +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif + which can conflict with char $2 (void); below. */ +#include #undef $2 /* Override any GCC internal prototype to avoid an error. @@ -2476,7 +2431,7 @@ else #ifdef __cplusplus extern "C" #endif -char $2 (); +char $2 (void); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ @@ -2485,47 +2440,53 @@ choke me #endif int -main () +main (void) { return $2 (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : eval "$3=yes" -else - eval "$3=no" +else case e in #( + e) eval "$3=no" ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext ;; +esac fi eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func -# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES -# --------------------------------------------- +# ac_fn_check_decl LINENO SYMBOL VAR INCLUDES EXTRA-OPTIONS FLAG-VAR +# ------------------------------------------------------------------ # Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR -# accordingly. -ac_fn_c_check_decl () +# accordingly. Pass EXTRA-OPTIONS to the compiler, using FLAG-VAR. +ac_fn_check_decl () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack as_decl_name=`echo $2|sed 's/ *(.*//'` - as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 -$as_echo_n "checking whether $as_decl_name is declared... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 +printf %s "checking whether $as_decl_name is declared... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` + eval ac_save_FLAGS=\$$6 + as_fn_append $6 " $5" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int -main () +main (void) { #ifndef $as_decl_name #ifdef __cplusplus @@ -2539,27 +2500,52 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : eval "$3=yes" -else - eval "$3=no" +else case e in #( + e) eval "$3=no" ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + eval $6=\$ac_save_FLAGS + ;; +esac fi eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -} # ac_fn_c_check_decl +} # ac_fn_check_decl +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was -generated by GNU Autoconf 2.69. Invocation command line was +generated by GNU Autoconf 2.72. Invocation command line was - $ $0 $@ + $ $0$ac_configure_args_raw _ACEOF exec 5>>config.log @@ -2592,8 +2578,12 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "PATH: $as_dir" done IFS=$as_save_IFS @@ -2628,7 +2618,7 @@ do | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; @@ -2663,11 +2653,13 @@ done # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? + # Sanitize IFS. + IFS=" "" $as_nl" # Save into config.log some information that might help in debugging. { echo - $as_echo "## ---------------- ## + printf "%s\n" "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo @@ -2678,8 +2670,8 @@ trap 'exit_status=$? case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -2703,7 +2695,7 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - $as_echo "## ----------------- ## + printf "%s\n" "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo @@ -2711,14 +2703,14 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - $as_echo "$ac_var='\''$ac_val'\''" + printf "%s\n" "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## + printf "%s\n" "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo @@ -2726,15 +2718,15 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - $as_echo "$ac_var='\''$ac_val'\''" + printf "%s\n" "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then - $as_echo "## ----------- ## + printf "%s\n" "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo @@ -2742,8 +2734,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; echo fi test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && @@ -2757,65 +2749,50 @@ ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h -$as_echo "/* confdefs.h */" > confdefs.h +printf "%s\n" "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac + ac_site_files="$CONFIG_SITE" elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" + +for ac_site_file in $ac_site_files do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } fi done @@ -2823,19 +2800,454 @@ if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} >$cache_file fi +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (char **p, int i) +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* C89 style stringification. */ +#define noexpand_stringify(a) #a +const char *stringified = noexpand_stringify(arbitrary+token=sequence); + +/* C89 style token pasting. Exercises some of the corner cases that + e.g. old MSVC gets wrong, but not very hard. */ +#define noexpand_concat(a,b) a##b +#define expand_concat(a,b) noexpand_concat(a,b) +extern int vA; +extern int vbee; +#define aye A +#define bee B +int *pvA = &expand_concat(v,aye); +int *pvbee = &noexpand_concat(v,bee); + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not \xHH hex character constants. + These do not provoke an error unfortunately, instead are silently treated + as an "x". The following induces an error, until -std is added to get + proper ANSI mode. Curiously \x00 != x always comes out true, for an + array size at least. It is necessary to write \x00 == 0 to get something + that is true only with -std. */ +int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) '\''x'\'' +int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +/* Does the compiler advertise C99 conformance? */ +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +// See if C++-style comments work. + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); +extern void free (void *); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + // Work around memory leak warnings. + free (ia); + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +/* Does the compiler advertise C11 conformance? */ +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" +as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" +as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" +as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" +as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" +as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" +as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" +as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" +as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" +as_fn_append ac_header_c_list " wchar.h wchar_h HAVE_WCHAR_H" +as_fn_append ac_header_c_list " minix/config.h minix_config_h HAVE_MINIX_CONFIG_H" + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/build" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else case e in #( + e) as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 ;; +esac +fi + + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +fi + # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false @@ -2846,12 +3258,12 @@ for ac_var in $ac_precious_vars; do eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$as_me: error: '$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) @@ -2860,24 +3272,24 @@ $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: '$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: '$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: '$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: '$ac_new_val'" >&5 +printf "%s\n" "$as_me: current value: '$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in @@ -2887,11 +3299,12 @@ $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi done if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run '${MAKE-make} distclean' and/or 'rm $cache_file' + and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## @@ -2907,34 +3320,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_headers="$ac_config_headers include/ap_config_auto.h" -ac_aux_dir= -for ac_dir in build "$srcdir"/build; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in build \"$srcdir\"/build" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - abs_srcdir=`(cd $srcdir && pwd)` @@ -3067,10 +3452,12 @@ HTTPD_MMN=`$abs_srcdir/build/get-version.sh mmn $abs_srcdir/include/ap_mmn.h MOD + # Check whether --enable-layout was given. -if test "${enable_layout+set}" = set; then : +if test ${enable_layout+y} +then : enableval=$enable_layout; LAYOUT=$enableval @@ -3140,10 +3527,10 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for chosen layout" >&5 -$as_echo_n "checking for chosen layout... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $layout_name" >&5 -$as_echo "$layout_name" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for chosen layout" >&5 +printf %s "checking for chosen layout... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $layout_name" >&5 +printf "%s\n" "$layout_name" >&6; } @@ -3945,12 +4332,13 @@ arg="${ap_cur}" nl=' ' - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mkdir -p" >&5 -$as_echo_n "checking for working mkdir -p... " >&6; } -if ${ac_cv_mkdir_p+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working mkdir -p" >&5 +printf %s "checking for working mkdir -p... " >&6; } +if test ${ac_cv_mkdir_p+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) test -d conftestdir && rm -rf conftestdir mkdir -p conftestdir/somedir >/dev/null 2>&1 if test -d conftestdir/somedir; then @@ -3959,10 +4347,11 @@ else ac_cv_mkdir_p=no fi rm -rf conftestdir - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_mkdir_p" >&5 -$as_echo "$ac_cv_mkdir_p" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_mkdir_p" >&5 +printf "%s\n" "$ac_cv_mkdir_p" >&6; } if test "$ac_cv_mkdir_p" = "yes"; then mkdir_p="mkdir -p" else @@ -3970,37 +4359,44 @@ $as_echo "$ac_cv_mkdir_p" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in grep ggrep + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in +case `"$ac_path_GREP" --version 2>&1` in #( *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +#( *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" + printf "%s\n" 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -4026,19 +4422,21 @@ IFS=$as_save_IFS else ac_cv_path_GREP=$GREP fi - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then @@ -4048,25 +4446,31 @@ else for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in egrep + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in +case `"$ac_path_EGREP" --version 2>&1` in #( *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +#( *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" + printf "%s\n" 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -4093,12 +4497,15 @@ else ac_cv_path_EGREP=$EGREP fi - fi + fi ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" + EGREP_TRADITIONAL=$EGREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP APACHE_VAR_SUBST="$APACHE_VAR_SUBST EGREP" @@ -4107,26 +4514,31 @@ $as_echo "$ac_cv_path_EGREP" >&6; } -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias + + + # Make sure we can run config.sub. +$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_build_alias=$build_alias test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` + ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - +ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5 + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; @@ -4145,21 +4557,23 @@ IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 + ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5 fi - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; @@ -4178,21 +4592,23 @@ IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 -$as_echo_n "checking target system type... " >&6; } -if ${ac_cv_target+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$target_alias" = x; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else - ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 fi - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 -$as_echo "$ac_cv_target" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; @@ -4221,16 +4637,17 @@ test -n "$target_alias" && orig_prefix="$prefix" -{ $as_echo "$as_me:${as_lineno-$LINENO}: " >&5 -$as_echo "$as_me: " >&6;} -{ $as_echo "$as_me:${as_lineno-$LINENO}: Configuring Apache Portable Runtime library..." >&5 -$as_echo "$as_me: Configuring Apache Portable Runtime library..." >&6;} -{ $as_echo "$as_me:${as_lineno-$LINENO}: " >&5 -$as_echo "$as_me: " >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: " >&5 +printf "%s\n" "$as_me: " >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Configuring Apache Portable Runtime library..." >&5 +printf "%s\n" "$as_me: Configuring Apache Portable Runtime library..." >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: " >&5 +printf "%s\n" "$as_me: " >&6;} # Check whether --with-included-apr was given. -if test "${with_included_apr+set}" = set; then : +if test ${with_included_apr+y} +then : withval=$with_included_apr; fi @@ -4266,11 +4683,12 @@ else esac done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for APR" >&5 -$as_echo_n "checking for APR... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for APR" >&5 +printf %s "checking for APR... " >&6; } # Check whether --with-apr was given. -if test "${with_apr+set}" = set; then : +if test ${with_apr+y} +then : withval=$with_apr; if test "$withval" = "no" || test "$withval" = "yes"; then as_fn_error $? "--with-apr requires a directory or file to be provided" "$LINENO" 5 @@ -4288,16 +4706,16 @@ if test "${with_apr+set}" = set; then : version=`$apr_config --version` case x${version} in x1.[0-3].*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: APR version 1.4.0 or later is required, found $version" >&5 -$as_echo "$as_me: WARNING: APR version 1.4.0 or later is required, found $version" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: APR version 1.4.0 or later is required, found $version" >&5 +printf "%s\n" "$as_me: WARNING: APR version 1.4.0 or later is required, found $version" >&2;} apr_acceptable=no ;; esac unset version if test "$apr_acceptable" != "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Found APR in $apr_config, but we think it is considered unacceptable" >&5 -$as_echo "$as_me: WARNING: Found APR in $apr_config, but we think it is considered unacceptable" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Found APR in $apr_config, but we think it is considered unacceptable" >&5 +printf "%s\n" "$as_me: WARNING: Found APR in $apr_config, but we think it is considered unacceptable" >&2;} continue fi apr_found="yes" @@ -4314,8 +4732,8 @@ $as_echo "$as_me: WARNING: Found APR in $apr_config, but we think it is consider version=`$apr_config --version` case x${version} in x1.[0-3].*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: APR version 1.4.0 or later is required, found $version" >&5 -$as_echo "$as_me: WARNING: APR version 1.4.0 or later is required, found $version" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: APR version 1.4.0 or later is required, found $version" >&5 +printf "%s\n" "$as_me: WARNING: APR version 1.4.0 or later is required, found $version" >&2;} apr_acceptable=no ;; esac @@ -4330,8 +4748,8 @@ $as_echo "$as_me: WARNING: APR version 1.4.0 or later is required, found $versio as_fn_error $? "the --with-apr parameter is incorrect. It must specify an install prefix, a build directory, or an apr-config file." "$LINENO" 5 fi -else - +else case e in #( + e) if test -n "1" && test "1" = "1"; then for apr_temp_apr_config_file in $apr_temp_acceptable_apr_config do @@ -4343,16 +4761,16 @@ else version=`$apr_config --version` case x${version} in x1.[0-3].*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: APR version 1.4.0 or later is required, found $version" >&5 -$as_echo "$as_me: WARNING: APR version 1.4.0 or later is required, found $version" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: APR version 1.4.0 or later is required, found $version" >&5 +printf "%s\n" "$as_me: WARNING: APR version 1.4.0 or later is required, found $version" >&2;} apr_acceptable=no ;; esac unset version if test "$apr_acceptable" != "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: skipped APR at $apr_config, version not acceptable" >&5 -$as_echo "$as_me: WARNING: skipped APR at $apr_config, version not acceptable" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: skipped APR at $apr_config, version not acceptable" >&5 +printf "%s\n" "$as_me: WARNING: skipped APR at $apr_config, version not acceptable" >&2;} continue fi apr_found="yes" @@ -4367,16 +4785,16 @@ $as_echo "$as_me: WARNING: skipped APR at $apr_config, version not acceptable" > version=`$apr_config --version` case x${version} in x1.[0-3].*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: APR version 1.4.0 or later is required, found $version" >&5 -$as_echo "$as_me: WARNING: APR version 1.4.0 or later is required, found $version" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: APR version 1.4.0 or later is required, found $version" >&5 +printf "%s\n" "$as_me: WARNING: APR version 1.4.0 or later is required, found $version" >&2;} apr_acceptable=no ;; esac unset version if test "$apr_acceptable" != "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: skipped APR at $apr_config, version not acceptable" >&5 -$as_echo "$as_me: WARNING: skipped APR at $apr_config, version not acceptable" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: skipped APR at $apr_config, version not acceptable" >&5 +printf "%s\n" "$as_me: WARNING: skipped APR at $apr_config, version not acceptable" >&2;} continue fi apr_found="yes" @@ -4407,12 +4825,13 @@ $as_echo "$as_me: WARNING: skipped APR at $apr_config, version not acceptable" > apr_config=""$srcdir/srclib/apr"/$apr_temp_apr_config_file" fi fi - + ;; +esac fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $apr_found" >&5 -$as_echo "$apr_found" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $apr_found" >&5 +printf "%s\n" "$apr_found" >&6; } fi @@ -4433,8 +4852,8 @@ if test "$apr_found" = "reconfig"; then # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the +# 'ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* 'ac_cv_foo' will be assigned the # following values. _ACEOF @@ -4450,8 +4869,8 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -4464,14 +4883,14 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote + # 'set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) - # `set' quotes correctly as required by POSIX, so do not add quotes. + # 'set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | @@ -4481,15 +4900,15 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; /^ac_cv_env_/b end t clear :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else @@ -4503,8 +4922,8 @@ $as_echo "$as_me: updating cache $cache_file" >&6;} fi fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache @@ -4562,16 +4981,16 @@ rm -f confcache # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} >$cache_file fi @@ -4671,12 +5090,12 @@ APR_VERSION=`$apr_config --version` apr_major_version=`echo ${APR_VERSION} | sed 's,\..*,,'` APR_CONFIG="$APR_BINDIR/apr-${apr_major_version}-config" -{ $as_echo "$as_me:${as_lineno-$LINENO}: " >&5 -$as_echo "$as_me: " >&6;} -{ $as_echo "$as_me:${as_lineno-$LINENO}: Configuring Apache Portable Runtime Utility library..." >&5 -$as_echo "$as_me: Configuring Apache Portable Runtime Utility library..." >&6;} -{ $as_echo "$as_me:${as_lineno-$LINENO}: " >&5 -$as_echo "$as_me: " >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: " >&5 +printf "%s\n" "$as_me: " >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Configuring Apache Portable Runtime Utility library..." >&5 +printf "%s\n" "$as_me: Configuring Apache Portable Runtime Utility library..." >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: " >&5 +printf "%s\n" "$as_me: " >&6;} if test "x${apr_major_version}" = "x2"; then apu_found=obsolete @@ -4712,11 +5131,12 @@ else esac done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for APR-util" >&5 -$as_echo_n "checking for APR-util... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for APR-util" >&5 +printf %s "checking for APR-util... " >&6; } # Check whether --with-apr-util was given. -if test "${with_apr_util+set}" = set; then : +if test ${with_apr_util+y} +then : withval=$with_apr_util; if test "$withval" = "no" || test "$withval" = "yes"; then as_fn_error $? "--with-apr-util requires a directory or file to be provided" "$LINENO" 5 @@ -4744,8 +5164,8 @@ if test "${with_apr_util+set}" = set; then : as_fn_error $? "the --with-apr-util parameter is incorrect. It must specify an install prefix, a build directory, or an apu-config file." "$LINENO" 5 fi -else - +else case e in #( + e) if test -n "1" && test "1" = "1"; then for apu_temp_apu_config_file in $apu_temp_acceptable_apu_config do @@ -4787,12 +5207,13 @@ else apu_config=""$srcdir/srclib/apr-util"/$apu_temp_apu_config_file" fi fi - + ;; +esac fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $apu_found" >&5 -$as_echo "$apu_found" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $apu_found" >&5 +printf "%s\n" "$apu_found" >&6; } fi @@ -4824,8 +5245,8 @@ if test "$apu_found" = "reconfig"; then # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the +# 'ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* 'ac_cv_foo' will be assigned the # following values. _ACEOF @@ -4841,8 +5262,8 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -4855,14 +5276,14 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote + # 'set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) - # `set' quotes correctly as required by POSIX, so do not add quotes. + # 'set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | @@ -4872,15 +5293,15 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; /^ac_cv_env_/b end t clear :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else @@ -4894,8 +5315,8 @@ $as_echo "$as_me: updating cache $cache_file" >&6;} fi fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache @@ -4953,16 +5374,16 @@ rm -f confcache # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} >$cache_file fi @@ -4973,8 +5394,8 @@ fi fi if test "$apu_found" = "obsolete"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: APR-util obsoleted, woohoo" >&5 -$as_echo "$as_me: APR-util obsoleted, woohoo" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: APR-util obsoleted, woohoo" >&5 +printf "%s\n" "$as_me: APR-util obsoleted, woohoo" >&6;} else if test "x$LDFLAGS" = "x"; then @@ -5004,6 +5425,15 @@ else APU_CONFIG="$APU_BINDIR/apu-`echo ${APU_VERSION} | sed 's,\..*,,'`-config" fi + + + + + + + + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -5012,38 +5442,44 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS -fi +fi ;; +esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -5052,38 +5488,44 @@ if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_CC" = x; then @@ -5091,8 +5533,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -5105,38 +5547,44 @@ if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS -fi +fi ;; +esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -5145,12 +5593,13 @@ fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no @@ -5158,15 +5607,19 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -5182,18 +5635,19 @@ if test $ac_prog_rejected = yes; then # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@" fi fi -fi +fi ;; +esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -5204,38 +5658,44 @@ if test -z "$CC"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS -fi +fi ;; +esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -5248,38 +5708,44 @@ if test -z "$CC"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -5291,8 +5757,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -5300,25 +5766,131 @@ esac fi fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args. +set dummy ${ac_tool_prefix}clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}clang" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi ;; +esac +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="clang" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi ;; +esac +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 -for ac_option in --version -v -V -qversion; do +for ac_option in --version -v -V -qversion -version; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -5328,7 +5900,7 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done @@ -5336,7 +5908,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; @@ -5348,9 +5920,9 @@ ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" @@ -5371,13 +5943,14 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : + # Autoconf-2.13 could set the ac_cv_exeext variable to 'no'. +# So ignore a value of 'no', otherwise this would lead to 'EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. @@ -5392,12 +5965,12 @@ do # certainly right. break;; *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' + # safe: cross compilers may not add the suffix if given an '-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. @@ -5408,48 +5981,52 @@ do done test "$ac_cv_exeext" = no && ac_cv_exeext= -else - ac_file='' +else case e in #( + e) ac_file='' ;; +esac fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +See 'config.log' for more details" "$LINENO" 5; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : + # If both 'conftest.exe' and 'conftest' are 'present' (well, observable) +# catch 'conftest.exe'. For instance with Cygwin, 'ls conftest' will +# work properly (i.e., refer to 'conftest.exe'), while it won't with +# 'rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in @@ -5459,15 +6036,16 @@ for ac_file in conftest.exe conftest conftest.*; do * ) break;; esac done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +else case e in #( + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } ;; +esac fi rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext @@ -5476,9 +6054,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int -main () +main (void) { FILE *f = fopen ("conftest.out", "w"); + if (!f) + return 1; return ferror (f) || fclose (f) != 0; ; @@ -5488,8 +6068,8 @@ _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in @@ -5497,10 +6077,10 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in @@ -5508,39 +6088,41 @@ $as_echo "$ac_try_echo"; } >&5 *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use '--host'. +See 'config.log' for more details" "$LINENO" 5; } fi fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +rm -f conftest.$ac_ext conftest$ac_cv_exeext \ + conftest.o conftest.obj conftest.out ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; @@ -5554,11 +6136,12 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in @@ -5567,31 +6150,34 @@ $as_echo "$ac_try_echo"; } >&5 break;; esac done -else - $as_echo "$as_me: failed program was:" >&5 +else case e in #( + e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } ;; +esac fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext +rm -f conftest.$ac_cv_objext conftest.$ac_ext ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { #ifndef __GNUC__ choke me @@ -5601,30 +6187,36 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_compiler_gnu=yes -else - ac_compiler_gnu=no +else case e in #( + e) ac_compiler_gnu=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi -ac_test_CFLAGS=${CFLAGS+set} +ac_test_CFLAGS=${CFLAGS+y} ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" @@ -5632,57 +6224,63 @@ else /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_prog_cc_g=yes -else - CFLAGS="" +else case e in #( + e) CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : -else - ac_c_werror_flag=$ac_save_c_werror_flag +else case e in #( + e) ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_prog_cc_g=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then @@ -5697,94 +6295,153 @@ else CFLAGS= fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_cv_prog_cc_c11=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC ;; +esac +fi -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else case e in #( + e) if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" ;; +esac +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 ;; +esac +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC ;; +esac +fi -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else case e in #( + e) if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" ;; +esac +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 ;; +esac +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program _ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : + if ac_fn_c_try_compile "$LINENO" +then : ac_cv_prog_cc_c89=$ac_arg fi -rm -f core conftest.err conftest.$ac_objext +rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext -CC=$ac_save_CC +CC=$ac_save_CC ;; +esac +fi +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else case e in #( + e) if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" ;; +esac fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 ;; esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - +fi fi ac_ext=c @@ -5798,42 +6455,39 @@ ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +printf %s "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + if test ${ac_cv_prog_CPP+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) # Double quotes because $CC needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" cpp /lib/cpp do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif +#include Syntax error _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if ac_fn_c_try_cpp "$LINENO" +then : -else - # Broken: fails on valid input. -continue +else case e in #( + e) # Broken: fails on valid input. +continue ;; +esac fi rm -f conftest.err conftest.i conftest.$ac_ext @@ -5843,56 +6497,56 @@ rm -f conftest.err conftest.i conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if ac_fn_c_try_cpp "$LINENO" +then : # Broken: success on invalid input. continue -else - # Passes both tests. +else case e in #( + e) # Passes both tests. ac_preproc_ok=: -break +break ;; +esac fi rm -f conftest.err conftest.i conftest.$ac_ext done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +# Because of 'break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : +if $ac_preproc_ok +then : break fi done ac_cv_prog_CPP=$CPP - + ;; +esac fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +printf "%s\n" "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif +#include Syntax error _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if ac_fn_c_try_cpp "$LINENO" +then : -else - # Broken: fails on valid input. -continue +else case e in #( + e) # Broken: fails on valid input. +continue ;; +esac fi rm -f conftest.err conftest.i conftest.$ac_ext @@ -5902,26 +6556,30 @@ rm -f conftest.err conftest.i conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if ac_fn_c_try_cpp "$LINENO" +then : # Broken: success on invalid input. continue -else - # Passes both tests. +else case e in #( + e) # Passes both tests. ac_preproc_ok=: -break +break ;; +esac fi rm -f conftest.err conftest.i conftest.$ac_ext done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +# Because of 'break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : +if $ac_preproc_ok +then : -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +else case e in #( + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } ;; +esac fi ac_ext=c @@ -5931,182 +6589,6 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5 -$as_echo_n "checking for $CC option to accept ISO C99... " >&6; } -if ${ac_cv_prog_cc_c99+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c99=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include -#include - -// Check varargs macros. These examples are taken from C99 6.10.3.5. -#define debug(...) fprintf (stderr, __VA_ARGS__) -#define showlist(...) puts (#__VA_ARGS__) -#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) -static void -test_varargs_macros (void) -{ - int x = 1234; - int y = 5678; - debug ("Flag"); - debug ("X = %d\n", x); - showlist (The first, second, and third items.); - report (x>y, "x is %d but y is %d", x, y); -} - -// Check long long types. -#define BIG64 18446744073709551615ull -#define BIG32 4294967295ul -#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) -#if !BIG_OK - your preprocessor is broken; -#endif -#if BIG_OK -#else - your preprocessor is broken; -#endif -static long long int bignum = -9223372036854775807LL; -static unsigned long long int ubignum = BIG64; - -struct incomplete_array -{ - int datasize; - double data[]; -}; - -struct named_init { - int number; - const wchar_t *name; - double average; -}; - -typedef const char *ccp; - -static inline int -test_restrict (ccp restrict text) -{ - // See if C++-style comments work. - // Iterate through items via the restricted pointer. - // Also check for declarations in for loops. - for (unsigned int i = 0; *(text+i) != '\0'; ++i) - continue; - return 0; -} - -// Check varargs and va_copy. -static void -test_varargs (const char *format, ...) -{ - va_list args; - va_start (args, format); - va_list args_copy; - va_copy (args_copy, args); - - const char *str; - int number; - float fnumber; - - while (*format) - { - switch (*format++) - { - case 's': // string - str = va_arg (args_copy, const char *); - break; - case 'd': // int - number = va_arg (args_copy, int); - break; - case 'f': // float - fnumber = va_arg (args_copy, double); - break; - default: - break; - } - } - va_end (args_copy); - va_end (args); -} - -int -main () -{ - - // Check bool. - _Bool success = false; - - // Check restrict. - if (test_restrict ("String literal") == 0) - success = true; - char *restrict newvar = "Another string"; - - // Check varargs. - test_varargs ("s, d' f .", "string", 65, 34.234); - test_varargs_macros (); - - // Check flexible array members. - struct incomplete_array *ia = - malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); - ia->datasize = 10; - for (int i = 0; i < ia->datasize; ++i) - ia->data[i] = i * 1.234; - - // Check named initializers. - struct named_init ni = { - .number = 34, - .name = L"Test wide string", - .average = 543.34343, - }; - - ni.number = 58; - - int dynamic_array[ni.number]; - dynamic_array[ni.number - 1] = 543; - - // work around unused variable warnings - return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' - || dynamic_array[ni.number - 1] != 543); - - ; - return 0; -} -_ACEOF -for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99 -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c99=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c99" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c99" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c99" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 -$as_echo "$ac_cv_prog_cc_c99" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c99" != xno; then : - -fi - if test "x${cache_file}" = "x/dev/null"; then @@ -6117,69 +6599,140 @@ fi # Check whether --with-pcre was given. -if test "${with_pcre+set}" = set; then : +if test ${with_pcre+y} +then : withval=$with_pcre; fi +if test "x$with_pcre" = "x" || test "$with_pcre" = "yes"; then + with_pcre="$PATH" +else if which $with_pcre 2>/dev/null; then :; else + with_pcre="$with_pcre/bin:$with_pcre" +fi +fi -# Extract the first word of "pcre-config", so it can be a program name with args. -set dummy pcre-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PCRE_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 +for ac_prog in pcre2-config pcre-config +do + # Extract the first word of "$target_alias-$ac_prog", so it can be a program name with args. +set dummy $target_alias-$ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_PCRE_CONFIG+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test -n "$PCRE_CONFIG"; then + ac_cv_prog_PCRE_CONFIG="$PCRE_CONFIG" # Let the user override the test. else - case $PCRE_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_PCRE_CONFIG="$PCRE_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $with_pcre do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PCRE_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_PCRE_CONFIG="$target_alias-$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS - test -z "$ac_cv_path_PCRE_CONFIG" && ac_cv_path_PCRE_CONFIG="false" - ;; +fi ;; esac fi -PCRE_CONFIG=$ac_cv_path_PCRE_CONFIG +PCRE_CONFIG=$ac_cv_prog_PCRE_CONFIG if test -n "$PCRE_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PCRE_CONFIG" >&5 -$as_echo "$PCRE_CONFIG" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PCRE_CONFIG" >&5 +printf "%s\n" "$PCRE_CONFIG" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi -if test -d "$with_pcre" && test -x "$with_pcre/bin/pcre-config"; then - PCRE_CONFIG=$with_pcre/bin/pcre-config -elif test -x "$with_pcre"; then - PCRE_CONFIG=$with_pcre + test -n "$PCRE_CONFIG" && break +done +if test -z "$PCRE_CONFIG"; then + if test "$build" = "$target"; then + ac_ct_PCRE_CONFIG=$PCRE_CONFIG + for ac_prog in pcre2-config pcre-config +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_PCRE_CONFIG+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test -n "$ac_ct_PCRE_CONFIG"; then + ac_cv_prog_ac_ct_PCRE_CONFIG="$ac_ct_PCRE_CONFIG" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $with_pcre +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_PCRE_CONFIG="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi ;; +esac +fi +ac_ct_PCRE_CONFIG=$ac_cv_prog_ac_ct_PCRE_CONFIG +if test -n "$ac_ct_PCRE_CONFIG"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_PCRE_CONFIG" >&5 +printf "%s\n" "$ac_ct_PCRE_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi -if test "$PCRE_CONFIG" != "false"; then + + test -n "$ac_ct_PCRE_CONFIG" && break +done +test -n "$ac_ct_PCRE_CONFIG" || ac_ct_PCRE_CONFIG="`which $with_pcre 2>/dev/null`" + + PCRE_CONFIG=$ac_ct_PCRE_CONFIG + else + PCRE_CONFIG="`which $with_pcre 2>/dev/null`" + fi +fi + + +if test "x$PCRE_CONFIG" != "x"; then if $PCRE_CONFIG --version >/dev/null 2>&1; then :; else - as_fn_error $? "Did not find pcre-config script at $PCRE_CONFIG" "$LINENO" 5 + as_fn_error $? "Did not find working script at $PCRE_CONFIG" "$LINENO" 5 fi case `$PCRE_CONFIG --version` in + 1[0-9].*) + +printf "%s\n" "#define HAVE_PCRE2 1" >>confdefs.h + + ;; [1-5].*) as_fn_error $? "Need at least pcre version 6.0" "$LINENO" 5 ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: Using external PCRE library from $PCRE_CONFIG" >&5 -$as_echo "$as_me: Using external PCRE library from $PCRE_CONFIG" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Using external PCRE library from $PCRE_CONFIG" >&5 +printf "%s\n" "$as_me: Using external PCRE library from $PCRE_CONFIG" >&6;} if test "x$PCRE_INCLUDES" = "x"; then test "x$silent" != "xyes" && echo " setting PCRE_INCLUDES to \"`$PCRE_CONFIG --cflags`\"" @@ -6203,10 +6756,10 @@ $as_echo "$as_me: Using external PCRE library from $PCRE_CONFIG" >&6;} if test "x$PCRE_LIBS" = "x"; then - test "x$silent" != "xyes" && echo " setting PCRE_LIBS to \"`$PCRE_CONFIG --libs`\"" - PCRE_LIBS="`$PCRE_CONFIG --libs`" + test "x$silent" != "xyes" && echo " setting PCRE_LIBS to \"`$PCRE_CONFIG --libs8 2>/dev/null || $PCRE_CONFIG --libs`\"" + PCRE_LIBS="`$PCRE_CONFIG --libs8 2>/dev/null || $PCRE_CONFIG --libs`" else - apr_addto_bugger="`$PCRE_CONFIG --libs`" + apr_addto_bugger="`$PCRE_CONFIG --libs8 2>/dev/null || $PCRE_CONFIG --libs`" for i in $apr_addto_bugger; do apr_addto_duplicate="0" for j in $PCRE_LIBS; do @@ -6223,19 +6776,19 @@ $as_echo "$as_me: Using external PCRE library from $PCRE_CONFIG" >&6;} fi else - as_fn_error $? "pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/" "$LINENO" 5 + as_fn_error $? "pcre(2)-config for libpcre not found. PCRE is required and available from http://pcre.org/" "$LINENO" 5 fi APACHE_VAR_SUBST="$APACHE_VAR_SUBST PCRE_LIBS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: " >&5 -$as_echo "$as_me: " >&6;} -{ $as_echo "$as_me:${as_lineno-$LINENO}: Configuring Apache httpd..." >&5 -$as_echo "$as_me: Configuring Apache httpd..." >&6;} -{ $as_echo "$as_me:${as_lineno-$LINENO}: " >&5 -$as_echo "$as_me: " >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: " >&5 +printf "%s\n" "$as_me: " >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Configuring Apache httpd..." >&5 +printf "%s\n" "$as_me: Configuring Apache httpd..." >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: " >&5 +printf "%s\n" "$as_me: " >&6;} @@ -6374,12 +6927,178 @@ fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: " >&5 -$as_echo "$as_me: " >&6;} -{ $as_echo "$as_me:${as_lineno-$LINENO}: Applying OS-specific hints for httpd..." >&5 -$as_echo "$as_me: Applying OS-specific hints for httpd..." >&6;} -{ $as_echo "$as_me:${as_lineno-$LINENO}: " >&5 -$as_echo "$as_me: " >&6;} +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $PCRE_INCLUDES" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5 +printf %s "checking for egrep -e... " >&6; } +if test ${ac_cv_path_EGREP_TRADITIONAL+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in grep ggrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( +*GNU*) + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" -E 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_TRADITIONAL_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then + : + fi +else + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL +fi + + if test "$ac_cv_path_EGREP_TRADITIONAL" +then : + ac_cv_path_EGREP_TRADITIONAL="$ac_cv_path_EGREP_TRADITIONAL -E" +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in egrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( +*GNU*) + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_TRADITIONAL_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL +fi + ;; +esac +fi ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5 +printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; } + EGREP_TRADITIONAL=$ac_cv_path_EGREP_TRADITIONAL + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef HAVE_PCRE2 +yes +#else +#include +#ifdef PCRE_DUPNAMES +yes +#endif +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 +then : + pcre_have_dupnames=yes +else case e in #( + e) pcre_have_dupnames=no ;; +esac +fi +rm -rf conftest* + +if test "$pcre_have_dupnames" != "yes"; then + as_fn_error $? "pcre version does not support PCRE_DUPNAMES" "$LINENO" 5 +fi +CPPFLAGS="$save_CPPFLAGS" + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: " >&5 +printf "%s\n" "$as_me: " >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Applying OS-specific hints for httpd..." >&5 +printf "%s\n" "$as_me: Applying OS-specific hints for httpd..." >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: " >&5 +printf "%s\n" "$as_me: " >&6;} case $host in *os2*) @@ -6544,12 +7263,13 @@ esac # Extract the first word of "rm", so it can be a program name with args. set dummy rm; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_RM+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $RM in +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_RM+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) case $RM in [\\/]* | ?:[\\/]*) ac_cv_path_RM="$RM" # Let the user override the test with a path. ;; @@ -6558,11 +7278,15 @@ else for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_RM="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_RM="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6570,26 +7294,28 @@ done IFS=$as_save_IFS ;; +esac ;; esac fi RM=$ac_cv_path_RM if test -n "$RM"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RM" >&5 -$as_echo "$RM" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RM" >&5 +printf "%s\n" "$RM" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PKGCONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $PKGCONFIG in +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKGCONFIG+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) case $PKGCONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKGCONFIG="$PKGCONFIG" # Let the user override the test with a path. ;; @@ -6598,11 +7324,15 @@ else for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_PKGCONFIG="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6610,26 +7340,28 @@ done IFS=$as_save_IFS ;; +esac ;; esac fi PKGCONFIG=$ac_cv_path_PKGCONFIG if test -n "$PKGCONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5 -$as_echo "$PKGCONFIG" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5 +printf "%s\n" "$PKGCONFIG" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi # Extract the first word of "rsync", so it can be a program name with args. set dummy rsync; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_RSYNC+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $RSYNC in +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_RSYNC+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) case $RSYNC in [\\/]* | ?:[\\/]*) ac_cv_path_RSYNC="$RSYNC" # Let the user override the test with a path. ;; @@ -6638,11 +7370,15 @@ else for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_RSYNC="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_RSYNC="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6650,15 +7386,62 @@ done IFS=$as_save_IFS ;; +esac ;; esac fi RSYNC=$ac_cv_path_RSYNC if test -n "$RSYNC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RSYNC" >&5 -$as_echo "$RSYNC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RSYNC" >&5 +printf "%s\n" "$RSYNC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +# Extract the first word of "svn", so it can be a program name with args. +set dummy svn; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_SVN+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) case $SVN in + [\\/]* | ?:[\\/]*) + ac_cv_path_SVN="$SVN" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_SVN="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac ;; +esac +fi +SVN=$ac_cv_path_SVN +if test -n "$SVN"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SVN" >&5 +printf "%s\n" "$SVN" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -6666,90 +7449,102 @@ for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AWK+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS -fi +fi ;; +esac fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +printf "%s\n" "$AWK" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi test -n "$AWK" && break done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +printf %s "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +printf "%s\n" "no, using $LN_S" >&6; } fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS -fi +fi ;; +esac fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -6758,38 +7553,44 @@ if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then @@ -6797,8 +7598,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB @@ -6811,38 +7612,44 @@ for ac_prog in lynx links elinks do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LYNX_PATH+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LYNX_PATH"; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_LYNX_PATH+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test -n "$LYNX_PATH"; then ac_cv_prog_LYNX_PATH="$LYNX_PATH" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_LYNX_PATH="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS -fi +fi ;; +esac fi LYNX_PATH=$ac_cv_prog_LYNX_PATH if test -n "$LYNX_PATH"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LYNX_PATH" >&5 -$as_echo "$LYNX_PATH" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LYNX_PATH" >&5 +printf "%s\n" "$LYNX_PATH" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -6864,252 +7671,248 @@ INSTALL="\$(LIBTOOL) --mode=install \$(abs_srcdir)/build/install.sh -c" +ac_header= ac_cache= +for ac_item in $ac_header_c_list +do + if test $ac_cache; then + ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" + if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then + printf "%s\n" "#define $ac_item 1" >> confdefs.h + fi + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item + fi +done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + + + + + +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes +then : + +printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h + +fi + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 +printf %s "checking whether it is safe to define __EXTENSIONS__... " >&6; } +if test ${ac_cv_safe_to_define___extensions__+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#include -#include +# define __EXTENSIONS__ 1 + $ac_includes_default int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_safe_to_define___extensions__=yes +else case e in #( + e) ac_cv_safe_to_define___extensions__=no ;; +esac fi -rm -f conftest* - +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 +printf "%s\n" "$ac_cv_safe_to_define___extensions__" >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether _XOPEN_SOURCE should be defined" >&5 +printf %s "checking whether _XOPEN_SOURCE should be defined... " >&6; } +if test ${ac_cv_should_define__xopen_source+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_cv_should_define__xopen_source=no + if test $ac_cv_header_wchar_h = yes +then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* + #include + mbstate_t x; +int +main (void) +{ -fi + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) + #define _XOPEN_SOURCE 500 + #include + mbstate_t x; int -main () +main (void) { - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; + + ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_should_define__xopen_source=yes fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_should_define__xopen_source" >&5 +printf "%s\n" "$ac_cv_should_define__xopen_source" >&6; } -$as_echo "#define STDC_HEADERS 1" >>confdefs.h + printf "%s\n" "#define _ALL_SOURCE 1" >>confdefs.h -fi + printf "%s\n" "#define _DARWIN_C_SOURCE 1" >>confdefs.h -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF + printf "%s\n" "#define _GNU_SOURCE 1" >>confdefs.h -fi + printf "%s\n" "#define _HPUX_ALT_XOPEN_SOCKET_API 1" >>confdefs.h -done + printf "%s\n" "#define _NETBSD_SOURCE 1" >>confdefs.h + printf "%s\n" "#define _OPENBSD_SOURCE 1" >>confdefs.h + printf "%s\n" "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h - ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" -if test "x$ac_cv_header_minix_config_h" = xyes; then : - MINIX=yes -else - MINIX= -fi + printf "%s\n" "#define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_IEC_60559_BFP_EXT__ 1" >>confdefs.h - if test "$MINIX" = yes; then + printf "%s\n" "#define __STDC_WANT_IEC_60559_DFP_EXT__ 1" >>confdefs.h -$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_IEC_60559_EXT__ 1" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1" >>confdefs.h -$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_IEC_60559_TYPES_EXT__ 1" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_LIB_EXT2__ 1" >>confdefs.h -$as_echo "#define _MINIX 1" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_MATH_SPEC_FUNCS__ 1" >>confdefs.h - fi + printf "%s\n" "#define _TANDEM_SOURCE 1" >>confdefs.h + if test $ac_cv_header_minix_config_h = yes +then : + MINIX=yes + printf "%s\n" "#define _MINIX 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 -$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } -if ${ac_cv_safe_to_define___extensions__+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + printf "%s\n" "#define _POSIX_SOURCE 1" >>confdefs.h -# define __EXTENSIONS__ 1 - $ac_includes_default -int -main () -{ + printf "%s\n" "#define _POSIX_1_SOURCE 2" >>confdefs.h - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_safe_to_define___extensions__=yes -else - ac_cv_safe_to_define___extensions__=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else case e in #( + e) MINIX= ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 -$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } - test $ac_cv_safe_to_define___extensions__ = yes && - $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h + if test $ac_cv_safe_to_define___extensions__ = yes +then : + printf "%s\n" "#define __EXTENSIONS__ 1" >>confdefs.h - $as_echo "#define _ALL_SOURCE 1" >>confdefs.h - - $as_echo "#define _GNU_SOURCE 1" >>confdefs.h - - $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h - - $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h +fi + if test $ac_cv_should_define__xopen_source = yes +then : + printf "%s\n" "#define _XOPEN_SOURCE 500" >>confdefs.h +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 -$as_echo_n "checking for library containing strerror... " >&6; } -if ${ac_cv_search_strerror+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 +printf %s "checking for library containing strerror... " >&6; } +if test ${ac_cv_search_strerror+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char strerror (); +char strerror (void); int -main () +main (void) { return strerror (); ; return 0; } _ACEOF -for ac_lib in '' cposix; do +for ac_lib in '' cposix +do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - if ac_fn_c_try_link "$LINENO"; then : + if ac_fn_c_try_link "$LINENO" +then : ac_cv_search_strerror=$ac_res fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext - if ${ac_cv_search_strerror+:} false; then : + if test ${ac_cv_search_strerror+y} +then : break fi done -if ${ac_cv_search_strerror+:} false; then : +if test ${ac_cv_search_strerror+y} +then : -else - ac_cv_search_strerror=no +else case e in #( + e) ac_cv_search_strerror=no ;; +esac fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS +LIBS=$ac_func_search_save_LIBS ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5 -$as_echo "$ac_cv_search_strerror" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5 +printf "%s\n" "$ac_cv_search_strerror" >&6; } ac_res=$ac_cv_search_strerror -if test "$ac_res" != no; then : +if test "$ac_res" != no +then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi @@ -7128,12 +7931,13 @@ if test "${apr_found}" = "yes"; then ap_ckver_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS `$apr_config --includes`" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for APR version 1.3.0 or later" >&5 -$as_echo_n "checking for APR version 1.3.0 or later... " >&6; } -if ${ap_cv_aprver13+:} false; then : - $as_echo_n "(cached) " >&6 -else - +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for APR version 1.3.0 or later" >&5 +printf %s "checking for APR version 1.3.0 or later... " >&6; } +if test ${ap_cv_aprver13+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -7144,16 +7948,19 @@ good _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "good" >/dev/null 2>&1; then : + $EGREP_TRADITIONAL "good" >/dev/null 2>&1 +then : ap_cv_aprver13=yes -else - ap_cv_aprver13=no +else case e in #( + e) ap_cv_aprver13=no ;; +esac fi -rm -f conftest* - +rm -rf conftest* + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ap_cv_aprver13" >&5 -$as_echo "$ap_cv_aprver13" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ap_cv_aprver13" >&5 +printf "%s\n" "$ap_cv_aprver13" >&6; } if test "$ap_cv_aprver13" = "yes"; then : @@ -7185,12 +7992,13 @@ if test "${apu_found}" = "yes"; then ap_ckver_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS `$apu_config --includes`" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for APR-util version 1.3.0 or later" >&5 -$as_echo_n "checking for APR-util version 1.3.0 or later... " >&6; } -if ${ap_cv_apuver13+:} false; then : - $as_echo_n "(cached) " >&6 -else - +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for APR-util version 1.3.0 or later" >&5 +printf %s "checking for APR-util version 1.3.0 or later... " >&6; } +if test ${ap_cv_apuver13+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -7201,16 +8009,19 @@ good _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "good" >/dev/null 2>&1; then : + $EGREP_TRADITIONAL "good" >/dev/null 2>&1 +then : ap_cv_apuver13=yes -else - ap_cv_apuver13=no +else case e in #( + e) ap_cv_apuver13=no ;; +esac fi -rm -f conftest* - +rm -rf conftest* + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ap_cv_apuver13" >&5 -$as_echo "$ap_cv_apuver13" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ap_cv_apuver13" >&5 +printf "%s\n" "$ap_cv_apuver13" >&6; } if test "$ap_cv_apuver13" = "yes"; then : @@ -7236,12 +8047,13 @@ CPPFLAGS="$ap_ckver_CPPFLAGS" ap_ckver_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS `$apu_config --includes`" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for APR-util version 1.3.0 or later" >&5 -$as_echo_n "checking for APR-util version 1.3.0 or later... " >&6; } -if ${ap_cv_apuver13+:} false; then : - $as_echo_n "(cached) " >&6 -else - +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for APR-util version 1.3.0 or later" >&5 +printf %s "checking for APR-util version 1.3.0 or later... " >&6; } +if test ${ap_cv_apuver13+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -7252,16 +8064,19 @@ good _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "good" >/dev/null 2>&1; then : + $EGREP_TRADITIONAL "good" >/dev/null 2>&1 +then : ap_cv_apuver13=yes -else - ap_cv_apuver13=no +else case e in #( + e) ap_cv_apuver13=no ;; +esac fi -rm -f conftest* - +rm -rf conftest* + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ap_cv_apuver13" >&5 -$as_echo "$ap_cv_apuver13" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ap_cv_apuver13" >&5 +printf "%s\n" "$ap_cv_apuver13" >&6; } if test "$ap_cv_apuver13" = "yes"; then : @@ -7290,16 +8105,16 @@ else EOF MKDEP="true" for i in "$CC -MM" "$CC -M" "$CPP -MM" "$CPP -M" "cpp -M"; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $i can create proper make dependencies" >&5 -$as_echo_n "checking if $i can create proper make dependencies... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $i can create proper make dependencies" >&5 +printf %s "checking if $i can create proper make dependencies... " >&6; } if $i conftest.c 2>/dev/null | grep 'conftest.o: conftest.c' >/dev/null; then MKDEP=$i - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } break; fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } done rm -f conftest.c fi @@ -7311,150 +8126,167 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include +# Autoupdate added the next two lines to ensure that your configure +# script's behavior did not change. They are probably safe to remove. -int -main () -{ +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in egrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in #( +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +#( +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi else - ac_cv_header_stdc=no + ac_cv_path_EGREP=$EGREP fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : -else - ac_cv_header_stdc=no + fi ;; +esac fi -rm -f conftest* +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" -fi + EGREP_TRADITIONAL=$EGREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : +ac_fn_c_check_header_compile "$LINENO" "string.h" "ac_cv_header_string_h" "$ac_includes_default" +if test "x$ac_cv_header_string_h" = xyes +then : + printf "%s\n" "#define HAVE_STRING_H 1" >>confdefs.h -else - ac_cv_header_stdc=no fi -rm -f conftest* +ac_fn_c_check_header_compile "$LINENO" "limits.h" "ac_cv_header_limits_h" "$ac_includes_default" +if test "x$ac_cv_header_limits_h" = xyes +then : + printf "%s\n" "#define HAVE_LIMITS_H 1" >>confdefs.h fi +ac_fn_c_check_header_compile "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" +if test "x$ac_cv_header_unistd_h" = xyes +then : + printf "%s\n" "#define HAVE_UNISTD_H 1" >>confdefs.h -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_socket_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h + fi +ac_fn_c_check_header_compile "$LINENO" "pwd.h" "ac_cv_header_pwd_h" "$ac_includes_default" +if test "x$ac_cv_header_pwd_h" = xyes +then : + printf "%s\n" "#define HAVE_PWD_H 1" >>confdefs.h fi +ac_fn_c_check_header_compile "$LINENO" "grp.h" "ac_cv_header_grp_h" "$ac_includes_default" +if test "x$ac_cv_header_grp_h" = xyes +then : + printf "%s\n" "#define HAVE_GRP_H 1" >>confdefs.h + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then +ac_fn_c_check_header_compile "$LINENO" "strings.h" "ac_cv_header_strings_h" "$ac_includes_default" +if test "x$ac_cv_header_strings_h" = xyes +then : + printf "%s\n" "#define HAVE_STRINGS_H 1" >>confdefs.h -$as_echo "#define STDC_HEADERS 1" >>confdefs.h +fi +ac_fn_c_check_header_compile "$LINENO" "sys/prctl.h" "ac_cv_header_sys_prctl_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_prctl_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_PRCTL_H 1" >>confdefs.h fi +ac_fn_c_check_header_compile "$LINENO" "sys/processor.h" "ac_cv_header_sys_processor_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_processor_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_PROCESSOR_H 1" >>confdefs.h -for ac_header in \ -string.h \ -limits.h \ -unistd.h \ -sys/socket.h \ -pwd.h \ -grp.h \ -strings.h \ -sys/prctl.h \ -sys/processor.h \ -sys/sem.h \ -sys/sdt.h \ -sys/loadavg.h +fi +ac_fn_c_check_header_compile "$LINENO" "sys/sem.h" "ac_cv_header_sys_sem_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_sem_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_SEM_H 1" >>confdefs.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +fi +ac_fn_c_check_header_compile "$LINENO" "sys/sdt.h" "ac_cv_header_sys_sdt_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_sdt_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_SDT_H 1" >>confdefs.h fi +ac_fn_c_check_header_compile "$LINENO" "sys/loadavg.h" "ac_cv_header_sys_loadavg_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_loadavg_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_LOADAVG_H 1" >>confdefs.h -done +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 -$as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; } -if ${ac_cv_header_sys_wait_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 +printf %s "checking for sys/wait.h that is POSIX.1 compatible... " >&6; } +if test ${ac_cv_header_sys_wait_h+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -7466,7 +8298,7 @@ else #endif int -main () +main (void) { int s; wait (&s); @@ -7475,33 +8307,37 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_header_sys_wait_h=yes -else - ac_cv_header_sys_wait_h=no +else case e in #( + e) ac_cv_header_sys_wait_h=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5 -$as_echo "$ac_cv_header_sys_wait_h" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5 +printf "%s\n" "$ac_cv_header_sys_wait_h" >&6; } if test $ac_cv_header_sys_wait_h = yes; then -$as_echo "#define HAVE_SYS_WAIT_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_SYS_WAIT_H 1" >>confdefs.h fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 -$as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if ${ac_cv_c_const+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 +printf %s "checking for an ANSI C-conforming const... " >&6; } +if test ${ac_cv_c_const+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { #ifndef __cplusplus @@ -7514,7 +8350,7 @@ main () /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. + /* IBM XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ @@ -7542,7 +8378,7 @@ main () iptr p = 0; ++p; } - { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying + { /* IBM XL C 1.02.0.0 rejects this sort of thing, saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; } bx; struct s *b = &bx; b->j = 5; @@ -7558,76 +8394,90 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_c_const=yes -else - ac_cv_c_const=no +else case e in #( + e) ac_cv_c_const=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 -$as_echo "$ac_cv_c_const" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 +printf "%s\n" "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then -$as_echo "#define const /**/" >>confdefs.h +printf "%s\n" "#define const /**/" >>confdefs.h fi saved_LIBS="$LIBS" LIBS="" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sqrt" >&5 -$as_echo_n "checking for library containing sqrt... " >&6; } -if ${ac_cv_search_sqrt+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing sqrt" >&5 +printf %s "checking for library containing sqrt... " >&6; } +if test ${ac_cv_search_sqrt+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char sqrt (); +char sqrt (void); int -main () +main (void) { return sqrt (); ; return 0; } _ACEOF -for ac_lib in '' m; do +for ac_lib in '' m +do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - if ac_fn_c_try_link "$LINENO"; then : + if ac_fn_c_try_link "$LINENO" +then : ac_cv_search_sqrt=$ac_res fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext - if ${ac_cv_search_sqrt+:} false; then : + if test ${ac_cv_search_sqrt+y} +then : break fi done -if ${ac_cv_search_sqrt+:} false; then : +if test ${ac_cv_search_sqrt+y} +then : -else - ac_cv_search_sqrt=no +else case e in #( + e) ac_cv_search_sqrt=no ;; +esac fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS +LIBS=$ac_func_search_save_LIBS ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sqrt" >&5 -$as_echo "$ac_cv_search_sqrt" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sqrt" >&5 +printf "%s\n" "$ac_cv_search_sqrt" >&6; } ac_res=$ac_cv_search_sqrt -if test "$ac_res" != no; then : +if test "$ac_res" != no +then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi @@ -7641,58 +8491,69 @@ LIBS="$saved_LIBS" saved_LIBS="$LIBS" LIBS="" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing crypt" >&5 -$as_echo_n "checking for library containing crypt... " >&6; } -if ${ac_cv_search_crypt+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing crypt" >&5 +printf %s "checking for library containing crypt... " >&6; } +if test ${ac_cv_search_crypt+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char crypt (); +char crypt (void); int -main () +main (void) { return crypt (); ; return 0; } _ACEOF -for ac_lib in '' crypt; do +for ac_lib in '' crypt +do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - if ac_fn_c_try_link "$LINENO"; then : + if ac_fn_c_try_link "$LINENO" +then : ac_cv_search_crypt=$ac_res fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext - if ${ac_cv_search_crypt+:} false; then : + if test ${ac_cv_search_crypt+y} +then : break fi done -if ${ac_cv_search_crypt+:} false; then : +if test ${ac_cv_search_crypt+y} +then : -else - ac_cv_search_crypt=no +else case e in #( + e) ac_cv_search_crypt=no ;; +esac fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS +LIBS=$ac_func_search_save_LIBS ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_crypt" >&5 -$as_echo "$ac_cv_search_crypt" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_crypt" >&5 +printf "%s\n" "$ac_cv_search_crypt" >&6; } ac_res=$ac_cv_search_crypt -if test "$ac_res" != no; then : +if test "$ac_res" != no +then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi @@ -7702,43 +8563,144 @@ CRYPT_LIBS="$LIBS" APACHE_VAR_SUBST="$APACHE_VAR_SUBST CRYPT_LIBS" -LIBS="$saved_LIBS" +if test "$ac_cv_search_crypt" != "no"; then + # Test crypt() with the SHA-512 test vector from https://akkadia.org/drepper/SHA-crypt.txt + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether crypt() supports SHA-2" >&5 +printf %s "checking whether crypt() supports SHA-2... " >&6; } +if test ${ap_cv_crypt_sha2+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) + if test "$cross_compiling" = yes +then : + ap_cv_crypt_sha2=no +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#include -for ac_func in \ -getpwnam \ -getgrnam \ -initgroups \ -bindprocessor \ -prctl \ -timegm \ -getpgid \ -fopen64 \ -getloadavg +#define PASSWD_0 "Hello world!" +#define SALT_0 "\$6\$saltstring" +#define EXPECT_0 "\$6\$saltstring\$svn8UoSVapNtMuq1ukKS4tPQd8iKwSMHWjl/O817G3uBnIFNjnQJu" \ + "esI68u4OTLiBFdcbYEdFCoEOfaS35inz1" -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +int +main (void) +{ +char *result = crypt(PASSWD_0, SALT_0); + if (!result) return 1; + if (strcmp(result, EXPECT_0)) return 2; + + ; + return 0; +} _ACEOF +if ac_fn_c_try_run "$LINENO" +then : + ap_cv_crypt_sha2=yes +else case e in #( + e) ap_cv_crypt_sha2=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ap_cv_crypt_sha2" >&5 +printf "%s\n" "$ap_cv_crypt_sha2" >&6; } + if test "$ap_cv_crypt_sha2" = yes; then +printf "%s\n" "#define HAVE_CRYPT_SHA2 1" >>confdefs.h + + fi fi -done +LIBS="$saved_LIBS" +ac_fn_c_check_func "$LINENO" "getpwnam" "ac_cv_func_getpwnam" +if test "x$ac_cv_func_getpwnam" = xyes +then : + printf "%s\n" "#define HAVE_GETPWNAM 1" >>confdefs.h -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for void pointer length" >&5 -$as_echo_n "checking for void pointer length... " >&6; } -if ${ap_cv_void_ptr_lt_long+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : +fi +ac_fn_c_check_func "$LINENO" "getgrnam" "ac_cv_func_getgrnam" +if test "x$ac_cv_func_getgrnam" = xyes +then : + printf "%s\n" "#define HAVE_GETGRNAM 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "initgroups" "ac_cv_func_initgroups" +if test "x$ac_cv_func_initgroups" = xyes +then : + printf "%s\n" "#define HAVE_INITGROUPS 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "bindprocessor" "ac_cv_func_bindprocessor" +if test "x$ac_cv_func_bindprocessor" = xyes +then : + printf "%s\n" "#define HAVE_BINDPROCESSOR 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "prctl" "ac_cv_func_prctl" +if test "x$ac_cv_func_prctl" = xyes +then : + printf "%s\n" "#define HAVE_PRCTL 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "timegm" "ac_cv_func_timegm" +if test "x$ac_cv_func_timegm" = xyes +then : + printf "%s\n" "#define HAVE_TIMEGM 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "getpgid" "ac_cv_func_getpgid" +if test "x$ac_cv_func_getpgid" = xyes +then : + printf "%s\n" "#define HAVE_GETPGID 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "fopen64" "ac_cv_func_fopen64" +if test "x$ac_cv_func_fopen64" = xyes +then : + printf "%s\n" "#define HAVE_FOPEN64 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "getloadavg" "ac_cv_func_getloadavg" +if test "x$ac_cv_func_getloadavg" = xyes +then : + printf "%s\n" "#define HAVE_GETLOADAVG 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "gettid" "ac_cv_func_gettid" +if test "x$ac_cv_func_gettid" = xyes +then : + printf "%s\n" "#define HAVE_GETTID 1" >>confdefs.h + +fi + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for void pointer length" >&5 +printf %s "checking for void pointer length... " >&6; } +if test ${ap_cv_void_ptr_lt_long+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test "$cross_compiling" = yes +then : ap_cv_void_ptr_lt_long=yes -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main(void) @@ -7746,33 +8708,41 @@ int main(void) return sizeof(void *) < sizeof(long); } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : +if ac_fn_c_try_run "$LINENO" +then : ap_cv_void_ptr_lt_long=no -else - ap_cv_void_ptr_lt_long=yes +else case e in #( + e) ap_cv_void_ptr_lt_long=yes ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ap_cv_void_ptr_lt_long" >&5 -$as_echo "$ap_cv_void_ptr_lt_long" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ap_cv_void_ptr_lt_long" >&5 +printf "%s\n" "$ap_cv_void_ptr_lt_long" >&6; } if test "$ap_cv_void_ptr_lt_long" = "yes"; then as_fn_error $? "Size of \"void *\" is less than size of \"long\"" "$LINENO" 5 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettid()" >&5 -$as_echo_n "checking for gettid()... " >&6; } -if ${ac_cv_gettid+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_gettid=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +if test $ac_cv_func_gettid = no; then + # On Linux before glibc 2.30, gettid() is only usable via syscall() + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gettid() via syscall" >&5 +printf %s "checking for gettid() via syscall... " >&6; } +if test ${ap_cv_gettid+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test "$cross_compiling" = yes +then : + ap_cv_gettid=no +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _GNU_SOURCE #include @@ -7781,57 +8751,144 @@ else int main(int argc, char **argv) { pid_t t = syscall(SYS_gettid); return t == -1 ? 1 : 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_gettid=yes -else - ac_cv_gettid=no +if ac_fn_c_try_run "$LINENO" +then : + ap_cv_gettid=yes +else case e in #( + e) ap_cv_gettid=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gettid" >&5 -$as_echo "$ac_cv_gettid" >&6; } -if test "$ac_cv_gettid" = "yes"; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ap_cv_gettid" >&5 +printf "%s\n" "$ap_cv_gettid" >&6; } + if test "$ap_cv_gettid" = "yes"; then -$as_echo "#define HAVE_GETTID 1" >>confdefs.h +printf "%s\n" "#define HAVE_SYS_GETTID 1" >>confdefs.h + fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tm_gmtoff in struct tm" >&5 -$as_echo_n "checking for tm_gmtoff in struct tm... " >&6; } -if ${ac_cv_struct_tm_gmtoff+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tm_gmtoff in struct tm" >&5 +printf %s "checking for tm_gmtoff in struct tm... " >&6; } +if test ${ac_cv_struct_tm_gmtoff+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int -main () +main (void) { struct tm tm; tm.tm_gmtoff; ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_struct_tm_gmtoff=yes -else - ac_cv_struct_tm_gmtoff=no +else case e in #( + e) ac_cv_struct_tm_gmtoff=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm_gmtoff" >&5 -$as_echo "$ac_cv_struct_tm_gmtoff" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm_gmtoff" >&5 +printf "%s\n" "$ac_cv_struct_tm_gmtoff" >&6; } if test "$ac_cv_struct_tm_gmtoff" = "yes"; then -$as_echo "#define HAVE_GMTOFF 1" >>confdefs.h +printf "%s\n" "#define HAVE_GMTOFF 1" >>confdefs.h fi +case $host in +*-linux-*) + if test -n "$PKGCONFIG" && $PKGCONFIG --exists libsystemd; then + SYSTEMD_LIBS=`$PKGCONFIG --libs libsystemd` + elif test -n "$PKGCONFIG" && $PKGCONFIG --exists libsystemd-daemon; then + SYSTEMD_LIBS=`$PKGCONFIG --libs libsystemd-daemon` + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sd_notify in -lsystemd-daemon" >&5 +printf %s "checking for sd_notify in -lsystemd-daemon... " >&6; } +if test ${ac_cv_lib_systemd_daemon_sd_notify+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS +LIBS="-lsystemd-daemon $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char sd_notify (void); +int +main (void) +{ +return sd_notify (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_systemd_daemon_sd_notify=yes +else case e in #( + e) ac_cv_lib_systemd_daemon_sd_notify=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_systemd_daemon_sd_notify" >&5 +printf "%s\n" "$ac_cv_lib_systemd_daemon_sd_notify" >&6; } +if test "x$ac_cv_lib_systemd_daemon_sd_notify" = xyes +then : + SYSTEMD_LIBS="-lsystemd-daemon" +fi + + fi + if test -n "$SYSTEMD_LIBS"; then + ac_fn_c_check_header_compile "$LINENO" "systemd/sd-daemon.h" "ac_cv_header_systemd_sd_daemon_h" "$ac_includes_default" +if test "x$ac_cv_header_systemd_sd_daemon_h" = xyes +then : + printf "%s\n" "#define HAVE_SYSTEMD_SD_DAEMON_H 1" >>confdefs.h + +fi + + if test "${ac_cv_header_systemd_sd_daemon_h}" = "no" || test -z "${SYSTEMD_LIBS}"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Your system does not support systemd." >&5 +printf "%s\n" "$as_me: WARNING: Your system does not support systemd." >&2;} + else + +printf "%s\n" "#define HAVE_SYSTEMD 1" >>confdefs.h + + fi + fi + ;; +esac + + + case $host in *aix*) # for 32-bit builds, increase MAXDATA to allow lots of threads @@ -7855,25 +8912,30 @@ esac # Check whether --with-port was given. -if test "${with_port+set}" = set; then : +if test ${with_port+y} +then : withval=$with_port; if test "$withval" = "yes"; then as_fn_error $? "'option --with-port requires a value (the TCP port number)'" "$LINENO" 5; else PORT="$withval"; fi -else - PORT=80 +else case e in #( + e) PORT=80 ;; +esac fi # Check whether --with-sslport was given. -if test "${with_sslport+set}" = set; then : +if test ${with_sslport+y} +then : withval=$with_sslport; if test "$withval" = "yes"; then as_fn_error $? "'option --with-sslport requires a value (the SSL TCP port number)'" "$LINENO" 5; else SSLPORT="$withval"; fi -else - SSLPORT=443 +else case e in #( + e) SSLPORT=443 ;; +esac fi DTRACE=true # Check whether --enable-dtrace was given. -if test "${enable_dtrace+set}" = set; then : +if test ${enable_dtrace+y} +then : enableval=$enable_dtrace; enable_dtrace=$enableval if test "$enableval" = "yes"; then @@ -7901,10 +8963,11 @@ if test "${enable_dtrace+set}" = set; then : as_fn_error $? "'DTrace Support in the build system is not complete. Patches Welcome!'" "$LINENO" 5 fi -else - +else case e in #( + e) enable_dtrace=no - + ;; +esac fi @@ -7914,7 +8977,7 @@ case $host in *-solaris2*) if test $enable_dtrace = "yes" -a "$ac_cv_header_sys_sdt_h" = "yes"; then -$as_echo "#define AP_ENABLE_DTRACE 1" >>confdefs.h +printf "%s\n" "#define AP_ENABLE_DTRACE 1" >>confdefs.h DTRACE="/usr/sbin/dtrace $DTRACEFLAGS" test -f include/apache_probes.h || $DTRACE -h -s apache_probes.d -o include/apache_probes.h @@ -7928,11 +8991,12 @@ esac # Check whether --enable-hook-probes was given. -if test "${enable_hook_probes+set}" = set; then : +if test ${enable_hook_probes+y} +then : enableval=$enable_hook_probes; if test "$enableval" = "yes"; then -$as_echo "#define AP_HOOK_PROBES_ENABLED 1" >>confdefs.h +printf "%s\n" "#define AP_HOOK_PROBES_ENABLED 1" >>confdefs.h if test "x$INTERNAL_CPPFLAGS" = "x"; then @@ -7960,32 +9024,36 @@ $as_echo "#define AP_HOOK_PROBES_ENABLED 1" >>confdefs.h fi # Check whether --enable-exception-hook was given. -if test "${enable_exception_hook+set}" = set; then : +if test ${enable_exception_hook+y} +then : enableval=$enable_exception_hook; if test "$enableval" = "yes"; then -$as_echo "#define AP_ENABLE_EXCEPTION_HOOK 1" >>confdefs.h +printf "%s\n" "#define AP_ENABLE_EXCEPTION_HOOK 1" >>confdefs.h fi fi # Check whether --enable-load-all-modules was given. -if test "${enable_load_all_modules+set}" = set; then : +if test ${enable_load_all_modules+y} +then : enableval=$enable_load_all_modules; LOAD_ALL_MODULES=$enableval - { $as_echo "$as_me:${as_lineno-$LINENO}: Setting \"LOAD_ALL_MODULES\" to $LOAD_ALL_MODULES" >&5 -$as_echo "$as_me: Setting \"LOAD_ALL_MODULES\" to $LOAD_ALL_MODULES" >&6;} - -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Setting \"LOAD_ALL_MODULES\" to $LOAD_ALL_MODULES" >&5 +printf "%s\n" "$as_me: Setting \"LOAD_ALL_MODULES\" to $LOAD_ALL_MODULES" >&6;} +else case e in #( + e) LOAD_ALL_MODULES="no" - + ;; +esac fi # Check whether --enable-maintainer-mode was given. -if test "${enable_maintainer_mode+set}" = set; then : +if test ${enable_maintainer_mode+y} +then : enableval=$enable_maintainer_mode; if test "$enableval" = "yes"; then @@ -8013,36 +9081,40 @@ if test "${enable_maintainer_mode+set}" = set; then : if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -std=c89" >&5 -$as_echo_n "checking whether gcc accepts -std=c89... " >&6; } -if ${ac_cv_gcc__std_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -std=c89" >&5 +printf %s "checking whether gcc accepts -std=c89... " >&6; } +if test ${ac_cv_gcc__std_c89+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -std=c89 -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__std_c89=yes -else - ac_cv_gcc__std_c89=no +else case e in #( + e) ac_cv_gcc__std_c89=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__std_c89" >&5 -$as_echo "$ac_cv_gcc__std_c89" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__std_c89" >&5 +printf "%s\n" "$ac_cv_gcc__std_c89" >&6; } if test "$ac_cv_gcc__std_c89" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -8072,36 +9144,40 @@ $as_echo "$ac_cv_gcc__std_c89" >&6; } if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Werror" >&5 -$as_echo_n "checking whether gcc accepts -Werror... " >&6; } -if ${ac_cv_gcc__Werror+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Werror" >&5 +printf %s "checking whether gcc accepts -Werror... " >&6; } +if test ${ac_cv_gcc__Werror+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Werror -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__Werror=yes -else - ac_cv_gcc__Werror=no +else case e in #( + e) ac_cv_gcc__Werror=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Werror" >&5 -$as_echo "$ac_cv_gcc__Werror" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Werror" >&5 +printf "%s\n" "$ac_cv_gcc__Werror" >&6; } if test "$ac_cv_gcc__Werror" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -8131,36 +9207,40 @@ $as_echo "$ac_cv_gcc__Werror" >&6; } if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wall" >&5 -$as_echo_n "checking whether gcc accepts -Wall... " >&6; } -if ${ac_cv_gcc__Wall+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wall" >&5 +printf %s "checking whether gcc accepts -Wall... " >&6; } +if test ${ac_cv_gcc__Wall+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wall -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__Wall=yes -else - ac_cv_gcc__Wall=no +else case e in #( + e) ac_cv_gcc__Wall=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wall" >&5 -$as_echo "$ac_cv_gcc__Wall" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wall" >&5 +printf "%s\n" "$ac_cv_gcc__Wall" >&6; } if test "$ac_cv_gcc__Wall" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -8190,36 +9270,40 @@ $as_echo "$ac_cv_gcc__Wall" >&6; } if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wstrict-prototypes" >&5 -$as_echo_n "checking whether gcc accepts -Wstrict-prototypes... " >&6; } -if ${ac_cv_gcc__Wstrict_prototypes+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wstrict-prototypes" >&5 +printf %s "checking whether gcc accepts -Wstrict-prototypes... " >&6; } +if test ${ac_cv_gcc__Wstrict_prototypes+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wstrict-prototypes -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__Wstrict_prototypes=yes -else - ac_cv_gcc__Wstrict_prototypes=no +else case e in #( + e) ac_cv_gcc__Wstrict_prototypes=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wstrict_prototypes" >&5 -$as_echo "$ac_cv_gcc__Wstrict_prototypes" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wstrict_prototypes" >&5 +printf "%s\n" "$ac_cv_gcc__Wstrict_prototypes" >&6; } if test "$ac_cv_gcc__Wstrict_prototypes" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -8249,36 +9333,40 @@ $as_echo "$ac_cv_gcc__Wstrict_prototypes" >&6; } if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wmissing-prototypes" >&5 -$as_echo_n "checking whether gcc accepts -Wmissing-prototypes... " >&6; } -if ${ac_cv_gcc__Wmissing_prototypes+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wmissing-prototypes" >&5 +printf %s "checking whether gcc accepts -Wmissing-prototypes... " >&6; } +if test ${ac_cv_gcc__Wmissing_prototypes+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wmissing-prototypes -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__Wmissing_prototypes=yes -else - ac_cv_gcc__Wmissing_prototypes=no +else case e in #( + e) ac_cv_gcc__Wmissing_prototypes=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wmissing_prototypes" >&5 -$as_echo "$ac_cv_gcc__Wmissing_prototypes" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wmissing_prototypes" >&5 +printf "%s\n" "$ac_cv_gcc__Wmissing_prototypes" >&6; } if test "$ac_cv_gcc__Wmissing_prototypes" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -8308,36 +9396,40 @@ $as_echo "$ac_cv_gcc__Wmissing_prototypes" >&6; } if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wmissing-declarations" >&5 -$as_echo_n "checking whether gcc accepts -Wmissing-declarations... " >&6; } -if ${ac_cv_gcc__Wmissing_declarations+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wmissing-declarations" >&5 +printf %s "checking whether gcc accepts -Wmissing-declarations... " >&6; } +if test ${ac_cv_gcc__Wmissing_declarations+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wmissing-declarations -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__Wmissing_declarations=yes -else - ac_cv_gcc__Wmissing_declarations=no +else case e in #( + e) ac_cv_gcc__Wmissing_declarations=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wmissing_declarations" >&5 -$as_echo "$ac_cv_gcc__Wmissing_declarations" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wmissing_declarations" >&5 +printf "%s\n" "$ac_cv_gcc__Wmissing_declarations" >&6; } if test "$ac_cv_gcc__Wmissing_declarations" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -8367,36 +9459,40 @@ $as_echo "$ac_cv_gcc__Wmissing_declarations" >&6; } if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wdeclaration-after-statement" >&5 -$as_echo_n "checking whether gcc accepts -Wdeclaration-after-statement... " >&6; } -if ${ac_cv_gcc__Wdeclaration_after_statement+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wdeclaration-after-statement" >&5 +printf %s "checking whether gcc accepts -Wdeclaration-after-statement... " >&6; } +if test ${ac_cv_gcc__Wdeclaration_after_statement+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wdeclaration-after-statement -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__Wdeclaration_after_statement=yes -else - ac_cv_gcc__Wdeclaration_after_statement=no +else case e in #( + e) ac_cv_gcc__Wdeclaration_after_statement=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wdeclaration_after_statement" >&5 -$as_echo "$ac_cv_gcc__Wdeclaration_after_statement" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wdeclaration_after_statement" >&5 +printf "%s\n" "$ac_cv_gcc__Wdeclaration_after_statement" >&6; } if test "$ac_cv_gcc__Wdeclaration_after_statement" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -8426,36 +9522,40 @@ $as_echo "$ac_cv_gcc__Wdeclaration_after_statement" >&6; } if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wpointer-arith" >&5 -$as_echo_n "checking whether gcc accepts -Wpointer-arith... " >&6; } -if ${ac_cv_gcc__Wpointer_arith+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wpointer-arith" >&5 +printf %s "checking whether gcc accepts -Wpointer-arith... " >&6; } +if test ${ac_cv_gcc__Wpointer_arith+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wpointer-arith -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__Wpointer_arith=yes -else - ac_cv_gcc__Wpointer_arith=no +else case e in #( + e) ac_cv_gcc__Wpointer_arith=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wpointer_arith" >&5 -$as_echo "$ac_cv_gcc__Wpointer_arith" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wpointer_arith" >&5 +printf "%s\n" "$ac_cv_gcc__Wpointer_arith" >&6; } if test "$ac_cv_gcc__Wpointer_arith" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -8485,36 +9585,40 @@ $as_echo "$ac_cv_gcc__Wpointer_arith" >&6; } if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wformat" >&5 -$as_echo_n "checking whether gcc accepts -Wformat... " >&6; } -if ${ac_cv_gcc__Wformat+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wformat" >&5 +printf %s "checking whether gcc accepts -Wformat... " >&6; } +if test ${ac_cv_gcc__Wformat+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wformat -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__Wformat=yes -else - ac_cv_gcc__Wformat=no +else case e in #( + e) ac_cv_gcc__Wformat=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wformat" >&5 -$as_echo "$ac_cv_gcc__Wformat" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wformat" >&5 +printf "%s\n" "$ac_cv_gcc__Wformat" >&6; } if test "$ac_cv_gcc__Wformat" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -8544,36 +9648,40 @@ $as_echo "$ac_cv_gcc__Wformat" >&6; } if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wformat-security" >&5 -$as_echo_n "checking whether gcc accepts -Wformat-security... " >&6; } -if ${ac_cv_gcc__Wformat_security+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wformat-security" >&5 +printf %s "checking whether gcc accepts -Wformat-security... " >&6; } +if test ${ac_cv_gcc__Wformat_security+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wformat-security -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__Wformat_security=yes -else - ac_cv_gcc__Wformat_security=no +else case e in #( + e) ac_cv_gcc__Wformat_security=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wformat_security" >&5 -$as_echo "$ac_cv_gcc__Wformat_security" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wformat_security" >&5 +printf "%s\n" "$ac_cv_gcc__Wformat_security" >&6; } if test "$ac_cv_gcc__Wformat_security" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -8603,36 +9711,40 @@ $as_echo "$ac_cv_gcc__Wformat_security" >&6; } if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wunused" >&5 -$as_echo_n "checking whether gcc accepts -Wunused... " >&6; } -if ${ac_cv_gcc__Wunused+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wunused" >&5 +printf %s "checking whether gcc accepts -Wunused... " >&6; } +if test ${ac_cv_gcc__Wunused+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wunused -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__Wunused=yes -else - ac_cv_gcc__Wunused=no +else case e in #( + e) ac_cv_gcc__Wunused=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wunused" >&5 -$as_echo "$ac_cv_gcc__Wunused" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wunused" >&5 +printf "%s\n" "$ac_cv_gcc__Wunused" >&6; } if test "$ac_cv_gcc__Wunused" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -8662,10 +9774,10 @@ $as_echo "$ac_cv_gcc__Wunused" >&6; } elif test "$AIX_XLC" = "yes"; then if test "x$NOTEST_CFLAGS" = "x"; then - test "x$silent" != "xyes" && echo " setting NOTEST_CFLAGS to \"-qfullpath -qinitauto=FE -qcheck=all -qinfo=pro\"" - NOTEST_CFLAGS="-qfullpath -qinitauto=FE -qcheck=all -qinfo=pro" + test "x$silent" != "xyes" && echo " setting NOTEST_CFLAGS to \"-qfullpath -qcheck=all -qinfo=pro\"" + NOTEST_CFLAGS="-qfullpath -qcheck=all -qinfo=pro" else - apr_addto_bugger="-qfullpath -qinitauto=FE -qcheck=all -qinfo=pro" + apr_addto_bugger="-qfullpath -qcheck=all -qinfo=pro" for i in $apr_addto_bugger; do apr_addto_duplicate="0" for j in $NOTEST_CFLAGS; do @@ -8684,20 +9796,21 @@ $as_echo "$ac_cv_gcc__Wunused" >&6; } fi if test "x$enable_load_all_modules" = "x"; then LOAD_ALL_MODULES=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: Maintainer mode setting \"LOAD_ALL_MODULES\" to $LOAD_ALL_MODULES" >&5 -$as_echo "$as_me: Maintainer mode setting \"LOAD_ALL_MODULES\" to $LOAD_ALL_MODULES" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Maintainer mode setting \"LOAD_ALL_MODULES\" to $LOAD_ALL_MODULES" >&5 +printf "%s\n" "$as_me: Maintainer mode setting \"LOAD_ALL_MODULES\" to $LOAD_ALL_MODULES" >&6;} fi if test "x$enable_bucketeer" = "x"; then enable_bucketeer=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: Maintainer mode setting \"enable_bucketeer\" to yes" >&5 -$as_echo "$as_me: Maintainer mode setting \"enable_bucketeer\" to yes" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Maintainer mode setting \"enable_bucketeer\" to yes" >&5 +printf "%s\n" "$as_me: Maintainer mode setting \"enable_bucketeer\" to yes" >&6;} fi fi fi # Check whether --enable-debugger-mode was given. -if test "${enable_debugger_mode+set}" = set; then : +if test ${enable_debugger_mode+y} +then : enableval=$enable_debugger_mode; if test "$enableval" = "yes"; then @@ -8725,36 +9838,40 @@ if test "${enable_debugger_mode+set}" = set; then : if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -O0" >&5 -$as_echo_n "checking whether gcc accepts -O0... " >&6; } -if ${ac_cv_gcc__O0+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -O0" >&5 +printf %s "checking whether gcc accepts -O0... " >&6; } +if test ${ac_cv_gcc__O0+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -O0 -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__O0=yes -else - ac_cv_gcc__O0=no +else case e in #( + e) ac_cv_gcc__O0=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__O0" >&5 -$as_echo "$ac_cv_gcc__O0" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__O0" >&5 +printf "%s\n" "$ac_cv_gcc__O0" >&6; } if test "$ac_cv_gcc__O0" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -8784,36 +9901,40 @@ $as_echo "$ac_cv_gcc__O0" >&6; } if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wall" >&5 -$as_echo_n "checking whether gcc accepts -Wall... " >&6; } -if ${ac_cv_gcc__Wall+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wall" >&5 +printf %s "checking whether gcc accepts -Wall... " >&6; } +if test ${ac_cv_gcc__Wall+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wall -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__Wall=yes -else - ac_cv_gcc__Wall=no +else case e in #( + e) ac_cv_gcc__Wall=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wall" >&5 -$as_echo "$ac_cv_gcc__Wall" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wall" >&5 +printf "%s\n" "$ac_cv_gcc__Wall" >&6; } if test "$ac_cv_gcc__Wall" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -8843,36 +9964,40 @@ $as_echo "$ac_cv_gcc__Wall" >&6; } if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wstrict-prototypes" >&5 -$as_echo_n "checking whether gcc accepts -Wstrict-prototypes... " >&6; } -if ${ac_cv_gcc__Wstrict_prototypes+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wstrict-prototypes" >&5 +printf %s "checking whether gcc accepts -Wstrict-prototypes... " >&6; } +if test ${ac_cv_gcc__Wstrict_prototypes+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wstrict-prototypes -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__Wstrict_prototypes=yes -else - ac_cv_gcc__Wstrict_prototypes=no +else case e in #( + e) ac_cv_gcc__Wstrict_prototypes=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wstrict_prototypes" >&5 -$as_echo "$ac_cv_gcc__Wstrict_prototypes" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wstrict_prototypes" >&5 +printf "%s\n" "$ac_cv_gcc__Wstrict_prototypes" >&6; } if test "$ac_cv_gcc__Wstrict_prototypes" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -8902,36 +10027,40 @@ $as_echo "$ac_cv_gcc__Wstrict_prototypes" >&6; } if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wmissing-prototypes" >&5 -$as_echo_n "checking whether gcc accepts -Wmissing-prototypes... " >&6; } -if ${ac_cv_gcc__Wmissing_prototypes+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wmissing-prototypes" >&5 +printf %s "checking whether gcc accepts -Wmissing-prototypes... " >&6; } +if test ${ac_cv_gcc__Wmissing_prototypes+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wmissing-prototypes -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__Wmissing_prototypes=yes -else - ac_cv_gcc__Wmissing_prototypes=no +else case e in #( + e) ac_cv_gcc__Wmissing_prototypes=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wmissing_prototypes" >&5 -$as_echo "$ac_cv_gcc__Wmissing_prototypes" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wmissing_prototypes" >&5 +printf "%s\n" "$ac_cv_gcc__Wmissing_prototypes" >&6; } if test "$ac_cv_gcc__Wmissing_prototypes" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -8961,36 +10090,40 @@ $as_echo "$ac_cv_gcc__Wmissing_prototypes" >&6; } if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wmissing-declarations" >&5 -$as_echo_n "checking whether gcc accepts -Wmissing-declarations... " >&6; } -if ${ac_cv_gcc__Wmissing_declarations+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wmissing-declarations" >&5 +printf %s "checking whether gcc accepts -Wmissing-declarations... " >&6; } +if test ${ac_cv_gcc__Wmissing_declarations+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wmissing-declarations -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__Wmissing_declarations=yes -else - ac_cv_gcc__Wmissing_declarations=no +else case e in #( + e) ac_cv_gcc__Wmissing_declarations=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wmissing_declarations" >&5 -$as_echo "$ac_cv_gcc__Wmissing_declarations" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wmissing_declarations" >&5 +printf "%s\n" "$ac_cv_gcc__Wmissing_declarations" >&6; } if test "$ac_cv_gcc__Wmissing_declarations" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -9020,36 +10153,40 @@ $as_echo "$ac_cv_gcc__Wmissing_declarations" >&6; } if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wdeclaration-after-statement" >&5 -$as_echo_n "checking whether gcc accepts -Wdeclaration-after-statement... " >&6; } -if ${ac_cv_gcc__Wdeclaration_after_statement+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wdeclaration-after-statement" >&5 +printf %s "checking whether gcc accepts -Wdeclaration-after-statement... " >&6; } +if test ${ac_cv_gcc__Wdeclaration_after_statement+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wdeclaration-after-statement -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__Wdeclaration_after_statement=yes -else - ac_cv_gcc__Wdeclaration_after_statement=no +else case e in #( + e) ac_cv_gcc__Wdeclaration_after_statement=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wdeclaration_after_statement" >&5 -$as_echo "$ac_cv_gcc__Wdeclaration_after_statement" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wdeclaration_after_statement" >&5 +printf "%s\n" "$ac_cv_gcc__Wdeclaration_after_statement" >&6; } if test "$ac_cv_gcc__Wdeclaration_after_statement" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -9079,36 +10216,40 @@ $as_echo "$ac_cv_gcc__Wdeclaration_after_statement" >&6; } if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Werror=declaration-after-statement" >&5 -$as_echo_n "checking whether gcc accepts -Werror=declaration-after-statement... " >&6; } -if ${ac_cv_gcc__Werror_declaration_after_statement+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Werror=declaration-after-statement" >&5 +printf %s "checking whether gcc accepts -Werror=declaration-after-statement... " >&6; } +if test ${ac_cv_gcc__Werror_declaration_after_statement+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Werror=declaration-after-statement -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__Werror_declaration_after_statement=yes -else - ac_cv_gcc__Werror_declaration_after_statement=no +else case e in #( + e) ac_cv_gcc__Werror_declaration_after_statement=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Werror_declaration_after_statement" >&5 -$as_echo "$ac_cv_gcc__Werror_declaration_after_statement" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Werror_declaration_after_statement" >&5 +printf "%s\n" "$ac_cv_gcc__Werror_declaration_after_statement" >&6; } if test "$ac_cv_gcc__Werror_declaration_after_statement" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -9138,36 +10279,40 @@ $as_echo "$ac_cv_gcc__Werror_declaration_after_statement" >&6; } if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wpointer-arith" >&5 -$as_echo_n "checking whether gcc accepts -Wpointer-arith... " >&6; } -if ${ac_cv_gcc__Wpointer_arith+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wpointer-arith" >&5 +printf %s "checking whether gcc accepts -Wpointer-arith... " >&6; } +if test ${ac_cv_gcc__Wpointer_arith+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wpointer-arith -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__Wpointer_arith=yes -else - ac_cv_gcc__Wpointer_arith=no +else case e in #( + e) ac_cv_gcc__Wpointer_arith=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wpointer_arith" >&5 -$as_echo "$ac_cv_gcc__Wpointer_arith" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wpointer_arith" >&5 +printf "%s\n" "$ac_cv_gcc__Wpointer_arith" >&6; } if test "$ac_cv_gcc__Wpointer_arith" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -9197,36 +10342,40 @@ $as_echo "$ac_cv_gcc__Wpointer_arith" >&6; } if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wformat" >&5 -$as_echo_n "checking whether gcc accepts -Wformat... " >&6; } -if ${ac_cv_gcc__Wformat+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wformat" >&5 +printf %s "checking whether gcc accepts -Wformat... " >&6; } +if test ${ac_cv_gcc__Wformat+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wformat -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__Wformat=yes -else - ac_cv_gcc__Wformat=no +else case e in #( + e) ac_cv_gcc__Wformat=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wformat" >&5 -$as_echo "$ac_cv_gcc__Wformat" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wformat" >&5 +printf "%s\n" "$ac_cv_gcc__Wformat" >&6; } if test "$ac_cv_gcc__Wformat" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -9256,36 +10405,40 @@ $as_echo "$ac_cv_gcc__Wformat" >&6; } if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wformat-security" >&5 -$as_echo_n "checking whether gcc accepts -Wformat-security... " >&6; } -if ${ac_cv_gcc__Wformat_security+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wformat-security" >&5 +printf %s "checking whether gcc accepts -Wformat-security... " >&6; } +if test ${ac_cv_gcc__Wformat_security+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wformat-security -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__Wformat_security=yes -else - ac_cv_gcc__Wformat_security=no +else case e in #( + e) ac_cv_gcc__Wformat_security=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wformat_security" >&5 -$as_echo "$ac_cv_gcc__Wformat_security" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Wformat_security" >&5 +printf "%s\n" "$ac_cv_gcc__Wformat_security" >&6; } if test "$ac_cv_gcc__Wformat_security" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -9315,36 +10468,40 @@ $as_echo "$ac_cv_gcc__Wformat_security" >&6; } if test "$GCC" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Werror=format-security" >&5 -$as_echo_n "checking whether gcc accepts -Werror=format-security... " >&6; } -if ${ac_cv_gcc__Werror_format_security+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Werror=format-security" >&5 +printf %s "checking whether gcc accepts -Werror=format-security... " >&6; } +if test ${ac_cv_gcc__Werror_format_security+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Werror=format-security -Wno-strict-prototypes" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_gcc__Werror_format_security=yes -else - ac_cv_gcc__Werror_format_security=no +else case e in #( + e) ac_cv_gcc__Werror_format_security=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$save_CFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Werror_format_security" >&5 -$as_echo "$ac_cv_gcc__Werror_format_security" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc__Werror_format_security" >&5 +printf "%s\n" "$ac_cv_gcc__Werror_format_security" >&6; } if test "$ac_cv_gcc__Werror_format_security" = "yes" ; then if test "x$NOTEST_CFLAGS" = "x"; then @@ -9399,43 +10556,50 @@ $as_echo "$ac_cv_gcc__Werror_format_security" >&6; } fi # Check whether --enable-pie was given. -if test "${enable_pie+set}" = set; then : +if test ${enable_pie+y} +then : enableval=$enable_pie; fi if test "$enable_pie" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts PIE flags" >&5 -$as_echo_n "checking whether $CC accepts PIE flags... " >&6; } -if ${ap_cv_cc_pie+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts PIE flags" >&5 +printf %s "checking whether $CC accepts PIE flags... " >&6; } +if test ${ap_cv_cc_pie+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_CFLAGS=$CFLAGS save_LDFLAGS=$LDFLAGS CFLAGS="$CFLAGS -fPIE" LDFLAGS="$LDFLAGS -pie" - if test "$cross_compiling" = yes; then : + if test "$cross_compiling" = yes +then : ap_cv_cc_pie=yes -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ static int foo[30000]; int main () { return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : +if ac_fn_c_try_run "$LINENO" +then : ap_cv_cc_pie=yes -else - ap_cv_cc_pie=no +else case e in #( + e) ap_cv_cc_pie=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi CFLAGS=$save_CFLAGS LDFLAGS=$save_LDFLAGS - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ap_cv_cc_pie" >&5 -$as_echo "$ap_cv_cc_pie" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ap_cv_cc_pie" >&5 +printf "%s\n" "$ap_cv_cc_pie" >&6; } if test "$ap_cv_cc_pie" = "yes"; then PICFLAGS="-fPIE" PILDFLAGS="-pie" @@ -9470,25 +10634,28 @@ YES_IS_DEFINED _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "YES_IS_DEFINED" >/dev/null 2>&1; then : + $EGREP_TRADITIONAL "YES_IS_DEFINED" >/dev/null 2>&1 +then : ac_cv_define_APR_HAS_DSO=yes -else - ac_cv_define_APR_HAS_DSO=no +else case e in #( + e) ac_cv_define_APR_HAS_DSO=no ;; +esac fi -rm -f conftest* +rm -rf conftest* CPPFLAGS=$apr_old_cppflags if test $ac_cv_define_APR_HAS_DSO = "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Missing DSO support - building static modules by default." >&5 -$as_echo "$as_me: WARNING: Missing DSO support - building static modules by default." >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Missing DSO support - building static modules by default." >&5 +printf "%s\n" "$as_me: WARNING: Missing DSO support - building static modules by default." >&2;} module_default=static fi # Check whether --enable-modules was given. -if test "${enable_modules+set}" = set; then : +if test ${enable_modules+y} +then : enableval=$enable_modules; if test "$enableval" = "none"; then module_default=no @@ -9509,7 +10676,8 @@ fi # Check whether --enable-mods-shared was given. -if test "${enable_mods_shared+set}" = set; then : +if test ${enable_mods_shared+y} +then : enableval=$enable_mods_shared; for i in $enableval; do if test "$i" = "all" -o "$i" = "most" -o "$i" = "few" -o "$i" = "reallyall" @@ -9526,7 +10694,8 @@ fi # Check whether --enable-mods-static was given. -if test "${enable_mods_static+set}" = set; then : +if test ${enable_mods_static+y} +then : enableval=$enable_mods_static; for i in $enableval; do if test "$i" = "all" -o "$i" = "most" -o "$i" = "few" -o "$i" = "reallyall"; then @@ -9558,13 +10727,15 @@ fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authn_file" >&5 -$as_echo_n "checking whether to enable mod_authn_file... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authn_file" >&5 +printf %s "checking whether to enable mod_authn_file... " >&6; } # Check whether --enable-authn-file was given. -if test "${enable_authn_file+set}" = set; then : +if test ${enable_authn_file+y} +then : enableval=$enable_authn_file; force_authn_file=$enableval -else - enable_authn_file=yes +else case e in #( + e) enable_authn_file=yes ;; +esac fi _apmod_extra_msg="" @@ -9619,8 +10790,8 @@ fi if test "$enable_authn_file" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_authn_file$_apmod_extra_msg" >&5 -$as_echo "$enable_authn_file$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_authn_file$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_authn_file$_apmod_extra_msg" >&6; } if test "$enable_authn_file" != "no"; then case "$enable_authn_file" in static*) @@ -9699,13 +10870,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authn_dbm" >&5 -$as_echo_n "checking whether to enable mod_authn_dbm... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authn_dbm" >&5 +printf %s "checking whether to enable mod_authn_dbm... " >&6; } # Check whether --enable-authn-dbm was given. -if test "${enable_authn_dbm+set}" = set; then : +if test ${enable_authn_dbm+y} +then : enableval=$enable_authn_dbm; force_authn_dbm=$enableval -else - enable_authn_dbm=most +else case e in #( + e) enable_authn_dbm=most ;; +esac fi _apmod_extra_msg="" @@ -9760,8 +10933,8 @@ fi if test "$enable_authn_dbm" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_authn_dbm$_apmod_extra_msg" >&5 -$as_echo "$enable_authn_dbm$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_authn_dbm$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_authn_dbm$_apmod_extra_msg" >&6; } if test "$enable_authn_dbm" != "no"; then case "$enable_authn_dbm" in static*) @@ -9840,13 +11013,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authn_anon" >&5 -$as_echo_n "checking whether to enable mod_authn_anon... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authn_anon" >&5 +printf %s "checking whether to enable mod_authn_anon... " >&6; } # Check whether --enable-authn-anon was given. -if test "${enable_authn_anon+set}" = set; then : +if test ${enable_authn_anon+y} +then : enableval=$enable_authn_anon; force_authn_anon=$enableval -else - enable_authn_anon=most +else case e in #( + e) enable_authn_anon=most ;; +esac fi _apmod_extra_msg="" @@ -9901,8 +11076,8 @@ fi if test "$enable_authn_anon" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_authn_anon$_apmod_extra_msg" >&5 -$as_echo "$enable_authn_anon$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_authn_anon$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_authn_anon$_apmod_extra_msg" >&6; } if test "$enable_authn_anon" != "no"; then case "$enable_authn_anon" in static*) @@ -9981,13 +11156,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authn_dbd" >&5 -$as_echo_n "checking whether to enable mod_authn_dbd... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authn_dbd" >&5 +printf %s "checking whether to enable mod_authn_dbd... " >&6; } # Check whether --enable-authn-dbd was given. -if test "${enable_authn_dbd+set}" = set; then : +if test ${enable_authn_dbd+y} +then : enableval=$enable_authn_dbd; force_authn_dbd=$enableval -else - enable_authn_dbd=most +else case e in #( + e) enable_authn_dbd=most ;; +esac fi _apmod_extra_msg="" @@ -10042,8 +11219,8 @@ fi if test "$enable_authn_dbd" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_authn_dbd$_apmod_extra_msg" >&5 -$as_echo "$enable_authn_dbd$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_authn_dbd$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_authn_dbd$_apmod_extra_msg" >&6; } if test "$enable_authn_dbd" != "no"; then case "$enable_authn_dbd" in static*) @@ -10122,13 +11299,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authn_socache" >&5 -$as_echo_n "checking whether to enable mod_authn_socache... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authn_socache" >&5 +printf %s "checking whether to enable mod_authn_socache... " >&6; } # Check whether --enable-authn-socache was given. -if test "${enable_authn_socache+set}" = set; then : +if test ${enable_authn_socache+y} +then : enableval=$enable_authn_socache; force_authn_socache=$enableval -else - enable_authn_socache=most +else case e in #( + e) enable_authn_socache=most ;; +esac fi _apmod_extra_msg="" @@ -10183,8 +11362,8 @@ fi if test "$enable_authn_socache" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_authn_socache$_apmod_extra_msg" >&5 -$as_echo "$enable_authn_socache$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_authn_socache$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_authn_socache$_apmod_extra_msg" >&6; } if test "$enable_authn_socache" != "no"; then case "$enable_authn_socache" in static*) @@ -10264,13 +11443,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authn_core" >&5 -$as_echo_n "checking whether to enable mod_authn_core... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authn_core" >&5 +printf %s "checking whether to enable mod_authn_core... " >&6; } # Check whether --enable-authn-core was given. -if test "${enable_authn_core+set}" = set; then : +if test ${enable_authn_core+y} +then : enableval=$enable_authn_core; force_authn_core=$enableval -else - enable_authn_core=yes +else case e in #( + e) enable_authn_core=yes ;; +esac fi _apmod_extra_msg="" @@ -10325,8 +11506,8 @@ fi if test "$enable_authn_core" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_authn_core$_apmod_extra_msg" >&5 -$as_echo "$enable_authn_core$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_authn_core$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_authn_core$_apmod_extra_msg" >&6; } if test "$enable_authn_core" != "no"; then case "$enable_authn_core" in static*) @@ -10406,13 +11587,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authz_host" >&5 -$as_echo_n "checking whether to enable mod_authz_host... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authz_host" >&5 +printf %s "checking whether to enable mod_authz_host... " >&6; } # Check whether --enable-authz-host was given. -if test "${enable_authz_host+set}" = set; then : +if test ${enable_authz_host+y} +then : enableval=$enable_authz_host; force_authz_host=$enableval -else - enable_authz_host=yes +else case e in #( + e) enable_authz_host=yes ;; +esac fi _apmod_extra_msg="" @@ -10467,8 +11650,8 @@ fi if test "$enable_authz_host" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_authz_host$_apmod_extra_msg" >&5 -$as_echo "$enable_authz_host$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_authz_host$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_authz_host$_apmod_extra_msg" >&6; } if test "$enable_authz_host" != "no"; then case "$enable_authz_host" in static*) @@ -10547,13 +11730,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authz_groupfile" >&5 -$as_echo_n "checking whether to enable mod_authz_groupfile... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authz_groupfile" >&5 +printf %s "checking whether to enable mod_authz_groupfile... " >&6; } # Check whether --enable-authz-groupfile was given. -if test "${enable_authz_groupfile+set}" = set; then : +if test ${enable_authz_groupfile+y} +then : enableval=$enable_authz_groupfile; force_authz_groupfile=$enableval -else - enable_authz_groupfile=yes +else case e in #( + e) enable_authz_groupfile=yes ;; +esac fi _apmod_extra_msg="" @@ -10608,8 +11793,8 @@ fi if test "$enable_authz_groupfile" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_authz_groupfile$_apmod_extra_msg" >&5 -$as_echo "$enable_authz_groupfile$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_authz_groupfile$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_authz_groupfile$_apmod_extra_msg" >&6; } if test "$enable_authz_groupfile" != "no"; then case "$enable_authz_groupfile" in static*) @@ -10688,13 +11873,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authz_user" >&5 -$as_echo_n "checking whether to enable mod_authz_user... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authz_user" >&5 +printf %s "checking whether to enable mod_authz_user... " >&6; } # Check whether --enable-authz-user was given. -if test "${enable_authz_user+set}" = set; then : +if test ${enable_authz_user+y} +then : enableval=$enable_authz_user; force_authz_user=$enableval -else - enable_authz_user=yes +else case e in #( + e) enable_authz_user=yes ;; +esac fi _apmod_extra_msg="" @@ -10749,8 +11936,8 @@ fi if test "$enable_authz_user" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_authz_user$_apmod_extra_msg" >&5 -$as_echo "$enable_authz_user$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_authz_user$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_authz_user$_apmod_extra_msg" >&6; } if test "$enable_authz_user" != "no"; then case "$enable_authz_user" in static*) @@ -10829,13 +12016,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authz_dbm" >&5 -$as_echo_n "checking whether to enable mod_authz_dbm... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authz_dbm" >&5 +printf %s "checking whether to enable mod_authz_dbm... " >&6; } # Check whether --enable-authz-dbm was given. -if test "${enable_authz_dbm+set}" = set; then : +if test ${enable_authz_dbm+y} +then : enableval=$enable_authz_dbm; force_authz_dbm=$enableval -else - enable_authz_dbm=most +else case e in #( + e) enable_authz_dbm=most ;; +esac fi _apmod_extra_msg="" @@ -10890,8 +12079,8 @@ fi if test "$enable_authz_dbm" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_authz_dbm$_apmod_extra_msg" >&5 -$as_echo "$enable_authz_dbm$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_authz_dbm$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_authz_dbm$_apmod_extra_msg" >&6; } if test "$enable_authz_dbm" != "no"; then case "$enable_authz_dbm" in static*) @@ -10970,13 +12159,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authz_owner" >&5 -$as_echo_n "checking whether to enable mod_authz_owner... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authz_owner" >&5 +printf %s "checking whether to enable mod_authz_owner... " >&6; } # Check whether --enable-authz-owner was given. -if test "${enable_authz_owner+set}" = set; then : +if test ${enable_authz_owner+y} +then : enableval=$enable_authz_owner; force_authz_owner=$enableval -else - enable_authz_owner=most +else case e in #( + e) enable_authz_owner=most ;; +esac fi _apmod_extra_msg="" @@ -11031,8 +12222,8 @@ fi if test "$enable_authz_owner" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_authz_owner$_apmod_extra_msg" >&5 -$as_echo "$enable_authz_owner$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_authz_owner$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_authz_owner$_apmod_extra_msg" >&6; } if test "$enable_authz_owner" != "no"; then case "$enable_authz_owner" in static*) @@ -11111,13 +12302,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authz_dbd" >&5 -$as_echo_n "checking whether to enable mod_authz_dbd... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authz_dbd" >&5 +printf %s "checking whether to enable mod_authz_dbd... " >&6; } # Check whether --enable-authz-dbd was given. -if test "${enable_authz_dbd+set}" = set; then : +if test ${enable_authz_dbd+y} +then : enableval=$enable_authz_dbd; force_authz_dbd=$enableval -else - enable_authz_dbd=most +else case e in #( + e) enable_authz_dbd=most ;; +esac fi _apmod_extra_msg="" @@ -11172,8 +12365,8 @@ fi if test "$enable_authz_dbd" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_authz_dbd$_apmod_extra_msg" >&5 -$as_echo "$enable_authz_dbd$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_authz_dbd$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_authz_dbd$_apmod_extra_msg" >&6; } if test "$enable_authz_dbd" != "no"; then case "$enable_authz_dbd" in static*) @@ -11253,13 +12446,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authz_core" >&5 -$as_echo_n "checking whether to enable mod_authz_core... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authz_core" >&5 +printf %s "checking whether to enable mod_authz_core... " >&6; } # Check whether --enable-authz-core was given. -if test "${enable_authz_core+set}" = set; then : +if test ${enable_authz_core+y} +then : enableval=$enable_authz_core; force_authz_core=$enableval -else - enable_authz_core=yes +else case e in #( + e) enable_authz_core=yes ;; +esac fi _apmod_extra_msg="" @@ -11314,8 +12509,8 @@ fi if test "$enable_authz_core" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_authz_core$_apmod_extra_msg" >&5 -$as_echo "$enable_authz_core$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_authz_core$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_authz_core$_apmod_extra_msg" >&6; } if test "$enable_authz_core" != "no"; then case "$enable_authz_core" in static*) @@ -11395,13 +12590,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authnz_ldap" >&5 -$as_echo_n "checking whether to enable mod_authnz_ldap... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authnz_ldap" >&5 +printf %s "checking whether to enable mod_authnz_ldap... " >&6; } # Check whether --enable-authnz-ldap was given. -if test "${enable_authnz_ldap+set}" = set; then : +if test ${enable_authnz_ldap+y} +then : enableval=$enable_authnz_ldap; force_authnz_ldap=$enableval -else - enable_authnz_ldap=most +else case e in #( + e) enable_authnz_ldap=most ;; +esac fi _apmod_extra_msg="" @@ -11454,17 +12651,18 @@ fi enable_authnz_ldap=no fi if test "$enable_authnz_ldap" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldap support in apr/apr-util" >&5 -$as_echo_n "checking for ldap support in apr/apr-util... " >&6; } -if ${ac_cv_APR_HAS_LDAP+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ldap support in apr/apr-util" >&5 +printf %s "checking for ldap support in apr/apr-util... " >&6; } +if test ${ac_cv_APR_HAS_LDAP+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) apache_old_cppflags="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCLUDES" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11477,18 +12675,21 @@ YES_IS_DEFINED _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "YES_IS_DEFINED" >/dev/null 2>&1; then : + $EGREP_TRADITIONAL "YES_IS_DEFINED" >/dev/null 2>&1 +then : ac_cv_APR_HAS_LDAP=yes -else - ac_cv_APR_HAS_LDAP=no +else case e in #( + e) ac_cv_APR_HAS_LDAP=no ;; +esac fi -rm -f conftest* +rm -rf conftest* CPPFLAGS="$apache_old_cppflags" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_APR_HAS_LDAP" >&5 -$as_echo "$ac_cv_APR_HAS_LDAP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_APR_HAS_LDAP" >&5 +printf "%s\n" "$ac_cv_APR_HAS_LDAP" >&6; } if test "$ac_cv_APR_HAS_LDAP" = "yes" ; then if test -z "$apu_config" ; then @@ -11519,14 +12720,14 @@ $as_echo "$ac_cv_APR_HAS_LDAP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: apr/apr-util is compiled without ldap support" >&5 -$as_echo "$as_me: WARNING: apr/apr-util is compiled without ldap support" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: apr/apr-util is compiled without ldap support" >&5 +printf "%s\n" "$as_me: WARNING: apr/apr-util is compiled without ldap support" >&2;} enable_authnz_ldap=no fi : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authnz_ldap" >&5 -$as_echo_n "checking whether to enable mod_authnz_ldap... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authnz_ldap" >&5 +printf %s "checking whether to enable mod_authnz_ldap... " >&6; } if test "$enable_authnz_ldap" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -11535,8 +12736,8 @@ $as_echo_n "checking whether to enable mod_authnz_ldap... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_authnz_ldap$_apmod_extra_msg" >&5 -$as_echo "$enable_authnz_ldap$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_authnz_ldap$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_authnz_ldap$_apmod_extra_msg" >&6; } if test "$enable_authnz_ldap" != "no"; then case "$enable_authnz_ldap" in static*) @@ -11616,13 +12817,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authnz_fcgi" >&5 -$as_echo_n "checking whether to enable mod_authnz_fcgi... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_authnz_fcgi" >&5 +printf %s "checking whether to enable mod_authnz_fcgi... " >&6; } # Check whether --enable-authnz-fcgi was given. -if test "${enable_authnz_fcgi+set}" = set; then : +if test ${enable_authnz_fcgi+y} +then : enableval=$enable_authnz_fcgi; force_authnz_fcgi=$enableval -else - enable_authnz_fcgi=no +else case e in #( + e) enable_authnz_fcgi=no ;; +esac fi _apmod_extra_msg="" @@ -11677,8 +12880,8 @@ fi if test "$enable_authnz_fcgi" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_authnz_fcgi$_apmod_extra_msg" >&5 -$as_echo "$enable_authnz_fcgi$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_authnz_fcgi$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_authnz_fcgi$_apmod_extra_msg" >&6; } if test "$enable_authnz_fcgi" != "no"; then case "$enable_authnz_fcgi" in static*) @@ -11758,13 +12961,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_access_compat" >&5 -$as_echo_n "checking whether to enable mod_access_compat... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_access_compat" >&5 +printf %s "checking whether to enable mod_access_compat... " >&6; } # Check whether --enable-access-compat was given. -if test "${enable_access_compat+set}" = set; then : +if test ${enable_access_compat+y} +then : enableval=$enable_access_compat; force_access_compat=$enableval -else - enable_access_compat=yes +else case e in #( + e) enable_access_compat=yes ;; +esac fi _apmod_extra_msg="" @@ -11819,8 +13024,8 @@ fi if test "$enable_access_compat" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_access_compat$_apmod_extra_msg" >&5 -$as_echo "$enable_access_compat$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_access_compat$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_access_compat$_apmod_extra_msg" >&6; } if test "$enable_access_compat" != "no"; then case "$enable_access_compat" in static*) @@ -11901,13 +13106,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_auth_basic" >&5 -$as_echo_n "checking whether to enable mod_auth_basic... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_auth_basic" >&5 +printf %s "checking whether to enable mod_auth_basic... " >&6; } # Check whether --enable-auth-basic was given. -if test "${enable_auth_basic+set}" = set; then : +if test ${enable_auth_basic+y} +then : enableval=$enable_auth_basic; force_auth_basic=$enableval -else - enable_auth_basic=yes +else case e in #( + e) enable_auth_basic=yes ;; +esac fi _apmod_extra_msg="" @@ -11962,8 +13169,8 @@ fi if test "$enable_auth_basic" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_auth_basic$_apmod_extra_msg" >&5 -$as_echo "$enable_auth_basic$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_auth_basic$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_auth_basic$_apmod_extra_msg" >&6; } if test "$enable_auth_basic" != "no"; then case "$enable_auth_basic" in static*) @@ -12042,13 +13249,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_auth_form" >&5 -$as_echo_n "checking whether to enable mod_auth_form... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_auth_form" >&5 +printf %s "checking whether to enable mod_auth_form... " >&6; } # Check whether --enable-auth-form was given. -if test "${enable_auth_form+set}" = set; then : +if test ${enable_auth_form+y} +then : enableval=$enable_auth_form; force_auth_form=$enableval -else - enable_auth_form=most +else case e in #( + e) enable_auth_form=most ;; +esac fi _apmod_extra_msg="" @@ -12103,8 +13312,8 @@ fi if test "$enable_auth_form" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_auth_form$_apmod_extra_msg" >&5 -$as_echo "$enable_auth_form$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_auth_form$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_auth_form$_apmod_extra_msg" >&6; } if test "$enable_auth_form" != "no"; then case "$enable_auth_form" in static*) @@ -12183,13 +13392,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_auth_digest" >&5 -$as_echo_n "checking whether to enable mod_auth_digest... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_auth_digest" >&5 +printf %s "checking whether to enable mod_auth_digest... " >&6; } # Check whether --enable-auth-digest was given. -if test "${enable_auth_digest+set}" = set; then : +if test ${enable_auth_digest+y} +then : enableval=$enable_auth_digest; force_auth_digest=$enableval -else - enable_auth_digest=most +else case e in #( + e) enable_auth_digest=most ;; +esac fi _apmod_extra_msg="" @@ -12242,8 +13453,8 @@ fi enable_auth_digest=no fi if test "$enable_auth_digest" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } : @@ -12259,12 +13470,14 @@ YES_IS_DEFINED _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "YES_IS_DEFINED" >/dev/null 2>&1; then : + $EGREP_TRADITIONAL "YES_IS_DEFINED" >/dev/null 2>&1 +then : ac_cv_define_APR_HAS_RANDOM=yes -else - ac_cv_define_APR_HAS_RANDOM=no +else case e in #( + e) ac_cv_define_APR_HAS_RANDOM=no ;; +esac fi -rm -f conftest* +rm -rf conftest* CPPFLAGS=$apr_old_cppflags @@ -12275,8 +13488,8 @@ CPPFLAGS=$apr_old_cppflags fi : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_auth_digest" >&5 -$as_echo_n "checking whether to enable mod_auth_digest... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_auth_digest" >&5 +printf %s "checking whether to enable mod_auth_digest... " >&6; } if test "$enable_auth_digest" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -12285,8 +13498,8 @@ $as_echo_n "checking whether to enable mod_auth_digest... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_auth_digest$_apmod_extra_msg" >&5 -$as_echo "$enable_auth_digest$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_auth_digest$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_auth_digest$_apmod_extra_msg" >&6; } if test "$enable_auth_digest" != "no"; then case "$enable_auth_digest" in static*) @@ -12366,13 +13579,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_allowmethods" >&5 -$as_echo_n "checking whether to enable mod_allowmethods... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_allowmethods" >&5 +printf %s "checking whether to enable mod_allowmethods... " >&6; } # Check whether --enable-allowmethods was given. -if test "${enable_allowmethods+set}" = set; then : +if test ${enable_allowmethods+y} +then : enableval=$enable_allowmethods; force_allowmethods=$enableval -else - enable_allowmethods=most +else case e in #( + e) enable_allowmethods=most ;; +esac fi _apmod_extra_msg="" @@ -12427,8 +13642,8 @@ fi if test "$enable_allowmethods" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_allowmethods$_apmod_extra_msg" >&5 -$as_echo "$enable_allowmethods$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_allowmethods$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_allowmethods$_apmod_extra_msg" >&6; } if test "$enable_allowmethods" != "no"; then case "$enable_allowmethods" in static*) @@ -12563,13 +13778,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_isapi" >&5 -$as_echo_n "checking whether to enable mod_isapi... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_isapi" >&5 +printf %s "checking whether to enable mod_isapi... " >&6; } # Check whether --enable-isapi was given. -if test "${enable_isapi+set}" = set; then : +if test ${enable_isapi+y} +then : enableval=$enable_isapi; force_isapi=$enableval -else - enable_isapi=no +else case e in #( + e) enable_isapi=no ;; +esac fi _apmod_extra_msg="" @@ -12624,8 +13841,8 @@ fi if test "$enable_isapi" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_isapi$_apmod_extra_msg" >&5 -$as_echo "$enable_isapi$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_isapi$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_isapi$_apmod_extra_msg" >&6; } if test "$enable_isapi" != "no"; then case "$enable_isapi" in static*) @@ -12738,13 +13955,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_file_cache" >&5 -$as_echo_n "checking whether to enable mod_file_cache... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_file_cache" >&5 +printf %s "checking whether to enable mod_file_cache... " >&6; } # Check whether --enable-file-cache was given. -if test "${enable_file_cache+set}" = set; then : +if test ${enable_file_cache+y} +then : enableval=$enable_file_cache; force_file_cache=$enableval -else - enable_file_cache=most +else case e in #( + e) enable_file_cache=most ;; +esac fi _apmod_extra_msg="" @@ -12799,8 +14018,8 @@ fi if test "$enable_file_cache" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_file_cache$_apmod_extra_msg" >&5 -$as_echo "$enable_file_cache$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_file_cache$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_file_cache$_apmod_extra_msg" >&6; } if test "$enable_file_cache" != "no"; then case "$enable_file_cache" in static*) @@ -12893,13 +14112,15 @@ case "$host" in esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_cache" >&5 -$as_echo_n "checking whether to enable mod_cache... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_cache" >&5 +printf %s "checking whether to enable mod_cache... " >&6; } # Check whether --enable-cache was given. -if test "${enable_cache+set}" = set; then : +if test ${enable_cache+y} +then : enableval=$enable_cache; force_cache=$enableval -else - enable_cache=most +else case e in #( + e) enable_cache=most ;; +esac fi _apmod_extra_msg="" @@ -12954,8 +14175,8 @@ fi if test "$enable_cache" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_cache$_apmod_extra_msg" >&5 -$as_echo "$enable_cache$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_cache$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_cache$_apmod_extra_msg" >&6; } if test "$enable_cache" != "no"; then case "$enable_cache" in static*) @@ -13034,13 +14255,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_cache_disk" >&5 -$as_echo_n "checking whether to enable mod_cache_disk... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_cache_disk" >&5 +printf %s "checking whether to enable mod_cache_disk... " >&6; } # Check whether --enable-cache-disk was given. -if test "${enable_cache_disk+set}" = set; then : +if test ${enable_cache_disk+y} +then : enableval=$enable_cache_disk; force_cache_disk=$enableval -else - enable_cache_disk=most +else case e in #( + e) enable_cache_disk=most ;; +esac fi _apmod_extra_msg="" @@ -13093,21 +14316,21 @@ fi enable_cache_disk=no fi if test "$enable_cache_disk" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_cache" = "no" ; then enable_cache_disk=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_cache is disabled but required for mod_cache_disk\"" >&5 -$as_echo "$as_me: WARNING: \"mod_cache is disabled but required for mod_cache_disk\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_cache is disabled but required for mod_cache_disk\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_cache is disabled but required for mod_cache_disk\"" >&2;} elif test "$enable_cache_disk" = "static" && test "$enable_cache" != "static" ; then enable_cache_disk=$enable_cache - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_cache_disk shared because mod_cache is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_cache_disk shared because mod_cache is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_cache_disk shared because mod_cache is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_cache_disk shared because mod_cache is built shared\"" >&2;} else : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_cache_disk" >&5 -$as_echo_n "checking whether to enable mod_cache_disk... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_cache_disk" >&5 +printf %s "checking whether to enable mod_cache_disk... " >&6; } if test "$enable_cache_disk" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -13116,8 +14339,8 @@ $as_echo_n "checking whether to enable mod_cache_disk... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_cache_disk$_apmod_extra_msg" >&5 -$as_echo "$enable_cache_disk$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_cache_disk$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_cache_disk$_apmod_extra_msg" >&6; } if test "$enable_cache_disk" != "no"; then case "$enable_cache_disk" in static*) @@ -13196,13 +14419,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_cache_socache" >&5 -$as_echo_n "checking whether to enable mod_cache_socache... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_cache_socache" >&5 +printf %s "checking whether to enable mod_cache_socache... " >&6; } # Check whether --enable-cache-socache was given. -if test "${enable_cache_socache+set}" = set; then : +if test ${enable_cache_socache+y} +then : enableval=$enable_cache_socache; force_cache_socache=$enableval -else - enable_cache_socache=most +else case e in #( + e) enable_cache_socache=most ;; +esac fi _apmod_extra_msg="" @@ -13257,8 +14482,8 @@ fi if test "$enable_cache_socache" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_cache_socache$_apmod_extra_msg" >&5 -$as_echo "$enable_cache_socache$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_cache_socache$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_cache_socache$_apmod_extra_msg" >&6; } if test "$enable_cache_socache" != "no"; then case "$enable_cache_socache" in static*) @@ -13340,13 +14565,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_socache_shmcb" >&5 -$as_echo_n "checking whether to enable mod_socache_shmcb... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_socache_shmcb" >&5 +printf %s "checking whether to enable mod_socache_shmcb... " >&6; } # Check whether --enable-socache-shmcb was given. -if test "${enable_socache_shmcb+set}" = set; then : +if test ${enable_socache_shmcb+y} +then : enableval=$enable_socache_shmcb; force_socache_shmcb=$enableval -else - enable_socache_shmcb=most +else case e in #( + e) enable_socache_shmcb=most ;; +esac fi _apmod_extra_msg="" @@ -13401,8 +14628,8 @@ fi if test "$enable_socache_shmcb" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_socache_shmcb$_apmod_extra_msg" >&5 -$as_echo "$enable_socache_shmcb$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_socache_shmcb$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_socache_shmcb$_apmod_extra_msg" >&6; } if test "$enable_socache_shmcb" != "no"; then case "$enable_socache_shmcb" in static*) @@ -13481,13 +14708,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_socache_dbm" >&5 -$as_echo_n "checking whether to enable mod_socache_dbm... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_socache_dbm" >&5 +printf %s "checking whether to enable mod_socache_dbm... " >&6; } # Check whether --enable-socache-dbm was given. -if test "${enable_socache_dbm+set}" = set; then : +if test ${enable_socache_dbm+y} +then : enableval=$enable_socache_dbm; force_socache_dbm=$enableval -else - enable_socache_dbm=most +else case e in #( + e) enable_socache_dbm=most ;; +esac fi _apmod_extra_msg="" @@ -13542,8 +14771,8 @@ fi if test "$enable_socache_dbm" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_socache_dbm$_apmod_extra_msg" >&5 -$as_echo "$enable_socache_dbm$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_socache_dbm$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_socache_dbm$_apmod_extra_msg" >&6; } if test "$enable_socache_dbm" != "no"; then case "$enable_socache_dbm" in static*) @@ -13622,13 +14851,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_socache_memcache" >&5 -$as_echo_n "checking whether to enable mod_socache_memcache... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_socache_memcache" >&5 +printf %s "checking whether to enable mod_socache_memcache... " >&6; } # Check whether --enable-socache-memcache was given. -if test "${enable_socache_memcache+set}" = set; then : +if test ${enable_socache_memcache+y} +then : enableval=$enable_socache_memcache; force_socache_memcache=$enableval -else - enable_socache_memcache=most +else case e in #( + e) enable_socache_memcache=most ;; +esac fi _apmod_extra_msg="" @@ -13683,8 +14914,8 @@ fi if test "$enable_socache_memcache" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_socache_memcache$_apmod_extra_msg" >&5 -$as_echo "$enable_socache_memcache$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_socache_memcache$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_socache_memcache$_apmod_extra_msg" >&6; } if test "$enable_socache_memcache" != "no"; then case "$enable_socache_memcache" in static*) @@ -13763,13 +14994,158 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_socache_dc" >&5 -$as_echo_n "checking whether to enable mod_socache_dc... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_socache_redis" >&5 +printf %s "checking whether to enable mod_socache_redis... " >&6; } + # Check whether --enable-socache-redis was given. +if test ${enable_socache_redis+y} +then : + enableval=$enable_socache_redis; force_socache_redis=$enableval +else case e in #( + e) enable_socache_redis=most ;; +esac +fi + + _apmod_extra_msg="" + case "$enable_socache_redis" in + yes|static|shared) + _apmod_required="yes" + ;; + *) + _apmod_required="no" + ;; + esac + if test "$enable_socache_redis" = "static" -o "$enable_socache_redis" = "shared"; then + : + elif test "$enable_socache_redis" = "yes"; then + enable_socache_redis=$module_default + elif test "$enable_socache_redis" = "few"; then + if test "$module_selection" = "few" -o "$module_selection" = "most" -o \ + "$module_selection" = "all" -o "$module_selection" = "reallyall" + then + enable_socache_redis=$module_default + else + enable_socache_redis=no + fi + _apmod_extra_msg=" ($module_selection)" + elif test "$enable_socache_redis" = "most"; then + if test "$module_selection" = "most" -o "$module_selection" = "all" -o \ + "$module_selection" = "reallyall" + then + enable_socache_redis=$module_default + else + enable_socache_redis=no + fi + _apmod_extra_msg=" ($module_selection)" + elif test "$enable_socache_redis" = "all" -o "$enable_socache_redis" = "maybe-all"; then + if test "$module_selection" = "all" -o "$module_selection" = "reallyall" + then + enable_socache_redis=$module_default + _apmod_extra_msg=" ($module_selection)" + else + enable_socache_redis=no + fi + elif test "$enable_socache_redis" = "reallyall" -o "$enable_socache_redis" = "no" ; then + if test "$module_selection" = "reallyall" -a "$force_socache_redis" != "no" ; then + enable_socache_redis=$module_default + _apmod_extra_msg=" ($module_selection)" + else + enable_socache_redis=no + fi + else + enable_socache_redis=no + fi + if test "$enable_socache_redis" != "no"; then + : + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_socache_redis$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_socache_redis$_apmod_extra_msg" >&6; } + if test "$enable_socache_redis" != "no"; then + case "$enable_socache_redis" in + static*) + MODLIST="$MODLIST socache_redis" + if test "socache_redis" = "so"; then + sharedobjs=yes + fi + shared="";; + *) + sharedobjs=yes + shared=yes + DSO_MODULES="$DSO_MODULES socache_redis" + if test "most" = "yes" ; then + ENABLED_DSO_MODULES="${ENABLED_DSO_MODULES},socache_redis" + fi + ;; + esac + + + if test -z ""; then + objects="mod_socache_redis.lo" + else + objects="" + fi + + if test -z "$module_standalone"; then + if test -z "$shared"; then + # The filename of a convenience library must have a "lib" prefix: + libname="libmod_socache_redis.la" + BUILTIN_LIBS="$BUILTIN_LIBS $modpath_current/$libname" + modpath_static="$modpath_static $libname" + cat >>$modpath_current/modules.mk<>$modpath_current/modules.mk<&5 +printf %s "checking whether to enable mod_socache_dc... " >&6; } # Check whether --enable-socache-dc was given. -if test "${enable_socache_dc+set}" = set; then : +if test ${enable_socache_dc+y} +then : enableval=$enable_socache_dc; force_socache_dc=$enableval -else - enable_socache_dc=no +else case e in #( + e) enable_socache_dc=no ;; +esac fi _apmod_extra_msg="" @@ -13822,8 +15198,8 @@ fi enable_socache_dc=no fi if test "$enable_socache_dc" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } : @@ -13834,11 +15210,12 @@ if test "x$ap_distcache_configured" = "x"; then ap_distcache_ldflags="" ap_distcache_with="" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for user-provided distcache base" >&5 -$as_echo_n "checking for user-provided distcache base... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for user-provided distcache base" >&5 +printf %s "checking for user-provided distcache base... " >&6; } # Check whether --with-distcache was given. -if test "${with_distcache+set}" = set; then : +if test ${with_distcache+y} +then : withval=$with_distcache; if test "x$withval" != "xyes" -a "x$withval" != "x"; then ap_distcache_with="yes" @@ -13848,11 +15225,11 @@ if test "${with_distcache+set}" = set; then : fi if test "x$ap_distcache_base" = "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 +printf "%s\n" "none" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ap_distcache_base" >&5 -$as_echo "$ap_distcache_base" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ap_distcache_base" >&5 +printf "%s\n" "$ap_distcache_base" >&6; } fi saved_CPPFLAGS="$CPPFLAGS" @@ -13989,26 +15366,24 @@ $as_echo "$ap_distcache_base" >&6; } fi fi - for ac_header in distcache/dc_client.h + for ac_header in distcache/dc_client.h do : - ac_fn_c_check_header_mongrel "$LINENO" "distcache/dc_client.h" "ac_cv_header_distcache_dc_client_h" "$ac_includes_default" -if test "x$ac_cv_header_distcache_dc_client_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DISTCACHE_DC_CLIENT_H 1 -_ACEOF + ac_fn_c_check_header_compile "$LINENO" "distcache/dc_client.h" "ac_cv_header_distcache_dc_client_h" "$ac_includes_default" +if test "x$ac_cv_header_distcache_dc_client_h" = xyes +then : + printf "%s\n" "#define HAVE_DISTCACHE_DC_CLIENT_H 1" >>confdefs.h ap_distcache_found="yes" fi done - if test "$ap_distcache_found" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for distcache version" >&5 -$as_echo_n "checking for distcache version... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for distcache version" >&5 +printf %s "checking for distcache version... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int -main () +main (void) { #if DISTCACHE_CLIENT_API != 0x0001 @@ -14018,25 +15393,27 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : -else - ap_distcache_found="no" +else case e in #( + e) ap_distcache_found="no" ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ap_distcache_found" >&5 -$as_echo "$ap_distcache_found" >&6; } +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ap_distcache_found" >&5 +printf "%s\n" "$ap_distcache_found" >&6; } fi if test "$ap_distcache_found" != "yes"; then if test "x$ap_distcache_with" = "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ...No distcache detected" >&5 -$as_echo "$as_me: WARNING: ...No distcache detected" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ...No distcache detected" >&5 +printf "%s\n" "$as_me: WARNING: ...No distcache detected" >&2;} else as_fn_error $? "...No distcache detected" "$LINENO" 5 fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for distcache libraries" >&5 -$as_echo_n "checking for distcache libraries... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for distcache libraries" >&5 +printf %s "checking for distcache libraries... " >&6; } ap_distcache_libs="-ldistcache -lnal" if test "x$LIBS" = "x"; then @@ -14064,26 +15441,28 @@ $as_echo_n "checking for distcache libraries... " >&6; } /* end confdefs.h. */ #include int -main () +main (void) { DC_CTX *foo = DC_CTX_new((const char *)0,0); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : -else - ap_distcache_found="no" +else case e in #( + e) ap_distcache_found="no" ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ap_distcache_found" >&5 -$as_echo "$ap_distcache_found" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ap_distcache_found" >&5 +printf "%s\n" "$ap_distcache_found" >&6; } if test "$ap_distcache_found" != "yes"; then if test "x$ap_distcache_base" = "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ... Error, distcache libraries were missing or unusable" >&5 -$as_echo "$as_me: WARNING: ... Error, distcache libraries were missing or unusable" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ... Error, distcache libraries were missing or unusable" >&5 +printf "%s\n" "$as_me: WARNING: ... Error, distcache libraries were missing or unusable" >&2;} else as_fn_error $? "... Error, distcache libraries were missing or unusable" "$LINENO" 5 fi @@ -14117,7 +15496,7 @@ $as_echo "$as_me: WARNING: ... Error, distcache libraries were missing or unusab fi -$as_echo "#define HAVE_DISTCACHE 1" >>confdefs.h +printf "%s\n" "#define HAVE_DISTCACHE 1" >>confdefs.h else enable_socache_dc=no @@ -14127,8 +15506,8 @@ fi : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_socache_dc" >&5 -$as_echo_n "checking whether to enable mod_socache_dc... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_socache_dc" >&5 +printf %s "checking whether to enable mod_socache_dc... " >&6; } if test "$enable_socache_dc" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -14137,8 +15516,8 @@ $as_echo_n "checking whether to enable mod_socache_dc... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_socache_dc$_apmod_extra_msg" >&5 -$as_echo "$enable_socache_dc$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_socache_dc$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_socache_dc$_apmod_extra_msg" >&6; } if test "$enable_socache_dc" != "no"; then case "$enable_socache_dc" in static*) @@ -14285,12 +15664,14 @@ YES_IS_DEFINED _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "YES_IS_DEFINED" >/dev/null 2>&1; then : + $EGREP_TRADITIONAL "YES_IS_DEFINED" >/dev/null 2>&1 +then : ac_cv_define_APR_HAS_DSO=yes -else - ac_cv_define_APR_HAS_DSO=no +else case e in #( + e) ac_cv_define_APR_HAS_DSO=no ;; +esac fi -rm -f conftest* +rm -rf conftest* CPPFLAGS=$apr_old_cppflags @@ -14355,13 +15736,15 @@ if test "$sharedobjs" = "yes"; then fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_so" >&5 -$as_echo_n "checking whether to enable mod_so... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_so" >&5 +printf %s "checking whether to enable mod_so... " >&6; } # Check whether --enable-so was given. -if test "${enable_so+set}" = set; then : +if test ${enable_so+y} +then : enableval=$enable_so; force_so=$enableval -else - enable_so=$enable_so +else case e in #( + e) enable_so=$enable_so ;; +esac fi _apmod_extra_msg="" @@ -14416,8 +15799,8 @@ fi if test "$enable_so" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_so$_apmod_extra_msg" >&5 -$as_echo "$enable_so$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_so$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_so$_apmod_extra_msg" >&6; } if test "$enable_so" != "no"; then case "$enable_so" in static*) @@ -14497,13 +15880,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_watchdog" >&5 -$as_echo_n "checking whether to enable mod_watchdog... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_watchdog" >&5 +printf %s "checking whether to enable mod_watchdog... " >&6; } # Check whether --enable-watchdog was given. -if test "${enable_watchdog+set}" = set; then : +if test ${enable_watchdog+y} +then : enableval=$enable_watchdog; force_watchdog=$enableval -else - enable_watchdog=most +else case e in #( + e) enable_watchdog=most ;; +esac fi _apmod_extra_msg="" @@ -14556,8 +15941,8 @@ fi enable_watchdog=no fi if test "$enable_watchdog" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } : @@ -14573,24 +15958,26 @@ YES_IS_DEFINED _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "YES_IS_DEFINED" >/dev/null 2>&1; then : + $EGREP_TRADITIONAL "YES_IS_DEFINED" >/dev/null 2>&1 +then : ac_cv_define_APR_HAS_THREADS=yes -else - ac_cv_define_APR_HAS_THREADS=no +else case e in #( + e) ac_cv_define_APR_HAS_THREADS=no ;; +esac fi -rm -f conftest* +rm -rf conftest* CPPFLAGS=$apr_old_cppflags if test $ac_cv_define_APR_HAS_THREADS = "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: mod_watchdog requires apr to be built with --enable-threads" >&5 -$as_echo "$as_me: WARNING: mod_watchdog requires apr to be built with --enable-threads" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: mod_watchdog requires apr to be built with --enable-threads" >&5 +printf "%s\n" "$as_me: WARNING: mod_watchdog requires apr to be built with --enable-threads" >&2;} enable_watchdog=no fi : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_watchdog" >&5 -$as_echo_n "checking whether to enable mod_watchdog... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_watchdog" >&5 +printf %s "checking whether to enable mod_watchdog... " >&6; } if test "$enable_watchdog" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -14599,8 +15986,8 @@ $as_echo_n "checking whether to enable mod_watchdog... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_watchdog$_apmod_extra_msg" >&5 -$as_echo "$enable_watchdog$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_watchdog$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_watchdog$_apmod_extra_msg" >&6; } if test "$enable_watchdog" != "no"; then case "$enable_watchdog" in static*) @@ -14680,13 +16067,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_macro" >&5 -$as_echo_n "checking whether to enable mod_macro... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_macro" >&5 +printf %s "checking whether to enable mod_macro... " >&6; } # Check whether --enable-macro was given. -if test "${enable_macro+set}" = set; then : +if test ${enable_macro+y} +then : enableval=$enable_macro; force_macro=$enableval -else - enable_macro=most +else case e in #( + e) enable_macro=most ;; +esac fi _apmod_extra_msg="" @@ -14741,8 +16130,8 @@ fi if test "$enable_macro" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_macro$_apmod_extra_msg" >&5 -$as_echo "$enable_macro$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_macro$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_macro$_apmod_extra_msg" >&6; } if test "$enable_macro" != "no"; then case "$enable_macro" in static*) @@ -14876,13 +16265,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_dbd" >&5 -$as_echo_n "checking whether to enable mod_dbd... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_dbd" >&5 +printf %s "checking whether to enable mod_dbd... " >&6; } # Check whether --enable-dbd was given. -if test "${enable_dbd+set}" = set; then : +if test ${enable_dbd+y} +then : enableval=$enable_dbd; force_dbd=$enableval -else - enable_dbd=most +else case e in #( + e) enable_dbd=most ;; +esac fi _apmod_extra_msg="" @@ -14937,8 +16328,8 @@ fi if test "$enable_dbd" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_dbd$_apmod_extra_msg" >&5 -$as_echo "$enable_dbd$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_dbd$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_dbd$_apmod_extra_msg" >&6; } if test "$enable_dbd" != "no"; then case "$enable_dbd" in static*) @@ -15072,13 +16463,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_bucketeer" >&5 -$as_echo_n "checking whether to enable mod_bucketeer... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_bucketeer" >&5 +printf %s "checking whether to enable mod_bucketeer... " >&6; } # Check whether --enable-bucketeer was given. -if test "${enable_bucketeer+set}" = set; then : +if test ${enable_bucketeer+y} +then : enableval=$enable_bucketeer; force_bucketeer=$enableval -else - enable_bucketeer=no +else case e in #( + e) enable_bucketeer=no ;; +esac fi _apmod_extra_msg="" @@ -15133,8 +16526,8 @@ fi if test "$enable_bucketeer" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_bucketeer$_apmod_extra_msg" >&5 -$as_echo "$enable_bucketeer$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_bucketeer$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_bucketeer$_apmod_extra_msg" >&6; } if test "$enable_bucketeer" != "no"; then case "$enable_bucketeer" in static*) @@ -15213,13 +16606,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_dumpio" >&5 -$as_echo_n "checking whether to enable mod_dumpio... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_dumpio" >&5 +printf %s "checking whether to enable mod_dumpio... " >&6; } # Check whether --enable-dumpio was given. -if test "${enable_dumpio+set}" = set; then : +if test ${enable_dumpio+y} +then : enableval=$enable_dumpio; force_dumpio=$enableval -else - enable_dumpio=most +else case e in #( + e) enable_dumpio=most ;; +esac fi _apmod_extra_msg="" @@ -15274,8 +16669,8 @@ fi if test "$enable_dumpio" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_dumpio$_apmod_extra_msg" >&5 -$as_echo "$enable_dumpio$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_dumpio$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_dumpio$_apmod_extra_msg" >&6; } if test "$enable_dumpio" != "no"; then case "$enable_dumpio" in static*) @@ -15388,13 +16783,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_echo" >&5 -$as_echo_n "checking whether to enable mod_echo... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_echo" >&5 +printf %s "checking whether to enable mod_echo... " >&6; } # Check whether --enable-echo was given. -if test "${enable_echo+set}" = set; then : +if test ${enable_echo+y} +then : enableval=$enable_echo; force_echo=$enableval -else - enable_echo=maybe-all +else case e in #( + e) enable_echo=maybe-all ;; +esac fi _apmod_extra_msg="" @@ -15449,8 +16846,8 @@ fi if test "$enable_echo" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_echo$_apmod_extra_msg" >&5 -$as_echo "$enable_echo$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_echo$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_echo$_apmod_extra_msg" >&6; } if test "$enable_echo" != "no"; then case "$enable_echo" in static*) @@ -15562,13 +16959,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_example_hooks" >&5 -$as_echo_n "checking whether to enable mod_example_hooks... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_example_hooks" >&5 +printf %s "checking whether to enable mod_example_hooks... " >&6; } # Check whether --enable-example-hooks was given. -if test "${enable_example_hooks+set}" = set; then : +if test ${enable_example_hooks+y} +then : enableval=$enable_example_hooks; force_example_hooks=$enableval -else - enable_example_hooks=no +else case e in #( + e) enable_example_hooks=no ;; +esac fi _apmod_extra_msg="" @@ -15623,8 +17022,8 @@ fi if test "$enable_example_hooks" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_example_hooks$_apmod_extra_msg" >&5 -$as_echo "$enable_example_hooks$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_example_hooks$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_example_hooks$_apmod_extra_msg" >&6; } if test "$enable_example_hooks" != "no"; then case "$enable_example_hooks" in static*) @@ -15703,13 +17102,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_case_filter" >&5 -$as_echo_n "checking whether to enable mod_case_filter... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_case_filter" >&5 +printf %s "checking whether to enable mod_case_filter... " >&6; } # Check whether --enable-case-filter was given. -if test "${enable_case_filter+set}" = set; then : +if test ${enable_case_filter+y} +then : enableval=$enable_case_filter; force_case_filter=$enableval -else - enable_case_filter=no +else case e in #( + e) enable_case_filter=no ;; +esac fi _apmod_extra_msg="" @@ -15764,8 +17165,8 @@ fi if test "$enable_case_filter" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_case_filter$_apmod_extra_msg" >&5 -$as_echo "$enable_case_filter$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_case_filter$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_case_filter$_apmod_extra_msg" >&6; } if test "$enable_case_filter" != "no"; then case "$enable_case_filter" in static*) @@ -15844,13 +17245,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_case_filter_in" >&5 -$as_echo_n "checking whether to enable mod_case_filter_in... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_case_filter_in" >&5 +printf %s "checking whether to enable mod_case_filter_in... " >&6; } # Check whether --enable-case-filter-in was given. -if test "${enable_case_filter_in+set}" = set; then : +if test ${enable_case_filter_in+y} +then : enableval=$enable_case_filter_in; force_case_filter_in=$enableval -else - enable_case_filter_in=no +else case e in #( + e) enable_case_filter_in=no ;; +esac fi _apmod_extra_msg="" @@ -15905,8 +17308,8 @@ fi if test "$enable_case_filter_in" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_case_filter_in$_apmod_extra_msg" >&5 -$as_echo "$enable_case_filter_in$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_case_filter_in$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_case_filter_in$_apmod_extra_msg" >&6; } if test "$enable_case_filter_in" != "no"; then case "$enable_case_filter_in" in static*) @@ -15985,13 +17388,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_example_ipc" >&5 -$as_echo_n "checking whether to enable mod_example_ipc... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_example_ipc" >&5 +printf %s "checking whether to enable mod_example_ipc... " >&6; } # Check whether --enable-example-ipc was given. -if test "${enable_example_ipc+set}" = set; then : +if test ${enable_example_ipc+y} +then : enableval=$enable_example_ipc; force_example_ipc=$enableval -else - enable_example_ipc=no +else case e in #( + e) enable_example_ipc=no ;; +esac fi _apmod_extra_msg="" @@ -16046,8 +17451,8 @@ fi if test "$enable_example_ipc" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_example_ipc$_apmod_extra_msg" >&5 -$as_echo "$enable_example_ipc$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_example_ipc$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_example_ipc$_apmod_extra_msg" >&6; } if test "$enable_example_ipc" != "no"; then case "$enable_example_ipc" in static*) @@ -16192,13 +17597,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_buffer" >&5 -$as_echo_n "checking whether to enable mod_buffer... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_buffer" >&5 +printf %s "checking whether to enable mod_buffer... " >&6; } # Check whether --enable-buffer was given. -if test "${enable_buffer+set}" = set; then : +if test ${enable_buffer+y} +then : enableval=$enable_buffer; force_buffer=$enableval -else - enable_buffer=most +else case e in #( + e) enable_buffer=most ;; +esac fi _apmod_extra_msg="" @@ -16253,8 +17660,8 @@ fi if test "$enable_buffer" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_buffer$_apmod_extra_msg" >&5 -$as_echo "$enable_buffer$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_buffer$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_buffer$_apmod_extra_msg" >&6; } if test "$enable_buffer" != "no"; then case "$enable_buffer" in static*) @@ -16333,13 +17740,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_data" >&5 -$as_echo_n "checking whether to enable mod_data... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_data" >&5 +printf %s "checking whether to enable mod_data... " >&6; } # Check whether --enable-data was given. -if test "${enable_data+set}" = set; then : +if test ${enable_data+y} +then : enableval=$enable_data; force_data=$enableval -else - enable_data=maybe-all +else case e in #( + e) enable_data=maybe-all ;; +esac fi _apmod_extra_msg="" @@ -16394,8 +17803,8 @@ fi if test "$enable_data" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_data$_apmod_extra_msg" >&5 -$as_echo "$enable_data$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_data$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_data$_apmod_extra_msg" >&6; } if test "$enable_data" != "no"; then case "$enable_data" in static*) @@ -16474,13 +17883,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_ratelimit" >&5 -$as_echo_n "checking whether to enable mod_ratelimit... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_ratelimit" >&5 +printf %s "checking whether to enable mod_ratelimit... " >&6; } # Check whether --enable-ratelimit was given. -if test "${enable_ratelimit+set}" = set; then : +if test ${enable_ratelimit+y} +then : enableval=$enable_ratelimit; force_ratelimit=$enableval -else - enable_ratelimit=most +else case e in #( + e) enable_ratelimit=most ;; +esac fi _apmod_extra_msg="" @@ -16535,8 +17946,8 @@ fi if test "$enable_ratelimit" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_ratelimit$_apmod_extra_msg" >&5 -$as_echo "$enable_ratelimit$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_ratelimit$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_ratelimit$_apmod_extra_msg" >&6; } if test "$enable_ratelimit" != "no"; then case "$enable_ratelimit" in static*) @@ -16615,13 +18026,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_reqtimeout" >&5 -$as_echo_n "checking whether to enable mod_reqtimeout... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_reqtimeout" >&5 +printf %s "checking whether to enable mod_reqtimeout... " >&6; } # Check whether --enable-reqtimeout was given. -if test "${enable_reqtimeout+set}" = set; then : +if test ${enable_reqtimeout+y} +then : enableval=$enable_reqtimeout; force_reqtimeout=$enableval -else - enable_reqtimeout=yes +else case e in #( + e) enable_reqtimeout=yes ;; +esac fi _apmod_extra_msg="" @@ -16676,8 +18089,8 @@ fi if test "$enable_reqtimeout" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_reqtimeout$_apmod_extra_msg" >&5 -$as_echo "$enable_reqtimeout$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_reqtimeout$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_reqtimeout$_apmod_extra_msg" >&6; } if test "$enable_reqtimeout" != "no"; then case "$enable_reqtimeout" in static*) @@ -16756,13 +18169,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_ext_filter" >&5 -$as_echo_n "checking whether to enable mod_ext_filter... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_ext_filter" >&5 +printf %s "checking whether to enable mod_ext_filter... " >&6; } # Check whether --enable-ext-filter was given. -if test "${enable_ext_filter+set}" = set; then : +if test ${enable_ext_filter+y} +then : enableval=$enable_ext_filter; force_ext_filter=$enableval -else - enable_ext_filter=most +else case e in #( + e) enable_ext_filter=most ;; +esac fi _apmod_extra_msg="" @@ -16817,8 +18232,8 @@ fi if test "$enable_ext_filter" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_ext_filter$_apmod_extra_msg" >&5 -$as_echo "$enable_ext_filter$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_ext_filter$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_ext_filter$_apmod_extra_msg" >&6; } if test "$enable_ext_filter" != "no"; then case "$enable_ext_filter" in static*) @@ -16897,13 +18312,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_request" >&5 -$as_echo_n "checking whether to enable mod_request... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_request" >&5 +printf %s "checking whether to enable mod_request... " >&6; } # Check whether --enable-request was given. -if test "${enable_request+set}" = set; then : +if test ${enable_request+y} +then : enableval=$enable_request; force_request=$enableval -else - enable_request=most +else case e in #( + e) enable_request=most ;; +esac fi _apmod_extra_msg="" @@ -16958,8 +18375,8 @@ fi if test "$enable_request" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_request$_apmod_extra_msg" >&5 -$as_echo "$enable_request$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_request$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_request$_apmod_extra_msg" >&6; } if test "$enable_request" != "no"; then case "$enable_request" in static*) @@ -17038,13 +18455,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_include" >&5 -$as_echo_n "checking whether to enable mod_include... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_include" >&5 +printf %s "checking whether to enable mod_include... " >&6; } # Check whether --enable-include was given. -if test "${enable_include+set}" = set; then : +if test ${enable_include+y} +then : enableval=$enable_include; force_include=$enableval -else - enable_include=most +else case e in #( + e) enable_include=most ;; +esac fi _apmod_extra_msg="" @@ -17099,8 +18518,8 @@ fi if test "$enable_include" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_include$_apmod_extra_msg" >&5 -$as_echo "$enable_include$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_include$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_include$_apmod_extra_msg" >&6; } if test "$enable_include" != "no"; then case "$enable_include" in static*) @@ -17179,13 +18598,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_filter" >&5 -$as_echo_n "checking whether to enable mod_filter... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_filter" >&5 +printf %s "checking whether to enable mod_filter... " >&6; } # Check whether --enable-filter was given. -if test "${enable_filter+set}" = set; then : +if test ${enable_filter+y} +then : enableval=$enable_filter; force_filter=$enableval -else - enable_filter=yes +else case e in #( + e) enable_filter=yes ;; +esac fi _apmod_extra_msg="" @@ -17240,8 +18661,8 @@ fi if test "$enable_filter" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_filter$_apmod_extra_msg" >&5 -$as_echo "$enable_filter$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_filter$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_filter$_apmod_extra_msg" >&6; } if test "$enable_filter" != "no"; then case "$enable_filter" in static*) @@ -17320,13 +18741,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_reflector" >&5 -$as_echo_n "checking whether to enable mod_reflector... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_reflector" >&5 +printf %s "checking whether to enable mod_reflector... " >&6; } # Check whether --enable-reflector was given. -if test "${enable_reflector+set}" = set; then : +if test ${enable_reflector+y} +then : enableval=$enable_reflector; force_reflector=$enableval -else - enable_reflector=maybe-all +else case e in #( + e) enable_reflector=maybe-all ;; +esac fi _apmod_extra_msg="" @@ -17381,8 +18804,8 @@ fi if test "$enable_reflector" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_reflector$_apmod_extra_msg" >&5 -$as_echo "$enable_reflector$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_reflector$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_reflector$_apmod_extra_msg" >&6; } if test "$enable_reflector" != "no"; then case "$enable_reflector" in static*) @@ -17461,13 +18884,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_substitute" >&5 -$as_echo_n "checking whether to enable mod_substitute... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_substitute" >&5 +printf %s "checking whether to enable mod_substitute... " >&6; } # Check whether --enable-substitute was given. -if test "${enable_substitute+set}" = set; then : +if test ${enable_substitute+y} +then : enableval=$enable_substitute; force_substitute=$enableval -else - enable_substitute=most +else case e in #( + e) enable_substitute=most ;; +esac fi _apmod_extra_msg="" @@ -17522,8 +18947,8 @@ fi if test "$enable_substitute" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_substitute$_apmod_extra_msg" >&5 -$as_echo "$enable_substitute$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_substitute$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_substitute$_apmod_extra_msg" >&6; } if test "$enable_substitute" != "no"; then case "$enable_substitute" in static*) @@ -17604,13 +19029,15 @@ EOF sed_obj="mod_sed.lo sed0.lo sed1.lo regexp.lo" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_sed" >&5 -$as_echo_n "checking whether to enable mod_sed... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_sed" >&5 +printf %s "checking whether to enable mod_sed... " >&6; } # Check whether --enable-sed was given. -if test "${enable_sed+set}" = set; then : +if test ${enable_sed+y} +then : enableval=$enable_sed; force_sed=$enableval -else - enable_sed=most +else case e in #( + e) enable_sed=most ;; +esac fi _apmod_extra_msg="" @@ -17663,8 +19090,8 @@ fi enable_sed=no fi if test "$enable_sed" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } : if test "x$enable_sed" = "xshared"; then @@ -17694,8 +19121,8 @@ $as_echo "checking dependencies" >&6; } fi : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_sed" >&5 -$as_echo_n "checking whether to enable mod_sed... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_sed" >&5 +printf %s "checking whether to enable mod_sed... " >&6; } if test "$enable_sed" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -17704,8 +19131,8 @@ $as_echo_n "checking whether to enable mod_sed... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_sed$_apmod_extra_msg" >&5 -$as_echo "$enable_sed$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_sed$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_sed$_apmod_extra_msg" >&6; } if test "$enable_sed" != "no"; then case "$enable_sed" in static*) @@ -17788,13 +19215,15 @@ if test "$ac_cv_ebcdic" = "yes"; then # mod_charset_lite can be very useful on an ebcdic system, # so include it by default - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_charset_lite" >&5 -$as_echo_n "checking whether to enable mod_charset_lite... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_charset_lite" >&5 +printf %s "checking whether to enable mod_charset_lite... " >&6; } # Check whether --enable-charset-lite was given. -if test "${enable_charset_lite+set}" = set; then : +if test ${enable_charset_lite+y} +then : enableval=$enable_charset_lite; force_charset_lite=$enableval -else - enable_charset_lite=yes +else case e in #( + e) enable_charset_lite=yes ;; +esac fi _apmod_extra_msg="" @@ -17849,8 +19278,8 @@ fi if test "$enable_charset_lite" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_charset_lite$_apmod_extra_msg" >&5 -$as_echo "$enable_charset_lite$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_charset_lite$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_charset_lite$_apmod_extra_msg" >&6; } if test "$enable_charset_lite" != "no"; then case "$enable_charset_lite" in static*) @@ -17930,13 +19359,15 @@ EOF else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_charset_lite" >&5 -$as_echo_n "checking whether to enable mod_charset_lite... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_charset_lite" >&5 +printf %s "checking whether to enable mod_charset_lite... " >&6; } # Check whether --enable-charset-lite was given. -if test "${enable_charset_lite+set}" = set; then : +if test ${enable_charset_lite+y} +then : enableval=$enable_charset_lite; force_charset_lite=$enableval -else - enable_charset_lite=maybe-all +else case e in #( + e) enable_charset_lite=maybe-all ;; +esac fi _apmod_extra_msg="" @@ -17991,8 +19422,8 @@ fi if test "$enable_charset_lite" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_charset_lite$_apmod_extra_msg" >&5 -$as_echo "$enable_charset_lite$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_charset_lite$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_charset_lite$_apmod_extra_msg" >&6; } if test "$enable_charset_lite" != "no"; then case "$enable_charset_lite" in static*) @@ -18074,13 +19505,15 @@ fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_deflate" >&5 -$as_echo_n "checking whether to enable mod_deflate... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_deflate" >&5 +printf %s "checking whether to enable mod_deflate... " >&6; } # Check whether --enable-deflate was given. -if test "${enable_deflate+set}" = set; then : +if test ${enable_deflate+y} +then : enableval=$enable_deflate; force_deflate=$enableval -else - enable_deflate=most +else case e in #( + e) enable_deflate=most ;; +esac fi _apmod_extra_msg="" @@ -18133,13 +19566,14 @@ fi enable_deflate=no fi if test "$enable_deflate" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } : # Check whether --with-z was given. -if test "${with_z+set}" = set; then : +if test ${with_z+y} +then : withval=$with_z; if test "x$withval" != "xyes" && test "x$withval" != "x"; then ap_zlib_base="$withval" @@ -18149,29 +19583,31 @@ if test "${with_z+set}" = set; then : fi if test "x$ap_zlib_base" = "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for zlib location" >&5 -$as_echo_n "checking for zlib location... " >&6; } - if ${ap_cv_zlib+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for zlib location" >&5 +printf %s "checking for zlib location... " >&6; } + if test ${ap_cv_zlib+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) for dir in /usr/local /usr ; do if test -d $dir && test -f $dir/include/zlib.h; then ap_cv_zlib=$dir break fi done - + ;; +esac fi ap_zlib_base=$ap_cv_zlib if test "x$ap_zlib_base" = "x"; then enable_deflate=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -$as_echo "not found" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 +printf "%s\n" "not found" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ap_zlib_base" >&5 -$as_echo "$ap_zlib_base" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ap_zlib_base" >&5 +printf "%s\n" "$ap_zlib_base" >&6; } fi fi if test "$enable_deflate" != "no"; then @@ -18331,22 +19767,23 @@ $as_echo "$ap_zlib_base" >&6; } done fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for zlib library" >&5 -$as_echo_n "checking for zlib library... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for zlib library" >&5 +printf %s "checking for zlib library... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int -main () +main (void) { int i = Z_OK; ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 -$as_echo "found" >&6; } +if ac_fn_c_try_link "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 +printf "%s\n" "found" >&6; } if test "x$MOD_DEFLATE_LDADD" = "x"; then test "x$silent" != "xyes" && echo " setting MOD_DEFLATE_LDADD to \"$ap_zlib_ldflags -lz\"" @@ -18368,19 +19805,20 @@ $as_echo "found" >&6; } done fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -$as_echo "not found" >&6; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 +printf "%s\n" "not found" >&6; } enable_deflate=no if test "x$ap_zlib_with" = "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ... Error, zlib was missing or unusable" >&5 -$as_echo "$as_me: WARNING: ... Error, zlib was missing or unusable" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ... Error, zlib was missing or unusable" >&5 +printf "%s\n" "$as_me: WARNING: ... Error, zlib was missing or unusable" >&2;} else as_fn_error $? "... Error, zlib was missing or unusable" "$LINENO" 5 fi - + ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext INCLUDES=$ap_save_includes LDFLAGS=$ap_save_ldflags @@ -18408,8 +19846,8 @@ rm -f core conftest.err conftest.$ac_objext \ fi : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_deflate" >&5 -$as_echo_n "checking whether to enable mod_deflate... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_deflate" >&5 +printf %s "checking whether to enable mod_deflate... " >&6; } if test "$enable_deflate" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -18418,8 +19856,8 @@ $as_echo_n "checking whether to enable mod_deflate... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_deflate$_apmod_extra_msg" >&5 -$as_echo "$enable_deflate$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_deflate$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_deflate$_apmod_extra_msg" >&6; } if test "$enable_deflate" != "no"; then case "$enable_deflate" in static*) @@ -18501,13 +19939,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_xml2enc" >&5 -$as_echo_n "checking whether to enable mod_xml2enc... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_xml2enc" >&5 +printf %s "checking whether to enable mod_xml2enc... " >&6; } # Check whether --enable-xml2enc was given. -if test "${enable_xml2enc+set}" = set; then : +if test ${enable_xml2enc+y} +then : enableval=$enable_xml2enc; force_xml2enc=$enableval -else - enable_xml2enc=maybe-all +else case e in #( + e) enable_xml2enc=maybe-all ;; +esac fi _apmod_extra_msg="" @@ -18560,28 +20000,31 @@ fi enable_xml2enc=no fi if test "$enable_xml2enc" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libxml2" >&5 -$as_echo_n "checking for libxml2... " >&6; } -if ${ac_cv_libxml2+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libxml2" >&5 +printf %s "checking for libxml2... " >&6; } +if test ${ac_cv_libxml2+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) # Check whether --with-libxml2 was given. -if test "${with_libxml2+set}" = set; then : +if test ${with_libxml2+y} +then : withval=$with_libxml2; test_paths="${with_libxml2}/include/libxml2 ${with_libxml2}/include ${with_libxml2}" -else - test_paths="/usr/include/libxml2 /usr/local/include/libxml2 /usr/include /usr/local/include" - +else case e in #( + e) test_paths="/usr/include/libxml2 /usr/local/include/libxml2 /usr/include /usr/local/include" + ;; +esac fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libxml2" >&5 -$as_echo_n "checking for libxml2... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libxml2" >&5 +printf %s "checking for libxml2... " >&6; } xml2_path="" for x in ${test_paths}; do if test -f "${x}/libxml/parser.h"; then @@ -18595,10 +20038,11 @@ $as_echo_n "checking for libxml2... " >&6; } else ac_cv_libxml2=no fi - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libxml2" >&5 -$as_echo "$ac_cv_libxml2" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libxml2" >&5 +printf "%s\n" "$ac_cv_libxml2" >&6; } if test "$ac_cv_libxml2" = "yes" ; then @@ -18648,8 +20092,8 @@ $as_echo "$ac_cv_libxml2" >&6; } fi : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_xml2enc" >&5 -$as_echo_n "checking whether to enable mod_xml2enc... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_xml2enc" >&5 +printf %s "checking whether to enable mod_xml2enc... " >&6; } if test "$enable_xml2enc" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -18658,8 +20102,8 @@ $as_echo_n "checking whether to enable mod_xml2enc... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_xml2enc$_apmod_extra_msg" >&5 -$as_echo "$enable_xml2enc$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_xml2enc$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_xml2enc$_apmod_extra_msg" >&6; } if test "$enable_xml2enc" != "no"; then case "$enable_xml2enc" in static*) @@ -18738,13 +20182,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_html" >&5 -$as_echo_n "checking whether to enable mod_proxy_html... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_html" >&5 +printf %s "checking whether to enable mod_proxy_html... " >&6; } # Check whether --enable-proxy-html was given. -if test "${enable_proxy_html+set}" = set; then : +if test ${enable_proxy_html+y} +then : enableval=$enable_proxy_html; force_proxy_html=$enableval -else - enable_proxy_html=maybe-all +else case e in #( + e) enable_proxy_html=maybe-all ;; +esac fi _apmod_extra_msg="" @@ -18797,28 +20243,31 @@ fi enable_proxy_html=no fi if test "$enable_proxy_html" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libxml2" >&5 -$as_echo_n "checking for libxml2... " >&6; } -if ${ac_cv_libxml2+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libxml2" >&5 +printf %s "checking for libxml2... " >&6; } +if test ${ac_cv_libxml2+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) # Check whether --with-libxml2 was given. -if test "${with_libxml2+set}" = set; then : +if test ${with_libxml2+y} +then : withval=$with_libxml2; test_paths="${with_libxml2}/include/libxml2 ${with_libxml2}/include ${with_libxml2}" -else - test_paths="/usr/include/libxml2 /usr/local/include/libxml2 /usr/include /usr/local/include" - +else case e in #( + e) test_paths="/usr/include/libxml2 /usr/local/include/libxml2 /usr/include /usr/local/include" + ;; +esac fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libxml2" >&5 -$as_echo_n "checking for libxml2... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libxml2" >&5 +printf %s "checking for libxml2... " >&6; } xml2_path="" for x in ${test_paths}; do if test -f "${x}/libxml/parser.h"; then @@ -18832,10 +20281,11 @@ $as_echo_n "checking for libxml2... " >&6; } else ac_cv_libxml2=no fi - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libxml2" >&5 -$as_echo "$ac_cv_libxml2" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libxml2" >&5 +printf "%s\n" "$ac_cv_libxml2" >&6; } if test "$ac_cv_libxml2" = "yes" ; then @@ -18886,8 +20336,8 @@ $as_echo "$ac_cv_libxml2" >&6; } : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_html" >&5 -$as_echo_n "checking whether to enable mod_proxy_html... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_html" >&5 +printf %s "checking whether to enable mod_proxy_html... " >&6; } if test "$enable_proxy_html" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -18896,8 +20346,8 @@ $as_echo_n "checking whether to enable mod_proxy_html... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_html$_apmod_extra_msg" >&5 -$as_echo "$enable_proxy_html$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_html$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_proxy_html$_apmod_extra_msg" >&6; } if test "$enable_proxy_html" != "no"; then case "$enable_proxy_html" in static*) @@ -18977,13 +20427,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_brotli" >&5 -$as_echo_n "checking whether to enable mod_brotli... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_brotli" >&5 +printf %s "checking whether to enable mod_brotli... " >&6; } # Check whether --enable-brotli was given. -if test "${enable_brotli+set}" = set; then : +if test ${enable_brotli+y} +then : enableval=$enable_brotli; force_brotli=$enableval -else - enable_brotli=most +else case e in #( + e) enable_brotli=most ;; +esac fi _apmod_extra_msg="" @@ -19036,13 +20488,14 @@ fi enable_brotli=no fi if test "$enable_brotli" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } : # Check whether --with-brotli was given. -if test "${with_brotli+set}" = set; then : +if test ${with_brotli+y} +then : withval=$with_brotli; if test "$withval" != "yes" -a "x$withval" != "x"; then ap_brotli_base="$withval" @@ -19075,13 +20528,13 @@ fi done fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Brotli library >= 0.6.0 via prefix" >&5 -$as_echo_n "checking for Brotli library >= 0.6.0 via prefix... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Brotli library >= 0.6.0 via prefix" >&5 +printf %s "checking for Brotli library >= 0.6.0 via prefix... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int -main () +main (void) { const uint8_t *o = BrotliEncoderTakeOutput((BrotliEncoderState*)0, (size_t*)0); @@ -19090,32 +20543,34 @@ if (o) return *o; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } ap_brotli_found=yes ap_brotli_cflags="-I${ap_brotli_base}/include" ap_brotli_libs="-L${ap_brotli_base}/lib -lbrotlienc -lbrotlicommon" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CPPFLAGS=$ap_save_cppflags else if test -n "$PKGCONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Brotli library >= 0.6.0 via pkg-config" >&5 -$as_echo_n "checking for Brotli library >= 0.6.0 via pkg-config... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Brotli library >= 0.6.0 via pkg-config" >&5 +printf %s "checking for Brotli library >= 0.6.0 via pkg-config... " >&6; } if $PKGCONFIG --exists "libbrotlienc >= 0.6.0"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } ap_brotli_found=yes ap_brotli_cflags=`$PKGCONFIG libbrotlienc --cflags` ap_brotli_libs=`$PKGCONFIG libbrotlienc --libs` else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi fi fi @@ -19193,8 +20648,8 @@ $as_echo "no" >&6; } fi : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_brotli" >&5 -$as_echo_n "checking whether to enable mod_brotli... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_brotli" >&5 +printf %s "checking whether to enable mod_brotli... " >&6; } if test "$enable_brotli" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -19203,8 +20658,8 @@ $as_echo_n "checking whether to enable mod_brotli... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_brotli$_apmod_extra_msg" >&5 -$as_echo "$enable_brotli$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_brotli$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_brotli$_apmod_extra_msg" >&6; } if test "$enable_brotli" != "no"; then case "$enable_brotli" in static*) @@ -19346,13 +20801,15 @@ elif test "$enable_http" = "shared"; then fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_http" >&5 -$as_echo_n "checking whether to enable mod_http... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_http" >&5 +printf %s "checking whether to enable mod_http... " >&6; } # Check whether --enable-http was given. -if test "${enable_http+set}" = set; then : +if test ${enable_http+y} +then : enableval=$enable_http; force_http=$enableval -else - enable_http=static +else case e in #( + e) enable_http=static ;; +esac fi _apmod_extra_msg="" @@ -19407,8 +20864,8 @@ fi if test "$enable_http" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_http$_apmod_extra_msg" >&5 -$as_echo "$enable_http$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_http$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_http$_apmod_extra_msg" >&6; } if test "$enable_http" != "no"; then case "$enable_http" in static*) @@ -19487,13 +20944,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_mime" >&5 -$as_echo_n "checking whether to enable mod_mime... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_mime" >&5 +printf %s "checking whether to enable mod_mime... " >&6; } # Check whether --enable-mime was given. -if test "${enable_mime+set}" = set; then : +if test ${enable_mime+y} +then : enableval=$enable_mime; force_mime=$enableval -else - enable_mime=yes +else case e in #( + e) enable_mime=yes ;; +esac fi _apmod_extra_msg="" @@ -19548,8 +21007,8 @@ fi if test "$enable_mime" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_mime$_apmod_extra_msg" >&5 -$as_echo "$enable_mime$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_mime$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_mime$_apmod_extra_msg" >&6; } if test "$enable_mime" != "no"; then case "$enable_mime" in static*) @@ -19663,13 +21122,15 @@ EOF ldap_objects="util_ldap.lo util_ldap_cache.lo util_ldap_cache_mgr.lo" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_ldap" >&5 -$as_echo_n "checking whether to enable mod_ldap... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_ldap" >&5 +printf %s "checking whether to enable mod_ldap... " >&6; } # Check whether --enable-ldap was given. -if test "${enable_ldap+set}" = set; then : +if test ${enable_ldap+y} +then : enableval=$enable_ldap; force_ldap=$enableval -else - enable_ldap=most +else case e in #( + e) enable_ldap=most ;; +esac fi _apmod_extra_msg="" @@ -19722,17 +21183,18 @@ fi enable_ldap=no fi if test "$enable_ldap" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldap support in apr/apr-util" >&5 -$as_echo_n "checking for ldap support in apr/apr-util... " >&6; } -if ${ac_cv_APR_HAS_LDAP+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ldap support in apr/apr-util" >&5 +printf %s "checking for ldap support in apr/apr-util... " >&6; } +if test ${ac_cv_APR_HAS_LDAP+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) apache_old_cppflags="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCLUDES" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -19745,18 +21207,21 @@ YES_IS_DEFINED _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "YES_IS_DEFINED" >/dev/null 2>&1; then : + $EGREP_TRADITIONAL "YES_IS_DEFINED" >/dev/null 2>&1 +then : ac_cv_APR_HAS_LDAP=yes -else - ac_cv_APR_HAS_LDAP=no +else case e in #( + e) ac_cv_APR_HAS_LDAP=no ;; +esac fi -rm -f conftest* +rm -rf conftest* CPPFLAGS="$apache_old_cppflags" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_APR_HAS_LDAP" >&5 -$as_echo "$ac_cv_APR_HAS_LDAP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_APR_HAS_LDAP" >&5 +printf "%s\n" "$ac_cv_APR_HAS_LDAP" >&6; } if test "$ac_cv_APR_HAS_LDAP" = "yes" ; then if test -z "$apu_config" ; then @@ -19787,14 +21252,14 @@ $as_echo "$ac_cv_APR_HAS_LDAP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: apr/apr-util is compiled without ldap support" >&5 -$as_echo "$as_me: WARNING: apr/apr-util is compiled without ldap support" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: apr/apr-util is compiled without ldap support" >&5 +printf "%s\n" "$as_me: WARNING: apr/apr-util is compiled without ldap support" >&2;} enable_ldap=no fi : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_ldap" >&5 -$as_echo_n "checking whether to enable mod_ldap... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_ldap" >&5 +printf %s "checking whether to enable mod_ldap... " >&6; } if test "$enable_ldap" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -19803,8 +21268,8 @@ $as_echo_n "checking whether to enable mod_ldap... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_ldap$_apmod_extra_msg" >&5 -$as_echo "$enable_ldap$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_ldap$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_ldap$_apmod_extra_msg" >&6; } if test "$enable_ldap" != "no"; then case "$enable_ldap" in static*) @@ -19939,13 +21404,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_log_config" >&5 -$as_echo_n "checking whether to enable mod_log_config... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_log_config" >&5 +printf %s "checking whether to enable mod_log_config... " >&6; } # Check whether --enable-log-config was given. -if test "${enable_log_config+set}" = set; then : +if test ${enable_log_config+y} +then : enableval=$enable_log_config; force_log_config=$enableval -else - enable_log_config=yes +else case e in #( + e) enable_log_config=yes ;; +esac fi _apmod_extra_msg="" @@ -20000,8 +21467,8 @@ fi if test "$enable_log_config" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_log_config$_apmod_extra_msg" >&5 -$as_echo "$enable_log_config$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_log_config$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_log_config$_apmod_extra_msg" >&6; } if test "$enable_log_config" != "no"; then case "$enable_log_config" in static*) @@ -20080,13 +21547,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_log_debug" >&5 -$as_echo_n "checking whether to enable mod_log_debug... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_log_debug" >&5 +printf %s "checking whether to enable mod_log_debug... " >&6; } # Check whether --enable-log-debug was given. -if test "${enable_log_debug+set}" = set; then : +if test ${enable_log_debug+y} +then : enableval=$enable_log_debug; force_log_debug=$enableval -else - enable_log_debug=most +else case e in #( + e) enable_log_debug=most ;; +esac fi _apmod_extra_msg="" @@ -20141,8 +21610,8 @@ fi if test "$enable_log_debug" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_log_debug$_apmod_extra_msg" >&5 -$as_echo "$enable_log_debug$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_log_debug$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_log_debug$_apmod_extra_msg" >&6; } if test "$enable_log_debug" != "no"; then case "$enable_log_debug" in static*) @@ -20221,13 +21690,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_log_forensic" >&5 -$as_echo_n "checking whether to enable mod_log_forensic... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_log_forensic" >&5 +printf %s "checking whether to enable mod_log_forensic... " >&6; } # Check whether --enable-log-forensic was given. -if test "${enable_log_forensic+set}" = set; then : +if test ${enable_log_forensic+y} +then : enableval=$enable_log_forensic; force_log_forensic=$enableval -else - enable_log_forensic=maybe-all +else case e in #( + e) enable_log_forensic=maybe-all ;; +esac fi _apmod_extra_msg="" @@ -20282,8 +21753,8 @@ fi if test "$enable_log_forensic" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_log_forensic$_apmod_extra_msg" >&5 -$as_echo "$enable_log_forensic$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_log_forensic$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_log_forensic$_apmod_extra_msg" >&6; } if test "$enable_log_forensic" != "no"; then case "$enable_log_forensic" in static*) @@ -20388,13 +21859,15 @@ if test "x$enable_log_forensic" != "xno"; then fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_logio" >&5 -$as_echo_n "checking whether to enable mod_logio... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_logio" >&5 +printf %s "checking whether to enable mod_logio... " >&6; } # Check whether --enable-logio was given. -if test "${enable_logio+set}" = set; then : +if test ${enable_logio+y} +then : enableval=$enable_logio; force_logio=$enableval -else - enable_logio=most +else case e in #( + e) enable_logio=most ;; +esac fi _apmod_extra_msg="" @@ -20449,8 +21922,8 @@ fi if test "$enable_logio" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_logio$_apmod_extra_msg" >&5 -$as_echo "$enable_logio$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_logio$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_logio$_apmod_extra_msg" >&6; } if test "$enable_logio" != "no"; then case "$enable_logio" in static*) @@ -20590,13 +22063,15 @@ EOF lua_objects="lua_apr.lo lua_config.lo mod_lua.lo lua_request.lo lua_vmprep.lo lua_dbd.lo lua_passwd.lo" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_lua" >&5 -$as_echo_n "checking whether to enable mod_lua... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_lua" >&5 +printf %s "checking whether to enable mod_lua... " >&6; } # Check whether --enable-lua was given. -if test "${enable_lua+set}" = set; then : +if test ${enable_lua+y} +then : enableval=$enable_lua; force_lua=$enableval -else - enable_lua=maybe-all +else case e in #( + e) enable_lua=maybe-all ;; +esac fi _apmod_extra_msg="" @@ -20649,17 +22124,19 @@ fi enable_lua=no fi if test "$enable_lua" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } : # Check whether --with-lua was given. -if test "${with_lua+set}" = set; then : +if test ${with_lua+y} +then : withval=$with_lua; lua_path="$withval" -else - : +else case e in #( + e) : ;; +esac fi @@ -20669,150 +22146,179 @@ else test_paths="${lua_path}" fi -if test -n "$PKGCONFIG" -a -z "$lua_path" \ - && $PKGCONFIG --atleast-version=5.1 lua; then - LUA_LIBS="`$PKGCONFIG --libs lua`" - LUA_CFLAGS="`$PKGCONFIG --cflags lua`" - LUA_VERSION="`$PKGCONFIG --modversion lua`" - { $as_echo "$as_me:${as_lineno-$LINENO}: using Lua $LUA_VERSION configuration from pkg-config" >&5 -$as_echo "$as_me: using Lua $LUA_VERSION configuration from pkg-config" >&6;} -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pow in -lm" >&5 -$as_echo_n "checking for pow in -lm... " >&6; } -if ${ac_cv_lib_m_pow+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS +for pklua in lua lua5.4 lua5.3 lua5.2 lua5.1; do + if test -n "$PKGCONFIG" -a -z "$lua_path" \ + && $PKGCONFIG --atleast-version=5.1 $pklua; then + LUA_LIBS="`$PKGCONFIG --libs $pklua`" + LUA_CFLAGS="`$PKGCONFIG --cflags $pklua`" + LUA_VERSION="`$PKGCONFIG --modversion $pklua`" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: using Lua $LUA_VERSION configuration from pkg-config" >&5 +printf "%s\n" "$as_me: using Lua $LUA_VERSION configuration from pkg-config" >&6;} + break + fi +done + +if test -z "$LUA_VERSION"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pow in -lm" >&5 +printf %s "checking for pow in -lm... " >&6; } +if test ${ac_cv_lib_m_pow+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char pow (); +char pow (void); int -main () +main (void) { return pow (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_m_pow=yes -else - ac_cv_lib_m_pow=no +else case e in #( + e) ac_cv_lib_m_pow=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_pow" >&5 -$as_echo "$ac_cv_lib_m_pow" >&6; } -if test "x$ac_cv_lib_m_pow" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_pow" >&5 +printf "%s\n" "$ac_cv_lib_m_pow" >&6; } +if test "x$ac_cv_lib_m_pow" = xyes +then : lib_m="-lm" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrt in -lm" >&5 -$as_echo_n "checking for sqrt in -lm... " >&6; } -if ${ac_cv_lib_m_sqrt+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sqrt in -lm" >&5 +printf %s "checking for sqrt in -lm... " >&6; } +if test ${ac_cv_lib_m_sqrt+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char sqrt (); +char sqrt (void); int -main () +main (void) { return sqrt (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_m_sqrt=yes -else - ac_cv_lib_m_sqrt=no +else case e in #( + e) ac_cv_lib_m_sqrt=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sqrt" >&5 -$as_echo "$ac_cv_lib_m_sqrt" >&6; } -if test "x$ac_cv_lib_m_sqrt" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sqrt" >&5 +printf "%s\n" "$ac_cv_lib_m_sqrt" >&6; } +if test "x$ac_cv_lib_m_sqrt" = xyes +then : lib_m="-lm" fi for x in $test_paths ; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include/lua-5.3" >&5 -$as_echo_n "checking for lua.h in ${x}/include/lua-5.3... " >&6; } - if test -f ${x}/include/lua-5.3/lua.h; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include/lua-5.4" >&5 +printf %s "checking for lua.h in ${x}/include/lua-5.4... " >&6; } + if test -f ${x}/include/lua-5.4/lua.h; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } save_CFLAGS=$CFLAGS save_LDFLAGS=$LDFLAGS CFLAGS="$CFLAGS" - LDFLAGS="-L${x}/lib/lua-5.3 $LDFLAGS $lib_m" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua-5.3" >&5 -$as_echo_n "checking for luaL_newstate in -llua-5.3... " >&6; } -if ${ac_cv_lib_lua_5_3_luaL_newstate+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-llua-5.3 $LIBS" + LDFLAGS="-L${x}/lib/lua-5.4 $LDFLAGS $lib_m" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua-5.4" >&5 +printf %s "checking for luaL_newstate in -llua-5.4... " >&6; } +if test ${ac_cv_lib_lua_5_4_luaL_newstate+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS +LIBS="-llua-5.4 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char luaL_newstate (); +char luaL_newstate (void); int -main () +main (void) { return luaL_newstate (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_lua_5_3_luaL_newstate=yes -else - ac_cv_lib_lua_5_3_luaL_newstate=no +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_lua_5_4_luaL_newstate=yes +else case e in #( + e) ac_cv_lib_lua_5_4_luaL_newstate=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua_5_3_luaL_newstate" >&5 -$as_echo "$ac_cv_lib_lua_5_3_luaL_newstate" >&6; } -if test "x$ac_cv_lib_lua_5_3_luaL_newstate" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua_5_4_luaL_newstate" >&5 +printf "%s\n" "$ac_cv_lib_lua_5_4_luaL_newstate" >&6; } +if test "x$ac_cv_lib_lua_5_4_luaL_newstate" = xyes +then : - LUA_LIBS="-L${x}/lib/lua-5.3 -llua-5.3 $lib_m" + LUA_LIBS="-L${x}/lib/lua-5.4 -llua-5.4 $lib_m" if test "x$ap_platform_runtime_link_flag" != "x"; then if test "x$LUA_LIBS" = "x"; then - test "x$silent" != "xyes" && echo " setting LUA_LIBS to \"$ap_platform_runtime_link_flag${x}/lib/lua-5.3\"" - LUA_LIBS="$ap_platform_runtime_link_flag${x}/lib/lua-5.3" + test "x$silent" != "xyes" && echo " setting LUA_LIBS to \"$ap_platform_runtime_link_flag${x}/lib/lua-5.4\"" + LUA_LIBS="$ap_platform_runtime_link_flag${x}/lib/lua-5.4" else - apr_addto_bugger="$ap_platform_runtime_link_flag${x}/lib/lua-5.3" + apr_addto_bugger="$ap_platform_runtime_link_flag${x}/lib/lua-5.4" for i in $apr_addto_bugger; do apr_addto_duplicate="0" for j in $LUA_LIBS; do @@ -20829,7 +22335,7 @@ if test "x$ac_cv_lib_lua_5_3_luaL_newstate" = xyes; then : fi fi - LUA_CFLAGS="-I${x}/include/lua-5.3" + LUA_CFLAGS="-I${x}/include/lua-5.4" fi @@ -20840,58 +22346,66 @@ fi break fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include/lua5.3" >&5 -$as_echo_n "checking for lua.h in ${x}/include/lua5.3... " >&6; } - if test -f ${x}/include/lua5.3/lua.h; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include/lua5.4" >&5 +printf %s "checking for lua.h in ${x}/include/lua5.4... " >&6; } + if test -f ${x}/include/lua5.4/lua.h; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } save_CFLAGS=$CFLAGS save_LDFLAGS=$LDFLAGS CFLAGS="$CFLAGS" LDFLAGS="-L${x}/lib $LDFLAGS $lib_m" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua5.3" >&5 -$as_echo_n "checking for luaL_newstate in -llua5.3... " >&6; } -if ${ac_cv_lib_lua5_3_luaL_newstate+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-llua5.3 $LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua5.4" >&5 +printf %s "checking for luaL_newstate in -llua5.4... " >&6; } +if test ${ac_cv_lib_lua5_4_luaL_newstate+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS +LIBS="-llua5.4 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char luaL_newstate (); +char luaL_newstate (void); int -main () +main (void) { return luaL_newstate (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_lua5_3_luaL_newstate=yes -else - ac_cv_lib_lua5_3_luaL_newstate=no +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_lua5_4_luaL_newstate=yes +else case e in #( + e) ac_cv_lib_lua5_4_luaL_newstate=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua5_3_luaL_newstate" >&5 -$as_echo "$ac_cv_lib_lua5_3_luaL_newstate" >&6; } -if test "x$ac_cv_lib_lua5_3_luaL_newstate" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua5_4_luaL_newstate" >&5 +printf "%s\n" "$ac_cv_lib_lua5_4_luaL_newstate" >&6; } +if test "x$ac_cv_lib_lua5_4_luaL_newstate" = xyes +then : - LUA_LIBS="-L${x}/lib -llua5.3 $lib_m" + LUA_LIBS="-L${x}/lib -llua5.4 $lib_m" if test "x$ap_platform_runtime_link_flag" != "x"; then if test "x$LUA_LIBS" = "x"; then @@ -20915,93 +22429,7 @@ if test "x$ac_cv_lib_lua5_3_luaL_newstate" = xyes; then : fi fi - LUA_CFLAGS="-I${x}/include/lua5.3" - -fi - - CFLAGS=$save_CFLAGS - LDFLAGS=$save_LDFLAGS - - if test -n "${LUA_LIBS}"; then - break - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include/lua53" >&5 -$as_echo_n "checking for lua.h in ${x}/include/lua53... " >&6; } - if test -f ${x}/include/lua53/lua.h; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - save_CFLAGS=$CFLAGS - save_LDFLAGS=$LDFLAGS - CFLAGS="$CFLAGS" - LDFLAGS="-L${x}/lib/lua53 $LDFLAGS $lib_m" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua" >&5 -$as_echo_n "checking for luaL_newstate in -llua... " >&6; } -if ${ac_cv_lib_lua_luaL_newstate+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-llua $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char luaL_newstate (); -int -main () -{ -return luaL_newstate (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_lua_luaL_newstate=yes -else - ac_cv_lib_lua_luaL_newstate=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua_luaL_newstate" >&5 -$as_echo "$ac_cv_lib_lua_luaL_newstate" >&6; } -if test "x$ac_cv_lib_lua_luaL_newstate" = xyes; then : - - LUA_LIBS="-L${x}/lib/lua53 -llua $lib_m" - if test "x$ap_platform_runtime_link_flag" != "x"; then - - if test "x$LUA_LIBS" = "x"; then - test "x$silent" != "xyes" && echo " setting LUA_LIBS to \"$ap_platform_runtime_link_flag${x}/lib/lua53\"" - LUA_LIBS="$ap_platform_runtime_link_flag${x}/lib/lua53" - else - apr_addto_bugger="$ap_platform_runtime_link_flag${x}/lib/lua53" - for i in $apr_addto_bugger; do - apr_addto_duplicate="0" - for j in $LUA_LIBS; do - if test "x$i" = "x$j"; then - apr_addto_duplicate="1" - break - fi - done - if test $apr_addto_duplicate = "0"; then - test "x$silent" != "xyes" && echo " adding \"$i\" to LUA_LIBS" - LUA_LIBS="$LUA_LIBS $i" - fi - done - fi - - fi - LUA_CFLAGS="-I${x}/include/lua53" + LUA_CFLAGS="-I${x}/include/lua5.4" fi @@ -21012,66 +22440,73 @@ fi break fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include" >&5 -$as_echo_n "checking for lua.h in ${x}/include... " >&6; } - if test -f ${x}/include/lua.h; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include/lua54" >&5 +printf %s "checking for lua.h in ${x}/include/lua54... " >&6; } + if test -f ${x}/include/lua54/lua.h; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } save_CFLAGS=$CFLAGS save_LDFLAGS=$LDFLAGS CFLAGS="$CFLAGS" - LDFLAGS="-L${x}/lib $LDFLAGS $lib_m" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua" >&5 -$as_echo_n "checking for luaL_newstate in -llua... " >&6; } -if ${ac_cv_lib_lua_luaL_newstate+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS + LDFLAGS="-L${x}/lib/lua54 $LDFLAGS $lib_m" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua" >&5 +printf %s "checking for luaL_newstate in -llua... " >&6; } +if test ${ac_cv_lib_lua_luaL_newstate+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-llua $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char luaL_newstate (); +char luaL_newstate (void); int -main () +main (void) { return luaL_newstate (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_lua_luaL_newstate=yes -else - ac_cv_lib_lua_luaL_newstate=no +else case e in #( + e) ac_cv_lib_lua_luaL_newstate=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua_luaL_newstate" >&5 -$as_echo "$ac_cv_lib_lua_luaL_newstate" >&6; } -if test "x$ac_cv_lib_lua_luaL_newstate" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua_luaL_newstate" >&5 +printf "%s\n" "$ac_cv_lib_lua_luaL_newstate" >&6; } +if test "x$ac_cv_lib_lua_luaL_newstate" = xyes +then : - LUA_LIBS="-L${x}/lib -llua $lib_m" + LUA_LIBS="-L${x}/lib/lua54 -llua $lib_m" if test "x$ap_platform_runtime_link_flag" != "x"; then if test "x$LUA_LIBS" = "x"; then - test "x$silent" != "xyes" && echo " setting LUA_LIBS to \"$ap_platform_runtime_link_flag${x}/lib\"" - LUA_LIBS="$ap_platform_runtime_link_flag${x}/lib" + test "x$silent" != "xyes" && echo " setting LUA_LIBS to \"$ap_platform_runtime_link_flag${x}/lib/lua54\"" + LUA_LIBS="$ap_platform_runtime_link_flag${x}/lib/lua54" else - apr_addto_bugger="$ap_platform_runtime_link_flag${x}/lib" + apr_addto_bugger="$ap_platform_runtime_link_flag${x}/lib/lua54" for i in $apr_addto_bugger; do apr_addto_duplicate="0" for j in $LUA_LIBS; do @@ -21088,7 +22523,7 @@ if test "x$ac_cv_lib_lua_luaL_newstate" = xyes; then : fi fi - LUA_CFLAGS="-I${x}/include" + LUA_CFLAGS="-I${x}/include/lua54" fi @@ -21099,66 +22534,74 @@ fi break fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include/lua-5.2" >&5 -$as_echo_n "checking for lua.h in ${x}/include/lua-5.2... " >&6; } - if test -f ${x}/include/lua-5.2/lua.h; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include/lua-5.3" >&5 +printf %s "checking for lua.h in ${x}/include/lua-5.3... " >&6; } + if test -f ${x}/include/lua-5.3/lua.h; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } save_CFLAGS=$CFLAGS save_LDFLAGS=$LDFLAGS CFLAGS="$CFLAGS" - LDFLAGS="-L${x}/lib/lua-5.2 $LDFLAGS $lib_m" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua-5.2" >&5 -$as_echo_n "checking for luaL_newstate in -llua-5.2... " >&6; } -if ${ac_cv_lib_lua_5_2_luaL_newstate+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-llua-5.2 $LIBS" + LDFLAGS="-L${x}/lib/lua-5.3 $LDFLAGS $lib_m" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua-5.3" >&5 +printf %s "checking for luaL_newstate in -llua-5.3... " >&6; } +if test ${ac_cv_lib_lua_5_3_luaL_newstate+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS +LIBS="-llua-5.3 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char luaL_newstate (); +char luaL_newstate (void); int -main () +main (void) { return luaL_newstate (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_lua_5_2_luaL_newstate=yes -else - ac_cv_lib_lua_5_2_luaL_newstate=no +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_lua_5_3_luaL_newstate=yes +else case e in #( + e) ac_cv_lib_lua_5_3_luaL_newstate=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua_5_2_luaL_newstate" >&5 -$as_echo "$ac_cv_lib_lua_5_2_luaL_newstate" >&6; } -if test "x$ac_cv_lib_lua_5_2_luaL_newstate" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua_5_3_luaL_newstate" >&5 +printf "%s\n" "$ac_cv_lib_lua_5_3_luaL_newstate" >&6; } +if test "x$ac_cv_lib_lua_5_3_luaL_newstate" = xyes +then : - LUA_LIBS="-L${x}/lib/lua-5.2 -llua-5.2 $lib_m" + LUA_LIBS="-L${x}/lib/lua-5.3 -llua-5.3 $lib_m" if test "x$ap_platform_runtime_link_flag" != "x"; then if test "x$LUA_LIBS" = "x"; then - test "x$silent" != "xyes" && echo " setting LUA_LIBS to \"$ap_platform_runtime_link_flag${x}/lib/lua-5.2\"" - LUA_LIBS="$ap_platform_runtime_link_flag${x}/lib/lua-5.2" + test "x$silent" != "xyes" && echo " setting LUA_LIBS to \"$ap_platform_runtime_link_flag${x}/lib/lua-5.3\"" + LUA_LIBS="$ap_platform_runtime_link_flag${x}/lib/lua-5.3" else - apr_addto_bugger="$ap_platform_runtime_link_flag${x}/lib/lua-5.2" + apr_addto_bugger="$ap_platform_runtime_link_flag${x}/lib/lua-5.3" for i in $apr_addto_bugger; do apr_addto_duplicate="0" for j in $LUA_LIBS; do @@ -21175,7 +22618,7 @@ if test "x$ac_cv_lib_lua_5_2_luaL_newstate" = xyes; then : fi fi - LUA_CFLAGS="-I${x}/include/lua-5.2" + LUA_CFLAGS="-I${x}/include/lua-5.3" fi @@ -21186,58 +22629,444 @@ fi break fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include/lua5.2" >&5 -$as_echo_n "checking for lua.h in ${x}/include/lua5.2... " >&6; } - if test -f ${x}/include/lua5.2/lua.h; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include/lua5.3" >&5 +printf %s "checking for lua.h in ${x}/include/lua5.3... " >&6; } + if test -f ${x}/include/lua5.3/lua.h; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } save_CFLAGS=$CFLAGS save_LDFLAGS=$LDFLAGS CFLAGS="$CFLAGS" LDFLAGS="-L${x}/lib $LDFLAGS $lib_m" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua5.2" >&5 -$as_echo_n "checking for luaL_newstate in -llua5.2... " >&6; } -if ${ac_cv_lib_lua5_2_luaL_newstate+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-llua5.2 $LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua5.3" >&5 +printf %s "checking for luaL_newstate in -llua5.3... " >&6; } +if test ${ac_cv_lib_lua5_3_luaL_newstate+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS +LIBS="-llua5.3 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char luaL_newstate (); +char luaL_newstate (void); int -main () +main (void) { return luaL_newstate (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_lua5_2_luaL_newstate=yes -else - ac_cv_lib_lua5_2_luaL_newstate=no +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_lua5_3_luaL_newstate=yes +else case e in #( + e) ac_cv_lib_lua5_3_luaL_newstate=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua5_2_luaL_newstate" >&5 -$as_echo "$ac_cv_lib_lua5_2_luaL_newstate" >&6; } -if test "x$ac_cv_lib_lua5_2_luaL_newstate" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua5_3_luaL_newstate" >&5 +printf "%s\n" "$ac_cv_lib_lua5_3_luaL_newstate" >&6; } +if test "x$ac_cv_lib_lua5_3_luaL_newstate" = xyes +then : - LUA_LIBS="-L${x}/lib -llua5.2 $lib_m" + LUA_LIBS="-L${x}/lib -llua5.3 $lib_m" + if test "x$ap_platform_runtime_link_flag" != "x"; then + + if test "x$LUA_LIBS" = "x"; then + test "x$silent" != "xyes" && echo " setting LUA_LIBS to \"$ap_platform_runtime_link_flag${x}/lib\"" + LUA_LIBS="$ap_platform_runtime_link_flag${x}/lib" + else + apr_addto_bugger="$ap_platform_runtime_link_flag${x}/lib" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $LUA_LIBS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to LUA_LIBS" + LUA_LIBS="$LUA_LIBS $i" + fi + done + fi + + fi + LUA_CFLAGS="-I${x}/include/lua5.3" + +fi + + CFLAGS=$save_CFLAGS + LDFLAGS=$save_LDFLAGS + + if test -n "${LUA_LIBS}"; then + break + fi + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include/lua53" >&5 +printf %s "checking for lua.h in ${x}/include/lua53... " >&6; } + if test -f ${x}/include/lua53/lua.h; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + save_CFLAGS=$CFLAGS + save_LDFLAGS=$LDFLAGS + CFLAGS="$CFLAGS" + LDFLAGS="-L${x}/lib/lua53 $LDFLAGS $lib_m" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua" >&5 +printf %s "checking for luaL_newstate in -llua... " >&6; } +if test ${ac_cv_lib_lua_luaL_newstate+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS +LIBS="-llua $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char luaL_newstate (void); +int +main (void) +{ +return luaL_newstate (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_lua_luaL_newstate=yes +else case e in #( + e) ac_cv_lib_lua_luaL_newstate=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua_luaL_newstate" >&5 +printf "%s\n" "$ac_cv_lib_lua_luaL_newstate" >&6; } +if test "x$ac_cv_lib_lua_luaL_newstate" = xyes +then : + + LUA_LIBS="-L${x}/lib/lua53 -llua $lib_m" + if test "x$ap_platform_runtime_link_flag" != "x"; then + + if test "x$LUA_LIBS" = "x"; then + test "x$silent" != "xyes" && echo " setting LUA_LIBS to \"$ap_platform_runtime_link_flag${x}/lib/lua53\"" + LUA_LIBS="$ap_platform_runtime_link_flag${x}/lib/lua53" + else + apr_addto_bugger="$ap_platform_runtime_link_flag${x}/lib/lua53" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $LUA_LIBS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to LUA_LIBS" + LUA_LIBS="$LUA_LIBS $i" + fi + done + fi + + fi + LUA_CFLAGS="-I${x}/include/lua53" + +fi + + CFLAGS=$save_CFLAGS + LDFLAGS=$save_LDFLAGS + + if test -n "${LUA_LIBS}"; then + break + fi + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include" >&5 +printf %s "checking for lua.h in ${x}/include... " >&6; } + if test -f ${x}/include/lua.h; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + save_CFLAGS=$CFLAGS + save_LDFLAGS=$LDFLAGS + CFLAGS="$CFLAGS" + LDFLAGS="-L${x}/lib $LDFLAGS $lib_m" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua" >&5 +printf %s "checking for luaL_newstate in -llua... " >&6; } +if test ${ac_cv_lib_lua_luaL_newstate+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS +LIBS="-llua $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char luaL_newstate (void); +int +main (void) +{ +return luaL_newstate (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_lua_luaL_newstate=yes +else case e in #( + e) ac_cv_lib_lua_luaL_newstate=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua_luaL_newstate" >&5 +printf "%s\n" "$ac_cv_lib_lua_luaL_newstate" >&6; } +if test "x$ac_cv_lib_lua_luaL_newstate" = xyes +then : + + LUA_LIBS="-L${x}/lib -llua $lib_m" + if test "x$ap_platform_runtime_link_flag" != "x"; then + + if test "x$LUA_LIBS" = "x"; then + test "x$silent" != "xyes" && echo " setting LUA_LIBS to \"$ap_platform_runtime_link_flag${x}/lib\"" + LUA_LIBS="$ap_platform_runtime_link_flag${x}/lib" + else + apr_addto_bugger="$ap_platform_runtime_link_flag${x}/lib" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $LUA_LIBS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to LUA_LIBS" + LUA_LIBS="$LUA_LIBS $i" + fi + done + fi + + fi + LUA_CFLAGS="-I${x}/include" + +fi + + CFLAGS=$save_CFLAGS + LDFLAGS=$save_LDFLAGS + + if test -n "${LUA_LIBS}"; then + break + fi + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include/lua-5.2" >&5 +printf %s "checking for lua.h in ${x}/include/lua-5.2... " >&6; } + if test -f ${x}/include/lua-5.2/lua.h; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + save_CFLAGS=$CFLAGS + save_LDFLAGS=$LDFLAGS + CFLAGS="$CFLAGS" + LDFLAGS="-L${x}/lib/lua-5.2 $LDFLAGS $lib_m" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua-5.2" >&5 +printf %s "checking for luaL_newstate in -llua-5.2... " >&6; } +if test ${ac_cv_lib_lua_5_2_luaL_newstate+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS +LIBS="-llua-5.2 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char luaL_newstate (void); +int +main (void) +{ +return luaL_newstate (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_lua_5_2_luaL_newstate=yes +else case e in #( + e) ac_cv_lib_lua_5_2_luaL_newstate=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua_5_2_luaL_newstate" >&5 +printf "%s\n" "$ac_cv_lib_lua_5_2_luaL_newstate" >&6; } +if test "x$ac_cv_lib_lua_5_2_luaL_newstate" = xyes +then : + + LUA_LIBS="-L${x}/lib/lua-5.2 -llua-5.2 $lib_m" + if test "x$ap_platform_runtime_link_flag" != "x"; then + + if test "x$LUA_LIBS" = "x"; then + test "x$silent" != "xyes" && echo " setting LUA_LIBS to \"$ap_platform_runtime_link_flag${x}/lib/lua-5.2\"" + LUA_LIBS="$ap_platform_runtime_link_flag${x}/lib/lua-5.2" + else + apr_addto_bugger="$ap_platform_runtime_link_flag${x}/lib/lua-5.2" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $LUA_LIBS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to LUA_LIBS" + LUA_LIBS="$LUA_LIBS $i" + fi + done + fi + + fi + LUA_CFLAGS="-I${x}/include/lua-5.2" + +fi + + CFLAGS=$save_CFLAGS + LDFLAGS=$save_LDFLAGS + + if test -n "${LUA_LIBS}"; then + break + fi + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include/lua5.2" >&5 +printf %s "checking for lua.h in ${x}/include/lua5.2... " >&6; } + if test -f ${x}/include/lua5.2/lua.h; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + save_CFLAGS=$CFLAGS + save_LDFLAGS=$LDFLAGS + CFLAGS="$CFLAGS" + LDFLAGS="-L${x}/lib $LDFLAGS $lib_m" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua5.2" >&5 +printf %s "checking for luaL_newstate in -llua5.2... " >&6; } +if test ${ac_cv_lib_lua5_2_luaL_newstate+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS +LIBS="-llua5.2 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char luaL_newstate (void); +int +main (void) +{ +return luaL_newstate (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_lua5_2_luaL_newstate=yes +else case e in #( + e) ac_cv_lib_lua5_2_luaL_newstate=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua5_2_luaL_newstate" >&5 +printf "%s\n" "$ac_cv_lib_lua5_2_luaL_newstate" >&6; } +if test "x$ac_cv_lib_lua5_2_luaL_newstate" = xyes +then : + + LUA_LIBS="-L${x}/lib -llua5.2 $lib_m" if test "x$ap_platform_runtime_link_flag" != "x"; then if test "x$LUA_LIBS" = "x"; then @@ -21272,56 +23101,64 @@ fi break fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include/lua52" >&5 -$as_echo_n "checking for lua.h in ${x}/include/lua52... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include/lua52" >&5 +printf %s "checking for lua.h in ${x}/include/lua52... " >&6; } if test -f ${x}/include/lua52/lua.h; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } save_CFLAGS=$CFLAGS save_LDFLAGS=$LDFLAGS CFLAGS="$CFLAGS" LDFLAGS="-L${x}/lib/lua52 $LDFLAGS $lib_m" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua" >&5 -$as_echo_n "checking for luaL_newstate in -llua... " >&6; } -if ${ac_cv_lib_lua_luaL_newstate+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua" >&5 +printf %s "checking for luaL_newstate in -llua... " >&6; } +if test ${ac_cv_lib_lua_luaL_newstate+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-llua $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char luaL_newstate (); +char luaL_newstate (void); int -main () +main (void) { return luaL_newstate (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_lua_luaL_newstate=yes -else - ac_cv_lib_lua_luaL_newstate=no +else case e in #( + e) ac_cv_lib_lua_luaL_newstate=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua_luaL_newstate" >&5 -$as_echo "$ac_cv_lib_lua_luaL_newstate" >&6; } -if test "x$ac_cv_lib_lua_luaL_newstate" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua_luaL_newstate" >&5 +printf "%s\n" "$ac_cv_lib_lua_luaL_newstate" >&6; } +if test "x$ac_cv_lib_lua_luaL_newstate" = xyes +then : LUA_LIBS="-L${x}/lib/lua52 -llua $lib_m" if test "x$ap_platform_runtime_link_flag" != "x"; then @@ -21358,57 +23195,65 @@ fi break fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include/lua-5.1" >&5 -$as_echo_n "checking for lua.h in ${x}/include/lua-5.1... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include/lua-5.1" >&5 +printf %s "checking for lua.h in ${x}/include/lua-5.1... " >&6; } if test -f ${x}/include/lua-5.1/lua.h; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } save_CFLAGS=$CFLAGS save_LDFLAGS=$LDFLAGS CFLAGS="$CFLAGS" LDFLAGS="-L${x}/lib/lua-5.1 $LDFLAGS $lib_m" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua-5.1" >&5 -$as_echo_n "checking for luaL_newstate in -llua-5.1... " >&6; } -if ${ac_cv_lib_lua_5_1_luaL_newstate+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua-5.1" >&5 +printf %s "checking for luaL_newstate in -llua-5.1... " >&6; } +if test ${ac_cv_lib_lua_5_1_luaL_newstate+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-llua-5.1 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char luaL_newstate (); +char luaL_newstate (void); int -main () +main (void) { return luaL_newstate (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_lua_5_1_luaL_newstate=yes -else - ac_cv_lib_lua_5_1_luaL_newstate=no +else case e in #( + e) ac_cv_lib_lua_5_1_luaL_newstate=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua_5_1_luaL_newstate" >&5 -$as_echo "$ac_cv_lib_lua_5_1_luaL_newstate" >&6; } -if test "x$ac_cv_lib_lua_5_1_luaL_newstate" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua_5_1_luaL_newstate" >&5 +printf "%s\n" "$ac_cv_lib_lua_5_1_luaL_newstate" >&6; } +if test "x$ac_cv_lib_lua_5_1_luaL_newstate" = xyes +then : LUA_LIBS="-L${x}/lib/lua-5.1 -llua-5.1 $lib_m" if test "x$ap_platform_runtime_link_flag" != "x"; then @@ -21445,56 +23290,64 @@ fi break fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include/lua5.1" >&5 -$as_echo_n "checking for lua.h in ${x}/include/lua5.1... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include/lua5.1" >&5 +printf %s "checking for lua.h in ${x}/include/lua5.1... " >&6; } if test -f ${x}/include/lua5.1/lua.h; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } save_CFLAGS=$CFLAGS save_LDFLAGS=$LDFLAGS CFLAGS="$CFLAGS" LDFLAGS="-L${x}/lib $LDFLAGS $lib_m" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua5.1" >&5 -$as_echo_n "checking for luaL_newstate in -llua5.1... " >&6; } -if ${ac_cv_lib_lua5_1_luaL_newstate+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua5.1" >&5 +printf %s "checking for luaL_newstate in -llua5.1... " >&6; } +if test ${ac_cv_lib_lua5_1_luaL_newstate+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-llua5.1 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char luaL_newstate (); +char luaL_newstate (void); int -main () +main (void) { return luaL_newstate (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_lua5_1_luaL_newstate=yes -else - ac_cv_lib_lua5_1_luaL_newstate=no +else case e in #( + e) ac_cv_lib_lua5_1_luaL_newstate=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua5_1_luaL_newstate" >&5 -$as_echo "$ac_cv_lib_lua5_1_luaL_newstate" >&6; } -if test "x$ac_cv_lib_lua5_1_luaL_newstate" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua5_1_luaL_newstate" >&5 +printf "%s\n" "$ac_cv_lib_lua5_1_luaL_newstate" >&6; } +if test "x$ac_cv_lib_lua5_1_luaL_newstate" = xyes +then : LUA_LIBS="-L${x}/lib -llua5.1 $lib_m" if test "x$ap_platform_runtime_link_flag" != "x"; then @@ -21531,56 +23384,64 @@ fi break fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include/lua51" >&5 -$as_echo_n "checking for lua.h in ${x}/include/lua51... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lua.h in ${x}/include/lua51" >&5 +printf %s "checking for lua.h in ${x}/include/lua51... " >&6; } if test -f ${x}/include/lua51/lua.h; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } save_CFLAGS=$CFLAGS save_LDFLAGS=$LDFLAGS CFLAGS="$CFLAGS" LDFLAGS="-L${x}/lib/lua51 $LDFLAGS $lib_m" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua" >&5 -$as_echo_n "checking for luaL_newstate in -llua... " >&6; } -if ${ac_cv_lib_lua_luaL_newstate+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua" >&5 +printf %s "checking for luaL_newstate in -llua... " >&6; } +if test ${ac_cv_lib_lua_luaL_newstate+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-llua $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char luaL_newstate (); +char luaL_newstate (void); int -main () +main (void) { return luaL_newstate (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_lua_luaL_newstate=yes -else - ac_cv_lib_lua_luaL_newstate=no +else case e in #( + e) ac_cv_lib_lua_luaL_newstate=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua_luaL_newstate" >&5 -$as_echo "$ac_cv_lib_lua_luaL_newstate" >&6; } -if test "x$ac_cv_lib_lua_luaL_newstate" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lua_luaL_newstate" >&5 +printf "%s\n" "$ac_cv_lib_lua_luaL_newstate" >&6; } +if test "x$ac_cv_lib_lua_luaL_newstate" = xyes +then : LUA_LIBS="-L${x}/lib/lua51 -llua $lib_m" if test "x$ap_platform_runtime_link_flag" != "x"; then @@ -21617,8 +23478,8 @@ fi break fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi done @@ -21628,20 +23489,21 @@ fi if test -z "${LUA_LIBS}"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** Lua 5.3 5.2 or 5.1 library not found." >&5 -$as_echo "$as_me: WARNING: *** Lua 5.3 5.2 or 5.1 library not found." >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Lua 5.4 5.3 5.2 or 5.1 library not found." >&5 +printf "%s\n" "$as_me: WARNING: *** Lua 5.4 5.3 5.2 or 5.1 library not found." >&2;} enable_lua="no" if test -z "${lua_path}"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Lua 5.3 5.2 or 5.1 library is required" >&5 -$as_echo "$as_me: WARNING: Lua 5.3 5.2 or 5.1 library is required" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Lua 5.4 5.3 5.2 or 5.1 library is required" >&5 +printf "%s\n" "$as_me: WARNING: Lua 5.4 5.3 5.2 or 5.1 library is required" >&2;} else - as_fn_error $? "Lua 5.3 5.2 or 5.1 library is required" "$LINENO" 5 + as_fn_error $? "Lua 5.4 5.3 5.2 or 5.1 library is required" "$LINENO" 5 fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: using '${LUA_LIBS}' for Lua Library" >&5 -$as_echo "$as_me: using '${LUA_LIBS}' for Lua Library" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: using '${LUA_LIBS}' for Lua Library" >&5 +printf "%s\n" "$as_me: using '${LUA_LIBS}' for Lua Library" >&6;} # Check whether --enable-luajit was given. -if test "${enable_luajit+set}" = set; then : +if test ${enable_luajit+y} +then : enableval=$enable_luajit; if test "$enableval" = "yes"; then @@ -21718,8 +23580,8 @@ fi fi : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_lua" >&5 -$as_echo_n "checking whether to enable mod_lua... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_lua" >&5 +printf %s "checking whether to enable mod_lua... " >&6; } if test "$enable_lua" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -21728,8 +23590,8 @@ $as_echo_n "checking whether to enable mod_lua... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_lua$_apmod_extra_msg" >&5 -$as_echo "$enable_lua$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_lua$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_lua$_apmod_extra_msg" >&6; } if test "$enable_lua" != "no"; then case "$enable_lua" in static*) @@ -21864,13 +23726,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_env" >&5 -$as_echo_n "checking whether to enable mod_env... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_env" >&5 +printf %s "checking whether to enable mod_env... " >&6; } # Check whether --enable-env was given. -if test "${enable_env+set}" = set; then : +if test ${enable_env+y} +then : enableval=$enable_env; force_env=$enableval -else - enable_env=yes +else case e in #( + e) enable_env=yes ;; +esac fi _apmod_extra_msg="" @@ -21925,8 +23789,8 @@ fi if test "$enable_env" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_env$_apmod_extra_msg" >&5 -$as_echo "$enable_env$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_env$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_env$_apmod_extra_msg" >&6; } if test "$enable_env" != "no"; then case "$enable_env" in static*) @@ -22005,13 +23869,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_mime_magic" >&5 -$as_echo_n "checking whether to enable mod_mime_magic... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_mime_magic" >&5 +printf %s "checking whether to enable mod_mime_magic... " >&6; } # Check whether --enable-mime-magic was given. -if test "${enable_mime_magic+set}" = set; then : +if test ${enable_mime_magic+y} +then : enableval=$enable_mime_magic; force_mime_magic=$enableval -else - enable_mime_magic=maybe-all +else case e in #( + e) enable_mime_magic=maybe-all ;; +esac fi _apmod_extra_msg="" @@ -22066,8 +23932,8 @@ fi if test "$enable_mime_magic" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_mime_magic$_apmod_extra_msg" >&5 -$as_echo "$enable_mime_magic$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_mime_magic$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_mime_magic$_apmod_extra_msg" >&6; } if test "$enable_mime_magic" != "no"; then case "$enable_mime_magic" in static*) @@ -22146,13 +24012,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_cern_meta" >&5 -$as_echo_n "checking whether to enable mod_cern_meta... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_cern_meta" >&5 +printf %s "checking whether to enable mod_cern_meta... " >&6; } # Check whether --enable-cern-meta was given. -if test "${enable_cern_meta+set}" = set; then : +if test ${enable_cern_meta+y} +then : enableval=$enable_cern_meta; force_cern_meta=$enableval -else - enable_cern_meta=no +else case e in #( + e) enable_cern_meta=no ;; +esac fi _apmod_extra_msg="" @@ -22207,8 +24075,8 @@ fi if test "$enable_cern_meta" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_cern_meta$_apmod_extra_msg" >&5 -$as_echo "$enable_cern_meta$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_cern_meta$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_cern_meta$_apmod_extra_msg" >&6; } if test "$enable_cern_meta" != "no"; then case "$enable_cern_meta" in static*) @@ -22287,13 +24155,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_expires" >&5 -$as_echo_n "checking whether to enable mod_expires... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_expires" >&5 +printf %s "checking whether to enable mod_expires... " >&6; } # Check whether --enable-expires was given. -if test "${enable_expires+set}" = set; then : +if test ${enable_expires+y} +then : enableval=$enable_expires; force_expires=$enableval -else - enable_expires=most +else case e in #( + e) enable_expires=most ;; +esac fi _apmod_extra_msg="" @@ -22348,8 +24218,8 @@ fi if test "$enable_expires" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_expires$_apmod_extra_msg" >&5 -$as_echo "$enable_expires$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_expires$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_expires$_apmod_extra_msg" >&6; } if test "$enable_expires" != "no"; then case "$enable_expires" in static*) @@ -22428,13 +24298,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_headers" >&5 -$as_echo_n "checking whether to enable mod_headers... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_headers" >&5 +printf %s "checking whether to enable mod_headers... " >&6; } # Check whether --enable-headers was given. -if test "${enable_headers+set}" = set; then : +if test ${enable_headers+y} +then : enableval=$enable_headers; force_headers=$enableval -else - enable_headers=yes +else case e in #( + e) enable_headers=yes ;; +esac fi _apmod_extra_msg="" @@ -22489,8 +24361,8 @@ fi if test "$enable_headers" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_headers$_apmod_extra_msg" >&5 -$as_echo "$enable_headers$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_headers$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_headers$_apmod_extra_msg" >&6; } if test "$enable_headers" != "no"; then case "$enable_headers" in static*) @@ -22569,13 +24441,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_ident" >&5 -$as_echo_n "checking whether to enable mod_ident... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_ident" >&5 +printf %s "checking whether to enable mod_ident... " >&6; } # Check whether --enable-ident was given. -if test "${enable_ident+set}" = set; then : +if test ${enable_ident+y} +then : enableval=$enable_ident; force_ident=$enableval -else - enable_ident=no +else case e in #( + e) enable_ident=no ;; +esac fi _apmod_extra_msg="" @@ -22630,8 +24504,8 @@ fi if test "$enable_ident" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_ident$_apmod_extra_msg" >&5 -$as_echo "$enable_ident$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_ident$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_ident$_apmod_extra_msg" >&6; } if test "$enable_ident" != "no"; then case "$enable_ident" in static*) @@ -22711,13 +24585,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_usertrack" >&5 -$as_echo_n "checking whether to enable mod_usertrack... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_usertrack" >&5 +printf %s "checking whether to enable mod_usertrack... " >&6; } # Check whether --enable-usertrack was given. -if test "${enable_usertrack+set}" = set; then : +if test ${enable_usertrack+y} +then : enableval=$enable_usertrack; force_usertrack=$enableval -else - enable_usertrack=maybe-all +else case e in #( + e) enable_usertrack=maybe-all ;; +esac fi _apmod_extra_msg="" @@ -22770,37 +24646,28 @@ fi enable_usertrack=no fi if test "$enable_usertrack" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } : - for ac_header in sys/times.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "sys/times.h" "ac_cv_header_sys_times_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_times_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SYS_TIMES_H 1 -_ACEOF + ac_fn_c_check_header_compile "$LINENO" "sys/times.h" "ac_cv_header_sys_times_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_times_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_TIMES_H 1" >>confdefs.h fi -done - - for ac_func in times -do : ac_fn_c_check_func "$LINENO" "times" "ac_cv_func_times" -if test "x$ac_cv_func_times" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_TIMES 1 -_ACEOF +if test "x$ac_cv_func_times" = xyes +then : + printf "%s\n" "#define HAVE_TIMES 1" >>confdefs.h fi -done : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_usertrack" >&5 -$as_echo_n "checking whether to enable mod_usertrack... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_usertrack" >&5 +printf %s "checking whether to enable mod_usertrack... " >&6; } if test "$enable_usertrack" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -22809,8 +24676,8 @@ $as_echo_n "checking whether to enable mod_usertrack... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_usertrack$_apmod_extra_msg" >&5 -$as_echo "$enable_usertrack$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_usertrack$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_usertrack$_apmod_extra_msg" >&6; } if test "$enable_usertrack" != "no"; then case "$enable_usertrack" in static*) @@ -22890,13 +24757,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_unique_id" >&5 -$as_echo_n "checking whether to enable mod_unique_id... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_unique_id" >&5 +printf %s "checking whether to enable mod_unique_id... " >&6; } # Check whether --enable-unique-id was given. -if test "${enable_unique_id+set}" = set; then : +if test ${enable_unique_id+y} +then : enableval=$enable_unique_id; force_unique_id=$enableval -else - enable_unique_id=most +else case e in #( + e) enable_unique_id=most ;; +esac fi _apmod_extra_msg="" @@ -22951,8 +24820,8 @@ fi if test "$enable_unique_id" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_unique_id$_apmod_extra_msg" >&5 -$as_echo "$enable_unique_id$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_unique_id$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_unique_id$_apmod_extra_msg" >&6; } if test "$enable_unique_id" != "no"; then case "$enable_unique_id" in static*) @@ -23031,13 +24900,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_setenvif" >&5 -$as_echo_n "checking whether to enable mod_setenvif... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_setenvif" >&5 +printf %s "checking whether to enable mod_setenvif... " >&6; } # Check whether --enable-setenvif was given. -if test "${enable_setenvif+set}" = set; then : +if test ${enable_setenvif+y} +then : enableval=$enable_setenvif; force_setenvif=$enableval -else - enable_setenvif=yes +else case e in #( + e) enable_setenvif=yes ;; +esac fi _apmod_extra_msg="" @@ -23092,8 +24963,8 @@ fi if test "$enable_setenvif" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_setenvif$_apmod_extra_msg" >&5 -$as_echo "$enable_setenvif$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_setenvif$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_setenvif$_apmod_extra_msg" >&6; } if test "$enable_setenvif" != "no"; then case "$enable_setenvif" in static*) @@ -23172,13 +25043,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_version" >&5 -$as_echo_n "checking whether to enable mod_version... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_version" >&5 +printf %s "checking whether to enable mod_version... " >&6; } # Check whether --enable-version was given. -if test "${enable_version+set}" = set; then : +if test ${enable_version+y} +then : enableval=$enable_version; force_version=$enableval -else - enable_version=yes +else case e in #( + e) enable_version=yes ;; +esac fi _apmod_extra_msg="" @@ -23233,8 +25106,8 @@ fi if test "$enable_version" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_version$_apmod_extra_msg" >&5 -$as_echo "$enable_version$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_version$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_version$_apmod_extra_msg" >&6; } if test "$enable_version" != "no"; then case "$enable_version" in static*) @@ -23313,13 +25186,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_remoteip" >&5 -$as_echo_n "checking whether to enable mod_remoteip... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_remoteip" >&5 +printf %s "checking whether to enable mod_remoteip... " >&6; } # Check whether --enable-remoteip was given. -if test "${enable_remoteip+set}" = set; then : +if test ${enable_remoteip+y} +then : enableval=$enable_remoteip; force_remoteip=$enableval -else - enable_remoteip=most +else case e in #( + e) enable_remoteip=most ;; +esac fi _apmod_extra_msg="" @@ -23374,8 +25249,8 @@ fi if test "$enable_remoteip" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_remoteip$_apmod_extra_msg" >&5 -$as_echo "$enable_remoteip$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_remoteip$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_remoteip$_apmod_extra_msg" >&6; } if test "$enable_remoteip" != "no"; then case "$enable_remoteip" in static*) @@ -23488,13 +25363,15 @@ EOF proxy_objs="mod_proxy.lo proxy_util.lo" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy" >&5 -$as_echo_n "checking whether to enable mod_proxy... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy" >&5 +printf %s "checking whether to enable mod_proxy... " >&6; } # Check whether --enable-proxy was given. -if test "${enable_proxy+set}" = set; then : +if test ${enable_proxy+y} +then : enableval=$enable_proxy; force_proxy=$enableval -else - enable_proxy=most +else case e in #( + e) enable_proxy=most ;; +esac fi _apmod_extra_msg="" @@ -23549,8 +25426,8 @@ fi if test "$enable_proxy" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_proxy$_apmod_extra_msg" >&5 -$as_echo "$enable_proxy$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_proxy$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_proxy$_apmod_extra_msg" >&6; } if test "$enable_proxy" != "no"; then case "$enable_proxy" in static*) @@ -23667,13 +25544,15 @@ case "$host" in esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_connect" >&5 -$as_echo_n "checking whether to enable mod_proxy_connect... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_connect" >&5 +printf %s "checking whether to enable mod_proxy_connect... " >&6; } # Check whether --enable-proxy-connect was given. -if test "${enable_proxy_connect+set}" = set; then : +if test ${enable_proxy_connect+y} +then : enableval=$enable_proxy_connect; force_proxy_connect=$enableval -else - enable_proxy_connect=most +else case e in #( + e) enable_proxy_connect=most ;; +esac fi _apmod_extra_msg="" @@ -23726,21 +25605,21 @@ fi enable_proxy_connect=no fi if test "$enable_proxy_connect" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_proxy" = "no" ; then enable_proxy_connect=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_connect\"" >&5 -$as_echo "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_connect\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_connect\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_connect\"" >&2;} elif test "$enable_proxy_connect" = "static" && test "$enable_proxy" != "static" ; then enable_proxy_connect=$enable_proxy - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_connect shared because mod_proxy is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_proxy_connect shared because mod_proxy is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_connect shared because mod_proxy is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_proxy_connect shared because mod_proxy is built shared\"" >&2;} else : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_connect" >&5 -$as_echo_n "checking whether to enable mod_proxy_connect... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_connect" >&5 +printf %s "checking whether to enable mod_proxy_connect... " >&6; } if test "$enable_proxy_connect" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -23749,8 +25628,8 @@ $as_echo_n "checking whether to enable mod_proxy_connect... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_connect$_apmod_extra_msg" >&5 -$as_echo "$enable_proxy_connect$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_connect$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_proxy_connect$_apmod_extra_msg" >&6; } if test "$enable_proxy_connect" != "no"; then case "$enable_proxy_connect" in static*) @@ -23829,13 +25708,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_ftp" >&5 -$as_echo_n "checking whether to enable mod_proxy_ftp... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_ftp" >&5 +printf %s "checking whether to enable mod_proxy_ftp... " >&6; } # Check whether --enable-proxy-ftp was given. -if test "${enable_proxy_ftp+set}" = set; then : +if test ${enable_proxy_ftp+y} +then : enableval=$enable_proxy_ftp; force_proxy_ftp=$enableval -else - enable_proxy_ftp=most +else case e in #( + e) enable_proxy_ftp=most ;; +esac fi _apmod_extra_msg="" @@ -23888,21 +25769,21 @@ fi enable_proxy_ftp=no fi if test "$enable_proxy_ftp" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_proxy" = "no" ; then enable_proxy_ftp=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_ftp\"" >&5 -$as_echo "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_ftp\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_ftp\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_ftp\"" >&2;} elif test "$enable_proxy_ftp" = "static" && test "$enable_proxy" != "static" ; then enable_proxy_ftp=$enable_proxy - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_ftp shared because mod_proxy is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_proxy_ftp shared because mod_proxy is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_ftp shared because mod_proxy is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_proxy_ftp shared because mod_proxy is built shared\"" >&2;} else : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_ftp" >&5 -$as_echo_n "checking whether to enable mod_proxy_ftp... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_ftp" >&5 +printf %s "checking whether to enable mod_proxy_ftp... " >&6; } if test "$enable_proxy_ftp" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -23911,8 +25792,8 @@ $as_echo_n "checking whether to enable mod_proxy_ftp... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_ftp$_apmod_extra_msg" >&5 -$as_echo "$enable_proxy_ftp$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_ftp$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_proxy_ftp$_apmod_extra_msg" >&6; } if test "$enable_proxy_ftp" != "no"; then case "$enable_proxy_ftp" in static*) @@ -23991,13 +25872,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_http" >&5 -$as_echo_n "checking whether to enable mod_proxy_http... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_http" >&5 +printf %s "checking whether to enable mod_proxy_http... " >&6; } # Check whether --enable-proxy-http was given. -if test "${enable_proxy_http+set}" = set; then : +if test ${enable_proxy_http+y} +then : enableval=$enable_proxy_http; force_proxy_http=$enableval -else - enable_proxy_http=most +else case e in #( + e) enable_proxy_http=most ;; +esac fi _apmod_extra_msg="" @@ -24050,21 +25933,21 @@ fi enable_proxy_http=no fi if test "$enable_proxy_http" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_proxy" = "no" ; then enable_proxy_http=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_http\"" >&5 -$as_echo "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_http\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_http\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_http\"" >&2;} elif test "$enable_proxy_http" = "static" && test "$enable_proxy" != "static" ; then enable_proxy_http=$enable_proxy - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_http shared because mod_proxy is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_proxy_http shared because mod_proxy is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_http shared because mod_proxy is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_proxy_http shared because mod_proxy is built shared\"" >&2;} else : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_http" >&5 -$as_echo_n "checking whether to enable mod_proxy_http... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_http" >&5 +printf %s "checking whether to enable mod_proxy_http... " >&6; } if test "$enable_proxy_http" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -24073,8 +25956,8 @@ $as_echo_n "checking whether to enable mod_proxy_http... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_http$_apmod_extra_msg" >&5 -$as_echo "$enable_proxy_http$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_http$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_proxy_http$_apmod_extra_msg" >&6; } if test "$enable_proxy_http" != "no"; then case "$enable_proxy_http" in static*) @@ -24153,13 +26036,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_fcgi" >&5 -$as_echo_n "checking whether to enable mod_proxy_fcgi... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_fcgi" >&5 +printf %s "checking whether to enable mod_proxy_fcgi... " >&6; } # Check whether --enable-proxy-fcgi was given. -if test "${enable_proxy_fcgi+set}" = set; then : +if test ${enable_proxy_fcgi+y} +then : enableval=$enable_proxy_fcgi; force_proxy_fcgi=$enableval -else - enable_proxy_fcgi=most +else case e in #( + e) enable_proxy_fcgi=most ;; +esac fi _apmod_extra_msg="" @@ -24212,21 +26097,21 @@ fi enable_proxy_fcgi=no fi if test "$enable_proxy_fcgi" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_proxy" = "no" ; then enable_proxy_fcgi=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_fcgi\"" >&5 -$as_echo "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_fcgi\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_fcgi\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_fcgi\"" >&2;} elif test "$enable_proxy_fcgi" = "static" && test "$enable_proxy" != "static" ; then enable_proxy_fcgi=$enable_proxy - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_fcgi shared because mod_proxy is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_proxy_fcgi shared because mod_proxy is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_fcgi shared because mod_proxy is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_proxy_fcgi shared because mod_proxy is built shared\"" >&2;} else : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_fcgi" >&5 -$as_echo_n "checking whether to enable mod_proxy_fcgi... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_fcgi" >&5 +printf %s "checking whether to enable mod_proxy_fcgi... " >&6; } if test "$enable_proxy_fcgi" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -24235,8 +26120,8 @@ $as_echo_n "checking whether to enable mod_proxy_fcgi... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_fcgi$_apmod_extra_msg" >&5 -$as_echo "$enable_proxy_fcgi$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_fcgi$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_proxy_fcgi$_apmod_extra_msg" >&6; } if test "$enable_proxy_fcgi" != "no"; then case "$enable_proxy_fcgi" in static*) @@ -24315,13 +26200,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_scgi" >&5 -$as_echo_n "checking whether to enable mod_proxy_scgi... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_scgi" >&5 +printf %s "checking whether to enable mod_proxy_scgi... " >&6; } # Check whether --enable-proxy-scgi was given. -if test "${enable_proxy_scgi+set}" = set; then : +if test ${enable_proxy_scgi+y} +then : enableval=$enable_proxy_scgi; force_proxy_scgi=$enableval -else - enable_proxy_scgi=most +else case e in #( + e) enable_proxy_scgi=most ;; +esac fi _apmod_extra_msg="" @@ -24374,21 +26261,21 @@ fi enable_proxy_scgi=no fi if test "$enable_proxy_scgi" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_proxy" = "no" ; then enable_proxy_scgi=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_scgi\"" >&5 -$as_echo "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_scgi\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_scgi\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_scgi\"" >&2;} elif test "$enable_proxy_scgi" = "static" && test "$enable_proxy" != "static" ; then enable_proxy_scgi=$enable_proxy - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_scgi shared because mod_proxy is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_proxy_scgi shared because mod_proxy is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_scgi shared because mod_proxy is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_proxy_scgi shared because mod_proxy is built shared\"" >&2;} else : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_scgi" >&5 -$as_echo_n "checking whether to enable mod_proxy_scgi... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_scgi" >&5 +printf %s "checking whether to enable mod_proxy_scgi... " >&6; } if test "$enable_proxy_scgi" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -24397,8 +26284,8 @@ $as_echo_n "checking whether to enable mod_proxy_scgi... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_scgi$_apmod_extra_msg" >&5 -$as_echo "$enable_proxy_scgi$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_scgi$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_proxy_scgi$_apmod_extra_msg" >&6; } if test "$enable_proxy_scgi" != "no"; then case "$enable_proxy_scgi" in static*) @@ -24477,13 +26364,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_uwsgi" >&5 -$as_echo_n "checking whether to enable mod_proxy_uwsgi... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_uwsgi" >&5 +printf %s "checking whether to enable mod_proxy_uwsgi... " >&6; } # Check whether --enable-proxy-uwsgi was given. -if test "${enable_proxy_uwsgi+set}" = set; then : +if test ${enable_proxy_uwsgi+y} +then : enableval=$enable_proxy_uwsgi; force_proxy_uwsgi=$enableval -else - enable_proxy_uwsgi=most +else case e in #( + e) enable_proxy_uwsgi=most ;; +esac fi _apmod_extra_msg="" @@ -24536,21 +26425,21 @@ fi enable_proxy_uwsgi=no fi if test "$enable_proxy_uwsgi" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_proxy" = "no" ; then enable_proxy_uwsgi=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_uwsgi\"" >&5 -$as_echo "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_uwsgi\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_uwsgi\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_uwsgi\"" >&2;} elif test "$enable_proxy_uwsgi" = "static" && test "$enable_proxy" != "static" ; then enable_proxy_uwsgi=$enable_proxy - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_uwsgi shared because mod_proxy is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_proxy_uwsgi shared because mod_proxy is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_uwsgi shared because mod_proxy is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_proxy_uwsgi shared because mod_proxy is built shared\"" >&2;} else : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_uwsgi" >&5 -$as_echo_n "checking whether to enable mod_proxy_uwsgi... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_uwsgi" >&5 +printf %s "checking whether to enable mod_proxy_uwsgi... " >&6; } if test "$enable_proxy_uwsgi" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -24559,8 +26448,8 @@ $as_echo_n "checking whether to enable mod_proxy_uwsgi... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_uwsgi$_apmod_extra_msg" >&5 -$as_echo "$enable_proxy_uwsgi$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_uwsgi$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_proxy_uwsgi$_apmod_extra_msg" >&6; } if test "$enable_proxy_uwsgi" != "no"; then case "$enable_proxy_uwsgi" in static*) @@ -24638,14 +26527,99 @@ EOF fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5 +printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; } +if test ${ac_cv_c_undeclared_builtin_options+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_save_CFLAGS=$CFLAGS + ac_cv_c_undeclared_builtin_options='cannot detect' + for ac_arg in '' -fno-builtin; do + CFLAGS="$ac_save_CFLAGS $ac_arg" + # This test program should *not* compile successfully. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +(void) strchr; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else case e in #( + e) # This test program should compile successfully. + # No library function is consistently available on + # freestanding implementations, so test against a dummy + # declaration. Include always-available headers on the + # off chance that they somehow elicit warnings. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include +extern void ac_decl (int, char *); + +int +main (void) +{ +(void) ac_decl (0, (char *) 0); + (void) ac_decl; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + if test x"$ac_arg" = x +then : + ac_cv_c_undeclared_builtin_options='none needed' +else case e in #( + e) ac_cv_c_undeclared_builtin_options=$ac_arg ;; +esac +fi + break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + done + CFLAGS=$ac_save_CFLAGS + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_undeclared_builtin_options" >&5 +printf "%s\n" "$ac_cv_c_undeclared_builtin_options" >&6; } + case $ac_cv_c_undeclared_builtin_options in #( + 'cannot detect') : + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error $? "cannot make $CC report undeclared builtins +See 'config.log' for more details" "$LINENO" 5; } ;; #( + 'none needed') : + ac_c_undeclared_builtin_options='' ;; #( + *) : + ac_c_undeclared_builtin_options=$ac_cv_c_undeclared_builtin_options ;; +esac + - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_fdpass" >&5 -$as_echo_n "checking whether to enable mod_proxy_fdpass... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_fdpass" >&5 +printf %s "checking whether to enable mod_proxy_fdpass... " >&6; } # Check whether --enable-proxy-fdpass was given. -if test "${enable_proxy_fdpass+set}" = set; then : +if test ${enable_proxy_fdpass+y} +then : enableval=$enable_proxy_fdpass; force_proxy_fdpass=$enableval -else - enable_proxy_fdpass=most +else case e in #( + e) enable_proxy_fdpass=most ;; +esac fi _apmod_extra_msg="" @@ -24698,36 +26672,36 @@ fi enable_proxy_fdpass=no fi if test "$enable_proxy_fdpass" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_proxy" = "no" ; then enable_proxy_fdpass=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_fdpass\"" >&5 -$as_echo "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_fdpass\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_fdpass\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_fdpass\"" >&2;} elif test "$enable_proxy_fdpass" = "static" && test "$enable_proxy" != "static" ; then enable_proxy_fdpass=$enable_proxy - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_fdpass shared because mod_proxy is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_proxy_fdpass shared because mod_proxy is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_fdpass shared because mod_proxy is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_proxy_fdpass shared because mod_proxy is built shared\"" >&2;} else - ac_fn_c_check_decl "$LINENO" "CMSG_DATA" "ac_cv_have_decl_CMSG_DATA" " + ac_fn_check_decl "$LINENO" "CMSG_DATA" "ac_cv_have_decl_CMSG_DATA" " #include #include -" -if test "x$ac_cv_have_decl_CMSG_DATA" = xyes; then : +" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_CMSG_DATA" = xyes +then : fi - if test $ac_cv_have_decl_CMSG_DATA = "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your system does not support CMSG_DATA." >&5 -$as_echo "$as_me: WARNING: Your system does not support CMSG_DATA." >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Your system does not support CMSG_DATA." >&5 +printf "%s\n" "$as_me: WARNING: Your system does not support CMSG_DATA." >&2;} enable_proxy_fdpass=no fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_fdpass" >&5 -$as_echo_n "checking whether to enable mod_proxy_fdpass... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_fdpass" >&5 +printf %s "checking whether to enable mod_proxy_fdpass... " >&6; } if test "$enable_proxy_fdpass" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -24736,8 +26710,8 @@ $as_echo_n "checking whether to enable mod_proxy_fdpass... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_fdpass$_apmod_extra_msg" >&5 -$as_echo "$enable_proxy_fdpass$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_fdpass$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_proxy_fdpass$_apmod_extra_msg" >&6; } if test "$enable_proxy_fdpass" != "no"; then case "$enable_proxy_fdpass" in static*) @@ -24816,13 +26790,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_wstunnel" >&5 -$as_echo_n "checking whether to enable mod_proxy_wstunnel... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_wstunnel" >&5 +printf %s "checking whether to enable mod_proxy_wstunnel... " >&6; } # Check whether --enable-proxy-wstunnel was given. -if test "${enable_proxy_wstunnel+set}" = set; then : +if test ${enable_proxy_wstunnel+y} +then : enableval=$enable_proxy_wstunnel; force_proxy_wstunnel=$enableval -else - enable_proxy_wstunnel=most +else case e in #( + e) enable_proxy_wstunnel=most ;; +esac fi _apmod_extra_msg="" @@ -24875,21 +26851,21 @@ fi enable_proxy_wstunnel=no fi if test "$enable_proxy_wstunnel" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_proxy" = "no" ; then enable_proxy_wstunnel=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_wstunnel\"" >&5 -$as_echo "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_wstunnel\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_wstunnel\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_wstunnel\"" >&2;} elif test "$enable_proxy_wstunnel" = "static" && test "$enable_proxy" != "static" ; then enable_proxy_wstunnel=$enable_proxy - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_wstunnel shared because mod_proxy is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_proxy_wstunnel shared because mod_proxy is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_wstunnel shared because mod_proxy is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_proxy_wstunnel shared because mod_proxy is built shared\"" >&2;} else : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_wstunnel" >&5 -$as_echo_n "checking whether to enable mod_proxy_wstunnel... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_wstunnel" >&5 +printf %s "checking whether to enable mod_proxy_wstunnel... " >&6; } if test "$enable_proxy_wstunnel" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -24898,8 +26874,8 @@ $as_echo_n "checking whether to enable mod_proxy_wstunnel... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_wstunnel$_apmod_extra_msg" >&5 -$as_echo "$enable_proxy_wstunnel$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_wstunnel$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_proxy_wstunnel$_apmod_extra_msg" >&6; } if test "$enable_proxy_wstunnel" != "no"; then case "$enable_proxy_wstunnel" in static*) @@ -24978,13 +26954,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_ajp" >&5 -$as_echo_n "checking whether to enable mod_proxy_ajp... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_ajp" >&5 +printf %s "checking whether to enable mod_proxy_ajp... " >&6; } # Check whether --enable-proxy-ajp was given. -if test "${enable_proxy_ajp+set}" = set; then : +if test ${enable_proxy_ajp+y} +then : enableval=$enable_proxy_ajp; force_proxy_ajp=$enableval -else - enable_proxy_ajp=most +else case e in #( + e) enable_proxy_ajp=most ;; +esac fi _apmod_extra_msg="" @@ -25037,21 +27015,21 @@ fi enable_proxy_ajp=no fi if test "$enable_proxy_ajp" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_proxy" = "no" ; then enable_proxy_ajp=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_ajp\"" >&5 -$as_echo "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_ajp\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_ajp\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_ajp\"" >&2;} elif test "$enable_proxy_ajp" = "static" && test "$enable_proxy" != "static" ; then enable_proxy_ajp=$enable_proxy - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_ajp shared because mod_proxy is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_proxy_ajp shared because mod_proxy is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_ajp shared because mod_proxy is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_proxy_ajp shared because mod_proxy is built shared\"" >&2;} else : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_ajp" >&5 -$as_echo_n "checking whether to enable mod_proxy_ajp... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_ajp" >&5 +printf %s "checking whether to enable mod_proxy_ajp... " >&6; } if test "$enable_proxy_ajp" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -25060,8 +27038,8 @@ $as_echo_n "checking whether to enable mod_proxy_ajp... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_ajp$_apmod_extra_msg" >&5 -$as_echo "$enable_proxy_ajp$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_ajp$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_proxy_ajp$_apmod_extra_msg" >&6; } if test "$enable_proxy_ajp" != "no"; then case "$enable_proxy_ajp" in static*) @@ -25140,13 +27118,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_balancer" >&5 -$as_echo_n "checking whether to enable mod_proxy_balancer... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_balancer" >&5 +printf %s "checking whether to enable mod_proxy_balancer... " >&6; } # Check whether --enable-proxy-balancer was given. -if test "${enable_proxy_balancer+set}" = set; then : +if test ${enable_proxy_balancer+y} +then : enableval=$enable_proxy_balancer; force_proxy_balancer=$enableval -else - enable_proxy_balancer=most +else case e in #( + e) enable_proxy_balancer=most ;; +esac fi _apmod_extra_msg="" @@ -25199,21 +27179,21 @@ fi enable_proxy_balancer=no fi if test "$enable_proxy_balancer" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_proxy" = "no" ; then enable_proxy_balancer=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_balancer\"" >&5 -$as_echo "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_balancer\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_balancer\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_balancer\"" >&2;} elif test "$enable_proxy_balancer" = "static" && test "$enable_proxy" != "static" ; then enable_proxy_balancer=$enable_proxy - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_balancer shared because mod_proxy is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_proxy_balancer shared because mod_proxy is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_balancer shared because mod_proxy is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_proxy_balancer shared because mod_proxy is built shared\"" >&2;} else : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_balancer" >&5 -$as_echo_n "checking whether to enable mod_proxy_balancer... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_balancer" >&5 +printf %s "checking whether to enable mod_proxy_balancer... " >&6; } if test "$enable_proxy_balancer" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -25222,8 +27202,8 @@ $as_echo_n "checking whether to enable mod_proxy_balancer... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_balancer$_apmod_extra_msg" >&5 -$as_echo "$enable_proxy_balancer$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_balancer$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_proxy_balancer$_apmod_extra_msg" >&6; } if test "$enable_proxy_balancer" != "no"; then case "$enable_proxy_balancer" in static*) @@ -25303,13 +27283,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_express" >&5 -$as_echo_n "checking whether to enable mod_proxy_express... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_express" >&5 +printf %s "checking whether to enable mod_proxy_express... " >&6; } # Check whether --enable-proxy-express was given. -if test "${enable_proxy_express+set}" = set; then : +if test ${enable_proxy_express+y} +then : enableval=$enable_proxy_express; force_proxy_express=$enableval -else - enable_proxy_express=most +else case e in #( + e) enable_proxy_express=most ;; +esac fi _apmod_extra_msg="" @@ -25362,21 +27344,21 @@ fi enable_proxy_express=no fi if test "$enable_proxy_express" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_proxy" = "no" ; then enable_proxy_express=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_express\"" >&5 -$as_echo "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_express\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_express\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_express\"" >&2;} elif test "$enable_proxy_express" = "static" && test "$enable_proxy" != "static" ; then enable_proxy_express=$enable_proxy - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_express shared because mod_proxy is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_proxy_express shared because mod_proxy is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_express shared because mod_proxy is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_proxy_express shared because mod_proxy is built shared\"" >&2;} else : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_express" >&5 -$as_echo_n "checking whether to enable mod_proxy_express... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_express" >&5 +printf %s "checking whether to enable mod_proxy_express... " >&6; } if test "$enable_proxy_express" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -25385,8 +27367,8 @@ $as_echo_n "checking whether to enable mod_proxy_express... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_express$_apmod_extra_msg" >&5 -$as_echo "$enable_proxy_express$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_express$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_proxy_express$_apmod_extra_msg" >&6; } if test "$enable_proxy_express" != "no"; then case "$enable_proxy_express" in static*) @@ -25465,13 +27447,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_hcheck" >&5 -$as_echo_n "checking whether to enable mod_proxy_hcheck... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_hcheck" >&5 +printf %s "checking whether to enable mod_proxy_hcheck... " >&6; } # Check whether --enable-proxy-hcheck was given. -if test "${enable_proxy_hcheck+set}" = set; then : +if test ${enable_proxy_hcheck+y} +then : enableval=$enable_proxy_hcheck; force_proxy_hcheck=$enableval -else - enable_proxy_hcheck=most +else case e in #( + e) enable_proxy_hcheck=most ;; +esac fi _apmod_extra_msg="" @@ -25524,29 +27508,29 @@ fi enable_proxy_hcheck=no fi if test "$enable_proxy_hcheck" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_proxy" = "no" ; then enable_proxy_hcheck=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_hcheck\"" >&5 -$as_echo "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_hcheck\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_hcheck\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_hcheck\"" >&2;} elif test "$enable_proxy_hcheck" = "static" && test "$enable_proxy" != "static" ; then enable_proxy_hcheck=$enable_proxy - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_hcheck shared because mod_proxy is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_proxy_hcheck shared because mod_proxy is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_hcheck shared because mod_proxy is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_proxy_hcheck shared because mod_proxy is built shared\"" >&2;} elif test "$enable_watchdog" = "no" ; then enable_proxy_hcheck=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_watchdog is disabled but required for mod_proxy_hcheck\"" >&5 -$as_echo "$as_me: WARNING: \"mod_watchdog is disabled but required for mod_proxy_hcheck\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_watchdog is disabled but required for mod_proxy_hcheck\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_watchdog is disabled but required for mod_proxy_hcheck\"" >&2;} elif test "$enable_proxy_hcheck" = "static" && test "$enable_watchdog" != "static" ; then enable_proxy_hcheck=$enable_watchdog - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_hcheck shared because mod_watchdog is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_proxy_hcheck shared because mod_watchdog is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_hcheck shared because mod_watchdog is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_proxy_hcheck shared because mod_watchdog is built shared\"" >&2;} else : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_hcheck" >&5 -$as_echo_n "checking whether to enable mod_proxy_hcheck... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_hcheck" >&5 +printf %s "checking whether to enable mod_proxy_hcheck... " >&6; } if test "$enable_proxy_hcheck" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -25555,8 +27539,8 @@ $as_echo_n "checking whether to enable mod_proxy_hcheck... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_hcheck$_apmod_extra_msg" >&5 -$as_echo "$enable_proxy_hcheck$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_hcheck$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_proxy_hcheck$_apmod_extra_msg" >&6; } if test "$enable_proxy_hcheck" != "no"; then case "$enable_proxy_hcheck" in static*) @@ -25716,13 +27700,15 @@ case "$host" in esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_session" >&5 -$as_echo_n "checking whether to enable mod_session... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_session" >&5 +printf %s "checking whether to enable mod_session... " >&6; } # Check whether --enable-session was given. -if test "${enable_session+set}" = set; then : +if test ${enable_session+y} +then : enableval=$enable_session; force_session=$enableval -else - enable_session=most +else case e in #( + e) enable_session=most ;; +esac fi _apmod_extra_msg="" @@ -25777,8 +27763,8 @@ fi if test "$enable_session" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_session$_apmod_extra_msg" >&5 -$as_echo "$enable_session$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_session$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_session$_apmod_extra_msg" >&6; } if test "$enable_session" != "no"; then case "$enable_session" in static*) @@ -25857,13 +27843,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_session_cookie" >&5 -$as_echo_n "checking whether to enable mod_session_cookie... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_session_cookie" >&5 +printf %s "checking whether to enable mod_session_cookie... " >&6; } # Check whether --enable-session-cookie was given. -if test "${enable_session_cookie+set}" = set; then : +if test ${enable_session_cookie+y} +then : enableval=$enable_session_cookie; force_session_cookie=$enableval -else - enable_session_cookie=$session_mods_enable +else case e in #( + e) enable_session_cookie=$session_mods_enable ;; +esac fi _apmod_extra_msg="" @@ -25916,21 +27904,21 @@ fi enable_session_cookie=no fi if test "$enable_session_cookie" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_session" = "no" ; then enable_session_cookie=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_session is disabled but required for mod_session_cookie\"" >&5 -$as_echo "$as_me: WARNING: \"mod_session is disabled but required for mod_session_cookie\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_session is disabled but required for mod_session_cookie\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_session is disabled but required for mod_session_cookie\"" >&2;} elif test "$enable_session_cookie" = "static" && test "$enable_session" != "static" ; then enable_session_cookie=$enable_session - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_session_cookie shared because mod_session is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_session_cookie shared because mod_session is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_session_cookie shared because mod_session is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_session_cookie shared because mod_session is built shared\"" >&2;} else : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_session_cookie" >&5 -$as_echo_n "checking whether to enable mod_session_cookie... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_session_cookie" >&5 +printf %s "checking whether to enable mod_session_cookie... " >&6; } if test "$enable_session_cookie" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -25939,8 +27927,8 @@ $as_echo_n "checking whether to enable mod_session_cookie... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_session_cookie$_apmod_extra_msg" >&5 -$as_echo "$enable_session_cookie$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_session_cookie$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_session_cookie$_apmod_extra_msg" >&6; } if test "$enable_session_cookie" != "no"; then case "$enable_session_cookie" in static*) @@ -26031,7 +28019,7 @@ if test "$session_mods_enable_crypto" != "no"; then /* end confdefs.h. */ #include int -main () +main (void) { #if APU_HAVE_CRYPTO == 0 @@ -26042,16 +28030,18 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ap_HAVE_APR_CRYPTO="yes" -else - ap_HAVE_APR_CRYPTO="no" +else case e in #( + e) ap_HAVE_APR_CRYPTO="no" ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CPPFLAGS="$saved_CPPFLAGS" if test $ap_HAVE_APR_CRYPTO = "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your APR does not include SSL/EVP support. To enable it: configure --with-crypto" >&5 -$as_echo "$as_me: WARNING: Your APR does not include SSL/EVP support. To enable it: configure --with-crypto" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Your APR does not include SSL/EVP support. To enable it: configure --with-crypto" >&5 +printf "%s\n" "$as_me: WARNING: Your APR does not include SSL/EVP support. To enable it: configure --with-crypto" >&2;} if test "$enable_session_crypto" != "" -a "$enable_session_crypto" != "no"; then as_fn_error $? "mod_session_crypto cannot be enabled" "$LINENO" 5 fi @@ -26059,13 +28049,15 @@ $as_echo "$as_me: WARNING: Your APR does not include SSL/EVP support. To enable fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_session_crypto" >&5 -$as_echo_n "checking whether to enable mod_session_crypto... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_session_crypto" >&5 +printf %s "checking whether to enable mod_session_crypto... " >&6; } # Check whether --enable-session-crypto was given. -if test "${enable_session_crypto+set}" = set; then : +if test ${enable_session_crypto+y} +then : enableval=$enable_session_crypto; force_session_crypto=$enableval -else - enable_session_crypto=$session_mods_enable_crypto +else case e in #( + e) enable_session_crypto=$session_mods_enable_crypto ;; +esac fi _apmod_extra_msg="" @@ -26118,16 +28110,16 @@ fi enable_session_crypto=no fi if test "$enable_session_crypto" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_session" = "no" ; then enable_session_crypto=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_session is disabled but required for mod_session_crypto\"" >&5 -$as_echo "$as_me: WARNING: \"mod_session is disabled but required for mod_session_crypto\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_session is disabled but required for mod_session_crypto\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_session is disabled but required for mod_session_crypto\"" >&2;} elif test "$enable_session_crypto" = "static" && test "$enable_session" != "static" ; then enable_session_crypto=$enable_session - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_session_crypto shared because mod_session is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_session_crypto shared because mod_session is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_session_crypto shared because mod_session is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_session_crypto shared because mod_session is built shared\"" >&2;} else if test "$session_mods_enable_crypto" = "no" ; then @@ -26135,8 +28127,8 @@ if test "$session_mods_enable_crypto" = "no" ; then fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_session_crypto" >&5 -$as_echo_n "checking whether to enable mod_session_crypto... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_session_crypto" >&5 +printf %s "checking whether to enable mod_session_crypto... " >&6; } if test "$enable_session_crypto" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -26145,8 +28137,8 @@ $as_echo_n "checking whether to enable mod_session_crypto... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_session_crypto$_apmod_extra_msg" >&5 -$as_echo "$enable_session_crypto$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_session_crypto$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_session_crypto$_apmod_extra_msg" >&6; } if test "$enable_session_crypto" != "no"; then case "$enable_session_crypto" in static*) @@ -26226,13 +28218,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_session_dbd" >&5 -$as_echo_n "checking whether to enable mod_session_dbd... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_session_dbd" >&5 +printf %s "checking whether to enable mod_session_dbd... " >&6; } # Check whether --enable-session-dbd was given. -if test "${enable_session_dbd+set}" = set; then : +if test ${enable_session_dbd+y} +then : enableval=$enable_session_dbd; force_session_dbd=$enableval -else - enable_session_dbd=$session_mods_enable +else case e in #( + e) enable_session_dbd=$session_mods_enable ;; +esac fi _apmod_extra_msg="" @@ -26285,21 +28279,21 @@ fi enable_session_dbd=no fi if test "$enable_session_dbd" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_session" = "no" ; then enable_session_dbd=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_session is disabled but required for mod_session_dbd\"" >&5 -$as_echo "$as_me: WARNING: \"mod_session is disabled but required for mod_session_dbd\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_session is disabled but required for mod_session_dbd\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_session is disabled but required for mod_session_dbd\"" >&2;} elif test "$enable_session_dbd" = "static" && test "$enable_session" != "static" ; then enable_session_dbd=$enable_session - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_session_dbd shared because mod_session is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_session_dbd shared because mod_session is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_session_dbd shared because mod_session is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_session_dbd shared because mod_session is built shared\"" >&2;} else : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_session_dbd" >&5 -$as_echo_n "checking whether to enable mod_session_dbd... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_session_dbd" >&5 +printf %s "checking whether to enable mod_session_dbd... " >&6; } if test "$enable_session_dbd" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -26308,8 +28302,8 @@ $as_echo_n "checking whether to enable mod_session_dbd... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_session_dbd$_apmod_extra_msg" >&5 -$as_echo "$enable_session_dbd$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_session_dbd$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_session_dbd$_apmod_extra_msg" >&6; } if test "$enable_session_dbd" != "no"; then case "$enable_session_dbd" in static*) @@ -26445,13 +28439,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_slotmem_shm" >&5 -$as_echo_n "checking whether to enable mod_slotmem_shm... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_slotmem_shm" >&5 +printf %s "checking whether to enable mod_slotmem_shm... " >&6; } # Check whether --enable-slotmem-shm was given. -if test "${enable_slotmem_shm+set}" = set; then : +if test ${enable_slotmem_shm+y} +then : enableval=$enable_slotmem_shm; force_slotmem_shm=$enableval -else - enable_slotmem_shm=most +else case e in #( + e) enable_slotmem_shm=most ;; +esac fi _apmod_extra_msg="" @@ -26506,8 +28502,8 @@ fi if test "$enable_slotmem_shm" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_slotmem_shm$_apmod_extra_msg" >&5 -$as_echo "$enable_slotmem_shm$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_slotmem_shm$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_slotmem_shm$_apmod_extra_msg" >&6; } if test "$enable_slotmem_shm" != "no"; then case "$enable_slotmem_shm" in static*) @@ -26586,13 +28582,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_slotmem_plain" >&5 -$as_echo_n "checking whether to enable mod_slotmem_plain... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_slotmem_plain" >&5 +printf %s "checking whether to enable mod_slotmem_plain... " >&6; } # Check whether --enable-slotmem-plain was given. -if test "${enable_slotmem_plain+set}" = set; then : +if test ${enable_slotmem_plain+y} +then : enableval=$enable_slotmem_plain; force_slotmem_plain=$enableval -else - enable_slotmem_plain=maybe-all +else case e in #( + e) enable_slotmem_plain=maybe-all ;; +esac fi _apmod_extra_msg="" @@ -26647,8 +28645,8 @@ fi if test "$enable_slotmem_plain" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_slotmem_plain$_apmod_extra_msg" >&5 -$as_echo "$enable_slotmem_plain$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_slotmem_plain$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_slotmem_plain$_apmod_extra_msg" >&6; } if test "$enable_slotmem_plain" != "no"; then case "$enable_slotmem_plain" in static*) @@ -26761,13 +28759,15 @@ EOF ssl_objs="mod_ssl.lo ssl_engine_config.lo ssl_engine_init.lo ssl_engine_io.lo ssl_engine_kernel.lo ssl_engine_log.lo ssl_engine_mutex.lo ssl_engine_pphrase.lo ssl_engine_rand.lo ssl_engine_vars.lo ssl_scache.lo ssl_util_stapling.lo ssl_util.lo ssl_util_ssl.lo ssl_engine_ocsp.lo ssl_util_ocsp.lo " - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_ssl" >&5 -$as_echo_n "checking whether to enable mod_ssl... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_ssl" >&5 +printf %s "checking whether to enable mod_ssl... " >&6; } # Check whether --enable-ssl was given. -if test "${enable_ssl+set}" = set; then : +if test ${enable_ssl+y} +then : enableval=$enable_ssl; force_ssl=$enableval -else - enable_ssl=most +else case e in #( + e) enable_ssl=most ;; +esac fi _apmod_extra_msg="" @@ -26820,17 +28820,18 @@ fi enable_ssl=no fi if test "$enable_ssl" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL" >&5 -$as_echo_n "checking for OpenSSL... " >&6; } -if ${ac_cv_openssl+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OpenSSL" >&5 +printf %s "checking for OpenSSL... " >&6; } +if test ${ac_cv_openssl+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_cv_openssl=no ap_openssl_found="" ap_openssl_base="" @@ -26838,11 +28839,12 @@ else ap_openssl_mod_cflags="" ap_openssl_mod_ldflags="" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for user-provided OpenSSL base directory" >&5 -$as_echo_n "checking for user-provided OpenSSL base directory... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for user-provided OpenSSL base directory" >&5 +printf %s "checking for user-provided OpenSSL base directory... " >&6; } # Check whether --with-ssl was given. -if test "${with_ssl+set}" = set; then : +if test ${with_ssl+y} +then : withval=$with_ssl; if test "x$withval" != "xyes" -a "x$withval" != "x"; then ap_openssl_base="`cd $withval ; pwd`" @@ -26851,11 +28853,11 @@ if test "${with_ssl+set}" = set; then : fi if test "x$ap_openssl_base" = "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 +printf "%s\n" "none" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ap_openssl_base" >&5 -$as_echo "$ap_openssl_base" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ap_openssl_base" >&5 +printf "%s\n" "$ap_openssl_base" >&6; } fi saved_CPPFLAGS="$CPPFLAGS" @@ -26864,13 +28866,18 @@ $as_echo "$ap_openssl_base" >&6; } if test -n "$PKGCONFIG"; then saved_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" - if test "x$ap_openssl_base" != "x" -a \ - -f "${ap_openssl_base}/lib/pkgconfig/openssl.pc"; then - PKG_CONFIG_PATH="${ap_openssl_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" - export PKG_CONFIG_PATH + if test "x$ap_openssl_base" != "x"; then + if test -f "${ap_openssl_base}/lib/pkgconfig/openssl.pc"; then + PKG_CONFIG_PATH="${ap_openssl_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" + export PKG_CONFIG_PATH + elif test -f "${ap_openssl_base}/lib64/pkgconfig/openssl.pc"; then + PKG_CONFIG_PATH="${ap_openssl_base}/lib64/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" + export PKG_CONFIG_PATH + fi fi # Check whether --enable-ssl-staticlib-deps was given. -if test "${enable_ssl_staticlib_deps+set}" = set; then : +if test ${enable_ssl_staticlib_deps+y} +then : enableval=$enable_ssl_staticlib_deps; if test "$enableval" = "yes"; then PKGCONFIG_LIBOPTS="--static" @@ -27187,13 +29194,13 @@ fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL version >= 0.9.8a" >&5 -$as_echo_n "checking for OpenSSL version >= 0.9.8a... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OpenSSL version >= 0.9.8a" >&5 +printf %s "checking for OpenSSL version >= 0.9.8a... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int -main () +main (void) { #if !defined(OPENSSL_VERSION_NUMBER) @@ -27206,15 +29213,17 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 -$as_echo "OK" >&6; } +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +printf "%s\n" "OK" >&6; } ac_cv_openssl=yes -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: FAILED" >&5 -$as_echo "FAILED" >&6; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: FAILED" >&5 +printf "%s\n" "FAILED" >&6; } ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext if test "x$ac_cv_openssl" = "xyes"; then ap_openssl_libs="${ap_openssl_libs:--lssl -lcrypto} `$apr_config --libs`" @@ -27274,50 +29283,60 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext liberrors="" - for ac_header in openssl/engine.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "openssl/engine.h" "ac_cv_header_openssl_engine_h" "$ac_includes_default" -if test "x$ac_cv_header_openssl_engine_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_OPENSSL_ENGINE_H 1 -_ACEOF + ac_fn_c_check_header_compile "$LINENO" "openssl/engine.h" "ac_cv_header_openssl_engine_h" "$ac_includes_default" +if test "x$ac_cv_header_openssl_engine_h" = xyes +then : + printf "%s\n" "#define HAVE_OPENSSL_ENGINE_H 1" >>confdefs.h fi -done - for ac_func in SSL_CTX_new + for ac_func in SSL_CTX_new do : ac_fn_c_check_func "$LINENO" "SSL_CTX_new" "ac_cv_func_SSL_CTX_new" -if test "x$ac_cv_func_SSL_CTX_new" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SSL_CTX_NEW 1 -_ACEOF +if test "x$ac_cv_func_SSL_CTX_new" = xyes +then : + printf "%s\n" "#define HAVE_SSL_CTX_NEW 1" >>confdefs.h -else - liberrors="yes" +else case e in #( + e) liberrors="yes" ;; +esac fi + done + ac_fn_c_check_func "$LINENO" "OPENSSL_init_ssl" "ac_cv_func_OPENSSL_init_ssl" +if test "x$ac_cv_func_OPENSSL_init_ssl" = xyes +then : + printf "%s\n" "#define HAVE_OPENSSL_INIT_SSL 1" >>confdefs.h - for ac_func in ENGINE_init ENGINE_load_builtin_engines RAND_egd -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +fi + + ac_fn_c_check_func "$LINENO" "ENGINE_init" "ac_cv_func_ENGINE_init" +if test "x$ac_cv_func_ENGINE_init" = xyes +then : + printf "%s\n" "#define HAVE_ENGINE_INIT 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "ENGINE_load_builtin_engines" "ac_cv_func_ENGINE_load_builtin_engines" +if test "x$ac_cv_func_ENGINE_load_builtin_engines" = xyes +then : + printf "%s\n" "#define HAVE_ENGINE_LOAD_BUILTIN_ENGINES 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "RAND_egd" "ac_cv_func_RAND_egd" +if test "x$ac_cv_func_RAND_egd" = xyes +then : + printf "%s\n" "#define HAVE_RAND_EGD 1" >>confdefs.h fi -done if test "x$liberrors" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: OpenSSL libraries are unusable" >&5 -$as_echo "$as_me: WARNING: OpenSSL libraries are unusable" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OpenSSL libraries are unusable" >&5 +printf "%s\n" "$as_me: WARNING: OpenSSL libraries are unusable" >&2;} fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: OpenSSL version is too old" >&5 -$as_echo "$as_me: WARNING: OpenSSL version is too old" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OpenSSL version is too old" >&5 +printf "%s\n" "$as_me: WARNING: OpenSSL version is too old" >&2;} fi CPPFLAGS="$saved_CPPFLAGS" @@ -27326,13 +29345,14 @@ $as_echo "$as_me: WARNING: OpenSSL version is too old" >&2;} ap_openssl_mod_cflags=$MOD_CFLAGS ap_openssl_mod_ldflags=$MOD_LDFLAGS - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_openssl" >&5 -$as_echo "$ac_cv_openssl" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_openssl" >&5 +printf "%s\n" "$ac_cv_openssl" >&6; } if test "x$ac_cv_openssl" = "xyes"; then -$as_echo "#define HAVE_OPENSSL 1" >>confdefs.h +printf "%s\n" "#define HAVE_OPENSSL 1" >>confdefs.h if test "x$MOD_LDFLAGS" = "x"; then @@ -27409,8 +29429,8 @@ $as_echo "#define HAVE_OPENSSL 1" >>confdefs.h fi : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_ssl" >&5 -$as_echo_n "checking whether to enable mod_ssl... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_ssl" >&5 +printf %s "checking whether to enable mod_ssl... " >&6; } if test "$enable_ssl" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -27419,8 +29439,8 @@ $as_echo_n "checking whether to enable mod_ssl... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_ssl$_apmod_extra_msg" >&5 -$as_echo "$enable_ssl$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_ssl$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_ssl$_apmod_extra_msg" >&6; } if test "$enable_ssl" != "no"; then case "$enable_ssl" in static*) @@ -27556,13 +29576,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_optional_hook_export" >&5 -$as_echo_n "checking whether to enable mod_optional_hook_export... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_optional_hook_export" >&5 +printf %s "checking whether to enable mod_optional_hook_export... " >&6; } # Check whether --enable-optional-hook-export was given. -if test "${enable_optional_hook_export+set}" = set; then : +if test ${enable_optional_hook_export+y} +then : enableval=$enable_optional_hook_export; force_optional_hook_export=$enableval -else - enable_optional_hook_export=no +else case e in #( + e) enable_optional_hook_export=no ;; +esac fi _apmod_extra_msg="" @@ -27617,8 +29639,8 @@ fi if test "$enable_optional_hook_export" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_optional_hook_export$_apmod_extra_msg" >&5 -$as_echo "$enable_optional_hook_export$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_optional_hook_export$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_optional_hook_export$_apmod_extra_msg" >&6; } if test "$enable_optional_hook_export" != "no"; then case "$enable_optional_hook_export" in static*) @@ -27697,13 +29719,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_optional_hook_import" >&5 -$as_echo_n "checking whether to enable mod_optional_hook_import... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_optional_hook_import" >&5 +printf %s "checking whether to enable mod_optional_hook_import... " >&6; } # Check whether --enable-optional-hook-import was given. -if test "${enable_optional_hook_import+set}" = set; then : +if test ${enable_optional_hook_import+y} +then : enableval=$enable_optional_hook_import; force_optional_hook_import=$enableval -else - enable_optional_hook_import=no +else case e in #( + e) enable_optional_hook_import=no ;; +esac fi _apmod_extra_msg="" @@ -27758,8 +29782,8 @@ fi if test "$enable_optional_hook_import" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_optional_hook_import$_apmod_extra_msg" >&5 -$as_echo "$enable_optional_hook_import$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_optional_hook_import$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_optional_hook_import$_apmod_extra_msg" >&6; } if test "$enable_optional_hook_import" != "no"; then case "$enable_optional_hook_import" in static*) @@ -27838,13 +29862,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_optional_fn_import" >&5 -$as_echo_n "checking whether to enable mod_optional_fn_import... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_optional_fn_import" >&5 +printf %s "checking whether to enable mod_optional_fn_import... " >&6; } # Check whether --enable-optional-fn-import was given. -if test "${enable_optional_fn_import+set}" = set; then : +if test ${enable_optional_fn_import+y} +then : enableval=$enable_optional_fn_import; force_optional_fn_import=$enableval -else - enable_optional_fn_import=no +else case e in #( + e) enable_optional_fn_import=no ;; +esac fi _apmod_extra_msg="" @@ -27899,8 +29925,8 @@ fi if test "$enable_optional_fn_import" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_optional_fn_import$_apmod_extra_msg" >&5 -$as_echo "$enable_optional_fn_import$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_optional_fn_import$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_optional_fn_import$_apmod_extra_msg" >&6; } if test "$enable_optional_fn_import" != "no"; then case "$enable_optional_fn_import" in static*) @@ -27979,13 +30005,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_optional_fn_export" >&5 -$as_echo_n "checking whether to enable mod_optional_fn_export... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_optional_fn_export" >&5 +printf %s "checking whether to enable mod_optional_fn_export... " >&6; } # Check whether --enable-optional-fn-export was given. -if test "${enable_optional_fn_export+set}" = set; then : +if test ${enable_optional_fn_export+y} +then : enableval=$enable_optional_fn_export; force_optional_fn_export=$enableval -else - enable_optional_fn_export=no +else case e in #( + e) enable_optional_fn_export=no ;; +esac fi _apmod_extra_msg="" @@ -28040,8 +30068,8 @@ fi if test "$enable_optional_fn_export" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_optional_fn_export$_apmod_extra_msg" >&5 -$as_echo "$enable_optional_fn_export$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_optional_fn_export$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_optional_fn_export$_apmod_extra_msg" >&6; } if test "$enable_optional_fn_export" != "no"; then case "$enable_optional_fn_export" in static*) @@ -28121,13 +30149,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_dialup" >&5 -$as_echo_n "checking whether to enable mod_dialup... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_dialup" >&5 +printf %s "checking whether to enable mod_dialup... " >&6; } # Check whether --enable-dialup was given. -if test "${enable_dialup+set}" = set; then : +if test ${enable_dialup+y} +then : enableval=$enable_dialup; force_dialup=$enableval -else - enable_dialup=maybe-all +else case e in #( + e) enable_dialup=maybe-all ;; +esac fi _apmod_extra_msg="" @@ -28182,8 +30212,8 @@ fi if test "$enable_dialup" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_dialup$_apmod_extra_msg" >&5 -$as_echo "$enable_dialup$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_dialup$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_dialup$_apmod_extra_msg" >&6; } if test "$enable_dialup" != "no"; then case "$enable_dialup" in static*) @@ -28303,8 +30333,8 @@ EOF -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for target platform" >&5 -$as_echo_n "checking for target platform... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for target platform" >&5 +printf %s "checking for target platform... " >&6; } case $host in *pc-os2-emx*) @@ -28328,8 +30358,8 @@ bs2000*) OS_DIR=$OS;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OS" >&5 -$as_echo "$OS" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OS" >&5 +printf "%s\n" "$OS" >&6; } APACHE_FAST_OUTPUT_FILES="$APACHE_FAST_OUTPUT_FILES os/${OS_DIR}/Makefile" @@ -28360,12 +30390,13 @@ fi if test "$OS" = "unix" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for rlim_t" >&5 -$as_echo_n "checking for rlim_t... " >&6; } -if ${ac_cv_type_rlim_t+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rlim_t" >&5 +printf %s "checking for rlim_t... " >&6; } +if test ${ac_cv_type_rlim_t+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -28374,113 +30405,116 @@ else #include int -main () +main (void) { rlim_t spoon; ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_type_rlim_t=yes -else - ac_cv_type_rlim_t=no - +else case e in #( + e) ac_cv_type_rlim_t=no + ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_rlim_t" >&5 -$as_echo "$ac_cv_type_rlim_t" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_rlim_t" >&5 +printf "%s\n" "$ac_cv_type_rlim_t" >&6; } if test "$ac_cv_type_rlim_t" = "no" ; then -$as_echo "#define rlim_t int" >>confdefs.h +printf "%s\n" "#define rlim_t int" >>confdefs.h fi - for ac_header in sys/time.h sys/resource.h sys/sem.h sys/ipc.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF + ac_fn_c_check_header_compile "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_time_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_TIME_H 1" >>confdefs.h fi +ac_fn_c_check_header_compile "$LINENO" "sys/resource.h" "ac_cv_header_sys_resource_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_resource_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_RESOURCE_H 1" >>confdefs.h -done +fi +ac_fn_c_check_header_compile "$LINENO" "sys/sem.h" "ac_cv_header_sys_sem_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_sem_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_SEM_H 1" >>confdefs.h +fi +ac_fn_c_check_header_compile "$LINENO" "sys/ipc.h" "ac_cv_header_sys_ipc_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_ipc_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_IPC_H 1" >>confdefs.h - for ac_func in setsid killpg -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +fi + + + ac_fn_c_check_func "$LINENO" "setsid" "ac_cv_func_setsid" +if test "x$ac_cv_func_setsid" = xyes +then : + printf "%s\n" "#define HAVE_SETSID 1" >>confdefs.h fi -done +ac_fn_c_check_func "$LINENO" "killpg" "ac_cv_func_killpg" +if test "x$ac_cv_func_killpg" = xyes +then : + printf "%s\n" "#define HAVE_KILLPG 1" >>confdefs.h fi +fi -for ac_header in bstring.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF + +ac_fn_c_check_header_compile "$LINENO" "bstring.h" "ac_cv_header_bstring_h" "$ac_includes_default" +if test "x$ac_cv_header_bstring_h" = xyes +then : + printf "%s\n" "#define HAVE_BSTRING_H 1" >>confdefs.h fi +ac_fn_c_check_header_compile "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" +if test "x$ac_cv_header_unistd_h" = xyes +then : + printf "%s\n" "#define HAVE_UNISTD_H 1" >>confdefs.h -done +fi -for ac_func in syslog -do : - ac_fn_c_check_func "$LINENO" "syslog" "ac_cv_func_syslog" -if test "x$ac_cv_func_syslog" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SYSLOG 1 -_ACEOF +ac_fn_c_check_func "$LINENO" "syslog" "ac_cv_func_syslog" +if test "x$ac_cv_func_syslog" = xyes +then : + printf "%s\n" "#define HAVE_SYSLOG 1" >>confdefs.h fi -done - for ac_header in sys/times.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "sys/times.h" "ac_cv_header_sys_times_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_times_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SYS_TIMES_H 1 -_ACEOF + ac_fn_c_check_header_compile "$LINENO" "sys/times.h" "ac_cv_header_sys_times_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_times_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_TIMES_H 1" >>confdefs.h fi -done - - for ac_func in times -do : - ac_fn_c_check_func "$LINENO" "times" "ac_cv_func_times" -if test "x$ac_cv_func_times" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_TIMES 1 -_ACEOF + ac_fn_c_check_func "$LINENO" "times" "ac_cv_func_times" +if test "x$ac_cv_func_times" = xyes +then : + printf "%s\n" "#define HAVE_TIMES 1" >>confdefs.h fi -done # util_expr needs header files in server source dir @@ -28520,12 +30554,14 @@ YES_IS_DEFINED _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "YES_IS_DEFINED" >/dev/null 2>&1; then : + $EGREP_TRADITIONAL "YES_IS_DEFINED" >/dev/null 2>&1 +then : ac_cv_define_APR_HAS_THREADS=yes -else - ac_cv_define_APR_HAS_THREADS=no +else case e in #( + e) ac_cv_define_APR_HAS_THREADS=no ;; +esac fi -rm -f conftest* +rm -rf conftest* CPPFLAGS=$apr_old_cppflags @@ -28542,12 +30578,13 @@ case $host in esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether APR supports thread-safe pollsets" >&5 -$as_echo_n "checking whether APR supports thread-safe pollsets... " >&6; } -if ${ac_cv_have_threadsafe_pollset+:} false; then : - $as_echo_n "(cached) " >&6 -else - +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether APR supports thread-safe pollsets" >&5 +printf %s "checking whether APR supports thread-safe pollsets... " >&6; } +if test ${ac_cv_have_threadsafe_pollset+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) case $host in *-apple-darwin[1-9].*) @@ -28558,27 +30595,35 @@ else ;; esac - for ac_func in kqueue port_create epoll_create -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF + ac_fn_c_check_func "$LINENO" "kqueue" "ac_cv_func_kqueue" +if test "x$ac_cv_func_kqueue" = xyes +then : + printf "%s\n" "#define HAVE_KQUEUE 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "port_create" "ac_cv_func_port_create" +if test "x$ac_cv_func_port_create" = xyes +then : + printf "%s\n" "#define HAVE_PORT_CREATE 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "epoll_create" "ac_cv_func_epoll_create" +if test "x$ac_cv_func_epoll_create" = xyes +then : + printf "%s\n" "#define HAVE_EPOLL_CREATE 1" >>confdefs.h fi -done if test "$ac_cv_func_kqueue$ac_cv_func_port_create$ac_cv_func_epoll_create" != "nonono"; then ac_cv_have_threadsafe_pollset=yes else ac_cv_have_threadsafe_pollset=no fi - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_threadsafe_pollset" >&5 -$as_echo "$ac_cv_have_threadsafe_pollset" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_threadsafe_pollset" >&5 +printf "%s\n" "$ac_cv_have_threadsafe_pollset" >&6; } case $APR_VERSION in 1.4*) @@ -28644,26 +30689,26 @@ ap_mpm_is_enabled () fi } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if event MPM supports this platform" >&5 -$as_echo_n "checking if event MPM supports this platform... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if event MPM supports this platform" >&5 +printf %s "checking if event MPM supports this platform... " >&6; } if test $forking_mpms_supported != yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no - This is not a forking platform" >&5 -$as_echo "no - This is not a forking platform" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no - This is not a forking platform" >&5 +printf "%s\n" "no - This is not a forking platform" >&6; } elif test $ac_cv_define_APR_HAS_THREADS != yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no - APR does not support threads" >&5 -$as_echo "no - APR does not support threads" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no - APR does not support threads" >&5 +printf "%s\n" "no - APR does not support threads" >&6; } elif test $have_threaded_sig_graceful != yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no - SIG_GRACEFUL cannot be used with a threaded MPM" >&5 -$as_echo "no - SIG_GRACEFUL cannot be used with a threaded MPM" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no - SIG_GRACEFUL cannot be used with a threaded MPM" >&5 +printf "%s\n" "no - SIG_GRACEFUL cannot be used with a threaded MPM" >&6; } elif test $ac_cv_have_threadsafe_pollset != yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no - APR_POLLSET_THREADSAFE is not supported" >&5 -$as_echo "no - APR_POLLSET_THREADSAFE is not supported" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no - APR_POLLSET_THREADSAFE is not supported" >&5 +printf "%s\n" "no - APR_POLLSET_THREADSAFE is not supported" >&6; } elif test $apr_has_skiplist != yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no - APR skiplist is not available" >&5 -$as_echo "no - APR skiplist is not available" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no - APR skiplist is not available" >&5 +printf "%s\n" "no - APR skiplist is not available" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } if test "yes" = "yes"; then eval "ap_supported_mpm_event=shared" @@ -28677,12 +30722,12 @@ $as_echo "yes" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if mpmt_os2 MPM supports this platform" >&5 -$as_echo_n "checking if mpmt_os2 MPM supports this platform... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if mpmt_os2 MPM supports this platform" >&5 +printf %s "checking if mpmt_os2 MPM supports this platform... " >&6; } case $host in *os2-emx*) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } if test "no" = "yes"; then eval "ap_supported_mpm_mpmt_os2=shared" @@ -28696,19 +30741,19 @@ $as_echo "yes" >&6; } ;; *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if prefork MPM supports this platform" >&5 -$as_echo_n "checking if prefork MPM supports this platform... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if prefork MPM supports this platform" >&5 +printf %s "checking if prefork MPM supports this platform... " >&6; } if test $forking_mpms_supported != yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no - This is not a forking platform" >&5 -$as_echo "no - This is not a forking platform" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no - This is not a forking platform" >&5 +printf "%s\n" "no - This is not a forking platform" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } if test "yes" = "yes"; then eval "ap_supported_mpm_prefork=shared" @@ -28722,12 +30767,12 @@ $as_echo "yes" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if WinNT MPM supports this platform" >&5 -$as_echo_n "checking if WinNT MPM supports this platform... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if WinNT MPM supports this platform" >&5 +printf %s "checking if WinNT MPM supports this platform... " >&6; } case $host in *mingw32*) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } if test "no" = "yes"; then eval "ap_supported_mpm_winnt=shared" @@ -28741,25 +30786,25 @@ $as_echo "yes" >&6; } ;; *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if worker MPM supports this platform" >&5 -$as_echo_n "checking if worker MPM supports this platform... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if worker MPM supports this platform" >&5 +printf %s "checking if worker MPM supports this platform... " >&6; } if test $forking_mpms_supported != yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no - This is not a forking platform" >&5 -$as_echo "no - This is not a forking platform" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no - This is not a forking platform" >&5 +printf "%s\n" "no - This is not a forking platform" >&6; } elif test $ac_cv_define_APR_HAS_THREADS != yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no - APR does not support threads" >&5 -$as_echo "no - APR does not support threads" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no - APR does not support threads" >&5 +printf "%s\n" "no - APR does not support threads" >&6; } elif test $have_threaded_sig_graceful != yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no - SIG_GRACEFUL cannot be used with a threaded MPM" >&5 -$as_echo "no - SIG_GRACEFUL cannot be used with a threaded MPM" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no - SIG_GRACEFUL cannot be used with a threaded MPM" >&5 +printf "%s\n" "no - SIG_GRACEFUL cannot be used with a threaded MPM" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } if test "yes" = "yes"; then eval "ap_supported_mpm_worker=shared" @@ -28785,7 +30830,8 @@ httxt2dbm_LTFLAGS="" fcgistarter_LTFLAGS="" # Check whether --enable-static-support was given. -if test "${enable_static_support+set}" = set; then : +if test ${enable_static_support+y} +then : enableval=$enable_static_support; if test "$enableval" = "yes" ; then @@ -29004,7 +31050,8 @@ fi # Check whether --enable-static-htpasswd was given. -if test "${enable_static_htpasswd+set}" = set; then : +if test ${enable_static_htpasswd+y} +then : enableval=$enable_static_htpasswd; if test "$enableval" = "yes" ; then @@ -29059,7 +31106,8 @@ fi # Check whether --enable-static-htdigest was given. -if test "${enable_static_htdigest+set}" = set; then : +if test ${enable_static_htdigest+y} +then : enableval=$enable_static_htdigest; if test "$enableval" = "yes" ; then @@ -29114,7 +31162,8 @@ fi # Check whether --enable-static-rotatelogs was given. -if test "${enable_static_rotatelogs+set}" = set; then : +if test ${enable_static_rotatelogs+y} +then : enableval=$enable_static_rotatelogs; if test "$enableval" = "yes" ; then @@ -29169,7 +31218,8 @@ fi # Check whether --enable-static-logresolve was given. -if test "${enable_static_logresolve+set}" = set; then : +if test ${enable_static_logresolve+y} +then : enableval=$enable_static_logresolve; if test "$enableval" = "yes" ; then @@ -29224,7 +31274,8 @@ fi # Check whether --enable-static-htdbm was given. -if test "${enable_static_htdbm+set}" = set; then : +if test ${enable_static_htdbm+y} +then : enableval=$enable_static_htdbm; if test "$enableval" = "yes" ; then @@ -29279,7 +31330,8 @@ fi # Check whether --enable-static-ab was given. -if test "${enable_static_ab+set}" = set; then : +if test ${enable_static_ab+y} +then : enableval=$enable_static_ab; if test "$enableval" = "yes" ; then @@ -29334,7 +31386,8 @@ fi # Check whether --enable-static-checkgid was given. -if test "${enable_static_checkgid+set}" = set; then : +if test ${enable_static_checkgid+y} +then : enableval=$enable_static_checkgid; if test "$enableval" = "yes" ; then @@ -29389,7 +31442,8 @@ fi # Check whether --enable-static-htcacheclean was given. -if test "${enable_static_htcacheclean+set}" = set; then : +if test ${enable_static_htcacheclean+y} +then : enableval=$enable_static_htcacheclean; if test "$enableval" = "yes" ; then @@ -29444,7 +31498,8 @@ fi # Check whether --enable-static-httxt2dbm was given. -if test "${enable_static_httxt2dbm+set}" = set; then : +if test ${enable_static_httxt2dbm+y} +then : enableval=$enable_static_httxt2dbm; if test "$enableval" = "yes" ; then @@ -29499,7 +31554,8 @@ fi # Check whether --enable-static-fcgistarter was given. -if test "${enable_static_fcgistarter+set}" = set; then : +if test ${enable_static_fcgistarter+y} +then : enableval=$enable_static_fcgistarter; if test "$enableval" = "yes" ; then @@ -29608,19 +31664,21 @@ esac > $modpath_current/modules.mk -http2_objs="mod_http2.lo h2_alt_svc.lo h2_bucket_beam.lo h2_bucket_eos.lo h2_config.lo h2_conn.lo h2_conn_io.lo h2_ctx.lo h2_filter.lo h2_from_h1.lo h2_h2.lo h2_headers.lo h2_mplx.lo h2_ngn_shed.lo h2_push.lo h2_request.lo h2_session.lo h2_stream.lo h2_switch.lo h2_task.lo h2_util.lo h2_workers.lo " +http2_objs="mod_http2.lo h2_bucket_beam.lo h2_bucket_eos.lo h2_c1.lo h2_c1_io.lo h2_c2.lo h2_c2_filter.lo h2_config.lo h2_conn_ctx.lo h2_headers.lo h2_mplx.lo h2_protocol.lo h2_push.lo h2_request.lo h2_session.lo h2_stream.lo h2_switch.lo h2_util.lo h2_workers.lo h2_ws.lo " - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_http2" >&5 -$as_echo_n "checking whether to enable mod_http2... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_http2" >&5 +printf %s "checking whether to enable mod_http2... " >&6; } # Check whether --enable-http2 was given. -if test "${enable_http2+set}" = set; then : +if test ${enable_http2+y} +then : enableval=$enable_http2; force_http2=$enableval -else - enable_http2=most +else case e in #( + e) enable_http2=most ;; +esac fi _apmod_extra_msg="" @@ -29673,17 +31731,18 @@ fi enable_http2=no fi if test "$enable_http2" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL" >&5 -$as_echo_n "checking for OpenSSL... " >&6; } -if ${ac_cv_openssl+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OpenSSL" >&5 +printf %s "checking for OpenSSL... " >&6; } +if test ${ac_cv_openssl+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_cv_openssl=no ap_openssl_found="" ap_openssl_base="" @@ -29691,11 +31750,12 @@ else ap_openssl_mod_cflags="" ap_openssl_mod_ldflags="" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for user-provided OpenSSL base directory" >&5 -$as_echo_n "checking for user-provided OpenSSL base directory... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for user-provided OpenSSL base directory" >&5 +printf %s "checking for user-provided OpenSSL base directory... " >&6; } # Check whether --with-ssl was given. -if test "${with_ssl+set}" = set; then : +if test ${with_ssl+y} +then : withval=$with_ssl; if test "x$withval" != "xyes" -a "x$withval" != "x"; then ap_openssl_base="`cd $withval ; pwd`" @@ -29704,11 +31764,11 @@ if test "${with_ssl+set}" = set; then : fi if test "x$ap_openssl_base" = "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 +printf "%s\n" "none" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ap_openssl_base" >&5 -$as_echo "$ap_openssl_base" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ap_openssl_base" >&5 +printf "%s\n" "$ap_openssl_base" >&6; } fi saved_CPPFLAGS="$CPPFLAGS" @@ -29717,13 +31777,18 @@ $as_echo "$ap_openssl_base" >&6; } if test -n "$PKGCONFIG"; then saved_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" - if test "x$ap_openssl_base" != "x" -a \ - -f "${ap_openssl_base}/lib/pkgconfig/openssl.pc"; then - PKG_CONFIG_PATH="${ap_openssl_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" - export PKG_CONFIG_PATH + if test "x$ap_openssl_base" != "x"; then + if test -f "${ap_openssl_base}/lib/pkgconfig/openssl.pc"; then + PKG_CONFIG_PATH="${ap_openssl_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" + export PKG_CONFIG_PATH + elif test -f "${ap_openssl_base}/lib64/pkgconfig/openssl.pc"; then + PKG_CONFIG_PATH="${ap_openssl_base}/lib64/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" + export PKG_CONFIG_PATH + fi fi # Check whether --enable-ssl-staticlib-deps was given. -if test "${enable_ssl_staticlib_deps+set}" = set; then : +if test ${enable_ssl_staticlib_deps+y} +then : enableval=$enable_ssl_staticlib_deps; if test "$enableval" = "yes"; then PKGCONFIG_LIBOPTS="--static" @@ -30040,13 +32105,13 @@ fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL version >= 0.9.8a" >&5 -$as_echo_n "checking for OpenSSL version >= 0.9.8a... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OpenSSL version >= 0.9.8a" >&5 +printf %s "checking for OpenSSL version >= 0.9.8a... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int -main () +main (void) { #if !defined(OPENSSL_VERSION_NUMBER) @@ -30059,15 +32124,17 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 -$as_echo "OK" >&6; } +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +printf "%s\n" "OK" >&6; } ac_cv_openssl=yes -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: FAILED" >&5 -$as_echo "FAILED" >&6; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: FAILED" >&5 +printf "%s\n" "FAILED" >&6; } ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext if test "x$ac_cv_openssl" = "xyes"; then ap_openssl_libs="${ap_openssl_libs:--lssl -lcrypto} `$apr_config --libs`" @@ -30127,50 +32194,60 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext liberrors="" - for ac_header in openssl/engine.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "openssl/engine.h" "ac_cv_header_openssl_engine_h" "$ac_includes_default" -if test "x$ac_cv_header_openssl_engine_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_OPENSSL_ENGINE_H 1 -_ACEOF + ac_fn_c_check_header_compile "$LINENO" "openssl/engine.h" "ac_cv_header_openssl_engine_h" "$ac_includes_default" +if test "x$ac_cv_header_openssl_engine_h" = xyes +then : + printf "%s\n" "#define HAVE_OPENSSL_ENGINE_H 1" >>confdefs.h fi -done - for ac_func in SSL_CTX_new + for ac_func in SSL_CTX_new do : ac_fn_c_check_func "$LINENO" "SSL_CTX_new" "ac_cv_func_SSL_CTX_new" -if test "x$ac_cv_func_SSL_CTX_new" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SSL_CTX_NEW 1 -_ACEOF +if test "x$ac_cv_func_SSL_CTX_new" = xyes +then : + printf "%s\n" "#define HAVE_SSL_CTX_NEW 1" >>confdefs.h -else - liberrors="yes" +else case e in #( + e) liberrors="yes" ;; +esac fi + done + ac_fn_c_check_func "$LINENO" "OPENSSL_init_ssl" "ac_cv_func_OPENSSL_init_ssl" +if test "x$ac_cv_func_OPENSSL_init_ssl" = xyes +then : + printf "%s\n" "#define HAVE_OPENSSL_INIT_SSL 1" >>confdefs.h - for ac_func in ENGINE_init ENGINE_load_builtin_engines RAND_egd -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +fi + + ac_fn_c_check_func "$LINENO" "ENGINE_init" "ac_cv_func_ENGINE_init" +if test "x$ac_cv_func_ENGINE_init" = xyes +then : + printf "%s\n" "#define HAVE_ENGINE_INIT 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "ENGINE_load_builtin_engines" "ac_cv_func_ENGINE_load_builtin_engines" +if test "x$ac_cv_func_ENGINE_load_builtin_engines" = xyes +then : + printf "%s\n" "#define HAVE_ENGINE_LOAD_BUILTIN_ENGINES 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "RAND_egd" "ac_cv_func_RAND_egd" +if test "x$ac_cv_func_RAND_egd" = xyes +then : + printf "%s\n" "#define HAVE_RAND_EGD 1" >>confdefs.h fi -done if test "x$liberrors" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: OpenSSL libraries are unusable" >&5 -$as_echo "$as_me: WARNING: OpenSSL libraries are unusable" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OpenSSL libraries are unusable" >&5 +printf "%s\n" "$as_me: WARNING: OpenSSL libraries are unusable" >&2;} fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: OpenSSL version is too old" >&5 -$as_echo "$as_me: WARNING: OpenSSL version is too old" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OpenSSL version is too old" >&5 +printf "%s\n" "$as_me: WARNING: OpenSSL version is too old" >&2;} fi CPPFLAGS="$saved_CPPFLAGS" @@ -30179,13 +32256,14 @@ $as_echo "$as_me: WARNING: OpenSSL version is too old" >&2;} ap_openssl_mod_cflags=$MOD_CFLAGS ap_openssl_mod_ldflags=$MOD_LDFLAGS - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_openssl" >&5 -$as_echo "$ac_cv_openssl" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_openssl" >&5 +printf "%s\n" "$ac_cv_openssl" >&6; } if test "x$ac_cv_openssl" = "xyes"; then -$as_echo "#define HAVE_OPENSSL 1" >>confdefs.h +printf "%s\n" "#define HAVE_OPENSSL 1" >>confdefs.h if test "x$MOD_LDFLAGS" = "x"; then @@ -30256,22 +32334,24 @@ $as_echo "#define HAVE_OPENSSL 1" >>confdefs.h fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nghttp2" >&5 -$as_echo_n "checking for nghttp2... " >&6; } -if ${ac_cv_nghttp2+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for nghttp2" >&5 +printf %s "checking for nghttp2... " >&6; } +if test ${ac_cv_nghttp2+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_cv_nghttp2=no ap_nghttp2_found="" ap_nghttp2_base="" ap_nghttp2_libs="" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for user-provided nghttp2 base directory" >&5 -$as_echo_n "checking for user-provided nghttp2 base directory... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for user-provided nghttp2 base directory" >&5 +printf %s "checking for user-provided nghttp2 base directory... " >&6; } # Check whether --with-nghttp2 was given. -if test "${with_nghttp2+set}" = set; then : +if test ${with_nghttp2+y} +then : withval=$with_nghttp2; if test "x$withval" != "xyes" -a "x$withval" != "x"; then ap_nghttp2_base="`cd $withval ; pwd`" @@ -30280,11 +32360,11 @@ if test "${with_nghttp2+set}" = set; then : fi if test "x$ap_nghttp2_base" = "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 +printf "%s\n" "none" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ap_nghttp2_base" >&5 -$as_echo "$ap_nghttp2_base" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ap_nghttp2_base" >&5 +printf "%s\n" "$ap_nghttp2_base" >&6; } fi saved_CPPFLAGS="$CPPFLAGS" @@ -30293,8 +32373,8 @@ $as_echo "$ap_nghttp2_base" >&6; } if test -n "$PKGCONFIG"; then saved_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pkg-config along $PKG_CONFIG_PATH" >&5 -$as_echo_n "checking for pkg-config along $PKG_CONFIG_PATH... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pkg-config along $PKG_CONFIG_PATH" >&5 +printf %s "checking for pkg-config along $PKG_CONFIG_PATH... " >&6; } if test "x$ap_nghttp2_base" != "x" ; then if test -f "${ap_nghttp2_base}/lib/pkgconfig/libnghttp2.pc"; then PKG_CONFIG_PATH="${ap_nghttp2_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" @@ -30305,7 +32385,8 @@ $as_echo_n "checking for pkg-config along $PKG_CONFIG_PATH... " >&6; } fi fi # Check whether --enable-nghttp2-staticlib-deps was given. -if test "${enable_nghttp2_staticlib_deps+set}" = set; then : +if test ${enable_nghttp2_staticlib_deps+y} +then : enableval=$enable_nghttp2_staticlib_deps; if test "$enableval" = "yes"; then PKGCONFIG_LIBOPTS="--static" @@ -30580,13 +32661,13 @@ fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nghttp2 version >= 1.2.1" >&5 -$as_echo_n "checking for nghttp2 version >= 1.2.1... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for nghttp2 version >= 1.2.1" >&5 +printf %s "checking for nghttp2 version >= 1.2.1... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int -main () +main (void) { #if !defined(NGHTTP2_VERSION_NUM) @@ -30599,15 +32680,17 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 -$as_echo "OK" >&6; } +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +printf "%s\n" "OK" >&6; } ac_cv_nghttp2=yes -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: FAILED" >&5 -$as_echo "FAILED" >&6; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: FAILED" >&5 +printf "%s\n" "FAILED" >&6; } ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext if test "x$ac_cv_nghttp2" = "xyes"; then ap_nghttp2_libs="${ap_nghttp2_libs:--lnghttp2} `$apr_config --libs`" @@ -30655,59 +32738,56 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext liberrors="" - for ac_header in nghttp2/nghttp2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "nghttp2/nghttp2.h" "ac_cv_header_nghttp2_nghttp2_h" "$ac_includes_default" -if test "x$ac_cv_header_nghttp2_nghttp2_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NGHTTP2_NGHTTP2_H 1 -_ACEOF + ac_fn_c_check_header_compile "$LINENO" "nghttp2/nghttp2.h" "ac_cv_header_nghttp2_nghttp2_h" "$ac_includes_default" +if test "x$ac_cv_header_nghttp2_nghttp2_h" = xyes +then : + printf "%s\n" "#define HAVE_NGHTTP2_NGHTTP2_H 1" >>confdefs.h fi -done - for ac_func in nghttp2_session_server_new2 + for ac_func in nghttp2_session_server_new2 do : ac_fn_c_check_func "$LINENO" "nghttp2_session_server_new2" "ac_cv_func_nghttp2_session_server_new2" -if test "x$ac_cv_func_nghttp2_session_server_new2" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NGHTTP2_SESSION_SERVER_NEW2 1 -_ACEOF +if test "x$ac_cv_func_nghttp2_session_server_new2" = xyes +then : + printf "%s\n" "#define HAVE_NGHTTP2_SESSION_SERVER_NEW2 1" >>confdefs.h -else - liberrors="yes" +else case e in #( + e) liberrors="yes" ;; +esac fi -done +done if test "x$liberrors" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: nghttp2 library is unusable" >&5 -$as_echo "$as_me: WARNING: nghttp2 library is unusable" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: nghttp2 library is unusable" >&5 +printf "%s\n" "$as_me: WARNING: nghttp2 library is unusable" >&2;} fi - for ac_func in nghttp2_stream_get_weight + + for ac_func in nghttp2_stream_get_weight do : ac_fn_c_check_func "$LINENO" "nghttp2_stream_get_weight" "ac_cv_func_nghttp2_stream_get_weight" -if test "x$ac_cv_func_nghttp2_stream_get_weight" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NGHTTP2_STREAM_GET_WEIGHT 1 -_ACEOF +if test "x$ac_cv_func_nghttp2_stream_get_weight" = xyes +then : + printf "%s\n" "#define HAVE_NGHTTP2_STREAM_GET_WEIGHT 1" >>confdefs.h -else - liberrors="yes" +else case e in #( + e) liberrors="yes" ;; +esac fi -done +done if test "x$liberrors" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: nghttp2 version >= 1.3.0 is required" >&5 -$as_echo "$as_me: WARNING: nghttp2 version >= 1.3.0 is required" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: nghttp2 version >= 1.3.0 is required" >&5 +printf "%s\n" "$as_me: WARNING: nghttp2 version >= 1.3.0 is required" >&2;} fi - for ac_func in nghttp2_session_change_stream_priority + + for ac_func in nghttp2_session_change_stream_priority do : ac_fn_c_check_func "$LINENO" "nghttp2_session_change_stream_priority" "ac_cv_func_nghttp2_session_change_stream_priority" -if test "x$ac_cv_func_nghttp2_session_change_stream_priority" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NGHTTP2_SESSION_CHANGE_STREAM_PRIORITY 1 -_ACEOF +if test "x$ac_cv_func_nghttp2_session_change_stream_priority" = xyes +then : + printf "%s\n" "#define HAVE_NGHTTP2_SESSION_CHANGE_STREAM_PRIORITY 1" >>confdefs.h if test "x$MOD_CPPFLAGS" = "x"; then test "x$silent" != "xyes" && echo " setting MOD_CPPFLAGS to \""-DH2_NG2_CHANGE_PRIO"\"" @@ -30730,15 +32810,15 @@ _ACEOF fi fi + done - for ac_func in nghttp2_session_callbacks_set_on_invalid_header_callback + for ac_func in nghttp2_session_callbacks_set_on_invalid_header_callback do : ac_fn_c_check_func "$LINENO" "nghttp2_session_callbacks_set_on_invalid_header_callback" "ac_cv_func_nghttp2_session_callbacks_set_on_invalid_header_callback" -if test "x$ac_cv_func_nghttp2_session_callbacks_set_on_invalid_header_callback" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NGHTTP2_SESSION_CALLBACKS_SET_ON_INVALID_HEADER_CALLBACK 1 -_ACEOF +if test "x$ac_cv_func_nghttp2_session_callbacks_set_on_invalid_header_callback" = xyes +then : + printf "%s\n" "#define HAVE_NGHTTP2_SESSION_CALLBACKS_SET_ON_INVALID_HEADER_CALLBACK 1" >>confdefs.h if test "x$MOD_CPPFLAGS" = "x"; then test "x$silent" != "xyes" && echo " setting MOD_CPPFLAGS to \""-DH2_NG2_INVALID_HEADER_CB"\"" @@ -30761,15 +32841,15 @@ _ACEOF fi fi + done - for ac_func in nghttp2_session_get_stream_local_window_size + for ac_func in nghttp2_session_get_stream_local_window_size do : ac_fn_c_check_func "$LINENO" "nghttp2_session_get_stream_local_window_size" "ac_cv_func_nghttp2_session_get_stream_local_window_size" -if test "x$ac_cv_func_nghttp2_session_get_stream_local_window_size" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NGHTTP2_SESSION_GET_STREAM_LOCAL_WINDOW_SIZE 1 -_ACEOF +if test "x$ac_cv_func_nghttp2_session_get_stream_local_window_size" = xyes +then : + printf "%s\n" "#define HAVE_NGHTTP2_SESSION_GET_STREAM_LOCAL_WINDOW_SIZE 1" >>confdefs.h if test "x$MOD_CPPFLAGS" = "x"; then test "x$silent" != "xyes" && echo " setting MOD_CPPFLAGS to \""-DH2_NG2_LOCAL_WIN_SIZE"\"" @@ -30792,23 +32872,86 @@ _ACEOF fi fi + done + for ac_func in nghttp2_option_set_no_closed_streams +do : + ac_fn_c_check_func "$LINENO" "nghttp2_option_set_no_closed_streams" "ac_cv_func_nghttp2_option_set_no_closed_streams" +if test "x$ac_cv_func_nghttp2_option_set_no_closed_streams" = xyes +then : + printf "%s\n" "#define HAVE_NGHTTP2_OPTION_SET_NO_CLOSED_STREAMS 1" >>confdefs.h + + if test "x$MOD_CPPFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_CPPFLAGS to \""-DH2_NG2_NO_CLOSED_STREAMS"\"" + MOD_CPPFLAGS=""-DH2_NG2_NO_CLOSED_STREAMS"" + else + apr_addto_bugger=""-DH2_NG2_NO_CLOSED_STREAMS"" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $MOD_CPPFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_CPPFLAGS" + MOD_CPPFLAGS="$MOD_CPPFLAGS $i" + fi + done + fi + +fi + +done + + for ac_func in nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation +do : + ac_fn_c_check_func "$LINENO" "nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation" "ac_cv_func_nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation" +if test "x$ac_cv_func_nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation" = xyes +then : + printf "%s\n" "#define HAVE_NGHTTP2_OPTION_SET_NO_RFC9113_LEADING_AND_TRAILING_WS_VALIDATION 1" >>confdefs.h + + if test "x$MOD_CPPFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_CPPFLAGS to \""-DH2_NG2_RFC9113_STRICTNESS"\"" + MOD_CPPFLAGS=""-DH2_NG2_RFC9113_STRICTNESS"" + else + apr_addto_bugger=""-DH2_NG2_RFC9113_STRICTNESS"" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $MOD_CPPFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_CPPFLAGS" + MOD_CPPFLAGS="$MOD_CPPFLAGS $i" + fi + done + fi + +fi + +done else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: nghttp2 version is too old" >&5 -$as_echo "$as_me: WARNING: nghttp2 version is too old" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: nghttp2 version is too old" >&5 +printf "%s\n" "$as_me: WARNING: nghttp2 version is too old" >&2;} fi CPPFLAGS="$saved_CPPFLAGS" LIBS="$saved_LIBS" LDFLAGS="$saved_LDFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_nghttp2" >&5 -$as_echo "$ac_cv_nghttp2" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_nghttp2" >&5 +printf "%s\n" "$ac_cv_nghttp2" >&6; } if test "x$ac_cv_nghttp2" = "xyes"; then -$as_echo "#define HAVE_NGHTTP2 1" >>confdefs.h +printf "%s\n" "#define HAVE_NGHTTP2 1" >>confdefs.h fi @@ -30843,8 +32986,8 @@ $as_echo "#define HAVE_NGHTTP2 1" >>confdefs.h fi : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_http2" >&5 -$as_echo_n "checking whether to enable mod_http2... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_http2" >&5 +printf %s "checking whether to enable mod_http2... " >&6; } if test "$enable_http2" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -30853,8 +32996,8 @@ $as_echo_n "checking whether to enable mod_http2... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_http2$_apmod_extra_msg" >&5 -$as_echo "$enable_http2$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_http2$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_http2$_apmod_extra_msg" >&6; } if test "$enable_http2" != "no"; then case "$enable_http2" in static*) @@ -30942,13 +33085,15 @@ EOF proxy_http2_objs="mod_proxy_http2.lo h2_proxy_session.lo h2_proxy_util.lo " - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_http2" >&5 -$as_echo_n "checking whether to enable mod_proxy_http2... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_http2" >&5 +printf %s "checking whether to enable mod_proxy_http2... " >&6; } # Check whether --enable-proxy-http2 was given. -if test "${enable_proxy_http2+set}" = set; then : +if test ${enable_proxy_http2+y} +then : enableval=$enable_proxy_http2; force_proxy_http2=$enableval -else - enable_proxy_http2=no +else case e in #( + e) enable_proxy_http2=no ;; +esac fi _apmod_extra_msg="" @@ -31001,35 +33146,37 @@ fi enable_proxy_http2=no fi if test "$enable_proxy_http2" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_proxy" = "no" ; then enable_proxy_http2=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_http2\"" >&5 -$as_echo "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_http2\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy is disabled but required for mod_proxy_http2\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_proxy is disabled but required for mod_proxy_http2\"" >&2;} elif test "$enable_proxy_http2" = "static" && test "$enable_proxy" != "static" ; then enable_proxy_http2=$enable_proxy - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_http2 shared because mod_proxy is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_proxy_http2 shared because mod_proxy is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_proxy_http2 shared because mod_proxy is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_proxy_http2 shared because mod_proxy is built shared\"" >&2;} else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nghttp2" >&5 -$as_echo_n "checking for nghttp2... " >&6; } -if ${ac_cv_nghttp2+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for nghttp2" >&5 +printf %s "checking for nghttp2... " >&6; } +if test ${ac_cv_nghttp2+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_cv_nghttp2=no ap_nghttp2_found="" ap_nghttp2_base="" ap_nghttp2_libs="" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for user-provided nghttp2 base directory" >&5 -$as_echo_n "checking for user-provided nghttp2 base directory... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for user-provided nghttp2 base directory" >&5 +printf %s "checking for user-provided nghttp2 base directory... " >&6; } # Check whether --with-nghttp2 was given. -if test "${with_nghttp2+set}" = set; then : +if test ${with_nghttp2+y} +then : withval=$with_nghttp2; if test "x$withval" != "xyes" -a "x$withval" != "x"; then ap_nghttp2_base="`cd $withval ; pwd`" @@ -31038,11 +33185,11 @@ if test "${with_nghttp2+set}" = set; then : fi if test "x$ap_nghttp2_base" = "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 +printf "%s\n" "none" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ap_nghttp2_base" >&5 -$as_echo "$ap_nghttp2_base" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ap_nghttp2_base" >&5 +printf "%s\n" "$ap_nghttp2_base" >&6; } fi saved_CPPFLAGS="$CPPFLAGS" @@ -31051,8 +33198,8 @@ $as_echo "$ap_nghttp2_base" >&6; } if test -n "$PKGCONFIG"; then saved_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pkg-config along $PKG_CONFIG_PATH" >&5 -$as_echo_n "checking for pkg-config along $PKG_CONFIG_PATH... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pkg-config along $PKG_CONFIG_PATH" >&5 +printf %s "checking for pkg-config along $PKG_CONFIG_PATH... " >&6; } if test "x$ap_nghttp2_base" != "x" ; then if test -f "${ap_nghttp2_base}/lib/pkgconfig/libnghttp2.pc"; then PKG_CONFIG_PATH="${ap_nghttp2_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" @@ -31063,7 +33210,8 @@ $as_echo_n "checking for pkg-config along $PKG_CONFIG_PATH... " >&6; } fi fi # Check whether --enable-nghttp2-staticlib-deps was given. -if test "${enable_nghttp2_staticlib_deps+set}" = set; then : +if test ${enable_nghttp2_staticlib_deps+y} +then : enableval=$enable_nghttp2_staticlib_deps; if test "$enableval" = "yes"; then PKGCONFIG_LIBOPTS="--static" @@ -31338,13 +33486,13 @@ fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nghttp2 version >= 1.2.1" >&5 -$as_echo_n "checking for nghttp2 version >= 1.2.1... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for nghttp2 version >= 1.2.1" >&5 +printf %s "checking for nghttp2 version >= 1.2.1... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int -main () +main (void) { #if !defined(NGHTTP2_VERSION_NUM) @@ -31357,15 +33505,17 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 -$as_echo "OK" >&6; } +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +printf "%s\n" "OK" >&6; } ac_cv_nghttp2=yes -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: FAILED" >&5 -$as_echo "FAILED" >&6; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: FAILED" >&5 +printf "%s\n" "FAILED" >&6; } ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext if test "x$ac_cv_nghttp2" = "xyes"; then ap_nghttp2_libs="${ap_nghttp2_libs:--lnghttp2} `$apr_config --libs`" @@ -31413,59 +33563,56 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext liberrors="" - for ac_header in nghttp2/nghttp2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "nghttp2/nghttp2.h" "ac_cv_header_nghttp2_nghttp2_h" "$ac_includes_default" -if test "x$ac_cv_header_nghttp2_nghttp2_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NGHTTP2_NGHTTP2_H 1 -_ACEOF + ac_fn_c_check_header_compile "$LINENO" "nghttp2/nghttp2.h" "ac_cv_header_nghttp2_nghttp2_h" "$ac_includes_default" +if test "x$ac_cv_header_nghttp2_nghttp2_h" = xyes +then : + printf "%s\n" "#define HAVE_NGHTTP2_NGHTTP2_H 1" >>confdefs.h fi -done - for ac_func in nghttp2_session_server_new2 + for ac_func in nghttp2_session_server_new2 do : ac_fn_c_check_func "$LINENO" "nghttp2_session_server_new2" "ac_cv_func_nghttp2_session_server_new2" -if test "x$ac_cv_func_nghttp2_session_server_new2" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NGHTTP2_SESSION_SERVER_NEW2 1 -_ACEOF +if test "x$ac_cv_func_nghttp2_session_server_new2" = xyes +then : + printf "%s\n" "#define HAVE_NGHTTP2_SESSION_SERVER_NEW2 1" >>confdefs.h -else - liberrors="yes" +else case e in #( + e) liberrors="yes" ;; +esac fi -done +done if test "x$liberrors" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: nghttp2 library is unusable" >&5 -$as_echo "$as_me: WARNING: nghttp2 library is unusable" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: nghttp2 library is unusable" >&5 +printf "%s\n" "$as_me: WARNING: nghttp2 library is unusable" >&2;} fi - for ac_func in nghttp2_stream_get_weight + + for ac_func in nghttp2_stream_get_weight do : ac_fn_c_check_func "$LINENO" "nghttp2_stream_get_weight" "ac_cv_func_nghttp2_stream_get_weight" -if test "x$ac_cv_func_nghttp2_stream_get_weight" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NGHTTP2_STREAM_GET_WEIGHT 1 -_ACEOF +if test "x$ac_cv_func_nghttp2_stream_get_weight" = xyes +then : + printf "%s\n" "#define HAVE_NGHTTP2_STREAM_GET_WEIGHT 1" >>confdefs.h -else - liberrors="yes" +else case e in #( + e) liberrors="yes" ;; +esac fi -done +done if test "x$liberrors" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: nghttp2 version >= 1.3.0 is required" >&5 -$as_echo "$as_me: WARNING: nghttp2 version >= 1.3.0 is required" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: nghttp2 version >= 1.3.0 is required" >&5 +printf "%s\n" "$as_me: WARNING: nghttp2 version >= 1.3.0 is required" >&2;} fi - for ac_func in nghttp2_session_change_stream_priority + + for ac_func in nghttp2_session_change_stream_priority do : ac_fn_c_check_func "$LINENO" "nghttp2_session_change_stream_priority" "ac_cv_func_nghttp2_session_change_stream_priority" -if test "x$ac_cv_func_nghttp2_session_change_stream_priority" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NGHTTP2_SESSION_CHANGE_STREAM_PRIORITY 1 -_ACEOF +if test "x$ac_cv_func_nghttp2_session_change_stream_priority" = xyes +then : + printf "%s\n" "#define HAVE_NGHTTP2_SESSION_CHANGE_STREAM_PRIORITY 1" >>confdefs.h if test "x$MOD_CPPFLAGS" = "x"; then test "x$silent" != "xyes" && echo " setting MOD_CPPFLAGS to \""-DH2_NG2_CHANGE_PRIO"\"" @@ -31488,15 +33635,15 @@ _ACEOF fi fi + done - for ac_func in nghttp2_session_callbacks_set_on_invalid_header_callback + for ac_func in nghttp2_session_callbacks_set_on_invalid_header_callback do : ac_fn_c_check_func "$LINENO" "nghttp2_session_callbacks_set_on_invalid_header_callback" "ac_cv_func_nghttp2_session_callbacks_set_on_invalid_header_callback" -if test "x$ac_cv_func_nghttp2_session_callbacks_set_on_invalid_header_callback" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NGHTTP2_SESSION_CALLBACKS_SET_ON_INVALID_HEADER_CALLBACK 1 -_ACEOF +if test "x$ac_cv_func_nghttp2_session_callbacks_set_on_invalid_header_callback" = xyes +then : + printf "%s\n" "#define HAVE_NGHTTP2_SESSION_CALLBACKS_SET_ON_INVALID_HEADER_CALLBACK 1" >>confdefs.h if test "x$MOD_CPPFLAGS" = "x"; then test "x$silent" != "xyes" && echo " setting MOD_CPPFLAGS to \""-DH2_NG2_INVALID_HEADER_CB"\"" @@ -31519,15 +33666,15 @@ _ACEOF fi fi + done - for ac_func in nghttp2_session_get_stream_local_window_size + for ac_func in nghttp2_session_get_stream_local_window_size do : ac_fn_c_check_func "$LINENO" "nghttp2_session_get_stream_local_window_size" "ac_cv_func_nghttp2_session_get_stream_local_window_size" -if test "x$ac_cv_func_nghttp2_session_get_stream_local_window_size" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NGHTTP2_SESSION_GET_STREAM_LOCAL_WINDOW_SIZE 1 -_ACEOF +if test "x$ac_cv_func_nghttp2_session_get_stream_local_window_size" = xyes +then : + printf "%s\n" "#define HAVE_NGHTTP2_SESSION_GET_STREAM_LOCAL_WINDOW_SIZE 1" >>confdefs.h if test "x$MOD_CPPFLAGS" = "x"; then test "x$silent" != "xyes" && echo " setting MOD_CPPFLAGS to \""-DH2_NG2_LOCAL_WIN_SIZE"\"" @@ -31550,23 +33697,86 @@ _ACEOF fi fi + +done + + for ac_func in nghttp2_option_set_no_closed_streams +do : + ac_fn_c_check_func "$LINENO" "nghttp2_option_set_no_closed_streams" "ac_cv_func_nghttp2_option_set_no_closed_streams" +if test "x$ac_cv_func_nghttp2_option_set_no_closed_streams" = xyes +then : + printf "%s\n" "#define HAVE_NGHTTP2_OPTION_SET_NO_CLOSED_STREAMS 1" >>confdefs.h + + if test "x$MOD_CPPFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_CPPFLAGS to \""-DH2_NG2_NO_CLOSED_STREAMS"\"" + MOD_CPPFLAGS=""-DH2_NG2_NO_CLOSED_STREAMS"" + else + apr_addto_bugger=""-DH2_NG2_NO_CLOSED_STREAMS"" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $MOD_CPPFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_CPPFLAGS" + MOD_CPPFLAGS="$MOD_CPPFLAGS $i" + fi + done + fi + +fi + done + for ac_func in nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation +do : + ac_fn_c_check_func "$LINENO" "nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation" "ac_cv_func_nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation" +if test "x$ac_cv_func_nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation" = xyes +then : + printf "%s\n" "#define HAVE_NGHTTP2_OPTION_SET_NO_RFC9113_LEADING_AND_TRAILING_WS_VALIDATION 1" >>confdefs.h + + if test "x$MOD_CPPFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_CPPFLAGS to \""-DH2_NG2_RFC9113_STRICTNESS"\"" + MOD_CPPFLAGS=""-DH2_NG2_RFC9113_STRICTNESS"" + else + apr_addto_bugger=""-DH2_NG2_RFC9113_STRICTNESS"" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $MOD_CPPFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_CPPFLAGS" + MOD_CPPFLAGS="$MOD_CPPFLAGS $i" + fi + done + fi + +fi + +done else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: nghttp2 version is too old" >&5 -$as_echo "$as_me: WARNING: nghttp2 version is too old" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: nghttp2 version is too old" >&5 +printf "%s\n" "$as_me: WARNING: nghttp2 version is too old" >&2;} fi CPPFLAGS="$saved_CPPFLAGS" LIBS="$saved_LIBS" LDFLAGS="$saved_LDFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_nghttp2" >&5 -$as_echo "$ac_cv_nghttp2" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_nghttp2" >&5 +printf "%s\n" "$ac_cv_nghttp2" >&6; } if test "x$ac_cv_nghttp2" = "xyes"; then -$as_echo "#define HAVE_NGHTTP2 1" >>confdefs.h +printf "%s\n" "#define HAVE_NGHTTP2 1" >>confdefs.h fi @@ -31601,8 +33811,8 @@ $as_echo "#define HAVE_NGHTTP2 1" >>confdefs.h fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_http2" >&5 -$as_echo_n "checking whether to enable mod_proxy_http2... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_proxy_http2" >&5 +printf %s "checking whether to enable mod_proxy_http2... " >&6; } if test "$enable_proxy_http2" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -31611,8 +33821,8 @@ $as_echo_n "checking whether to enable mod_proxy_http2... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_http2$_apmod_extra_msg" >&5 -$as_echo "$enable_proxy_http2$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_proxy_http2$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_proxy_http2$_apmod_extra_msg" >&6; } if test "$enable_proxy_http2" != "no"; then case "$enable_proxy_http2" in static*) @@ -31731,7 +33941,7 @@ EOF > $modpath_current/modules.mk -md_objs="md_acme.lo md_acme_acct.lo md_acme_authz.lo md_acme_drive.lo md_core.lo md_curl.lo md_crypt.lo md_http.lo md_json.lo md_jws.lo md_log.lo md_reg.lo md_store.lo md_store_fs.lo md_util.lo mod_md.lo mod_md_config.lo mod_md_os.lo " +md_objs="md_acme.lo md_acme_acct.lo md_acme_authz.lo md_acme_drive.lo md_acmev2_drive.lo md_acme_order.lo md_core.lo md_curl.lo md_crypt.lo md_event.lo md_http.lo md_json.lo md_jws.lo md_log.lo md_ocsp.lo md_result.lo md_reg.lo md_status.lo md_store.lo md_store_fs.lo md_tailscale.lo md_time.lo md_util.lo mod_md.lo mod_md_config.lo mod_md_drive.lo mod_md_ocsp.lo mod_md_os.lo mod_md_status.lo " # Ensure that other modules can pick up mod_md.h @@ -31757,13 +33967,15 @@ md_objs="md_acme.lo md_acme_acct.lo md_acme_authz.lo md_acme_drive.lo md_core.lo - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_md" >&5 -$as_echo_n "checking whether to enable mod_md... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_md" >&5 +printf %s "checking whether to enable mod_md... " >&6; } # Check whether --enable-md was given. -if test "${enable_md+set}" = set; then : +if test ${enable_md+y} +then : enableval=$enable_md; force_md=$enableval -else - enable_md=most +else case e in #( + e) enable_md=most ;; +esac fi _apmod_extra_msg="" @@ -31816,17 +34028,18 @@ fi enable_md=no fi if test "$enable_md" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL" >&5 -$as_echo_n "checking for OpenSSL... " >&6; } -if ${ac_cv_openssl+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OpenSSL" >&5 +printf %s "checking for OpenSSL... " >&6; } +if test ${ac_cv_openssl+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_cv_openssl=no ap_openssl_found="" ap_openssl_base="" @@ -31834,11 +34047,12 @@ else ap_openssl_mod_cflags="" ap_openssl_mod_ldflags="" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for user-provided OpenSSL base directory" >&5 -$as_echo_n "checking for user-provided OpenSSL base directory... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for user-provided OpenSSL base directory" >&5 +printf %s "checking for user-provided OpenSSL base directory... " >&6; } # Check whether --with-ssl was given. -if test "${with_ssl+set}" = set; then : +if test ${with_ssl+y} +then : withval=$with_ssl; if test "x$withval" != "xyes" -a "x$withval" != "x"; then ap_openssl_base="`cd $withval ; pwd`" @@ -31847,11 +34061,11 @@ if test "${with_ssl+set}" = set; then : fi if test "x$ap_openssl_base" = "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 +printf "%s\n" "none" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ap_openssl_base" >&5 -$as_echo "$ap_openssl_base" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ap_openssl_base" >&5 +printf "%s\n" "$ap_openssl_base" >&6; } fi saved_CPPFLAGS="$CPPFLAGS" @@ -31860,13 +34074,18 @@ $as_echo "$ap_openssl_base" >&6; } if test -n "$PKGCONFIG"; then saved_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" - if test "x$ap_openssl_base" != "x" -a \ - -f "${ap_openssl_base}/lib/pkgconfig/openssl.pc"; then - PKG_CONFIG_PATH="${ap_openssl_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" - export PKG_CONFIG_PATH + if test "x$ap_openssl_base" != "x"; then + if test -f "${ap_openssl_base}/lib/pkgconfig/openssl.pc"; then + PKG_CONFIG_PATH="${ap_openssl_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" + export PKG_CONFIG_PATH + elif test -f "${ap_openssl_base}/lib64/pkgconfig/openssl.pc"; then + PKG_CONFIG_PATH="${ap_openssl_base}/lib64/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" + export PKG_CONFIG_PATH + fi fi # Check whether --enable-ssl-staticlib-deps was given. -if test "${enable_ssl_staticlib_deps+set}" = set; then : +if test ${enable_ssl_staticlib_deps+y} +then : enableval=$enable_ssl_staticlib_deps; if test "$enableval" = "yes"; then PKGCONFIG_LIBOPTS="--static" @@ -32183,13 +34402,13 @@ fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL version >= 0.9.8a" >&5 -$as_echo_n "checking for OpenSSL version >= 0.9.8a... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OpenSSL version >= 0.9.8a" >&5 +printf %s "checking for OpenSSL version >= 0.9.8a... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int -main () +main (void) { #if !defined(OPENSSL_VERSION_NUMBER) @@ -32202,15 +34421,17 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 -$as_echo "OK" >&6; } +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +printf "%s\n" "OK" >&6; } ac_cv_openssl=yes -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: FAILED" >&5 -$as_echo "FAILED" >&6; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: FAILED" >&5 +printf "%s\n" "FAILED" >&6; } ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext if test "x$ac_cv_openssl" = "xyes"; then ap_openssl_libs="${ap_openssl_libs:--lssl -lcrypto} `$apr_config --libs`" @@ -32270,50 +34491,60 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext liberrors="" - for ac_header in openssl/engine.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "openssl/engine.h" "ac_cv_header_openssl_engine_h" "$ac_includes_default" -if test "x$ac_cv_header_openssl_engine_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_OPENSSL_ENGINE_H 1 -_ACEOF + ac_fn_c_check_header_compile "$LINENO" "openssl/engine.h" "ac_cv_header_openssl_engine_h" "$ac_includes_default" +if test "x$ac_cv_header_openssl_engine_h" = xyes +then : + printf "%s\n" "#define HAVE_OPENSSL_ENGINE_H 1" >>confdefs.h fi -done - for ac_func in SSL_CTX_new + for ac_func in SSL_CTX_new do : ac_fn_c_check_func "$LINENO" "SSL_CTX_new" "ac_cv_func_SSL_CTX_new" -if test "x$ac_cv_func_SSL_CTX_new" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SSL_CTX_NEW 1 -_ACEOF +if test "x$ac_cv_func_SSL_CTX_new" = xyes +then : + printf "%s\n" "#define HAVE_SSL_CTX_NEW 1" >>confdefs.h -else - liberrors="yes" +else case e in #( + e) liberrors="yes" ;; +esac fi + done + ac_fn_c_check_func "$LINENO" "OPENSSL_init_ssl" "ac_cv_func_OPENSSL_init_ssl" +if test "x$ac_cv_func_OPENSSL_init_ssl" = xyes +then : + printf "%s\n" "#define HAVE_OPENSSL_INIT_SSL 1" >>confdefs.h - for ac_func in ENGINE_init ENGINE_load_builtin_engines RAND_egd -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +fi + + ac_fn_c_check_func "$LINENO" "ENGINE_init" "ac_cv_func_ENGINE_init" +if test "x$ac_cv_func_ENGINE_init" = xyes +then : + printf "%s\n" "#define HAVE_ENGINE_INIT 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "ENGINE_load_builtin_engines" "ac_cv_func_ENGINE_load_builtin_engines" +if test "x$ac_cv_func_ENGINE_load_builtin_engines" = xyes +then : + printf "%s\n" "#define HAVE_ENGINE_LOAD_BUILTIN_ENGINES 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "RAND_egd" "ac_cv_func_RAND_egd" +if test "x$ac_cv_func_RAND_egd" = xyes +then : + printf "%s\n" "#define HAVE_RAND_EGD 1" >>confdefs.h fi -done if test "x$liberrors" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: OpenSSL libraries are unusable" >&5 -$as_echo "$as_me: WARNING: OpenSSL libraries are unusable" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OpenSSL libraries are unusable" >&5 +printf "%s\n" "$as_me: WARNING: OpenSSL libraries are unusable" >&2;} fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: OpenSSL version is too old" >&5 -$as_echo "$as_me: WARNING: OpenSSL version is too old" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OpenSSL version is too old" >&5 +printf "%s\n" "$as_me: WARNING: OpenSSL version is too old" >&2;} fi CPPFLAGS="$saved_CPPFLAGS" @@ -32322,13 +34553,14 @@ $as_echo "$as_me: WARNING: OpenSSL version is too old" >&2;} ap_openssl_mod_cflags=$MOD_CFLAGS ap_openssl_mod_ldflags=$MOD_LDFLAGS - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_openssl" >&5 -$as_echo "$ac_cv_openssl" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_openssl" >&5 +printf "%s\n" "$ac_cv_openssl" >&6; } if test "x$ac_cv_openssl" = "xyes"; then -$as_echo "#define HAVE_OPENSSL 1" >>confdefs.h +printf "%s\n" "#define HAVE_OPENSSL 1" >>confdefs.h if test "x$MOD_LDFLAGS" = "x"; then @@ -32375,28 +34607,30 @@ $as_echo "#define HAVE_OPENSSL 1" >>confdefs.h fi if test "x$ac_cv_openssl" = "xno" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libssl (or compatible) not found" >&5 -$as_echo "$as_me: WARNING: libssl (or compatible) not found" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libssl (or compatible) not found" >&5 +printf "%s\n" "$as_me: WARNING: libssl (or compatible) not found" >&2;} enable_md=no fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jansson" >&5 -$as_echo_n "checking for jansson... " >&6; } -if ${ac_cv_jansson+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for jansson" >&5 +printf %s "checking for jansson... " >&6; } +if test ${ac_cv_jansson+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_cv_jansson=no ap_jansson_found="" ap_jansson_base="" ap_jansson_libs="" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for user-provided jansson base directory" >&5 -$as_echo_n "checking for user-provided jansson base directory... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for user-provided jansson base directory" >&5 +printf %s "checking for user-provided jansson base directory... " >&6; } # Check whether --with-jansson was given. -if test "${with_jansson+set}" = set; then : +if test ${with_jansson+y} +then : withval=$with_jansson; if test "x$withval" != "xyes" -a "x$withval" != "x"; then ap_jansson_base="`cd $withval ; pwd`" @@ -32405,11 +34639,11 @@ if test "${with_jansson+set}" = set; then : fi if test "x$ap_jansson_base" = "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 +printf "%s\n" "none" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ap_jansson_base" >&5 -$as_echo "$ap_jansson_base" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ap_jansson_base" >&5 +printf "%s\n" "$ap_jansson_base" >&6; } fi saved_CPPFLAGS="$CPPFLAGS" @@ -32418,8 +34652,8 @@ $as_echo "$ap_jansson_base" >&6; } if test -n "$PKGCONFIG"; then saved_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pkg-config along $PKG_CONFIG_PATH" >&5 -$as_echo_n "checking for pkg-config along $PKG_CONFIG_PATH... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pkg-config along $PKG_CONFIG_PATH" >&5 +printf %s "checking for pkg-config along $PKG_CONFIG_PATH... " >&6; } if test "x$ap_jansson_base" != "x" ; then if test -f "${ap_jansson_base}/lib/pkgconfig/libjansson.pc"; then PKG_CONFIG_PATH="${ap_jansson_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" @@ -32430,7 +34664,8 @@ $as_echo_n "checking for pkg-config along $PKG_CONFIG_PATH... " >&6; } fi fi # Check whether --enable-jansson-staticlib-deps was given. -if test "${enable_jansson_staticlib_deps+set}" = set; then : +if test ${enable_jansson_staticlib_deps+y} +then : enableval=$enable_jansson_staticlib_deps; if test "$enableval" = "yes"; then PKGCONFIG_LIBOPTS="--static" @@ -32711,22 +34946,24 @@ fi /* end confdefs.h. */ #include int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 -$as_echo "OK" >&6; } +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +printf "%s\n" "OK" >&6; } ac_cv_jansson=yes -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: FAILED" >&5 -$as_echo "FAILED" >&6; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: FAILED" >&5 +printf "%s\n" "FAILED" >&6; } ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext if test "x$ac_cv_jansson" = "xyes"; then ap_jansson_libs="${ap_jansson_libs:--ljansson} `$apr_config --libs`" @@ -32777,39 +35014,42 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$saved_CPPFLAGS" LIBS="$saved_LIBS" LDFLAGS="$saved_LDFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_jansson" >&5 -$as_echo "$ac_cv_jansson" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_jansson" >&5 +printf "%s\n" "$ac_cv_jansson" >&6; } if test "x$ac_cv_jansson" = "xyes"; then -$as_echo "#define HAVE_JANSSON 1" >>confdefs.h +printf "%s\n" "#define HAVE_JANSSON 1" >>confdefs.h fi if test "x$ac_cv_jansson" != "xyes" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libjansson not found" >&5 -$as_echo "$as_me: WARNING: libjansson not found" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libjansson not found" >&5 +printf "%s\n" "$as_me: WARNING: libjansson not found" >&2;} enable_md=no fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for curl" >&5 -$as_echo_n "checking for curl... " >&6; } -if ${ac_cv_curl+:} false; then : - $as_echo_n "(cached) " >&6 -else - + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for curl" >&5 +printf %s "checking for curl... " >&6; } +if test ${ac_cv_curl+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_cv_curl=no ap_curl_found="" ap_curl_base="" ap_curl_libs="" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for user-provided curl base directory" >&5 -$as_echo_n "checking for user-provided curl base directory... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for user-provided curl base directory" >&5 +printf %s "checking for user-provided curl base directory... " >&6; } # Check whether --with-curl was given. -if test "${with_curl+set}" = set; then : +if test ${with_curl+y} +then : withval=$with_curl; if test "x$withval" != "xyes" -a "x$withval" != "x"; then ap_curl_base="`cd $withval ; pwd`" @@ -32818,11 +35058,11 @@ if test "${with_curl+set}" = set; then : fi if test "x$ap_curl_base" = "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 +printf "%s\n" "none" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ap_curl_base" >&5 -$as_echo "$ap_curl_base" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ap_curl_base" >&5 +printf "%s\n" "$ap_curl_base" >&6; } fi saved_CPPFLAGS="$CPPFLAGS" @@ -32831,8 +35071,8 @@ $as_echo "$ap_curl_base" >&6; } if test -n "$PKGCONFIG"; then saved_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pkg-config along $PKG_CONFIG_PATH" >&5 -$as_echo_n "checking for pkg-config along $PKG_CONFIG_PATH... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pkg-config along $PKG_CONFIG_PATH" >&5 +printf %s "checking for pkg-config along $PKG_CONFIG_PATH... " >&6; } if test "x$ap_curl_base" != "x" ; then if test -f "${ap_curl_base}/lib/pkgconfig/libcurl.pc"; then PKG_CONFIG_PATH="${ap_curl_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" @@ -32843,7 +35083,8 @@ $as_echo_n "checking for pkg-config along $PKG_CONFIG_PATH... " >&6; } fi fi # Check whether --enable-curl-staticlib-deps was given. -if test "${enable_curl_staticlib_deps+set}" = set; then : +if test ${enable_curl_staticlib_deps+y} +then : enableval=$enable_curl_staticlib_deps; if test "$enableval" = "yes"; then PKGCONFIG_LIBOPTS="--static" @@ -33118,26 +35359,21 @@ fi fi fi - for ac_header in curl/curl.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "curl/curl.h" "ac_cv_header_curl_curl_h" "$ac_includes_default" -if test "x$ac_cv_header_curl_curl_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_CURL_CURL_H 1 -_ACEOF + ac_fn_c_check_header_compile "$LINENO" "curl/curl.h" "ac_cv_header_curl_curl_h" "$ac_includes_default" +if test "x$ac_cv_header_curl_curl_h" = xyes +then : + printf "%s\n" "#define HAVE_CURL_CURL_H 1" >>confdefs.h fi -done - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for curl version >= 7.50" >&5 -$as_echo_n "checking for curl version >= 7.50... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for curl version >= 7.29" >&5 +printf %s "checking for curl version >= 7.29... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int -main () +main (void) { #if !defined(LIBCURL_VERSION_MAJOR) @@ -33146,22 +35382,24 @@ main () #if LIBCURL_VERSION_MAJOR < 7 #error "Unsupported libcurl version " LIBCURL_VERSION #endif -#if LIBCURL_VERSION_MAJOR == 7 && LIBCURL_VERSION_MINOR < 50 +#if LIBCURL_VERSION_MAJOR == 7 && LIBCURL_VERSION_MINOR < 29 #error "Unsupported libcurl version " LIBCURL_VERSION #endif ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 -$as_echo "OK" >&6; } +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +printf "%s\n" "OK" >&6; } ac_cv_curl=yes -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: FAILED" >&5 -$as_echo "FAILED" >&6; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: FAILED" >&5 +printf "%s\n" "FAILED" >&6; } ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext if test "x$ac_cv_curl" = "xyes"; then ap_curl_libs="${ap_curl_libs:--lcurl} `$apr_config --libs`" @@ -33212,29 +35450,30 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$saved_CPPFLAGS" LIBS="$saved_LIBS" LDFLAGS="$saved_LDFLAGS" - + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_curl" >&5 -$as_echo "$ac_cv_curl" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_curl" >&5 +printf "%s\n" "$ac_cv_curl" >&6; } if test "x$ac_cv_curl" = "xyes"; then -$as_echo "#define HAVE_CURL 1" >>confdefs.h +printf "%s\n" "#define HAVE_CURL 1" >>confdefs.h fi if test "x$ac_cv_curl" != "xyes" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libcurl not found" >&5 -$as_echo "$as_me: WARNING: libcurl not found" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libcurl not found" >&5 +printf "%s\n" "$as_me: WARNING: libcurl not found" >&2;} enable_md=no fi - for ac_func in arc4random_buf + + for ac_func in arc4random_buf do : ac_fn_c_check_func "$LINENO" "arc4random_buf" "ac_cv_func_arc4random_buf" -if test "x$ac_cv_func_arc4random_buf" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ARC4RANDOM_BUF 1 -_ACEOF +if test "x$ac_cv_func_arc4random_buf" = xyes +then : + printf "%s\n" "#define HAVE_ARC4RANDOM_BUF 1" >>confdefs.h if test "x$MOD_CPPFLAGS" = "x"; then test "x$silent" != "xyes" && echo " setting MOD_CPPFLAGS to \""-DMD_HAVE_ARC4RANDOM"\"" @@ -33257,8 +35496,8 @@ _ACEOF fi fi -done +done if test "x$enable_md" = "xshared"; then @@ -33285,8 +35524,8 @@ done fi : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_md" >&5 -$as_echo_n "checking whether to enable mod_md... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_md" >&5 +printf %s "checking whether to enable mod_md... " >&6; } if test "$enable_md" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -33295,8 +35534,8 @@ $as_echo_n "checking whether to enable mod_md... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_md$_apmod_extra_msg" >&5 -$as_echo "$enable_md$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_md$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_md$_apmod_extra_msg" >&6; } if test "$enable_md" != "no"; then case "$enable_md" in static*) @@ -33408,13 +35647,15 @@ EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_lbmethod_byrequests" >&5 -$as_echo_n "checking whether to enable mod_lbmethod_byrequests... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_lbmethod_byrequests" >&5 +printf %s "checking whether to enable mod_lbmethod_byrequests... " >&6; } # Check whether --enable-lbmethod-byrequests was given. -if test "${enable_lbmethod_byrequests+set}" = set; then : +if test ${enable_lbmethod_byrequests+y} +then : enableval=$enable_lbmethod_byrequests; force_lbmethod_byrequests=$enableval -else - enable_lbmethod_byrequests=$enable_proxy_balancer +else case e in #( + e) enable_lbmethod_byrequests=$enable_proxy_balancer ;; +esac fi _apmod_extra_msg="" @@ -33467,21 +35708,21 @@ fi enable_lbmethod_byrequests=no fi if test "$enable_lbmethod_byrequests" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_proxy_balancer" = "no" ; then enable_lbmethod_byrequests=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy_balancer is disabled but required for mod_lbmethod_byrequests\"" >&5 -$as_echo "$as_me: WARNING: \"mod_proxy_balancer is disabled but required for mod_lbmethod_byrequests\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy_balancer is disabled but required for mod_lbmethod_byrequests\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_proxy_balancer is disabled but required for mod_lbmethod_byrequests\"" >&2;} elif test "$enable_lbmethod_byrequests" = "static" && test "$enable_proxy_balancer" != "static" ; then enable_lbmethod_byrequests=$enable_proxy_balancer - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_lbmethod_byrequests shared because mod_proxy_balancer is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_lbmethod_byrequests shared because mod_proxy_balancer is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_lbmethod_byrequests shared because mod_proxy_balancer is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_lbmethod_byrequests shared because mod_proxy_balancer is built shared\"" >&2;} else : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_lbmethod_byrequests" >&5 -$as_echo_n "checking whether to enable mod_lbmethod_byrequests... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_lbmethod_byrequests" >&5 +printf %s "checking whether to enable mod_lbmethod_byrequests... " >&6; } if test "$enable_lbmethod_byrequests" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -33490,8 +35731,8 @@ $as_echo_n "checking whether to enable mod_lbmethod_byrequests... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_lbmethod_byrequests$_apmod_extra_msg" >&5 -$as_echo "$enable_lbmethod_byrequests$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_lbmethod_byrequests$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_lbmethod_byrequests$_apmod_extra_msg" >&6; } if test "$enable_lbmethod_byrequests" != "no"; then case "$enable_lbmethod_byrequests" in static*) @@ -33570,13 +35811,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_lbmethod_bytraffic" >&5 -$as_echo_n "checking whether to enable mod_lbmethod_bytraffic... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_lbmethod_bytraffic" >&5 +printf %s "checking whether to enable mod_lbmethod_bytraffic... " >&6; } # Check whether --enable-lbmethod-bytraffic was given. -if test "${enable_lbmethod_bytraffic+set}" = set; then : +if test ${enable_lbmethod_bytraffic+y} +then : enableval=$enable_lbmethod_bytraffic; force_lbmethod_bytraffic=$enableval -else - enable_lbmethod_bytraffic=$enable_proxy_balancer +else case e in #( + e) enable_lbmethod_bytraffic=$enable_proxy_balancer ;; +esac fi _apmod_extra_msg="" @@ -33629,21 +35872,21 @@ fi enable_lbmethod_bytraffic=no fi if test "$enable_lbmethod_bytraffic" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_proxy_balancer" = "no" ; then enable_lbmethod_bytraffic=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy_balancer is disabled but required for mod_lbmethod_bytraffic\"" >&5 -$as_echo "$as_me: WARNING: \"mod_proxy_balancer is disabled but required for mod_lbmethod_bytraffic\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy_balancer is disabled but required for mod_lbmethod_bytraffic\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_proxy_balancer is disabled but required for mod_lbmethod_bytraffic\"" >&2;} elif test "$enable_lbmethod_bytraffic" = "static" && test "$enable_proxy_balancer" != "static" ; then enable_lbmethod_bytraffic=$enable_proxy_balancer - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_lbmethod_bytraffic shared because mod_proxy_balancer is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_lbmethod_bytraffic shared because mod_proxy_balancer is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_lbmethod_bytraffic shared because mod_proxy_balancer is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_lbmethod_bytraffic shared because mod_proxy_balancer is built shared\"" >&2;} else : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_lbmethod_bytraffic" >&5 -$as_echo_n "checking whether to enable mod_lbmethod_bytraffic... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_lbmethod_bytraffic" >&5 +printf %s "checking whether to enable mod_lbmethod_bytraffic... " >&6; } if test "$enable_lbmethod_bytraffic" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -33652,8 +35895,8 @@ $as_echo_n "checking whether to enable mod_lbmethod_bytraffic... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_lbmethod_bytraffic$_apmod_extra_msg" >&5 -$as_echo "$enable_lbmethod_bytraffic$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_lbmethod_bytraffic$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_lbmethod_bytraffic$_apmod_extra_msg" >&6; } if test "$enable_lbmethod_bytraffic" != "no"; then case "$enable_lbmethod_bytraffic" in static*) @@ -33732,13 +35975,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_lbmethod_bybusyness" >&5 -$as_echo_n "checking whether to enable mod_lbmethod_bybusyness... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_lbmethod_bybusyness" >&5 +printf %s "checking whether to enable mod_lbmethod_bybusyness... " >&6; } # Check whether --enable-lbmethod-bybusyness was given. -if test "${enable_lbmethod_bybusyness+set}" = set; then : +if test ${enable_lbmethod_bybusyness+y} +then : enableval=$enable_lbmethod_bybusyness; force_lbmethod_bybusyness=$enableval -else - enable_lbmethod_bybusyness=$enable_proxy_balancer +else case e in #( + e) enable_lbmethod_bybusyness=$enable_proxy_balancer ;; +esac fi _apmod_extra_msg="" @@ -33791,21 +36036,21 @@ fi enable_lbmethod_bybusyness=no fi if test "$enable_lbmethod_bybusyness" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_proxy_balancer" = "no" ; then enable_lbmethod_bybusyness=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy_balancer is disabled but required for mod_lbmethod_bybusyness\"" >&5 -$as_echo "$as_me: WARNING: \"mod_proxy_balancer is disabled but required for mod_lbmethod_bybusyness\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy_balancer is disabled but required for mod_lbmethod_bybusyness\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_proxy_balancer is disabled but required for mod_lbmethod_bybusyness\"" >&2;} elif test "$enable_lbmethod_bybusyness" = "static" && test "$enable_proxy_balancer" != "static" ; then enable_lbmethod_bybusyness=$enable_proxy_balancer - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_lbmethod_bybusyness shared because mod_proxy_balancer is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_lbmethod_bybusyness shared because mod_proxy_balancer is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_lbmethod_bybusyness shared because mod_proxy_balancer is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_lbmethod_bybusyness shared because mod_proxy_balancer is built shared\"" >&2;} else : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_lbmethod_bybusyness" >&5 -$as_echo_n "checking whether to enable mod_lbmethod_bybusyness... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_lbmethod_bybusyness" >&5 +printf %s "checking whether to enable mod_lbmethod_bybusyness... " >&6; } if test "$enable_lbmethod_bybusyness" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -33814,8 +36059,8 @@ $as_echo_n "checking whether to enable mod_lbmethod_bybusyness... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_lbmethod_bybusyness$_apmod_extra_msg" >&5 -$as_echo "$enable_lbmethod_bybusyness$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_lbmethod_bybusyness$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_lbmethod_bybusyness$_apmod_extra_msg" >&6; } if test "$enable_lbmethod_bybusyness" != "no"; then case "$enable_lbmethod_bybusyness" in static*) @@ -33894,13 +36139,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_lbmethod_heartbeat" >&5 -$as_echo_n "checking whether to enable mod_lbmethod_heartbeat... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_lbmethod_heartbeat" >&5 +printf %s "checking whether to enable mod_lbmethod_heartbeat... " >&6; } # Check whether --enable-lbmethod-heartbeat was given. -if test "${enable_lbmethod_heartbeat+set}" = set; then : +if test ${enable_lbmethod_heartbeat+y} +then : enableval=$enable_lbmethod_heartbeat; force_lbmethod_heartbeat=$enableval -else - enable_lbmethod_heartbeat=$enable_proxy_balancer +else case e in #( + e) enable_lbmethod_heartbeat=$enable_proxy_balancer ;; +esac fi _apmod_extra_msg="" @@ -33953,21 +36200,21 @@ fi enable_lbmethod_heartbeat=no fi if test "$enable_lbmethod_heartbeat" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_proxy_balancer" = "no" ; then enable_lbmethod_heartbeat=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy_balancer is disabled but required for mod_lbmethod_heartbeat\"" >&5 -$as_echo "$as_me: WARNING: \"mod_proxy_balancer is disabled but required for mod_lbmethod_heartbeat\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_proxy_balancer is disabled but required for mod_lbmethod_heartbeat\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_proxy_balancer is disabled but required for mod_lbmethod_heartbeat\"" >&2;} elif test "$enable_lbmethod_heartbeat" = "static" && test "$enable_proxy_balancer" != "static" ; then enable_lbmethod_heartbeat=$enable_proxy_balancer - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_lbmethod_heartbeat shared because mod_proxy_balancer is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_lbmethod_heartbeat shared because mod_proxy_balancer is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_lbmethod_heartbeat shared because mod_proxy_balancer is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_lbmethod_heartbeat shared because mod_proxy_balancer is built shared\"" >&2;} else : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_lbmethod_heartbeat" >&5 -$as_echo_n "checking whether to enable mod_lbmethod_heartbeat... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_lbmethod_heartbeat" >&5 +printf %s "checking whether to enable mod_lbmethod_heartbeat... " >&6; } if test "$enable_lbmethod_heartbeat" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -33976,8 +36223,8 @@ $as_echo_n "checking whether to enable mod_lbmethod_heartbeat... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_lbmethod_heartbeat$_apmod_extra_msg" >&5 -$as_echo "$enable_lbmethod_heartbeat$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_lbmethod_heartbeat$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_lbmethod_heartbeat$_apmod_extra_msg" >&6; } if test "$enable_lbmethod_heartbeat" != "no"; then case "$enable_lbmethod_heartbeat" in static*) @@ -34075,40 +36322,649 @@ EOF -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which MPM to use by default" >&5 -$as_echo_n "checking which MPM to use by default... " >&6; } + + + current_dir=tls + modpath_current=modules/tls + modpath_static= + modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done + test -d tls || $srcdir/build/mkdir.sh $modpath_current + > $modpath_current/modules.mk + + +tls_objs="mod_tls.lo tls_cache.lo tls_cert.lo tls_conf.lo tls_core.lo tls_filter.lo tls_ocsp.lo tls_proto.lo tls_util.lo tls_var.lo " + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_tls" >&5 +printf %s "checking whether to enable mod_tls... " >&6; } + # Check whether --enable-tls was given. +if test ${enable_tls+y} +then : + enableval=$enable_tls; force_tls=$enableval +else case e in #( + e) enable_tls=most ;; +esac +fi + + _apmod_extra_msg="" + case "$enable_tls" in + yes|static|shared) + _apmod_required="yes" + ;; + *) + _apmod_required="no" + ;; + esac + if test "$enable_tls" = "static" -o "$enable_tls" = "shared"; then + : + elif test "$enable_tls" = "yes"; then + enable_tls=$module_default + elif test "$enable_tls" = "few"; then + if test "$module_selection" = "few" -o "$module_selection" = "most" -o \ + "$module_selection" = "all" -o "$module_selection" = "reallyall" + then + enable_tls=$module_default + else + enable_tls=no + fi + _apmod_extra_msg=" ($module_selection)" + elif test "$enable_tls" = "most"; then + if test "$module_selection" = "most" -o "$module_selection" = "all" -o \ + "$module_selection" = "reallyall" + then + enable_tls=$module_default + else + enable_tls=no + fi + _apmod_extra_msg=" ($module_selection)" + elif test "$enable_tls" = "all" -o "$enable_tls" = "maybe-all"; then + if test "$module_selection" = "all" -o "$module_selection" = "reallyall" + then + enable_tls=$module_default + _apmod_extra_msg=" ($module_selection)" + else + enable_tls=no + fi + elif test "$enable_tls" = "reallyall" -o "$enable_tls" = "no" ; then + if test "$module_selection" = "reallyall" -a "$force_tls" != "no" ; then + enable_tls=$module_default + _apmod_extra_msg=" ($module_selection)" + else + enable_tls=no + fi + else + enable_tls=no + fi + if test "$enable_tls" != "no"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } + : + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rustls" >&5 +printf %s "checking for rustls... " >&6; } +if test ${ac_cv_rustls+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) + ac_cv_rustls=no + ap_rustls_found="" + ap_rustls_base="" + ap_rustls_libs="" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for user-provided rustls base directory" >&5 +printf %s "checking for user-provided rustls base directory... " >&6; } + +# Check whether --with-rustls was given. +if test ${with_rustls+y} +then : + withval=$with_rustls; + if test "x$withval" != "xyes" -a "x$withval" != "x"; then + ap_rustls_base="`cd $withval ; pwd`" + fi + +fi + + if test "x$ap_rustls_base" = "x"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 +printf "%s\n" "none" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ap_rustls_base" >&5 +printf "%s\n" "$ap_rustls_base" >&6; } + fi + + saved_CPPFLAGS="$CPPFLAGS" + saved_LIBS="$LIBS" + saved_LDFLAGS="$LDFLAGS" + + if test -n "$PKGCONFIG"; then + saved_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pkg-config along $PKG_CONFIG_PATH" >&5 +printf %s "checking for pkg-config along $PKG_CONFIG_PATH... " >&6; } + if test "x$ap_rustls_base" != "x" ; then + if test -f "${ap_rustls_base}/lib/pkgconfig/librustls.pc"; then + PKG_CONFIG_PATH="${ap_rustls_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" + export PKG_CONFIG_PATH + elif test -f "${ap_rustls_base}/lib64/pkgconfig/librustls.pc"; then + PKG_CONFIG_PATH="${ap_rustls_base}/lib64/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" + export PKG_CONFIG_PATH + fi + fi + ap_rustls_libs="`$PKGCONFIG $PKGCONFIG_LIBOPTS --libs-only-l --silence-errors librustls`" + if test $? -eq 0; then + ap_rustls_found="yes" + pkglookup="`$PKGCONFIG --cflags-only-I librustls`" + + if test "x$CPPFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"$pkglookup\"" + CPPFLAGS="$pkglookup" + else + apr_addto_bugger="$pkglookup" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $CPPFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to CPPFLAGS" + CPPFLAGS="$CPPFLAGS $i" + fi + done + fi + + + if test "x$MOD_CFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_CFLAGS to \"$pkglookup\"" + MOD_CFLAGS="$pkglookup" + else + apr_addto_bugger="$pkglookup" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $MOD_CFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_CFLAGS" + MOD_CFLAGS="$MOD_CFLAGS $i" + fi + done + fi + + pkglookup="`$PKGCONFIG $PKGCONFIG_LIBOPTS --libs-only-L librustls`" + + if test "x$LDFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting LDFLAGS to \"$pkglookup\"" + LDFLAGS="$pkglookup" + else + apr_addto_bugger="$pkglookup" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $LDFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to LDFLAGS" + LDFLAGS="$LDFLAGS $i" + fi + done + fi + + + if test "x$MOD_LDFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_LDFLAGS to \"$pkglookup\"" + MOD_LDFLAGS="$pkglookup" + else + apr_addto_bugger="$pkglookup" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $MOD_LDFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_LDFLAGS" + MOD_LDFLAGS="$MOD_LDFLAGS $i" + fi + done + fi + + pkglookup="`$PKGCONFIG $PKGCONFIG_LIBOPTS --libs-only-other librustls`" + + if test "x$LDFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting LDFLAGS to \"$pkglookup\"" + LDFLAGS="$pkglookup" + else + apr_addto_bugger="$pkglookup" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $LDFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to LDFLAGS" + LDFLAGS="$LDFLAGS $i" + fi + done + fi + + + if test "x$MOD_LDFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_LDFLAGS to \"$pkglookup\"" + MOD_LDFLAGS="$pkglookup" + else + apr_addto_bugger="$pkglookup" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $MOD_LDFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_LDFLAGS" + MOD_LDFLAGS="$MOD_LDFLAGS $i" + fi + done + fi + + fi + PKG_CONFIG_PATH="$saved_PKG_CONFIG_PATH" + fi + + if test "x$ap_rustls_base" != "x" -a "x$ap_rustls_found" = "x"; then + + if test "x$CPPFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-I$ap_rustls_base/include\"" + CPPFLAGS="-I$ap_rustls_base/include" + else + apr_addto_bugger="-I$ap_rustls_base/include" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $CPPFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to CPPFLAGS" + CPPFLAGS="$CPPFLAGS $i" + fi + done + fi + + + if test "x$MOD_CFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_CFLAGS to \"-I$ap_rustls_base/include\"" + MOD_CFLAGS="-I$ap_rustls_base/include" + else + apr_addto_bugger="-I$ap_rustls_base/include" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $MOD_CFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_CFLAGS" + MOD_CFLAGS="$MOD_CFLAGS $i" + fi + done + fi + + + if test "x$LDFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting LDFLAGS to \"-L$ap_rustls_base/lib\"" + LDFLAGS="-L$ap_rustls_base/lib" + else + apr_addto_bugger="-L$ap_rustls_base/lib" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $LDFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to LDFLAGS" + LDFLAGS="$LDFLAGS $i" + fi + done + fi + + + if test "x$MOD_LDFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_LDFLAGS to \"-L$ap_rustls_base/lib\"" + MOD_LDFLAGS="-L$ap_rustls_base/lib" + else + apr_addto_bugger="-L$ap_rustls_base/lib" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $MOD_LDFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_LDFLAGS" + MOD_LDFLAGS="$MOD_LDFLAGS $i" + fi + done + fi + + if test "x$ap_platform_runtime_link_flag" != "x"; then + + if test "x$LDFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting LDFLAGS to \"$ap_platform_runtime_link_flag$ap_rustls_base/lib\"" + LDFLAGS="$ap_platform_runtime_link_flag$ap_rustls_base/lib" + else + apr_addto_bugger="$ap_platform_runtime_link_flag$ap_rustls_base/lib" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $LDFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to LDFLAGS" + LDFLAGS="$LDFLAGS $i" + fi + done + fi + + + if test "x$MOD_LDFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_LDFLAGS to \"$ap_platform_runtime_link_flag$ap_rustls_base/lib\"" + MOD_LDFLAGS="$ap_platform_runtime_link_flag$ap_rustls_base/lib" + else + apr_addto_bugger="$ap_platform_runtime_link_flag$ap_rustls_base/lib" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $MOD_LDFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_LDFLAGS" + MOD_LDFLAGS="$MOD_LDFLAGS $i" + fi + done + fi + + fi + fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rustls version >= 0.9.2" >&5 +printf %s "checking for rustls version >= 0.9.2... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + +rustls_version(); +rustls_acceptor_new(); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +printf "%s\n" "OK" >&6; } + ac_cv_rustls=yes +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: FAILED" >&5 +printf "%s\n" "FAILED" >&6; } ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CPPFLAGS="$saved_CPPFLAGS" + LIBS="$saved_LIBS" + LDFLAGS="$saved_LDFLAGS" + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_rustls" >&5 +printf "%s\n" "$ac_cv_rustls" >&6; } + if test "x$ac_cv_rustls" = "xyes"; then + +printf "%s\n" "#define HAVE_RUSTLS 1" >>confdefs.h + + fi + + if test "$ac_cv_rustls" = "yes" ; then + if test "x$enable_tls" = "xshared"; then + case `uname` in + "Darwin") + MOD_TLS_LINK_LIBS="-lrustls -framework Security -framework Foundation" + ;; + *) + MOD_TLS_LINK_LIBS="-lrustls" + ;; + esac + + # Some rustls versions need an extra -lm when linked + # See https://github.com/rustls/rustls-ffi/issues/133 + rustls_version=`rustc --version` + case "$rustls_version" in + *1.55*) need_lm="yes" ;; + *1.56*) need_lm="yes" ;; + *1.57*) need_lm="yes" ;; + esac + if test "$need_lm" = "yes" ; then + MOD_TLS_LINK_LIBS="$MOD_TLS_LINK_LIBS -lm" + fi + + # The only symbol which needs to be exported is the module + # structure, so ask libtool to hide everything else: + + if test "x$MOD_TLS_LDADD" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_TLS_LDADD to \"$MOD_TLS_LINK_LIBS -export-symbols-regex tls_module\"" + MOD_TLS_LDADD="$MOD_TLS_LINK_LIBS -export-symbols-regex tls_module" + else + apr_addto_bugger="$MOD_TLS_LINK_LIBS -export-symbols-regex tls_module" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $MOD_TLS_LDADD; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_TLS_LDADD" + MOD_TLS_LDADD="$MOD_TLS_LDADD $i" + fi + done + fi + + fi + else + enable_tls=no + fi + + : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_tls" >&5 +printf %s "checking whether to enable mod_tls... " >&6; } + if test "$enable_tls" = "no"; then + if test "$_apmod_required" = "no"; then + _apmod_extra_msg=" (disabled)" + else + as_fn_error $? "mod_tls has been requested but can not be built due to prerequisite failures" "$LINENO" 5 + fi + fi + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_tls$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_tls$_apmod_extra_msg" >&6; } + if test "$enable_tls" != "no"; then + case "$enable_tls" in + static*) + MODLIST="$MODLIST tls" + if test "tls" = "so"; then + sharedobjs=yes + fi + shared="";; + *) + sharedobjs=yes + shared=yes + DSO_MODULES="$DSO_MODULES tls" + if test "most" = "yes" ; then + ENABLED_DSO_MODULES="${ENABLED_DSO_MODULES},tls" + fi + ;; + esac + + + if test -z "$tls_objs"; then + objects="mod_tls.lo" + else + objects="$tls_objs" + fi + + if test -z "$module_standalone"; then + if test -z "$shared"; then + # The filename of a convenience library must have a "lib" prefix: + libname="libmod_tls.la" + BUILTIN_LIBS="$BUILTIN_LIBS $modpath_current/$libname" + modpath_static="$modpath_static $libname" + cat >>$modpath_current/modules.mk<>$modpath_current/modules.mk<> $modpath_current/modules.mk + echo "static = $modpath_static" >> $modpath_current/modules.mk + echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done + if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then + MODULE_DIRS="$MODULE_DIRS $current_dir" + else + MODULE_CLEANDIRS="$MODULE_CLEANDIRS $current_dir" + fi + + APACHE_FAST_OUTPUT_FILES="$APACHE_FAST_OUTPUT_FILES $modpath_current/Makefile" + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which MPM to use by default" >&5 +printf %s "checking which MPM to use by default... " >&6; } # Check whether --with-mpm was given. -if test "${with_mpm+set}" = set; then : +if test ${with_mpm+y} +then : withval=$with_mpm; default_mpm=$withval - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 -$as_echo "$withval" >&6; }; - -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 +printf "%s\n" "$withval" >&6; }; +else case e in #( + e) if ap_mpm_is_supported "winnt"; then default_mpm=winnt - { $as_echo "$as_me:${as_lineno-$LINENO}: result: winnt" >&5 -$as_echo "winnt" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: winnt" >&5 +printf "%s\n" "winnt" >&6; } elif ap_mpm_is_supported "mpmt_os2"; then default_mpm=mpmt_os2 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: mpmt_os2" >&5 -$as_echo "mpmt_os2" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: mpmt_os2" >&5 +printf "%s\n" "mpmt_os2" >&6; } elif ap_mpm_is_supported "event"; then default_mpm=event - { $as_echo "$as_me:${as_lineno-$LINENO}: result: event" >&5 -$as_echo "event" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: event" >&5 +printf "%s\n" "event" >&6; } elif ap_mpm_is_supported "worker"; then default_mpm=worker - { $as_echo "$as_me:${as_lineno-$LINENO}: result: worker - event is not supported" >&5 -$as_echo "worker - event is not supported" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: worker - event is not supported" >&5 +printf "%s\n" "worker - event is not supported" >&6; } else default_mpm=prefork - { $as_echo "$as_me:${as_lineno-$LINENO}: result: prefork - event and worker are not supported" >&5 -$as_echo "prefork - event and worker are not supported" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: prefork - event and worker are not supported" >&5 +printf "%s\n" "prefork - event and worker are not supported" >&6; } fi - + ;; +esac fi @@ -34122,7 +36978,8 @@ fi # Check whether --enable-mpms-shared was given. -if test "${enable_mpms_shared+set}" = set; then : +if test ${enable_mpms_shared+y} +then : enableval=$enable_mpms_shared; if test "$enableval" = "no"; then mpm_build=static @@ -34163,8 +37020,9 @@ if test "${enable_mpms_shared+set}" = set; then : done fi -else - mpm_build=static +else case e in #( + e) mpm_build=static ;; +esac fi @@ -34278,16 +37136,12 @@ EOF fi fi - for ac_func in pthread_kill -do : - ac_fn_c_check_func "$LINENO" "pthread_kill" "ac_cv_func_pthread_kill" -if test "x$ac_cv_func_pthread_kill" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_PTHREAD_KILL 1 -_ACEOF + ac_fn_c_check_func "$LINENO" "pthread_kill" "ac_cv_func_pthread_kill" +if test "x$ac_cv_func_pthread_kill" = xyes +then : + printf "%s\n" "#define HAVE_PTHREAD_KILL 1" >>confdefs.h fi -done fi @@ -34505,16 +37359,12 @@ EOF fi fi - for ac_func in pthread_kill -do : - ac_fn_c_check_func "$LINENO" "pthread_kill" "ac_cv_func_pthread_kill" -if test "x$ac_cv_func_pthread_kill" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_PTHREAD_KILL 1 -_ACEOF + ac_fn_c_check_func "$LINENO" "pthread_kill" "ac_cv_func_pthread_kill" +if test "x$ac_cv_func_pthread_kill" = xyes +then : + printf "%s\n" "#define HAVE_PTHREAD_KILL 1" >>confdefs.h fi -done fi @@ -34542,13 +37392,15 @@ else fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_unixd" >&5 -$as_echo_n "checking whether to enable mod_unixd... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_unixd" >&5 +printf %s "checking whether to enable mod_unixd... " >&6; } # Check whether --enable-unixd was given. -if test "${enable_unixd+set}" = set; then : +if test ${enable_unixd+y} +then : enableval=$enable_unixd; force_unixd=$enableval -else - enable_unixd=$unixd_mods_enable +else case e in #( + e) enable_unixd=$unixd_mods_enable ;; +esac fi _apmod_extra_msg="" @@ -34603,8 +37455,8 @@ fi if test "$enable_unixd" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_unixd$_apmod_extra_msg" >&5 -$as_echo "$enable_unixd$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_unixd$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_unixd$_apmod_extra_msg" >&6; } if test "$enable_unixd" != "no"; then case "$enable_unixd" in static*) @@ -34683,13 +37535,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_privileges" >&5 -$as_echo_n "checking whether to enable mod_privileges... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_privileges" >&5 +printf %s "checking whether to enable mod_privileges... " >&6; } # Check whether --enable-privileges was given. -if test "${enable_privileges+set}" = set; then : +if test ${enable_privileges+y} +then : enableval=$enable_privileges; force_privileges=$enableval -else - enable_privileges=no +else case e in #( + e) enable_privileges=no ;; +esac fi _apmod_extra_msg="" @@ -34742,33 +37596,32 @@ fi enable_privileges=no fi if test "$enable_privileges" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } : - for ac_header in priv.h + for ac_header in priv.h do : - ac_fn_c_check_header_mongrel "$LINENO" "priv.h" "ac_cv_header_priv_h" "$ac_includes_default" -if test "x$ac_cv_header_priv_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_PRIV_H 1 -_ACEOF + ac_fn_c_check_header_compile "$LINENO" "priv.h" "ac_cv_header_priv_h" "$ac_includes_default" +if test "x$ac_cv_header_priv_h" = xyes +then : + printf "%s\n" "#define HAVE_PRIV_H 1" >>confdefs.h ap_HAVE_PRIV_H="yes" -else - ap_HAVE_PRIV_H="no" +else case e in #( + e) ap_HAVE_PRIV_H="no" ;; +esac fi done - if test $ap_HAVE_PRIV_H = "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your system does not support privileges." >&5 -$as_echo "$as_me: WARNING: Your system does not support privileges." >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Your system does not support privileges." >&5 +printf "%s\n" "$as_me: WARNING: Your system does not support privileges." >&2;} enable_privileges="no" fi : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_privileges" >&5 -$as_echo_n "checking whether to enable mod_privileges... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_privileges" >&5 +printf %s "checking whether to enable mod_privileges... " >&6; } if test "$enable_privileges" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -34777,8 +37630,8 @@ $as_echo_n "checking whether to enable mod_privileges... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_privileges$_apmod_extra_msg" >&5 -$as_echo "$enable_privileges$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_privileges$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_privileges$_apmod_extra_msg" >&6; } if test "$enable_privileges" != "no"; then case "$enable_privileges" in static*) @@ -34858,6 +37711,191 @@ EOF + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_systemd" >&5 +printf %s "checking whether to enable mod_systemd... " >&6; } + # Check whether --enable-systemd was given. +if test ${enable_systemd+y} +then : + enableval=$enable_systemd; force_systemd=$enableval +else case e in #( + e) enable_systemd=no ;; +esac +fi + + _apmod_extra_msg="" + case "$enable_systemd" in + yes|static|shared) + _apmod_required="yes" + ;; + *) + _apmod_required="no" + ;; + esac + if test "$enable_systemd" = "static" -o "$enable_systemd" = "shared"; then + : + elif test "$enable_systemd" = "yes"; then + enable_systemd=$module_default + elif test "$enable_systemd" = "few"; then + if test "$module_selection" = "few" -o "$module_selection" = "most" -o \ + "$module_selection" = "all" -o "$module_selection" = "reallyall" + then + enable_systemd=$module_default + else + enable_systemd=no + fi + _apmod_extra_msg=" ($module_selection)" + elif test "$enable_systemd" = "most"; then + if test "$module_selection" = "most" -o "$module_selection" = "all" -o \ + "$module_selection" = "reallyall" + then + enable_systemd=$module_default + else + enable_systemd=no + fi + _apmod_extra_msg=" ($module_selection)" + elif test "$enable_systemd" = "all" -o "$enable_systemd" = "maybe-all"; then + if test "$module_selection" = "all" -o "$module_selection" = "reallyall" + then + enable_systemd=$module_default + _apmod_extra_msg=" ($module_selection)" + else + enable_systemd=no + fi + elif test "$enable_systemd" = "reallyall" -o "$enable_systemd" = "no" ; then + if test "$module_selection" = "reallyall" -a "$force_systemd" != "no" ; then + enable_systemd=$module_default + _apmod_extra_msg=" ($module_selection)" + else + enable_systemd=no + fi + else + enable_systemd=no + fi + if test "$enable_systemd" != "no"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } + : + + if test "${ac_cv_header_systemd_sd_daemon_h}" = "no" || test -z "${SYSTEMD_LIBS}"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Your system does not support systemd." >&5 +printf "%s\n" "$as_me: WARNING: Your system does not support systemd." >&2;} + enable_systemd="no" + else + + if test "x$MOD_SYSTEMD_LDADD" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_SYSTEMD_LDADD to \"$SYSTEMD_LIBS\"" + MOD_SYSTEMD_LDADD="$SYSTEMD_LIBS" + else + apr_addto_bugger="$SYSTEMD_LIBS" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $MOD_SYSTEMD_LDADD; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_SYSTEMD_LDADD" + MOD_SYSTEMD_LDADD="$MOD_SYSTEMD_LDADD $i" + fi + done + fi + + fi + + : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_systemd" >&5 +printf %s "checking whether to enable mod_systemd... " >&6; } + if test "$enable_systemd" = "no"; then + if test "$_apmod_required" = "no"; then + _apmod_extra_msg=" (disabled)" + else + as_fn_error $? "mod_systemd has been requested but can not be built due to prerequisite failures" "$LINENO" 5 + fi + fi + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_systemd$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_systemd$_apmod_extra_msg" >&6; } + if test "$enable_systemd" != "no"; then + case "$enable_systemd" in + static*) + MODLIST="$MODLIST systemd" + if test "systemd" = "so"; then + sharedobjs=yes + fi + shared="";; + *) + sharedobjs=yes + shared=yes + DSO_MODULES="$DSO_MODULES systemd" + if test "no" = "yes" ; then + ENABLED_DSO_MODULES="${ENABLED_DSO_MODULES},systemd" + fi + ;; + esac + + + if test -z ""; then + objects="mod_systemd.lo" + else + objects="" + fi + + if test -z "$module_standalone"; then + if test -z "$shared"; then + # The filename of a convenience library must have a "lib" prefix: + libname="libmod_systemd.la" + BUILTIN_LIBS="$BUILTIN_LIBS $modpath_current/$libname" + modpath_static="$modpath_static $libname" + cat >>$modpath_current/modules.mk<>$modpath_current/modules.mk<&5 -$as_echo_n "checking whether to enable mod_heartbeat... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_heartbeat" >&5 +printf %s "checking whether to enable mod_heartbeat... " >&6; } # Check whether --enable-heartbeat was given. -if test "${enable_heartbeat+set}" = set; then : +if test ${enable_heartbeat+y} +then : enableval=$enable_heartbeat; force_heartbeat=$enableval -else - enable_heartbeat=maybe-all +else case e in #( + e) enable_heartbeat=maybe-all ;; +esac fi _apmod_extra_msg="" @@ -34982,21 +38022,21 @@ fi enable_heartbeat=no fi if test "$enable_heartbeat" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_watchdog" = "no" ; then enable_heartbeat=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_watchdog is disabled but required for mod_heartbeat\"" >&5 -$as_echo "$as_me: WARNING: \"mod_watchdog is disabled but required for mod_heartbeat\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_watchdog is disabled but required for mod_heartbeat\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_watchdog is disabled but required for mod_heartbeat\"" >&2;} elif test "$enable_heartbeat" = "static" && test "$enable_watchdog" != "static" ; then enable_heartbeat=$enable_watchdog - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_heartbeat shared because mod_watchdog is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_heartbeat shared because mod_watchdog is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_heartbeat shared because mod_watchdog is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_heartbeat shared because mod_watchdog is built shared\"" >&2;} else : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_heartbeat" >&5 -$as_echo_n "checking whether to enable mod_heartbeat... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_heartbeat" >&5 +printf %s "checking whether to enable mod_heartbeat... " >&6; } if test "$enable_heartbeat" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -35005,8 +38045,8 @@ $as_echo_n "checking whether to enable mod_heartbeat... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_heartbeat$_apmod_extra_msg" >&5 -$as_echo "$enable_heartbeat$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_heartbeat$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_heartbeat$_apmod_extra_msg" >&6; } if test "$enable_heartbeat" != "no"; then case "$enable_heartbeat" in static*) @@ -35085,13 +38125,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_heartmonitor" >&5 -$as_echo_n "checking whether to enable mod_heartmonitor... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_heartmonitor" >&5 +printf %s "checking whether to enable mod_heartmonitor... " >&6; } # Check whether --enable-heartmonitor was given. -if test "${enable_heartmonitor+set}" = set; then : +if test ${enable_heartmonitor+y} +then : enableval=$enable_heartmonitor; force_heartmonitor=$enableval -else - enable_heartmonitor=maybe-all +else case e in #( + e) enable_heartmonitor=maybe-all ;; +esac fi _apmod_extra_msg="" @@ -35146,8 +38188,8 @@ fi if test "$enable_heartmonitor" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_heartmonitor$_apmod_extra_msg" >&5 -$as_echo "$enable_heartmonitor$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_heartmonitor$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_heartmonitor$_apmod_extra_msg" >&6; } if test "$enable_heartmonitor" != "no"; then case "$enable_heartmonitor" in static*) @@ -35267,13 +38309,15 @@ else fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_dav" >&5 -$as_echo_n "checking whether to enable mod_dav... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_dav" >&5 +printf %s "checking whether to enable mod_dav... " >&6; } # Check whether --enable-dav was given. -if test "${enable_dav+set}" = set; then : +if test ${enable_dav+y} +then : enableval=$enable_dav; force_dav=$enableval -else - enable_dav=$dav_enable +else case e in #( + e) enable_dav=$dav_enable ;; +esac fi _apmod_extra_msg="" @@ -35328,8 +38372,8 @@ fi if test "$enable_dav" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_dav$_apmod_extra_msg" >&5 -$as_echo "$enable_dav$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_dav$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_dav$_apmod_extra_msg" >&6; } if test "$enable_dav" != "no"; then case "$enable_dav" in static*) @@ -35468,13 +38512,15 @@ fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_status" >&5 -$as_echo_n "checking whether to enable mod_status... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_status" >&5 +printf %s "checking whether to enable mod_status... " >&6; } # Check whether --enable-status was given. -if test "${enable_status+set}" = set; then : +if test ${enable_status+y} +then : enableval=$enable_status; force_status=$enableval -else - enable_status=yes +else case e in #( + e) enable_status=yes ;; +esac fi _apmod_extra_msg="" @@ -35529,8 +38575,8 @@ fi if test "$enable_status" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_status$_apmod_extra_msg" >&5 -$as_echo "$enable_status$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_status$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_status$_apmod_extra_msg" >&6; } if test "$enable_status" != "no"; then case "$enable_status" in static*) @@ -35609,13 +38655,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_autoindex" >&5 -$as_echo_n "checking whether to enable mod_autoindex... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_autoindex" >&5 +printf %s "checking whether to enable mod_autoindex... " >&6; } # Check whether --enable-autoindex was given. -if test "${enable_autoindex+set}" = set; then : +if test ${enable_autoindex+y} +then : enableval=$enable_autoindex; force_autoindex=$enableval -else - enable_autoindex=yes +else case e in #( + e) enable_autoindex=yes ;; +esac fi _apmod_extra_msg="" @@ -35670,8 +38718,8 @@ fi if test "$enable_autoindex" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_autoindex$_apmod_extra_msg" >&5 -$as_echo "$enable_autoindex$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_autoindex$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_autoindex$_apmod_extra_msg" >&6; } if test "$enable_autoindex" != "no"; then case "$enable_autoindex" in static*) @@ -35750,13 +38798,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_asis" >&5 -$as_echo_n "checking whether to enable mod_asis... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_asis" >&5 +printf %s "checking whether to enable mod_asis... " >&6; } # Check whether --enable-asis was given. -if test "${enable_asis+set}" = set; then : +if test ${enable_asis+y} +then : enableval=$enable_asis; force_asis=$enableval -else - enable_asis=maybe-all +else case e in #( + e) enable_asis=maybe-all ;; +esac fi _apmod_extra_msg="" @@ -35811,8 +38861,8 @@ fi if test "$enable_asis" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_asis$_apmod_extra_msg" >&5 -$as_echo "$enable_asis$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_asis$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_asis$_apmod_extra_msg" >&6; } if test "$enable_asis" != "no"; then case "$enable_asis" in static*) @@ -35891,13 +38941,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_info" >&5 -$as_echo_n "checking whether to enable mod_info... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_info" >&5 +printf %s "checking whether to enable mod_info... " >&6; } # Check whether --enable-info was given. -if test "${enable_info+set}" = set; then : +if test ${enable_info+y} +then : enableval=$enable_info; force_info=$enableval -else - enable_info=most +else case e in #( + e) enable_info=most ;; +esac fi _apmod_extra_msg="" @@ -35952,8 +39004,8 @@ fi if test "$enable_info" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_info$_apmod_extra_msg" >&5 -$as_echo "$enable_info$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_info$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_info$_apmod_extra_msg" >&6; } if test "$enable_info" != "no"; then case "$enable_info" in static*) @@ -36032,13 +39084,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_suexec" >&5 -$as_echo_n "checking whether to enable mod_suexec... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_suexec" >&5 +printf %s "checking whether to enable mod_suexec... " >&6; } # Check whether --enable-suexec was given. -if test "${enable_suexec+set}" = set; then : +if test ${enable_suexec+y} +then : enableval=$enable_suexec; force_suexec=$enableval -else - enable_suexec=no +else case e in #( + e) enable_suexec=no ;; +esac fi _apmod_extra_msg="" @@ -36091,14 +39145,14 @@ fi enable_suexec=no fi if test "$enable_suexec" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } : other_targets=suexec : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_suexec" >&5 -$as_echo_n "checking whether to enable mod_suexec... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_suexec" >&5 +printf %s "checking whether to enable mod_suexec... " >&6; } if test "$enable_suexec" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -36107,8 +39161,8 @@ $as_echo_n "checking whether to enable mod_suexec... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_suexec$_apmod_extra_msg" >&5 -$as_echo "$enable_suexec$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_suexec$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_suexec$_apmod_extra_msg" >&6; } if test "$enable_suexec" != "no"; then case "$enable_suexec" in static*) @@ -36203,13 +39257,15 @@ esac if test $cgid_needed = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_cgid" >&5 -$as_echo_n "checking whether to enable mod_cgid... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_cgid" >&5 +printf %s "checking whether to enable mod_cgid... " >&6; } # Check whether --enable-cgid was given. -if test "${enable_cgid+set}" = set; then : +if test ${enable_cgid+y} +then : enableval=$enable_cgid; force_cgid=$enableval -else - enable_cgid=most +else case e in #( + e) enable_cgid=most ;; +esac fi _apmod_extra_msg="" @@ -36262,8 +39318,8 @@ fi enable_cgid=no fi if test "$enable_cgid" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } : case $host in @@ -36278,13 +39334,13 @@ $as_echo "checking dependencies" >&6; } patch_id="120664" ;; *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unknown platform" >&5 -$as_echo "$as_me: WARNING: Unknown platform" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unknown platform" >&5 +printf "%s\n" "$as_me: WARNING: Unknown platform" >&2;} patch_id="120664" ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Solaris patch $patch_id" >&5 -$as_echo_n "checking for Solaris patch $patch_id... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Solaris patch $patch_id" >&5 +printf %s "checking for Solaris patch $patch_id... " >&6; } showrev -p | grep "$patch_id" >/dev/null 2>&1 if test $? -eq 1; then as_fn_error $? "Please apply either patch # 120664 (Sparc) or # 120665 (x86). @@ -36295,8 +39351,8 @@ If you can not apply these patches, you can do one of the following: - switch to the prefork MPM For more info: " "$LINENO" 5 else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi ;; esac @@ -36304,8 +39360,8 @@ $as_echo "yes" >&6; } esac : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_cgid" >&5 -$as_echo_n "checking whether to enable mod_cgid... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_cgid" >&5 +printf %s "checking whether to enable mod_cgid... " >&6; } if test "$enable_cgid" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -36314,8 +39370,8 @@ $as_echo_n "checking whether to enable mod_cgid... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_cgid$_apmod_extra_msg" >&5 -$as_echo "$enable_cgid$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_cgid$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_cgid$_apmod_extra_msg" >&6; } if test "$enable_cgid" != "no"; then case "$enable_cgid" in static*) @@ -36394,13 +39450,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_cgi" >&5 -$as_echo_n "checking whether to enable mod_cgi... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_cgi" >&5 +printf %s "checking whether to enable mod_cgi... " >&6; } # Check whether --enable-cgi was given. -if test "${enable_cgi+set}" = set; then : +if test ${enable_cgi+y} +then : enableval=$enable_cgi; force_cgi=$enableval -else - enable_cgi=no +else case e in #( + e) enable_cgi=no ;; +esac fi _apmod_extra_msg="" @@ -36455,8 +39513,8 @@ fi if test "$enable_cgi" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_cgi$_apmod_extra_msg" >&5 -$as_echo "$enable_cgi$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_cgi$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_cgi$_apmod_extra_msg" >&6; } if test "$enable_cgi" != "no"; then case "$enable_cgi" in static*) @@ -36536,13 +39594,15 @@ EOF else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_cgi" >&5 -$as_echo_n "checking whether to enable mod_cgi... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_cgi" >&5 +printf %s "checking whether to enable mod_cgi... " >&6; } # Check whether --enable-cgi was given. -if test "${enable_cgi+set}" = set; then : +if test ${enable_cgi+y} +then : enableval=$enable_cgi; force_cgi=$enableval -else - enable_cgi=most +else case e in #( + e) enable_cgi=most ;; +esac fi _apmod_extra_msg="" @@ -36597,8 +39657,8 @@ fi if test "$enable_cgi" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_cgi$_apmod_extra_msg" >&5 -$as_echo "$enable_cgi$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_cgi$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_cgi$_apmod_extra_msg" >&6; } if test "$enable_cgi" != "no"; then case "$enable_cgi" in static*) @@ -36677,13 +39737,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_cgid" >&5 -$as_echo_n "checking whether to enable mod_cgid... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_cgid" >&5 +printf %s "checking whether to enable mod_cgid... " >&6; } # Check whether --enable-cgid was given. -if test "${enable_cgid+set}" = set; then : +if test ${enable_cgid+y} +then : enableval=$enable_cgid; force_cgid=$enableval -else - enable_cgid=no +else case e in #( + e) enable_cgid=no ;; +esac fi _apmod_extra_msg="" @@ -36738,8 +39800,8 @@ fi if test "$enable_cgid" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_cgid$_apmod_extra_msg" >&5 -$as_echo "$enable_cgid$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_cgid$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_cgid$_apmod_extra_msg" >&6; } if test "$enable_cgid" != "no"; then case "$enable_cgid" in static*) @@ -36983,13 +40045,15 @@ case "$host" in esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_dav_fs" >&5 -$as_echo_n "checking whether to enable mod_dav_fs... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_dav_fs" >&5 +printf %s "checking whether to enable mod_dav_fs... " >&6; } # Check whether --enable-dav-fs was given. -if test "${enable_dav_fs+set}" = set; then : +if test ${enable_dav_fs+y} +then : enableval=$enable_dav_fs; force_dav_fs=$enableval -else - enable_dav_fs=$dav_fs_enable +else case e in #( + e) enable_dav_fs=$dav_fs_enable ;; +esac fi _apmod_extra_msg="" @@ -37042,21 +40106,21 @@ fi enable_dav_fs=no fi if test "$enable_dav_fs" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_dav" = "no" ; then enable_dav_fs=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_dav is disabled but required for mod_dav_fs\"" >&5 -$as_echo "$as_me: WARNING: \"mod_dav is disabled but required for mod_dav_fs\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_dav is disabled but required for mod_dav_fs\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_dav is disabled but required for mod_dav_fs\"" >&2;} elif test "$enable_dav_fs" = "static" && test "$enable_dav" != "static" ; then enable_dav_fs=$enable_dav - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_dav_fs shared because mod_dav is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_dav_fs shared because mod_dav is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_dav_fs shared because mod_dav is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_dav_fs shared because mod_dav is built shared\"" >&2;} else : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_dav_fs" >&5 -$as_echo_n "checking whether to enable mod_dav_fs... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_dav_fs" >&5 +printf %s "checking whether to enable mod_dav_fs... " >&6; } if test "$enable_dav_fs" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -37065,8 +40129,8 @@ $as_echo_n "checking whether to enable mod_dav_fs... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_dav_fs$_apmod_extra_msg" >&5 -$as_echo "$enable_dav_fs$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_dav_fs$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_dav_fs$_apmod_extra_msg" >&6; } if test "$enable_dav_fs" != "no"; then case "$enable_dav_fs" in static*) @@ -37188,13 +40252,15 @@ case "$host" in esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_dav_lock" >&5 -$as_echo_n "checking whether to enable mod_dav_lock... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_dav_lock" >&5 +printf %s "checking whether to enable mod_dav_lock... " >&6; } # Check whether --enable-dav-lock was given. -if test "${enable_dav_lock+set}" = set; then : +if test ${enable_dav_lock+y} +then : enableval=$enable_dav_lock; force_dav_lock=$enableval -else - enable_dav_lock=maybe-all +else case e in #( + e) enable_dav_lock=maybe-all ;; +esac fi _apmod_extra_msg="" @@ -37247,21 +40313,21 @@ fi enable_dav_lock=no fi if test "$enable_dav_lock" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 -$as_echo "checking dependencies" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: checking dependencies" >&5 +printf "%s\n" "checking dependencies" >&6; } if test "$enable_dav" = "no" ; then enable_dav_lock=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_dav is disabled but required for mod_dav_lock\"" >&5 -$as_echo "$as_me: WARNING: \"mod_dav is disabled but required for mod_dav_lock\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"mod_dav is disabled but required for mod_dav_lock\"" >&5 +printf "%s\n" "$as_me: WARNING: \"mod_dav is disabled but required for mod_dav_lock\"" >&2;} elif test "$enable_dav_lock" = "static" && test "$enable_dav" != "static" ; then enable_dav_lock=$enable_dav - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_dav_lock shared because mod_dav is built shared\"" >&5 -$as_echo "$as_me: WARNING: \"building mod_dav_lock shared because mod_dav is built shared\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"building mod_dav_lock shared because mod_dav is built shared\"" >&5 +printf "%s\n" "$as_me: WARNING: \"building mod_dav_lock shared because mod_dav is built shared\"" >&2;} else : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_dav_lock" >&5 -$as_echo_n "checking whether to enable mod_dav_lock... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_dav_lock" >&5 +printf %s "checking whether to enable mod_dav_lock... " >&6; } if test "$enable_dav_lock" = "no"; then if test "$_apmod_required" = "no"; then _apmod_extra_msg=" (disabled)" @@ -37270,8 +40336,8 @@ $as_echo_n "checking whether to enable mod_dav_lock... " >&6; } fi fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_dav_lock$_apmod_extra_msg" >&5 -$as_echo "$enable_dav_lock$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_dav_lock$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_dav_lock$_apmod_extra_msg" >&6; } if test "$enable_dav_lock" != "no"; then case "$enable_dav_lock" in static*) @@ -37369,11 +40435,12 @@ EOF -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for extra modules" >&5 -$as_echo_n "checking for extra modules... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for extra modules" >&5 +printf %s "checking for extra modules... " >&6; } # Check whether --with-module was given. -if test "${with_module+set}" = set; then : +if test ${with_module+y} +then : withval=$with_module; withval=`echo $withval | sed -e 's/,/ /g'` for mod in $withval @@ -37423,14 +40490,15 @@ EOF done if test ! -z "$EXTRA_MODLIST"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: added:$EXTRA_MODLIST" >&5 -$as_echo "added:$EXTRA_MODLIST" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: added:$EXTRA_MODLIST" >&5 +printf "%s\n" "added:$EXTRA_MODLIST" >&6; } fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } - +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 +printf "%s\n" "none" >&6; } + ;; +esac fi @@ -37449,13 +40517,15 @@ fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_vhost_alias" >&5 -$as_echo_n "checking whether to enable mod_vhost_alias... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_vhost_alias" >&5 +printf %s "checking whether to enable mod_vhost_alias... " >&6; } # Check whether --enable-vhost-alias was given. -if test "${enable_vhost_alias+set}" = set; then : +if test ${enable_vhost_alias+y} +then : enableval=$enable_vhost_alias; force_vhost_alias=$enableval -else - enable_vhost_alias=most +else case e in #( + e) enable_vhost_alias=most ;; +esac fi _apmod_extra_msg="" @@ -37510,8 +40580,8 @@ fi if test "$enable_vhost_alias" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_vhost_alias$_apmod_extra_msg" >&5 -$as_echo "$enable_vhost_alias$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_vhost_alias$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_vhost_alias$_apmod_extra_msg" >&6; } if test "$enable_vhost_alias" != "no"; then case "$enable_vhost_alias" in static*) @@ -37590,13 +40660,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_negotiation" >&5 -$as_echo_n "checking whether to enable mod_negotiation... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_negotiation" >&5 +printf %s "checking whether to enable mod_negotiation... " >&6; } # Check whether --enable-negotiation was given. -if test "${enable_negotiation+set}" = set; then : +if test ${enable_negotiation+y} +then : enableval=$enable_negotiation; force_negotiation=$enableval -else - enable_negotiation=most +else case e in #( + e) enable_negotiation=most ;; +esac fi _apmod_extra_msg="" @@ -37651,8 +40723,8 @@ fi if test "$enable_negotiation" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_negotiation$_apmod_extra_msg" >&5 -$as_echo "$enable_negotiation$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_negotiation$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_negotiation$_apmod_extra_msg" >&6; } if test "$enable_negotiation" != "no"; then case "$enable_negotiation" in static*) @@ -37731,13 +40803,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_dir" >&5 -$as_echo_n "checking whether to enable mod_dir... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_dir" >&5 +printf %s "checking whether to enable mod_dir... " >&6; } # Check whether --enable-dir was given. -if test "${enable_dir+set}" = set; then : +if test ${enable_dir+y} +then : enableval=$enable_dir; force_dir=$enableval -else - enable_dir=yes +else case e in #( + e) enable_dir=yes ;; +esac fi _apmod_extra_msg="" @@ -37792,8 +40866,8 @@ fi if test "$enable_dir" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_dir$_apmod_extra_msg" >&5 -$as_echo "$enable_dir$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_dir$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_dir$_apmod_extra_msg" >&6; } if test "$enable_dir" != "no"; then case "$enable_dir" in static*) @@ -37872,13 +40946,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_imagemap" >&5 -$as_echo_n "checking whether to enable mod_imagemap... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_imagemap" >&5 +printf %s "checking whether to enable mod_imagemap... " >&6; } # Check whether --enable-imagemap was given. -if test "${enable_imagemap+set}" = set; then : +if test ${enable_imagemap+y} +then : enableval=$enable_imagemap; force_imagemap=$enableval -else - enable_imagemap=no +else case e in #( + e) enable_imagemap=no ;; +esac fi _apmod_extra_msg="" @@ -37933,8 +41009,8 @@ fi if test "$enable_imagemap" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_imagemap$_apmod_extra_msg" >&5 -$as_echo "$enable_imagemap$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_imagemap$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_imagemap$_apmod_extra_msg" >&6; } if test "$enable_imagemap" != "no"; then case "$enable_imagemap" in static*) @@ -38013,13 +41089,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_actions" >&5 -$as_echo_n "checking whether to enable mod_actions... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_actions" >&5 +printf %s "checking whether to enable mod_actions... " >&6; } # Check whether --enable-actions was given. -if test "${enable_actions+set}" = set; then : +if test ${enable_actions+y} +then : enableval=$enable_actions; force_actions=$enableval -else - enable_actions=most +else case e in #( + e) enable_actions=most ;; +esac fi _apmod_extra_msg="" @@ -38074,8 +41152,8 @@ fi if test "$enable_actions" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_actions$_apmod_extra_msg" >&5 -$as_echo "$enable_actions$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_actions$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_actions$_apmod_extra_msg" >&6; } if test "$enable_actions" != "no"; then case "$enable_actions" in static*) @@ -38154,13 +41232,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_speling" >&5 -$as_echo_n "checking whether to enable mod_speling... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_speling" >&5 +printf %s "checking whether to enable mod_speling... " >&6; } # Check whether --enable-speling was given. -if test "${enable_speling+set}" = set; then : +if test ${enable_speling+y} +then : enableval=$enable_speling; force_speling=$enableval -else - enable_speling=most +else case e in #( + e) enable_speling=most ;; +esac fi _apmod_extra_msg="" @@ -38215,8 +41295,8 @@ fi if test "$enable_speling" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_speling$_apmod_extra_msg" >&5 -$as_echo "$enable_speling$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_speling$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_speling$_apmod_extra_msg" >&6; } if test "$enable_speling" != "no"; then case "$enable_speling" in static*) @@ -38295,13 +41375,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_userdir" >&5 -$as_echo_n "checking whether to enable mod_userdir... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_userdir" >&5 +printf %s "checking whether to enable mod_userdir... " >&6; } # Check whether --enable-userdir was given. -if test "${enable_userdir+set}" = set; then : +if test ${enable_userdir+y} +then : enableval=$enable_userdir; force_userdir=$enableval -else - enable_userdir=most +else case e in #( + e) enable_userdir=most ;; +esac fi _apmod_extra_msg="" @@ -38356,8 +41438,8 @@ fi if test "$enable_userdir" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_userdir$_apmod_extra_msg" >&5 -$as_echo "$enable_userdir$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_userdir$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_userdir$_apmod_extra_msg" >&6; } if test "$enable_userdir" != "no"; then case "$enable_userdir" in static*) @@ -38436,13 +41518,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_alias" >&5 -$as_echo_n "checking whether to enable mod_alias... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_alias" >&5 +printf %s "checking whether to enable mod_alias... " >&6; } # Check whether --enable-alias was given. -if test "${enable_alias+set}" = set; then : +if test ${enable_alias+y} +then : enableval=$enable_alias; force_alias=$enableval -else - enable_alias=yes +else case e in #( + e) enable_alias=yes ;; +esac fi _apmod_extra_msg="" @@ -38497,8 +41581,8 @@ fi if test "$enable_alias" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_alias$_apmod_extra_msg" >&5 -$as_echo "$enable_alias$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_alias$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_alias$_apmod_extra_msg" >&6; } if test "$enable_alias" != "no"; then case "$enable_alias" in static*) @@ -38577,13 +41661,15 @@ EOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_rewrite" >&5 -$as_echo_n "checking whether to enable mod_rewrite... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_rewrite" >&5 +printf %s "checking whether to enable mod_rewrite... " >&6; } # Check whether --enable-rewrite was given. -if test "${enable_rewrite+set}" = set; then : +if test ${enable_rewrite+y} +then : enableval=$enable_rewrite; force_rewrite=$enableval -else - enable_rewrite=most +else case e in #( + e) enable_rewrite=most ;; +esac fi _apmod_extra_msg="" @@ -38638,8 +41724,8 @@ fi if test "$enable_rewrite" != "no"; then : fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_rewrite$_apmod_extra_msg" >&5 -$as_echo "$enable_rewrite$_apmod_extra_msg" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_rewrite$_apmod_extra_msg" >&5 +printf "%s\n" "$enable_rewrite$_apmod_extra_msg" >&6; } if test "$enable_rewrite" != "no"; then case "$enable_rewrite" in static*) @@ -38718,6 +41804,31 @@ EOF fi +if test "x$enable_rewrite" != "xno"; then + # mod_rewrite needs test_char.h + + if test "x$INCLUDES" = "x"; then + test "x$silent" != "xyes" && echo " setting INCLUDES to \"-I\$(top_builddir)/server\"" + INCLUDES="-I\$(top_builddir)/server" + else + apr_addto_bugger="-I\$(top_builddir)/server" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $INCLUDES; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to INCLUDES" + INCLUDES="$INCLUDES $i" + fi + done + fi + +fi + if test "x$INCLUDES" = "x"; then test "x$silent" != "xyes" && echo " setting INCLUDES to \"-I\$(top_srcdir)/$modpath_current\"" @@ -38928,24 +42039,25 @@ fi # Check whether --with-program-name was given. -if test "${with_program_name+set}" = set; then : +if test ${with_program_name+y} +then : withval=$with_program_name; progname="$withval" -else - - progname="httpd" +else case e in #( + e) + progname="httpd" ;; +esac fi # SuExec parameters # Check whether --with-suexec-bin was given. -if test "${with_suexec_bin+set}" = set; then : +if test ${with_suexec_bin+y} +then : withval=$with_suexec_bin; -cat >>confdefs.h <<_ACEOF -#define SUEXEC_BIN "$withval" -_ACEOF +printf "%s\n" "#define SUEXEC_BIN \"$withval\"" >>confdefs.h fi @@ -38953,75 +42065,69 @@ fi # Check whether --with-suexec-caller was given. -if test "${with_suexec_caller+set}" = set; then : +if test ${with_suexec_caller+y} +then : withval=$with_suexec_caller; -cat >>confdefs.h <<_ACEOF -#define AP_HTTPD_USER "$withval" -_ACEOF +printf "%s\n" "#define AP_HTTPD_USER \"$withval\"" >>confdefs.h fi # Check whether --with-suexec-userdir was given. -if test "${with_suexec_userdir+set}" = set; then : +if test ${with_suexec_userdir+y} +then : withval=$with_suexec_userdir; -cat >>confdefs.h <<_ACEOF -#define AP_USERDIR_SUFFIX "$withval" -_ACEOF +printf "%s\n" "#define AP_USERDIR_SUFFIX \"$withval\"" >>confdefs.h fi # Check whether --with-suexec-docroot was given. -if test "${with_suexec_docroot+set}" = set; then : +if test ${with_suexec_docroot+y} +then : withval=$with_suexec_docroot; -cat >>confdefs.h <<_ACEOF -#define AP_DOC_ROOT "$withval" -_ACEOF +printf "%s\n" "#define AP_DOC_ROOT \"$withval\"" >>confdefs.h fi # Check whether --with-suexec-uidmin was given. -if test "${with_suexec_uidmin+set}" = set; then : +if test ${with_suexec_uidmin+y} +then : withval=$with_suexec_uidmin; -cat >>confdefs.h <<_ACEOF -#define AP_UID_MIN $withval -_ACEOF +printf "%s\n" "#define AP_UID_MIN $withval" >>confdefs.h fi # Check whether --with-suexec-gidmin was given. -if test "${with_suexec_gidmin+set}" = set; then : +if test ${with_suexec_gidmin+y} +then : withval=$with_suexec_gidmin; -cat >>confdefs.h <<_ACEOF -#define AP_GID_MIN $withval -_ACEOF +printf "%s\n" "#define AP_GID_MIN $withval" >>confdefs.h fi # Check whether --with-suexec-logfile was given. -if test "${with_suexec_logfile+set}" = set; then : +if test ${with_suexec_logfile+y} +then : withval=$with_suexec_logfile; if test "x$withval" = "xyes"; then as_fn_error $? "log filename required for --with-suexec-logfile option" "$LINENO" 5 elif test "x$withval" != "xno"; then -cat >>confdefs.h <<_ACEOF -#define AP_LOG_EXEC "$withval" -_ACEOF +printf "%s\n" "#define AP_LOG_EXEC \"$withval\"" >>confdefs.h fi @@ -39030,30 +42136,32 @@ fi # Check whether --with-suexec-syslog was given. -if test "${with_suexec_syslog+set}" = set; then : +if test ${with_suexec_syslog+y} +then : withval=$with_suexec_syslog; if test $withval = "yes"; then if test "x${with_suexec_logfile}" != "xno"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: hint: use \"--without-suexec-logfile --with-suexec-syslog\"" >&5 -$as_echo "$as_me: hint: use \"--without-suexec-logfile --with-suexec-syslog\"" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: hint: use \"--without-suexec-logfile --with-suexec-syslog\"" >&5 +printf "%s\n" "$as_me: hint: use \"--without-suexec-logfile --with-suexec-syslog\"" >&6;} as_fn_error $? "suexec does not support both logging to file and syslog" "$LINENO" 5 fi - for ac_func in vsyslog + + for ac_func in vsyslog do : ac_fn_c_check_func "$LINENO" "vsyslog" "ac_cv_func_vsyslog" -if test "x$ac_cv_func_vsyslog" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_VSYSLOG 1 -_ACEOF - -else +if test "x$ac_cv_func_vsyslog" = xyes +then : + printf "%s\n" "#define HAVE_VSYSLOG 1" >>confdefs.h - as_fn_error $? "cannot support syslog from suexec without vsyslog()" "$LINENO" 5 +else case e in #( + e) + as_fn_error $? "cannot support syslog from suexec without vsyslog()" "$LINENO" 5 ;; +esac fi -done +done -$as_echo "#define AP_LOG_SYSLOG 1" >>confdefs.h +printf "%s\n" "#define AP_LOG_SYSLOG 1" >>confdefs.h fi @@ -39063,35 +42171,34 @@ fi # Check whether --with-suexec-safepath was given. -if test "${with_suexec_safepath+set}" = set; then : +if test ${with_suexec_safepath+y} +then : withval=$with_suexec_safepath; -cat >>confdefs.h <<_ACEOF -#define AP_SAFE_PATH "$withval" -_ACEOF +printf "%s\n" "#define AP_SAFE_PATH \"$withval\"" >>confdefs.h fi # Check whether --with-suexec-umask was given. -if test "${with_suexec_umask+set}" = set; then : +if test ${with_suexec_umask+y} +then : withval=$with_suexec_umask; -cat >>confdefs.h <<_ACEOF -#define AP_SUEXEC_UMASK 0$withval -_ACEOF +printf "%s\n" "#define AP_SUEXEC_UMASK 0$withval" >>confdefs.h fi INSTALL_SUEXEC=setuid # Check whether --enable-suexec-capabilities was given. -if test "${enable_suexec_capabilities+set}" = set; then : +if test ${enable_suexec_capabilities+y} +then : enableval=$enable_suexec_capabilities; INSTALL_SUEXEC=caps -$as_echo "#define AP_SUEXEC_CAPABILITIES 1" >>confdefs.h +printf "%s\n" "#define AP_SUEXEC_CAPABILITIES 1" >>confdefs.h fi @@ -39119,18 +42226,18 @@ AP_LIBS="$AP_LIBS `$apr_config --link-libtool --libs`" -$as_echo "#define AP_USING_AUTOCONF 1" >>confdefs.h +printf "%s\n" "#define AP_USING_AUTOCONF 1" >>confdefs.h if test "$SINGLE_LISTEN_UNSERIALIZED_ACCEPT" = "1"; then -$as_echo "#define SINGLE_LISTEN_UNSERIALIZED_ACCEPT 1" >>confdefs.h +printf "%s\n" "#define SINGLE_LISTEN_UNSERIALIZED_ACCEPT 1" >>confdefs.h fi if test "$AP_NONBLOCK_WHEN_MULTI_LISTEN" = "1"; then -$as_echo "#define AP_NONBLOCK_WHEN_MULTI_LISTEN 1" >>confdefs.h +printf "%s\n" "#define AP_NONBLOCK_WHEN_MULTI_LISTEN 1" >>confdefs.h fi @@ -39147,23 +42254,26 @@ YES_IS_DEFINED _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "YES_IS_DEFINED" >/dev/null 2>&1; then : + $EGREP_TRADITIONAL "YES_IS_DEFINED" >/dev/null 2>&1 +then : ac_cv_define_APR_HAVE_IPV6=yes -else - ac_cv_define_APR_HAVE_IPV6=no +else case e in #( + e) ac_cv_define_APR_HAVE_IPV6=no ;; +esac fi -rm -f conftest* +rm -rf conftest* CPPFLAGS=$apr_old_cppflags # Check whether --enable-v4-mapped was given. -if test "${enable_v4_mapped+set}" = set; then : +if test ${enable_v4_mapped+y} +then : enableval=$enable_v4_mapped; v4mapped=$enableval -else - +else case e in #( + e) case $host in *freebsd[1234].*) v4mapped=yes @@ -39178,13 +42288,14 @@ else if ap_mpm_is_enabled winnt; then v4mapped=no fi - + ;; +esac fi if test $v4mapped = "yes" -a $ac_cv_define_APR_HAVE_IPV6 = "yes"; then -$as_echo "#define AP_ENABLE_V4_MAPPED 1" >>confdefs.h +printf "%s\n" "#define AP_ENABLE_V4_MAPPED 1" >>confdefs.h fi @@ -39203,13 +42314,23 @@ if test -d ./test; then APACHE_FAST_OUTPUT_FILES="$APACHE_FAST_OUTPUT_FILES test/Makefile" fi +if test -d ./test/modules/http2; then -{ $as_echo "$as_me:${as_lineno-$LINENO}: " >&5 -$as_echo "$as_me: " >&6;} -{ $as_echo "$as_me:${as_lineno-$LINENO}: Restore user-defined environment settings..." >&5 -$as_echo "$as_me: Restore user-defined environment settings..." >&6;} -{ $as_echo "$as_me:${as_lineno-$LINENO}: " >&5 -$as_echo "$as_me: " >&6;} + APACHE_FAST_OUTPUT_FILES="$APACHE_FAST_OUTPUT_FILES test/Makefile" + + ac_config_files="$ac_config_files test/pyhttpd/config.ini" + + + APACHE_FAST_OUTPUT_FILES="$APACHE_FAST_OUTPUT_FILES test/clients/Makefile" + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: " >&5 +printf "%s\n" "$as_me: " >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Restore user-defined environment settings..." >&5 +printf "%s\n" "$as_me: Restore user-defined environment settings..." >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: " >&5 +printf "%s\n" "$as_me: " >&6;} APACHE_CONF_SEL_CC=${CC} APACHE_CONF_SEL_CFLAGS="${CFLAGS} ${EXTRA_CFLAGS} ${NOTEST_CFLAGS}" @@ -39333,12 +42454,12 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: " >&5 -$as_echo "$as_me: " >&6;} -{ $as_echo "$as_me:${as_lineno-$LINENO}: Construct makefiles and header files..." >&5 -$as_echo "$as_me: Construct makefiles and header files..." >&6;} -{ $as_echo "$as_me:${as_lineno-$LINENO}: " >&5 -$as_echo "$as_me: " >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: " >&5 +printf "%s\n" "$as_me: " >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Construct makefiles and header files..." >&5 +printf "%s\n" "$as_me: Construct makefiles and header files..." >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: " >&5 +printf "%s\n" "$as_me: " >&6;} @@ -39566,6 +42687,10 @@ $as_echo "$as_me: " >&6;} + APACHE_VAR_SUBST="$APACHE_VAR_SUBST SVN" + + + APACHE_VAR_SUBST="$APACHE_VAR_SUBST MODULE_DIRS" @@ -39664,8 +42789,8 @@ $as_echo "$as_me: " >&6;} abs_srcdir="`(cd $srcdir && pwd)`" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating config_vars.mk" >&5 -$as_echo "$as_me: creating config_vars.mk" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating config_vars.mk" >&5 +printf "%s\n" "$as_me: creating config_vars.mk" >&6;} test -d build || $mkdir_p build > build/config_vars.mk for i in $APACHE_VAR_SUBST; do @@ -39687,19 +42812,13 @@ done ap_prefix="${ap_cur}" -cat >>confdefs.h <<_ACEOF -#define HTTPD_ROOT "${ap_prefix}" -_ACEOF +printf "%s\n" "#define HTTPD_ROOT \"${ap_prefix}\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define SERVER_CONFIG_FILE "${rel_sysconfdir}/${progname}.conf" -_ACEOF +printf "%s\n" "#define SERVER_CONFIG_FILE \"${rel_sysconfdir}/${progname}.conf\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define AP_TYPES_CONFIG_FILE "${rel_sysconfdir}/mime.types" -_ACEOF +printf "%s\n" "#define AP_TYPES_CONFIG_FILE \"${rel_sysconfdir}/mime.types\"" >>confdefs.h perlbin=`$ac_aux_dir/PrintPath perl` @@ -39743,8 +42862,8 @@ cat >confcache <<\_ACEOF # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the +# 'ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* 'ac_cv_foo' will be assigned the # following values. _ACEOF @@ -39760,8 +42879,8 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -39774,14 +42893,14 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote + # 'set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) - # `set' quotes correctly as required by POSIX, so do not add quotes. + # 'set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | @@ -39791,15 +42910,15 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; /^ac_cv_env_/b end t clear :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else @@ -39813,8 +42932,8 @@ $as_echo "$as_me: updating cache $cache_file" >&6;} fi fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache @@ -39831,7 +42950,7 @@ U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" @@ -39847,8 +42966,8 @@ LTLIBOBJS=$ac_ltlibobjs ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL @@ -39871,63 +42990,65 @@ cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( +else case e in #( + e) case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; +esac ;; esac fi + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. as_nl=' ' export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi # The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then +if ${PATH_SEPARATOR+false} :; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || @@ -39936,13 +43057,6 @@ if test "${PATH_SEPARATOR+set}" != set; then fi -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( @@ -39951,43 +43065,27 @@ case $0 in #(( for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break done IFS=$as_save_IFS ;; esac -# We did not find ourselves, most probably we were run as `sh COMMAND' +# We did not find ourselves, most probably we were run as 'sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] @@ -40000,9 +43098,9 @@ as_fn_error () as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $2" >&2 + printf "%s\n" "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -40033,22 +43131,25 @@ as_fn_unset () { eval $1=; unset $1;} } as_unset=as_fn_unset + # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : eval 'as_fn_append () { eval $1+=\$2 }' -else - as_fn_append () +else case e in #( + e) as_fn_append () { eval $1=\$$1\$2 - } + } ;; +esac fi # as_fn_append # as_fn_arith ARG... @@ -40056,16 +43157,18 @@ fi # as_fn_append # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : eval 'as_fn_arith () { as_val=$(( $* )) }' -else - as_fn_arith () +else case e in #( + e) as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` - } + } ;; +esac fi # as_fn_arith @@ -40092,7 +43195,7 @@ as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | +printf "%s\n" X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -40114,6 +43217,10 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) @@ -40127,6 +43234,12 @@ case `echo -n x` in #((((( ECHO_N='-n';; esac +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -40138,9 +43251,9 @@ if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. + # 1) On MSYS, both 'ln -s file dir' and 'ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; 'ln -s' creates a wrapper executable. + # In both cases, we have to default to 'cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then @@ -40168,7 +43281,7 @@ as_fn_mkdir_p () as_dirs= while :; do case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" @@ -40177,7 +43290,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | +printf "%s\n" X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -40221,10 +43334,12 @@ as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +as_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" +as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated # Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g" +as_tr_sh="eval sed '$as_sed_sh'" # deprecated exec 6>&1 @@ -40240,7 +43355,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # values after options handling. ac_log=" This file was extended by $as_me, which was -generated by GNU Autoconf 2.69. Invocation command line was +generated by GNU Autoconf 2.72. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -40272,7 +43387,7 @@ _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions +'$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. @@ -40302,14 +43417,16 @@ $config_commands Report bugs to the package provider." _ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.69, +configured by $0, generated by GNU Autoconf 2.72, with options \\"\$ac_cs_config\\" -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2023 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -40347,15 +43464,15 @@ do -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; + printf "%s\n" "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; + printf "%s\n" "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" @@ -40363,23 +43480,23 @@ do --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; + as_fn_error $? "ambiguous option: '$1' +Try '$0 --help' for more information.";; --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; + printf "%s\n" "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; + -*) as_fn_error $? "unrecognized option: '$1' +Try '$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; @@ -40400,7 +43517,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" @@ -40414,7 +43531,7 @@ exec 5>>config.log sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX - $as_echo "$ac_log" + printf "%s\n" "$ac_log" } >&5 _ACEOF @@ -40435,6 +43552,7 @@ for ac_config_target in $ac_config_targets do case $ac_config_target in "include/ap_config_auto.h") CONFIG_HEADERS="$CONFIG_HEADERS include/ap_config_auto.h" ;; + "test/pyhttpd/config.ini") CONFIG_FILES="$CONFIG_FILES test/pyhttpd/config.ini" ;; "docs/conf/httpd.conf") CONFIG_FILES="$CONFIG_FILES docs/conf/httpd.conf" ;; "docs/conf/extra/httpd-autoindex.conf") CONFIG_FILES="$CONFIG_FILES docs/conf/extra/httpd-autoindex.conf" ;; "docs/conf/extra/httpd-dav.conf") CONFIG_FILES="$CONFIG_FILES docs/conf/extra/httpd-dav.conf" ;; @@ -40462,7 +43580,7 @@ do "build/config_vars.sh") CONFIG_FILES="$CONFIG_FILES build/config_vars.sh" ;; "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + *) as_fn_error $? "invalid argument: '$ac_config_target'" "$LINENO" 5;; esac done @@ -40472,9 +43590,9 @@ done # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands + test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files + test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers + test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree @@ -40482,7 +43600,7 @@ fi # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. +# after its creation but before its name has been assigned to '$tmp'. $debug || { tmp= ac_tmp= @@ -40506,7 +43624,7 @@ ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. +# This happens for instance with './config.status config.h'. if test -n "$CONFIG_FILES"; then @@ -40664,13 +43782,13 @@ fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. +# This happens for instance with './config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF -# Transform confdefs.h into an awk script `defines.awk', embedded as +# Transform confdefs.h into an awk script 'defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. @@ -40780,7 +43898,7 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :L* | :C*:*) as_fn_error $? "invalid tag '$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -40802,33 +43920,33 @@ do -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. + # because $ac_f cannot contain ':'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + as_fn_error 1 "cannot find input file: '$ac_f'" "$LINENO" 5;; esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done - # Let's still pretend it is `configure' which instantiates (i.e., don't + # Let's still pretend it is 'configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | + ac_sed_conf_input=`printf "%s\n" "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac @@ -40845,7 +43963,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | +printf "%s\n" X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -40869,9 +43987,9 @@ $as_echo X"$ac_file" | case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -40924,8 +44042,8 @@ ac_sed_dataroot=' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' @@ -40938,7 +44056,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 esac _ACEOF -# Neutralize VPATH when `$srcdir' = `.'. +# Neutralize VPATH when '$srcdir' = '.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 @@ -40967,9 +44085,9 @@ test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable 'datarootdir' which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable 'datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" @@ -40985,27 +44103,27 @@ which seems to be undefined. Please make sure it is defined" >&2;} # if test x"$ac_file" != x-; then { - $as_echo "/* $configure_input */" \ + printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +printf "%s\n" "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else - $as_echo "/* $configure_input */" \ + printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi ;; - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} + :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +printf "%s\n" "$as_me: executing $ac_file commands" >&6;} ;; esac @@ -41046,11 +44164,11 @@ if test "$no_create" != yes; then $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: summary of build options: +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: summary of build options: Server Version: ${HTTPD_VERSION} Install prefix: ${prefix} @@ -41061,7 +44179,7 @@ fi LIBS: ${APACHE_CONF_SEL_LIBS} C preprocessor: ${APACHE_CONF_SEL_CPP} " >&5 -$as_echo "$as_me: summary of build options: +printf "%s\n" "$as_me: summary of build options: Server Version: ${HTTPD_VERSION} Install prefix: ${prefix} @@ -41072,3 +44190,4 @@ $as_echo "$as_me: summary of build options: LIBS: ${APACHE_CONF_SEL_LIBS} C preprocessor: ${APACHE_CONF_SEL_CPP} " >&6;} + diff --git a/configure.in b/configure.in index 9feaceb..8134a69 100644 --- a/configure.in +++ b/configure.in @@ -214,28 +214,33 @@ fi AC_ARG_WITH(pcre, APACHE_HELP_STRING(--with-pcre=PATH,Use external PCRE library)) - -AC_PATH_PROG(PCRE_CONFIG, pcre-config, false) -if test -d "$with_pcre" && test -x "$with_pcre/bin/pcre-config"; then - PCRE_CONFIG=$with_pcre/bin/pcre-config -elif test -x "$with_pcre"; then - PCRE_CONFIG=$with_pcre +if test "x$with_pcre" = "x" || test "$with_pcre" = "yes"; then + with_pcre="$PATH" +else if which $with_pcre 2>/dev/null; then :; else + with_pcre="$with_pcre/bin:$with_pcre" +fi fi -if test "$PCRE_CONFIG" != "false"; then +AC_CHECK_TARGET_TOOLS(PCRE_CONFIG, [pcre2-config pcre-config], + [`which $with_pcre 2>/dev/null`], $with_pcre) + +if test "x$PCRE_CONFIG" != "x"; then if $PCRE_CONFIG --version >/dev/null 2>&1; then :; else - AC_MSG_ERROR([Did not find pcre-config script at $PCRE_CONFIG]) + AC_MSG_ERROR([Did not find working script at $PCRE_CONFIG]) fi case `$PCRE_CONFIG --version` in + [1[0-9].*]) + AC_DEFINE(HAVE_PCRE2, 1, [Detected PCRE2]) + ;; [[1-5].*]) AC_MSG_ERROR([Need at least pcre version 6.0]) ;; esac AC_MSG_NOTICE([Using external PCRE library from $PCRE_CONFIG]) APR_ADDTO(PCRE_INCLUDES, [`$PCRE_CONFIG --cflags`]) - APR_ADDTO(PCRE_LIBS, [`$PCRE_CONFIG --libs`]) + APR_ADDTO(PCRE_LIBS, [`$PCRE_CONFIG --libs8 2>/dev/null || $PCRE_CONFIG --libs`]) else - AC_MSG_ERROR([pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/]) + AC_MSG_ERROR([pcre(2)-config for libpcre not found. PCRE is required and available from http://pcre.org/]) fi APACHE_SUBST(PCRE_LIBS) @@ -263,6 +268,24 @@ APR_ADDTO(INCLUDES, $APU_INCLUDES) dnl Add in path to PCRE includes APR_ADDTO(INCLUDES, $PCRE_INCLUDES) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $PCRE_INCLUDES" +AC_EGREP_CPP(yes, +[ +#ifdef HAVE_PCRE2 +yes +#else +#include +#ifdef PCRE_DUPNAMES +yes +#endif +#endif +],pcre_have_dupnames=yes,pcre_have_dupnames=no) +if test "$pcre_have_dupnames" != "yes"; then + AC_MSG_ERROR([pcre version does not support PCRE_DUPNAMES]) +fi +CPPFLAGS="$save_CPPFLAGS" + AC_MSG_NOTICE([]) AC_MSG_NOTICE([Applying OS-specific hints for httpd...]) AC_MSG_NOTICE([]) @@ -372,6 +395,7 @@ dnl ## Check for programs AC_PATH_PROG(RM, rm) AC_PATH_PROG(PKGCONFIG, pkg-config) AC_PATH_PROG(RSYNC, rsync) +AC_PATH_PROG(SVN, svn) AC_PROG_AWK AC_PROG_LN_S AC_CHECK_TOOL(RANLIB, ranlib, true) @@ -464,6 +488,28 @@ LIBS="" AC_SEARCH_LIBS(crypt, crypt) CRYPT_LIBS="$LIBS" APACHE_SUBST(CRYPT_LIBS) + +if test "$ac_cv_search_crypt" != "no"; then + # Test crypt() with the SHA-512 test vector from https://akkadia.org/drepper/SHA-crypt.txt + AC_CACHE_CHECK([whether crypt() supports SHA-2], [ap_cv_crypt_sha2], [ + AC_RUN_IFELSE([AC_LANG_PROGRAM([[ +#include +#include +#include + +#define PASSWD_0 "Hello world!" +#define SALT_0 "\$6\$saltstring" +#define EXPECT_0 "\$6\$saltstring\$svn8UoSVapNtMuq1ukKS4tPQd8iKwSMHWjl/O817G3uBnIFNjnQJu" \ + "esI68u4OTLiBFdcbYEdFCoEOfaS35inz1" +]], [char *result = crypt(PASSWD_0, SALT_0); + if (!result) return 1; + if (strcmp(result, EXPECT_0)) return 2; +])], [ap_cv_crypt_sha2=yes], [ap_cv_crypt_sha2=no], [ap_cv_crypt_sha2=no])]) + if test "$ap_cv_crypt_sha2" = yes; then + AC_DEFINE([HAVE_CRYPT_SHA2], 1, [Define if crypt() supports SHA-2 hashes]) + fi +fi + LIBS="$saved_LIBS" dnl See Comment #Spoon @@ -477,22 +523,26 @@ prctl \ timegm \ getpgid \ fopen64 \ -getloadavg +getloadavg \ +gettid ) dnl confirm that a void pointer is large enough to store a long integer APACHE_CHECK_VOID_PTR_LEN -AC_CACHE_CHECK([for gettid()], ac_cv_gettid, +if test $ac_cv_func_gettid = no; then + # On Linux before glibc 2.30, gettid() is only usable via syscall() + AC_CACHE_CHECK([for gettid() via syscall], ap_cv_gettid, [AC_TRY_RUN(#define _GNU_SOURCE #include #include #include int main(int argc, char **argv) { pid_t t = syscall(SYS_gettid); return t == -1 ? 1 : 0; }, -[ac_cv_gettid=yes], [ac_cv_gettid=no], [ac_cv_gettid=no])]) -if test "$ac_cv_gettid" = "yes"; then - AC_DEFINE(HAVE_GETTID, 1, [Define if you have gettid()]) + [ap_cv_gettid=yes], [ap_cv_gettid=no], [ap_cv_gettid=no])]) + if test "$ap_cv_gettid" = "yes"; then + AC_DEFINE(HAVE_SYS_GETTID, 1, [Define if you have gettid() via syscall()]) + fi fi dnl ## Check for the tm_gmtoff field in struct tm to get the timezone diffs @@ -504,6 +554,8 @@ if test "$ac_cv_struct_tm_gmtoff" = "yes"; then AC_DEFINE(HAVE_GMTOFF, 1, [Define if struct tm has a tm_gmtoff field]) fi +APACHE_CHECK_SYSTEMD + dnl ## Set up any appropriate OS-specific environment variables for apachectl case $host in @@ -607,7 +659,7 @@ AC_ARG_ENABLE(maintainer-mode,APACHE_HELP_STRING(--enable-maintainer-mode,Turn o APACHE_ADD_GCC_CFLAG([-Wformat-security]) APACHE_ADD_GCC_CFLAG([-Wunused]) elif test "$AIX_XLC" = "yes"; then - APR_ADDTO(NOTEST_CFLAGS,-qfullpath -qinitauto=FE -qcheck=all -qinfo=pro) + APR_ADDTO(NOTEST_CFLAGS,-qfullpath -qcheck=all -qinfo=pro) fi if test "x$enable_load_all_modules" = "x"; then LOAD_ALL_MODULES=yes @@ -840,6 +892,11 @@ APACHE_FAST_OUTPUT(support/Makefile) if test -d ./test; then APACHE_FAST_OUTPUT(test/Makefile) fi +if test -d ./test/modules/http2; then + APACHE_FAST_OUTPUT(test/Makefile) + AC_CONFIG_FILES([test/pyhttpd/config.ini]) + APACHE_FAST_OUTPUT(test/clients/Makefile) +fi dnl ## Finalize the variables AC_MSG_NOTICE([]) diff --git a/docs/conf/magic b/docs/conf/magic index 7c56119..bc891d9 100644 --- a/docs/conf/magic +++ b/docs/conf/magic @@ -87,7 +87,7 @@ # Microsoft WAVE format (*.wav) # [GRR 950115: probably all of the shorts and longs should be leshort/lelong] # Microsoft RIFF -0 string RIFF audio/unknown +0 string RIFF # - WAVE format >8 string WAVE audio/x-wav # MPEG audio. diff --git a/docs/conf/mime.types b/docs/conf/mime.types index 7508c26..1b92ee1 100644 --- a/docs/conf/mime.types +++ b/docs/conf/mime.types @@ -1,6 +1,6 @@ # This file maps Internet media types to unique file extension(s). # Although created for httpd, this file is used by many software systems -# and has been placed in the public domain for unlimited redisribution. +# and has been placed in the public domain for unlimited redistribution. # # The table below contains both registered and (common) unregistered types. # A type that has no unique extension can be ignored -- they are listed @@ -142,7 +142,7 @@ application/ipfix ipfix application/java-archive jar application/java-serialized-object ser application/java-vm class -application/javascript js +# application/javascript # application/jose # application/jose+json # application/jrd+json @@ -585,6 +585,7 @@ application/vnd.genomatix.tuxedo txd # application/vnd.geo+json # application/vnd.geocube+xml application/vnd.geogebra.file ggb +application/vnd.geogebra.slides ggs application/vnd.geogebra.tool ggt application/vnd.geometry-explorer gex gre application/vnd.geonext gxt @@ -1212,6 +1213,7 @@ application/vnd.zul zir zirz application/vnd.zzazz.deck+xml zaz application/voicexml+xml vxml # application/vq-rtcpxr +application/wasm wasm # application/watcherinfo+xml # application/whoispp-query # application/whoispp-response @@ -1439,7 +1441,7 @@ audio/mp4 m4a mp4a audio/mpeg mpga mp2 mp2a mp3 m2a m3a # audio/mpeg4-generic # audio/musepack -audio/ogg oga ogg spx +audio/ogg oga ogg spx opus # audio/opus # audio/parityfec # audio/pcma @@ -1686,7 +1688,7 @@ text/csv csv # text/fwdred # text/grammar-ref-list text/html html htm -# text/javascript +text/javascript js mjs # text/jcr-cnd # text/markdown # text/mizar diff --git a/docs/error/contact.html.var b/docs/error/contact.html.var index 0349868..bcae258 100644 --- a/docs/error/contact.html.var +++ b/docs/error/contact.html.var @@ -96,6 +96,13 @@ por favor entre em contato com o ">webmaster. -------pt-br-- +Content-language: pt +Content-type: text/html; charset=ISO-8859-1 +Body:----------pt-- +Se considera que o servidor está errado, por favor contacte o +">webmaster. +----------pt-- + Content-language: ro Content-type: text/html; charset=UTF-8 Body:----------ro-- diff --git a/docs/man/dbmmanage.1 b/docs/man/dbmmanage.1 index 30452b9..43c342c 100644 --- a/docs/man/dbmmanage.1 +++ b/docs/man/dbmmanage.1 @@ -59,7 +59,7 @@ The filename of the DBM format file\&. Usually without the extension \fB\&.db\fR The user for which the operations are performed\&. The \fIusername\fR may not contain a colon (\fB:\fR)\&. .TP \fB\fIencpasswd\fR\fR -This is the already encrypted password to use for the \fBupdate\fR and \fBadd\fR commands\&. You may use a hyphen (\fB-\fR) if you want to get prompted for the password, but fill in the fields afterwards\&. Additionally when using the \fBupdate\fR command, a period (\fB\&.\fR) keeps the original password untouched\&. +This is the already hashed password to use for the \fBupdate\fR and \fBadd\fR commands\&. You may use a hyphen (\fB-\fR) if you want to get prompted for the password, but fill in the fields afterwards\&. Additionally when using the \fBupdate\fR command, a period (\fB\&.\fR) keeps the original password untouched\&. .TP \fB\fIgroup\fR\fR A group, which the user is member of\&. A groupname may not contain a colon (\fB:\fR)\&. You may use a hyphen (\fB-\fR) if you don't want to assign the user to a group, but fill in the comment field\&. Additionally when using the \fBupdate\fR command, a period (\fB\&.\fR) keeps the original groups untouched\&. @@ -72,13 +72,13 @@ This is the place for your opaque comments about the user, like realname, mailad .TP \fB-d\fR -crypt encryption (default, except on Win32, Netware) +crypt hashing (default, except on Win32, Netware) .TP \fB-m\fR -MD5 encryption (default on Win32, Netware) +MD5 hashing (default on Win32, Netware) .TP \fB-s\fR -SHA1 encryption +SHA1 hashing .TP \fB-p\fR plaintext (\fInot recommended\fR) @@ -88,7 +88,7 @@ plaintext (\fInot recommended\fR) .TP \fBadd\fR -Adds an entry for \fIusername\fR to \fIfilename\fR using the encrypted password \fIencpasswd\fR\&. dbmmanage passwords\&.dat add rbowen foKntnEF3KSXA +Adds an entry for \fIusername\fR to \fIfilename\fR using the hashed password \fIencpasswd\fR\&. dbmmanage passwords\&.dat add rbowen foKntnEF3KSXA .TP \fBadduser\fR Asks for a password and then adds an entry for \fIusername\fR to \fIfilename\fR\&. dbmmanage passwords\&.dat adduser krietz diff --git a/docs/man/fcgistarter.8 b/docs/man/fcgistarter.8 index 20e7916..7440fd7 100644 --- a/docs/man/fcgistarter.8 +++ b/docs/man/fcgistarter.8 @@ -19,7 +19,7 @@ .el .ne 3 .IP "\\$1" \\$2 .. -.TH "FCGISTARTER" 8 "2018-07-06" "Apache HTTP Server" "fcgistarter" +.TH "FCGISTARTER" 8 "2020-02-08" "Apache HTTP Server" "fcgistarter" .SH NAME fcgistarter \- Start a FastCGI program @@ -46,7 +46,7 @@ Currently only works on Unix systems\&. .TP \fB-c \fIcommand\fR\fR -FastCGI program +Absolute path of the FastCGI program .TP \fB-p \fIport\fR\fR Port which the program will listen on diff --git a/docs/man/htcacheclean.8 b/docs/man/htcacheclean.8 index 7d24a58..d8c8469 100644 --- a/docs/man/htcacheclean.8 +++ b/docs/man/htcacheclean.8 @@ -19,7 +19,7 @@ .el .ne 3 .IP "\\$1" \\$2 .. -.TH "HTCACHECLEAN" 8 "2018-07-06" "Apache HTTP Server" "htcacheclean" +.TH "HTCACHECLEAN" 8 "2019-08-09" "Apache HTTP Server" "htcacheclean" .SH NAME htcacheclean \- Clean up the disk cache @@ -27,10 +27,10 @@ htcacheclean \- Clean up the disk cache .SH "SYNOPSIS" .PP -\fB\fBhtcacheclean\fR [ -\fBD\fR ] [ -\fBv\fR ] [ -\fBt\fR ] [ -\fBr\fR ] [ -\fBn\fR ] [ -\fBR\fR\fIround\fR ] -\fBp\fR\fIpath\fR [-\fBl\fR\fIlimit\fR| -\fBL\fR\fIlimit\fR]\fR +\fB\fBhtcacheclean\fR [ -\fBD\fR ] [ -\fBv\fR ] [ -\fBt\fR ] [ -\fBr\fR ] [ -\fBn\fR ] [ -\fBR\fR\fIround\fR ] -\fBp\fR\fIpath\fR [ -\fBl\fR\fIlimit\fR ] [ -\fBL\fR\fIlimit\fR ]\fR .PP -\fB\fBhtcacheclean\fR [ -\fBn\fR ] [ -\fBt\fR ] [ -\fBi\fR ] [ -\fBP\fR\fIpidfile\fR ] [ -\fBR\fR\fIround\fR ] -\fBd\fR\fIinterval\fR -\fBp\fR\fIpath\fR [-\fBl\fR\fIlimit\fR| -\fBL\fR\fIlimit\fR]\fR +\fB\fBhtcacheclean\fR [ -\fBn\fR ] [ -\fBt\fR ] [ -\fBi\fR ] [ -\fBP\fR\fIpidfile\fR ] [ -\fBR\fR\fIround\fR ] -\fBd\fR\fIinterval\fR -\fBp\fR\fIpath\fR [ -\fBl\fR\fIlimit\fR ] [ -\fBL\fR\fIlimit\fR ]\fR .PP \fB\fBhtcacheclean\fR [ -\fBv\fR ] [ -\fBR\fR\fIround\fR ] -\fBp\fR\fIpath\fR [ -\fBa\fR ] [ -\fBA\fR ]\fR @@ -77,10 +77,10 @@ Specify \fIpidfile\fR as the name of the file to write the process ID to when da Specify \fIround\fR as the amount to round sizes up to, to compensate for disk block sizes\&. Set to the block size of the cache partition\&. .TP \fB-l\fIlimit\fR\fR -Specify \fIlimit\fR as the total disk cache size limit\&. The value is expressed in bytes by default (or attaching \fBB\fR to the number)\&. Attach \fBK\fR for Kbytes or \fBM\fR for MBytes\&. +Specify \fIlimit\fR as the total disk cache size limit\&. The value is expressed in bytes by default (or attaching \fBB\fR to the number)\&. Attach \fBK\fR for Kbytes, \fBM\fR for MBytes or \fBG\fR for Gbytes\&. .TP \fB-L\fIlimit\fR\fR -Specify \fIlimit\fR as the total disk cache inode limit\&. +Specify \fIlimit\fR as the total disk cache inode limit\&. \fBK\fR, \fBM\fR or \fBG\fR suffix can also be used\&. .TP \fB-i\fR Be intelligent and run only when there was a modification of the disk cache\&. This option is only possible together with the \fB-d\fR option\&. diff --git a/docs/man/htdbm.1 b/docs/man/htdbm.1 index 8c18c6e..ac02f9a 100644 --- a/docs/man/htdbm.1 +++ b/docs/man/htdbm.1 @@ -19,7 +19,7 @@ .el .ne 3 .IP "\\$1" \\$2 .. -.TH "HTDBM" 1 "2018-07-06" "Apache HTTP Server" "htdbm" +.TH "HTDBM" 1 "2024-04-02" "Apache HTTP Server" "htdbm" .SH NAME htdbm \- Manipulate DBM password databases @@ -74,19 +74,19 @@ Create the \fIpasswdfile\fR\&. If \fIpasswdfile\fR already exists, it is rewritt Display the results on standard output rather than updating a database\&. This option changes the syntax of the command line, since the \fIpasswdfile\fR argument (usually the first one) is omitted\&. It cannot be combined with the \fB-c\fR option\&. .TP \fB-m\fR -Use MD5 encryption for passwords\&. On Windows and Netware, this is the default\&. +Use MD5 hashing for passwords\&. On Windows and Netware, this is the default\&. .TP \fB-B\fR -Use bcrypt encryption for passwords\&. This is currently considered to be very secure\&. +Use bcrypt hashing for passwords\&. This is currently considered to be very secure\&. .TP \fB-C\fR -This flag is only allowed in combination with \fB-B\fR (bcrypt encryption)\&. It sets the computing time used for the bcrypt algorithm (higher is more secure but slower, default: 5, valid: 4 to 31)\&. +This flag is only allowed in combination with \fB-B\fR (bcrypt hashing)\&. It sets the computing time used for the bcrypt algorithm (higher is more secure but slower, default: 5, valid: 4 to 31)\&. .TP \fB-d\fR -Use \fBcrypt()\fR encryption for passwords\&. The default on all platforms but Windows and Netware\&. Though possibly supported by \fBhtdbm\fR on all platforms, it is not supported by the httpd server on Windows and Netware\&. This algorithm is \fBinsecure\fR by today's standards\&. +Use \fBcrypt()\fR hashing for passwords\&. The default on all platforms but Windows and Netware\&. Though possibly supported by \fBhtdbm\fR on all platforms, it is not supported by the httpd server on Windows and Netware\&. This algorithm is \fBinsecure\fR by today's standards\&. .TP \fB-s\fR -Use SHA encryption for passwords\&. Facilitates migration from/to Netscape servers using the LDAP Directory Interchange Format (ldif)\&. This algorithm is \fBinsecure\fR by today's standards\&. +Use SHA hashing for passwords\&. Facilitates migration from/to Netscape servers using the LDAP Directory Interchange Format (ldif)\&. This algorithm is \fBinsecure\fR by today's standards\&. .TP \fB-p\fR Use plaintext passwords\&. Though \fBhtdbm\fR will support creation on all platforms, the httpd daemon will only accept plain text passwords on Windows and Netware\&. @@ -110,7 +110,7 @@ The filename of the DBM format file\&. Usually without the extension \fB\&.db\fR The username to create or update in \fIpasswdfile\fR\&. If \fIusername\fR does not exist in this file, an entry is added\&. If it does exist, the password is changed\&. .TP \fB\fIpassword\fR\fR -The plaintext password to be encrypted and stored in the DBM file\&. Used only with the \fB-b\fR flag\&. +The plaintext password to be hashed and stored in the DBM file\&. Used only with the \fB-b\fR flag\&. .TP \fB-T\fIDBTYPE\fR\fR Type of DBM file (SDBM, GDBM, DB, or "default")\&. @@ -137,7 +137,7 @@ One can usually use the \fBfile\fR program supplied with most Unix systems to se .fi .PP -Adds or modifies the password for user \fBjsmith\fR\&. The user is prompted for the password\&. If executed on a Windows system, the password will be encrypted using the modified Apache MD5 algorithm; otherwise, the system's \fBcrypt()\fR routine will be used\&. If the file does not exist, \fBhtdbm\fR will do nothing except return an error\&. +Adds or modifies the password for user \fBjsmith\fR\&. The user is prompted for the password\&. If executed on a Windows system, the password will be hashed using the modified Apache MD5 algorithm; otherwise, the system's \fBcrypt()\fR routine will be used\&. If the file does not exist, \fBhtdbm\fR will do nothing except return an error\&. .nf @@ -163,13 +163,13 @@ Encrypts the password from the command line (\fBPwd4Steve\fR) using the MD5 algo Web password files such as those managed by \fBhtdbm\fR should \fInot\fR be within the Web server's URI space -- that is, they should not be fetchable with a browser\&. .PP -The use of the \fB-b\fR option is discouraged, since when it is used the unencrypted password appears on the command line\&. +The use of the \fB-b\fR option is discouraged, since when it is used the plaintext password appears on the command line\&. .PP When using the \fBcrypt()\fR algorithm, note that only the first 8 characters of the password are used to form the password\&. If the supplied password is longer, the extra characters will be silently discarded\&. .PP -The SHA encryption format does not use salting: for a given password, there is only one encrypted representation\&. The \fBcrypt()\fR and MD5 formats permute the representation by prepending a random salt string, to make dictionary attacks against the passwords more difficult\&. +The SHA hashing option does not use salting: for a given password, there is only one hashed representation\&. The \fBcrypt()\fR and MD5 formats permute the representation by prepending a random salt string, to make dictionary attacks against the passwords more difficult\&. .PP The SHA and \fBcrypt()\fR formats are insecure by today's standards\&. @@ -177,10 +177,10 @@ The SHA and \fBcrypt()\fR formats are insecure by today's standards\&. .SH "RESTRICTIONS" .PP -On the Windows platform, passwords encrypted with \fBhtdbm\fR are limited to no more than \fB255\fR characters in length\&. Longer passwords will be truncated to 255 characters\&. +On the Windows platform, passwords hashed with \fBhtdbm\fR are limited to no more than \fB255\fR characters in length\&. Longer passwords will be truncated to 255 characters\&. .PP -The MD5 algorithm used by \fBhtdbm\fR is specific to the Apache software; passwords encrypted using it will not be usable with other Web servers\&. +The MD5 algorithm used by \fBhtdbm\fR is specific to the Apache software; passwords hashed using it will not be usable with other Web servers\&. .PP Usernames are limited to \fB255\fR bytes and may not include the character \fB:\fR\&. diff --git a/docs/man/htpasswd.1 b/docs/man/htpasswd.1 index 8f00e4e..776c051 100644 --- a/docs/man/htpasswd.1 +++ b/docs/man/htpasswd.1 @@ -19,7 +19,7 @@ .el .ne 3 .IP "\\$1" \\$2 .. -.TH "HTPASSWD" 1 "2018-07-06" "Apache HTTP Server" "htpasswd" +.TH "HTPASSWD" 1 "2024-04-02" "Apache HTTP Server" "htpasswd" .SH NAME htpasswd \- Manage user files for basic authentication @@ -27,16 +27,16 @@ htpasswd \- Manage user files for basic authentication .SH "SYNOPSIS" .PP -\fB\fBhtpasswd\fR [ -\fBc\fR ] [ -\fBi\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] [ -\fBD\fR ] [ -\fBv\fR ] \fIpasswdfile\fR \fIusername\fR\fR +\fB\fBhtpasswd\fR [ -\fBc\fR ] [ -\fBi\fR ] [ -\fBm\fR | -\fBB\fR | -\fB2\fR | -\fB5\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBr\fR \fIrounds\fR ] [ -\fBC\fR \fIcost\fR ] [ -\fBD\fR ] [ -\fBv\fR ] \fIpasswdfile\fR \fIusername\fR\fR .PP -\fB\fBhtpasswd\fR -\fBb\fR [ -\fBc\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] [ -\fBD\fR ] [ -\fBv\fR ] \fIpasswdfile\fR \fIusername\fR \fIpassword\fR\fR +\fB\fBhtpasswd\fR -\fBb\fR [ -\fBc\fR ] [ -\fBm\fR | -\fBB\fR | -\fB2\fR | -\fB5\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBr\fR \fIrounds\fR ] [ -\fBC\fR \fIcost\fR ] [ -\fBD\fR ] [ -\fBv\fR ] \fIpasswdfile\fR \fIusername\fR \fIpassword\fR\fR .PP -\fB\fBhtpasswd\fR -\fBn\fR [ -\fBi\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] \fIusername\fR\fR +\fB\fBhtpasswd\fR -\fBn\fR [ -\fBi\fR ] [ -\fBm\fR | -\fBB\fR | -\fB2\fR | -\fB5\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBr\fR \fIrounds\fR ] [ -\fBC\fR \fIcost\fR ] \fIusername\fR\fR .PP -\fB\fBhtpasswd\fR -\fBnb\fR [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] \fIusername\fR \fIpassword\fR\fR +\fB\fBhtpasswd\fR -\fBnb\fR [ -\fBm\fR | -\fBB\fR | -\fB2\fR | -\fB5\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBr\fR \fIrounds\fR ] [ -\fBC\fR \fIcost\fR ] \fIusername\fR \fIpassword\fR\fR .SH "SUMMARY" @@ -45,10 +45,10 @@ htpasswd \- Manage user files for basic authentication \fBhtpasswd\fR is used to create and update the flat-files used to store usernames and password for basic authentication of HTTP users\&. If \fBhtpasswd\fR cannot access a file, such as not being able to write to the output file or not being able to read the file in order to update it, it returns an error status and makes no changes\&. .PP -Resources available from the Apache HTTP server can be restricted to just the users listed in the files created by \fBhtpasswd\fR\&. This program can only manage usernames and passwords stored in a flat-file\&. It can encrypt and display password information for use in other types of data stores, though\&. To use a DBM database see dbmmanage or htdbm\&. +Resources available from the Apache HTTP server can be restricted to just the users listed in the files created by \fBhtpasswd\fR\&. This program can only manage usernames and passwords stored in a flat-file\&. It can hash and display password information for use in other types of data stores, though\&. To use a DBM database see dbmmanage or htdbm\&. .PP -\fBhtpasswd\fR encrypts passwords using either bcrypt, a version of MD5 modified for Apache, SHA1, or the system's \fBcrypt()\fR routine\&. Files managed by \fBhtpasswd\fR may contain a mixture of different encoding types of passwords; some user records may have bcrypt or MD5-encrypted passwords while others in the same file may have passwords encrypted with \fBcrypt()\fR\&. +\fBhtpasswd\fR hashes passwords using either bcrypt, a version of MD5 modified for Apache, SHA-1, or the system's \fBcrypt()\fR routine\&. SHA-2-based hashes (SHA-256 and SHA-512) are supported for \fBcrypt()\fR\&. Files managed by \fBhtpasswd\fR may contain a mixture of different encoding types of passwords; some user records may have bcrypt or MD5-hashed passwords while others in the same file may have passwords hashed with \fBcrypt()\fR\&. .PP This manual page only lists the command line arguments\&. For details of the directives necessary to configure user authentication in httpd see the Apache manual, which is part of the Apache distribution or can be found at http://httpd\&.apache\&.org/\&. @@ -71,19 +71,28 @@ Create the \fIpasswdfile\fR\&. If \fIpasswdfile\fR already exists, it is rewritt Display the results on standard output rather than updating a file\&. This is useful for generating password records acceptable to Apache for inclusion in non-text data stores\&. This option changes the syntax of the command line, since the \fIpasswdfile\fR argument (usually the first one) is omitted\&. It cannot be combined with the \fB-c\fR option\&. .TP \fB-m\fR -Use MD5 encryption for passwords\&. This is the default (since version 2\&.2\&.18)\&. +Use MD5 hashing for passwords\&. This is the default (since version 2\&.2\&.18)\&. +.TP +\fB-2\fR +Use SHA-256 \fBcrypt()\fR based hashes for passwords\&. This is supported on most Unix platforms\&. +.TP +\fB-5\fR +Use SHA-512 \fBcrypt()\fR based hashes for passwords\&. This is supported on most Unix platforms\&. .TP \fB-B\fR -Use bcrypt encryption for passwords\&. This is currently considered to be very secure\&. +Use bcrypt hashing for passwords\&. This is currently considered to be very secure\&. .TP \fB-C\fR -This flag is only allowed in combination with \fB-B\fR (bcrypt encryption)\&. It sets the computing time used for the bcrypt algorithm (higher is more secure but slower, default: 5, valid: 4 to 31)\&. +This flag is only allowed in combination with \fB-B\fR (bcrypt hashing)\&. It sets the computing time used for the bcrypt algorithm (higher is more secure but slower, default: 5, valid: 4 to 17)\&. +.TP +\fB-r\fR +This flag is only allowed in combination with \fB-2\fR or \fB-5\fR\&. It sets the number of hash rounds used for the SHA-2 algorithms (higher is more secure but slower; the default is 5,000)\&. .TP \fB-d\fR -Use \fBcrypt()\fR encryption for passwords\&. This is not supported by the httpd server on Windows and Netware\&. This algorithm limits the password length to 8 characters\&. This algorithm is \fBinsecure\fR by today's standards\&. It used to be the default algorithm until version 2\&.2\&.17\&. +Use \fBcrypt()\fR hashing for passwords\&. This is not supported by the httpd server on Windows and Netware\&. This algorithm limits the password length to 8 characters\&. This algorithm is \fBinsecure\fR by today's standards\&. It used to be the default algorithm until version 2\&.2\&.17\&. .TP \fB-s\fR -Use SHA encryption for passwords\&. Facilitates migration from/to Netscape servers using the LDAP Directory Interchange Format (ldif)\&. This algorithm is \fBinsecure\fR by today's standards\&. +Use SHA-1 (160-bit) hashing for passwords\&. Facilitates migration from/to Netscape servers using the LDAP Directory Interchange Format (ldif)\&. This algorithm is \fBinsecure\fR by today's standards\&. .TP \fB-p\fR Use plaintext passwords\&. Though \fBhtpasswd\fR will support creation on all platforms, the httpd daemon will only accept plain text passwords on Windows and Netware\&. @@ -101,7 +110,7 @@ Name of the file to contain the user name and password\&. If \fB-c\fR is given, The username to create or update in \fIpasswdfile\fR\&. If \fIusername\fR does not exist in this file, an entry is added\&. If it does exist, the password is changed\&. .TP \fB\fIpassword\fR\fR -The plaintext password to be encrypted and stored in the file\&. Only used with the \fB-b\fR flag\&. +The plaintext password to be hashed and stored in the file\&. Only used with the \fB-b\fR flag\&. .SH "EXIT STATUS" @@ -117,7 +126,7 @@ The plaintext password to be encrypted and stored in the file\&. Only used with .fi .PP -Adds or modifies the password for user \fBjsmith\fR\&. The user is prompted for the password\&. The password will be encrypted using the modified Apache MD5 algorithm\&. If the file does not exist, \fBhtpasswd\fR will do nothing except return an error\&. +Adds or modifies the password for user \fBjsmith\fR\&. The user is prompted for the password\&. The password will be hashed using the modified Apache MD5 algorithm\&. If the file does not exist, \fBhtpasswd\fR will do nothing except return an error\&. .nf @@ -146,25 +155,31 @@ Web password files such as those managed by \fBhtpasswd\fR should \fInot\fR be w This program is not safe as a setuid executable\&. Do \fInot\fR make it setuid\&. .PP -The use of the \fB-b\fR option is discouraged, since when it is used the unencrypted password appears on the command line\&. +The use of the \fB-b\fR option is discouraged, since when it is used the plaintext password appears on the command line\&. .PP When using the \fBcrypt()\fR algorithm, note that only the first 8 characters of the password are used to form the password\&. If the supplied password is longer, the extra characters will be silently discarded\&. .PP -The SHA encryption format does not use salting: for a given password, there is only one encrypted representation\&. The \fBcrypt()\fR and MD5 formats permute the representation by prepending a random salt string, to make dictionary attacks against the passwords more difficult\&. +The SHA-1 hashing format does not use salting: for a given password, there is only one hashed representation\&. The \fBcrypt()\fR and MD5 formats permute the representation by prepending a random salt string, to make dictionary attacks against the passwords more difficult\&. .PP -The SHA and \fBcrypt()\fR formats are insecure by today's standards\&. +The SHA-1 and \fBcrypt()\fR formats are insecure by today's standards\&. + +.PP +The SHA-2-based \fBcrypt()\fR formats (SHA-256 and SHA-512) are supported on most modern Unix systems, and follow the specification at https://www\&.akkadia\&.org/drepper/SHA-crypt\&.txt\&. .SH "RESTRICTIONS" .PP -On the Windows platform, passwords encrypted with \fBhtpasswd\fR are limited to no more than \fB255\fR characters in length\&. Longer passwords will be truncated to 255 characters\&. +On the Windows platform, passwords hashed with \fBhtpasswd\fR are limited to no more than \fB255\fR characters in length\&. Longer passwords will be truncated to 255 characters\&. .PP -The MD5 algorithm used by \fBhtpasswd\fR is specific to the Apache software; passwords encrypted using it will not be usable with other Web servers\&. +The MD5 algorithm used by \fBhtpasswd\fR is specific to the Apache software; passwords hashed using it will not be usable with other Web servers\&. .PP Usernames are limited to \fB255\fR bytes and may not include the character \fB:\fR\&. +.PP +The cost of computing a bcrypt password hash value increases with the number of rounds specified by the \fB-C\fR option\&. The \fBapr-util\fR library enforces a maximum number of rounds of 17 in version \fB1\&.6\&.0\fR and later\&. + diff --git a/docs/man/httxt2dbm.1 b/docs/man/httxt2dbm.1 index 9d6fb99..2a06b0c 100644 --- a/docs/man/httxt2dbm.1 +++ b/docs/man/httxt2dbm.1 @@ -19,7 +19,7 @@ .el .ne 3 .IP "\\$1" \\$2 .. -.TH "HTTXT2DBM" 1 "2018-07-06" "Apache HTTP Server" "httxt2dbm" +.TH "HTTXT2DBM" 1 "2019-11-13" "Apache HTTP Server" "httxt2dbm" .SH NAME httxt2dbm \- Generate dbm files for use with RewriteMap @@ -50,7 +50,7 @@ More verbose output Specify the DBM type to be used for the output\&. If not specified, will use the APR Default\&. Available types are: \fBGDBM\fR for GDBM files, \fBSDBM\fR for SDBM files, \fBDB\fR for berkeley DB files, \fBNDBM\fR for NDBM files, \fBdefault\fR for the default DBM type\&. .TP \fB-i \fISOURCE_TXT\fR\fR -Input file from which the dbm is to be created\&. The file should be formated with one record per line, of the form: \fBkey value\fR\&. See the documentation for RewriteMap for further details of this file's format and meaning\&. +Input file from which the dbm is to be created\&. The file should be formatted with one record per line, of the form: \fBkey value\fR\&. See the documentation for RewriteMap for further details of this file's format and meaning\&. .TP \fB-o \fIOUTPUT_DBM\fR\fR Name of the output dbm files\&. diff --git a/docs/man/rotatelogs.8 b/docs/man/rotatelogs.8 index 6baaf14..29c35da 100644 --- a/docs/man/rotatelogs.8 +++ b/docs/man/rotatelogs.8 @@ -19,7 +19,7 @@ .el .ne 3 .IP "\\$1" \\$2 .. -.TH "ROTATELOGS" 8 "2018-07-06" "Apache HTTP Server" "rotatelogs" +.TH "ROTATELOGS" 8 "2023-03-05" "Apache HTTP Server" "rotatelogs" .SH NAME rotatelogs \- Piped logging program to rotate Apache logs @@ -44,7 +44,7 @@ rotatelogs \- Piped logging program to rotate Apache logs Causes the use of local time rather than GMT as the base for the interval or for \fBstrftime(3)\fR formatting with size-based rotation\&. .TP \fB-L\fR \fIlinkname\fR -Causes a hard link to be made from the current logfile to the specified link name\&. This can be used to watch the log continuously across rotations using a command like \fBtail -F linkname\fR\&. +.PP Causes a hard link to be made from the current logfile to the specified link name\&. This can be used to watch the log continuously across rotations using a command like \fBtail -F linkname\fR\&. .PP If the linkname is not an absolute path, it is relative to \fBrotatelogs\fR' working directory, which is the ServerRoot when \fBrotatelogs\fR is run by the server\&. .TP \fB-p\fR \fIprogram\fR If given, \fBrotatelogs\fR will execute the specified program every time a new log file is opened\&. The filename of the newly opened file is passed as the first argument to the program\&. If executing after a rotation, the old log file is passed as the second argument\&. \fBrotatelogs\fR does not wait for the specified program to terminate before continuing to operate, and will not log any error code returned on termination\&. The spawned program uses the same stdin, stdout, and stderr as rotatelogs itself, and also inherits the environment\&. @@ -58,6 +58,9 @@ Creates the parent directories of the path that the log file will be placed in i \fB-t\fR Causes the logfile to be truncated instead of rotated\&. This is useful when a log is processed in real time by a command like tail, and there is no need for archived data\&. No suffix will be added to the filename, however format strings containing '%' characters will be respected\&. .TP +\fB-T\fR +Causes all but the initial logfile to be truncated when opened\&. This is useful when the format string contains something that will loop around, such as the day of the month\&. Available in 2\&.4\&.56 and later\&. +.TP \fB-v\fR Produce verbose output on STDERR\&. The output contains the result of the configuration parsing, and all file open and close actions\&. .TP @@ -68,10 +71,10 @@ Echo logs through to stdout\&. Useful when logs need to be further processed in Create log file for each interval, even if empty\&. .TP \fB-n \fInumber-of-files\fR\fR -Use a circular list of filenames without timestamps\&. With -n 3, the series of log files opened would be "logfile", "logfile\&.1", "logfile\&.2", then overwriting "logfile"\&. Available in 2\&.4\&.5 and later\&. +Use a circular list of filenames without timestamps\&. This option overwrites log files at startup and during rotation\&. With -n 3, the series of log files opened would be "logfile", "logfile\&.1", "logfile\&.2", then overwriting "logfile"\&. When this program first opens "logfile", the file will only be truncated if \fB-t\fR is also provided\&. Every subsequent rotation will always begin with truncation of the target file\&. For size based rotation without \fB-t\fR and existing log files in place, this option may result in unintuitive behavior such as initial log entries being sent to "logfile\&.1", and entries in "logfile\&.1" not being preserved even if later "logfile\&.n" have not yet been used\&. Available in 2\&.4\&.5 and later\&. .TP \fB\fIlogfile\fR\fR -.PP The path plus basename of the logfile\&. If \fIlogfile\fR includes any '%' characters, it is treated as a format string for \fBstrftime(3)\fR\&. Otherwise, the suffix \fI\&.nnnnnnnnnn\fR is automatically added and is the time in seconds (unless the -t option is used)\&. Both formats compute the start time from the beginning of the current period\&. For example, if a rotation time of 86400 is specified, the hour, minute, and second fields created from the \fBstrftime(3)\fR format will all be zero, referring to the beginning of the current 24-hour period (midnight)\&. .PP When using \fBstrftime(3)\fR filename formatting, be sure the log file format has enough granularity to produce a different file name each time the logs are rotated\&. Otherwise rotation will overwrite the same file instead of starting a new one\&. For example, if \fIlogfile\fR was \fB/var/log/errorlog\&.%Y-%m-%d\fR with log rotation at 5 megabytes, but 5 megabytes was reached twice in the same day, the same log file name would be produced and log rotation would keep writing to the same file\&. +.PP The path plus basename of the logfile\&. If \fIlogfile\fR includes any '%' characters, it is treated as a format string for \fBstrftime(3)\fR\&. Otherwise, the suffix \fI\&.nnnnnnnnnn\fR is automatically added and is the time in seconds (unless the -t option is used)\&. Both formats compute the start time from the beginning of the current period\&. For example, if a rotation time of 86400 is specified, the hour, minute, and second fields created from the \fBstrftime(3)\fR format will all be zero, referring to the beginning of the current 24-hour period (midnight)\&. .PP When using \fBstrftime(3)\fR filename formatting, be sure the log file format has enough granularity to produce a different file name each time the logs are rotated\&. Otherwise rotation will overwrite the same file instead of starting a new one\&. For example, if \fIlogfile\fR was \fB/var/log/errorlog\&.%Y-%m-%d\fR with log rotation at 5 megabytes, but 5 megabytes was reached twice in the same day, the same log file name would be produced and log rotation would keep writing to the same file\&. .PP If the logfile is not an absolute path, it is relative to \fBrotatelogs\fR' working directory, which is the ServerRoot when \fBrotatelogs\fR is run by the server\&. .TP \fB\fIrotationtime\fR\fR The time between log file rotations in seconds\&. The rotation occurs at the beginning of this interval\&. For example, if the rotation time is 3600, the log file will be rotated at the beginning of every hour; if the rotation time is 86400, the log file will be rotated every night at midnight\&. (If no data is logged during an interval, no file will be created\&.) @@ -85,49 +88,58 @@ The number of minutes offset from UTC\&. If omitted, zero is assumed and UTC is .SH "EXAMPLES" .nf - + CustomLog "|bin/rotatelogs /var/log/logfile 86400" common - + .fi .PP This creates the files /var/log/logfile\&.nnnn where nnnn is the system time at which the log nominally starts (this time will always be a multiple of the rotation time, so you can synchronize cron scripts with it)\&. At the end of each rotation time (here after 24 hours) a new log is started\&. .nf - + CustomLog "|bin/rotatelogs -l /var/log/logfile\&.%Y\&.%m\&.%d 86400" common - + .fi .PP This creates the files /var/log/logfile\&.yyyy\&.mm\&.dd where yyyy is the year, mm is the month, and dd is the day of the month\&. Logging will switch to a new file every day at midnight, local time\&. .nf - + CustomLog "|bin/rotatelogs /var/log/logfile 5M" common - + .fi .PP This configuration will rotate the logfile whenever it reaches a size of 5 megabytes\&. .nf - + ErrorLog "|bin/rotatelogs /var/log/errorlog\&.%Y-%m-%d-%H_%M_%S 5M" - + .fi .PP This configuration will rotate the error logfile whenever it reaches a size of 5 megabytes, and the suffix to the logfile name will be created of the form \fBerrorlog\&.YYYY-mm-dd-HH_MM_SS\fR\&. .nf - + CustomLog "|bin/rotatelogs -t /var/log/logfile 86400" common - + +.fi + +.PP +This creates the file \fB/var/log/logfile\fR, truncating the file at startup and then truncating the file once per day\&. It is expected in this scenario that a separate process (such as tail) would process the file in real time\&. + +.nf + + CustomLog "|bin/rotatelogs -T /var/log/logfile\&.%d 86400" common + .fi .PP -This creates the file /var/log/logfile, truncating the file at startup and then truncating the file once per day\&. It is expected in this scenario that a separate process (such as tail) would process the file in real time\&. +If the server is started (or restarted) on the first of the month, this appends to \fB/var/log/logfile\&.01\fR\&. When a log entry is written on the second of the month, \fB/var/log/logfile\&.02\fR is truncated and new entries will be added to the top\&. This example keeps approximately 1 months worth of logs without external maintenance\&. .SH "PORTABILITY" diff --git a/docs/manual/bind.html b/docs/manual/bind.html index 99dd106..150fa61 100644 --- a/docs/manual/bind.html +++ b/docs/manual/bind.html @@ -6,7 +6,7 @@ Content-type: text/html; charset=ISO-8859-1 URI: bind.html.en Content-Language: en -Content-type: text/html; charset=ISO-8859-1 +Content-type: text/html; charset=UTF-8 URI: bind.html.fr.utf8 Content-Language: fr diff --git a/docs/manual/bind.html.de b/docs/manual/bind.html.de index f2108ed..5edd203 100644 --- a/docs/manual/bind.html.de +++ b/docs/manual/bind.html.de @@ -23,39 +23,39 @@

An Adressen und Ports binden

-

Verfügbare Sprachen:  de  | +

Verfügbare Sprachen:  de  |  en  | - fr  | + fr  |  ja  |  ko  | - tr 

+ tr 

-
Diese Übersetzung ist möglicherweise - nicht mehr aktuell. Bitte prüfen Sie die englische Version auf - die neuesten Änderungen.
+
Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.

Konfiguration der vom Apache HTTP Server verwendeten Adressen und Ports.

-
Support Apache!
  • Überblick
  • +
    top
    -

    Überblick

    +

    Überblick

    Beim Start bindet sich der httpd an bestimmte Adressen und Ports der lokalen Maschine und wartet auf eingehende Anfragen. - Standardmäßig lauscht er an allen Adressen des Systems. + Standardmäßig lauscht er an allen Adressen des Systems. Es kann jeodch notwendig sein, ihm mit zuteilen, nur an bestimmten - Ports zu lauschen oder nur an ausgewählten Adressen, bzw. einer - Kombination aus beidem. Dies wird oft mit der Funktionalität virtueller Hosts kombiniert, die bestimmt, wie + Ports zu lauschen oder nur an ausgewählten Adressen, bzw. einer + Kombination aus beidem. Dies wird oft mit der Funktionalität virtueller Hosts kombiniert, die bestimmt, wie der httpd auf verschiedene IP-Adressen, Hostnamen und Ports reagiert.

    @@ -66,10 +66,10 @@ Portnummer angegeben wird, dann lauscht der Server auf allen Netzwerkinterfaces an dem angegebenen Port. Ist auch eine IP-Adresse angegeben, dann lauscht der Server an der angegebenen Schnittstelle - auf dem angegebenen Port. Es können mehrere Listen-Anweisungen verwendet werden, + auf dem angegebenen Port. Es können mehrere Listen-Anweisungen verwendet werden, um eine Reihe von Adressen und Ports anzugeben, an denen gelauscht werden soll. Der Server wird dann auf Anfragen an jeder der - abgehörten Adressen und Ports antworten.

    + abgehörten Adressen und Ports antworten.

    Um beispielsweise den Server zu veranlassen, auf allen Netzwerkinterfaces sowohl an Port 80, als auch an Port 8000 @@ -87,14 +87,14 @@ Listen 8000 Listen 192.0.2.5:8000

    -

    IPv6-Adressen müssen wie im folgenden Beispiel in eckigen +

    IPv6-Adressen müssen wie im folgenden Beispiel in eckigen Klammern angegeben werden:

    Listen [2001:db8::a00:20ff:fea7:ccea]:80
    -

    Sich überlappende Listen-Direktiven generieren einen - fatalen Fehler, der verhindert, dass der Server hochfährt.

    +

    Sich überlappende Listen-Direktiven generieren einen + fatalen Fehler, der verhindert, dass der Server hochfährt.

    (48)Address already in use: make_sock: could not bind to address [::]:80 @@ -109,66 +109,66 @@ Listen 192.0.2.5:8000

    Eine wachsende Anzahl von Plattformen implementiert IPv6. Die - APR unterstützt IPv6 auf den meisten - dieser Plattformen und ermöglicht dem httpd, IPv6-Sockets zu - verwenden und über IPv6 gesendete Anfragen zu behandeln.

    + APR unterstützt IPv6 auf den meisten + dieser Plattformen und ermöglicht dem httpd, IPv6-Sockets zu + verwenden und über IPv6 gesendete Anfragen zu behandeln.

    -

    Für httpd-Administratoren kommt erschwerend die Frage hinzu, +

    Für httpd-Administratoren kommt erschwerend die Frage hinzu, ob IPv6-Sockets sowohl IPv4- als auch IPv6-Verbindungen handhaben - können. Zum Betrieb von IPv4-Verbindungen an IPv6-Sockets - werden auf IPv6 abgebildete IPv4-Adressen (Anm.d.Ü.: so genannete + können. Zum Betrieb von IPv4-Verbindungen an IPv6-Sockets + werden auf IPv6 abgebildete IPv4-Adressen (Anm.d.Ü.: so genannete IPv4-gemappte IPv6-Adressen) verwendet, welche - standardmäßig auf den meisten Plattformen erlaubt sind. + standardmäßig auf den meisten Plattformen erlaubt sind. Unter FreeBSD, NetBSD und OpenBSD jedoch sind sie - standardmäßig deaktiviert, um den Systemgrundsätzen + standardmäßig deaktiviert, um den Systemgrundsätzen dieser Plattformen zu entsprechen. Auf Systemen, wo dies - standardmäßig dekativiert ist, kann dieses Verhalten mit - einem speziellen configure-Parameter für den - httpd geändert werden.

    + standardmäßig dekativiert ist, kann dieses Verhalten mit + einem speziellen configure-Parameter für den + httpd geändert werden.

    Auf der anderen Seite ist die Verwendung von gemappten Adressen bei einigen Plattformen wie Linux und True64 der einzige Weg, sowohl IPv4 wie auch IPv6 zu - verwenden. Wenn Sie möchten, dass der httpd IPv4- + verwenden. Wenn Sie möchten, dass der httpd IPv4- und IPv6-Verbindungen mit einem Minimum an Sockets behandelt, was die Verwendung von IPv4-gemappten IPv6-Adressen erfordert, dann - müssen Sie die configure-Option + müssen Sie die configure-Option --enable-v4-mapped angeben.

    --enable-v4-mapped ist die Voreinstellung auf allen - Plattformen außer FreeBSD, NetBSD und OpenBSD, so dass Ihr - httpd wahrscheinlich so übersetzt wurde.

    + Plattformen außer FreeBSD, NetBSD und OpenBSD, so dass Ihr + httpd wahrscheinlich so übersetzt wurde.

    Geben Sie wie in dem folgenden Beispiel bei allen Listen-Anweisungen eine IPv4-Adresse - an, wenn Sie möchten, dass Ihr httpd lediglich IPv4-Adressen - behandelt, unabhängig davon, was Ihre Plattform und die APR - unterstützen:

    + an, wenn Sie möchten, dass Ihr httpd lediglich IPv4-Adressen + behandelt, unabhängig davon, was Ihre Plattform und die APR + unterstützen:

    Listen 0.0.0.0:80
     Listen 192.0.2.1:80
    -

    Wenn Sie möchten, dass der httpd IPv4- und IPv6-Verbindungen +

    Wenn Sie möchten, dass der httpd IPv4- und IPv6-Verbindungen an separaten Sockets behandelt (d.h. IPv4-gemappte Adressen - deaktiviert werden sollen) und Ihre Plattform es unterstützt, - dann müssen Sie die configure-Option + deaktiviert werden sollen) und Ihre Plattform es unterstützt, + dann müssen Sie die configure-Option --disable-v4-mapped angeben. Unter FreeBSD, NetBSD und OpenBSD ist --disable-v4-mapped voreingestellt.

    top

    Angabe des Protokolls bei Listen

    -

    Das optionale zweite Protokoll-Argument von Listen ist für die meisten +

    Das optionale zweite Protokoll-Argument von Listen ist für die meisten Konfigurationen gar nicht erforderlich. Wenn nicht angegeben, sind - https für Port 443 und http für + https für Port 443 und http für alle anderen Ports die Voreinstellungen. Die Protokollangabe wird sowohl dazu verwendet, herauszufinden, welches Modul Anfragen verarbeiten soll, als auch, um protokollspezifische Optimierungen bei der AcceptFilter-Direktive zu aktivieren.

    -

    Sie müssen das Protokoll nur angeben, wenn Sie - ungewöhnliche Ports benutzen, beispielsweise https +

    Sie müssen das Protokoll nur angeben, wenn Sie + ungewöhnliche Ports benutzen, beispielsweise https auf Port 8443:

    Listen 192.170.2.1:8443 https
    @@ -182,27 +182,27 @@ Listen 192.0.2.1:80 implementiert keine virtuellen Hosts - sie teilt dem Hauptserver lediglich mit, an welchen Adressen und Ports er zu lauschen hat. Werden keine <VirtualHost>-Container verwendet, dann - verhält sich der Server bei allen angenommenen Anfragen gleich. - <VirtualHost>-Abschnitte können jedoch - dazu verwendet werden, ein unterschiedliches Verhalten für eine + verhält sich der Server bei allen angenommenen Anfragen gleich. + <VirtualHost>-Abschnitte können jedoch + dazu verwendet werden, ein unterschiedliches Verhalten für eine oder mehrere Adressen und Ports festzulegen. Um einen virtuellen - Host einzurichten, muss dem Server zunächst mitgeteilt werden, + Host einzurichten, muss dem Server zunächst mitgeteilt werden, an den betreffenden Adressen oder Ports zu lauschen. Dann sollte ein - <VirtualHost>-Abschnitt für die + <VirtualHost>-Abschnitt für die angebene Adresse und den angegebenen Port erstellt werden, um das Verhalten dieses virtuellen Hosts festzulegen. Beachten Sie bitte, dass auf einen <VirtualHost> nicht zugegriffen werden - kann, wenn er für eine Adresse und einen Port eingerichtet + kann, wenn er für eine Adresse und einen Port eingerichtet wurde, an dem der Server nicht lauscht.

    -

    Verfügbare Sprachen:  de  | +

    Verfügbare Sprachen:  de  |  en  | - fr  | + fr  |  ja  |  ko  | - tr 

    -
    top

    Kommentare

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + tr 

    +
    top

    Kommentare

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+ + + +
<-
+

Ðачало работы

+
+

Available Languages:  en  | + fr  | + ru 

+
+ +

ЕÑли вы абÑолютный новичок в работе Ñ HTTP-Ñервером Apache или +в запуÑке веб-Ñайтов вообще, вы можете не знать Ñ Ñ‡ÐµÐ³Ð¾ начать или какие +вопроÑÑ‹ задавать. Этот документ познакомит Ð²Ð°Ñ Ñ Ð¾Ñновами.

+
+ +
top
+
+

Клиенты, Ñерверы и URL-адреÑа

+ + +

ÐдреÑа в Интернете запиÑываютÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ URL — Uniform Resource +Locator (унифицированный указатель реÑурÑа), который указывает на +иÑпользуемый протокол (например, http), Ð¸Ð¼Ñ Ñервера +(например, www.apache.org), URL-путь (например, +/docs/current/getting-started.html) и, возможно, +Ñтроку запроÑа (например, ?arg=value), иÑпользуемую Ð´Ð»Ñ +передачи Ñерверу дополнительных аргументов.

+ +

Клиент (например, веб-браузер) подключаетÑÑ Ðº Ñерверу +(например, вашему HTTP-Ñерверу Apache), иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ протокол, +и отправлÑет Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° реÑурÑ, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ URL-путь.

+ +

URL-путь может обозначать множеÑтво вещей на Ñервере. Это может быть +файл (как getting-started.html), обработчик +(как server-status) или файл какой-то +программы (как index.php). Мы раÑÑмотрим Ñто подробней ниже, +в разделе Контент веб-Ñайта.

+ +

Сервер отправлÑет ответ, Ñодержащий код ÑоÑтоÑÐ½Ð¸Ñ Ð¸, +опционально, тело ответа. Код ÑоÑтоÑÐ½Ð¸Ñ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚, был ли Ð·Ð°Ð¿Ñ€Ð¾Ñ ÑƒÑпешно +обработан, а еÑли нет, то ÐºÐ°ÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° произошла. +Это говорит клиенту, что он должен делать Ñ Ð¾Ñ‚Ð²ÐµÑ‚Ð¾Ð¼. +Ð’Ñ‹ можете прочитать о возможных кодах ответа на + +Вики HTTP-Ñервера Apache.

+ +

Детали транзакции и уÑÐ»Ð¾Ð²Ð¸Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¸ запиÑываютÑÑ +в файлы журналов. Это опиÑываетÑÑ Ð±Ð¾Ð»ÐµÐµ подробно ниже, в разделе +Файлы журналов и уÑтранение неполадок.

+ +
top
+
+

Имена хоÑтов и DNS

+ + +

Ð”Ð»Ñ Ñ‚Ð¾Ð³Ð¾ чтобы ÑоединитьÑÑ Ñ Ñервером, клиент Ñначала должен преобразовать +Ð¸Ð¼Ñ Ñервера в IP-Ð°Ð´Ñ€ÐµÑ â€” меÑто в Интернете, где находитÑÑ Ñервер. +Таким образом, чтобы ваш веб-Ñервер был доÑтупен, необходимо, +чтобы Ð¸Ð¼Ñ Ñервера было в DNS.

+ +

ЕÑли вы не знаете как Ñто Ñделать, вам нужно обратитьÑÑ Ðº Ñетевому +админиÑтратору или поÑтавщику уÑлуг Интернета (провайдеру). +Они могут Ñделать Ñто Ð´Ð»Ñ Ð²Ð°Ñ.

+ +

ÐеÑколько хоÑтов могут указывать на один и тот же IP-адреÑ, +а один физичеÑкий Ñервер может иметь больше одного IP-адреÑа. +Таким образом на одном физичеÑком Ñервере вы можете запуÑтить больше одного +Ñайта Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ оÑобенноÑти: виртуальные хоÑÑ‚Ñ‹.

+ +

ЕÑли вы теÑтируете Ñервер, не имеющий выхода в Интернет, можете помеÑтить +имена хоÑтов в файл hosts Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾ что бы Ð¸Ð¼Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐ°Ð»Ð¾ÑÑŒ локально. +Ðапример, вы можете добавить запиÑÑŒ Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ запроÑов к +www.example.com на локальный компьютер, Ð´Ð»Ñ Ñ‚ÐµÑтированиÑ. +Эта запиÑÑŒ будет выглÑдеть так:

+ +

+127.0.0.1 www.example.com +

+ +

Файл hosts, Ñкорее вÑего, раÑположен в /etc/hosts или +C:\Windows\system32\drivers\etc\hosts.

+ +

Вы можете узнать больше о файле +hosts и больше о +DNS.

+
top
+
+

Файлы конфигурации и директивы

+ + +

HTTP-Ñервер Apache наÑтроен Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ проÑÑ‚Ñ‹Ñ… текÑтовых файлов. +Эти файлы могут раÑполагатьÑÑ Ð² разных меÑтах, в завиÑимоÑти от того как вы +уÑтановили Ñервер. Общие меÑта раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² можно найти в +Вики +HTTP-Ñервера Apache. ЕÑли вы уÑтановили httpd из иÑходного кода, +то раÑположение файлов конфигурации по умолчанию Ñледующее: +/usr/local/apache2/conf. +По умолчанию файл конфигурации называетÑÑ httpd.conf. +Это тоже может варьироватьÑÑ Ð² Ñторонних диÑтрибутивах Ñервера.

+ +

ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñ‡Ð°Ñто разбиваетÑÑ Ð½Ð° неÑколько небольших файлов, Ð´Ð»Ñ +удобÑтва управлениÑ. Эти файлы загружаютÑÑ Ñ‡ÐµÑ€ÐµÐ· директиву +Include. +Имена или раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñтих файлов конфигурации +могут Ñильно отличатьÑÑ Ð¾Ñ‚ одной уÑтановки к другой. +РаÑположите и разделите Ñти файлы наиболее подходÑщим Ð´Ð»Ñ +Ð²Ð°Ñ Ð¾Ð±Ñ€Ð°Ð·Ð¾Ð¼. ЕÑли раÑположение файлов по умолчанию, +не имеет ÑмыÑла Ð´Ð»Ñ Ð²Ð°Ñ, не ÑтеÑнÑйтеÑÑŒ изменить его.

+ +

Сервер наÑтраиваетÑÑ Ð¿ÑƒÑ‚Ñ‘Ð¼ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ +директив конфигурации в Ñтих файлах конфигурации. +Директива — Ñто ключевое Ñлово Ñ Ð¾Ð´Ð½Ð¸Ð¼ или неÑколькими аргументами, +уÑтанавливающими её значение.

+ +

Ðа вопроÑ: «Где Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ пропиÑать Ñту директиву?» – обычно +отвечают, там где Ñ‚Ñ‹ хочешь иÑпользовать её. ЕÑли Ñто Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð°Ñ Ð½Ð°Ñтройка, +она должна раÑполагатьÑÑ Ð² конфигурационном файле вне разделов +<Directory>, +<Location>, +<VirtualHost> или других +разделов. ЕÑли наÑтройка отноÑитÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ к конкретному каталогу, +значит она должна быть внутри Ñекции +<Directory>, +ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¾Ð¿Ð¸Ñывает Ñтот каталог, и так далее. +Смотри документ Разделы конфигурации +Ñ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ñ‹Ð¼ опиÑанием вышеуказанных разделов.

+ +

Ð’ дополнение к оÑновному файлу конфигурации, некоторые директивы могут +раÑполагатьÑÑ Ð² файлах .htaccess, раÑположенных в папках Ñ +контентом. Файлы .htaccess в первую очередь предназначены Ð´Ð»Ñ +людей у которых нет доÑтупа к главному конфигурационному файлу Ñервера. +Ð’Ñ‹ можете узнать больше о файлах .htaccess в инÑтрукции +.htaccess.

+ +
top
+
+

Контент веб-Ñайта

+ + +

Содержимое Ñайта может принимать различные формы, но в широком ÑмыÑле +разделÑетÑÑ Ð½Ð° ÑтатичеÑкий и динамичеÑкий контент.

+ +

СтатичеÑкий контент — Ñто, например, HTML-файлы, файлы изображений, +CSS-файлы и другие файлы, которые проÑто лежат на диÑке. +Директива DocumentRoot указывает +где в вашей файловой ÑиÑтеме, вы должны размеÑтить Ñти файлы. +Эта директива уÑтанавливаетÑÑ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾ или отдельно Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ +виртуального хоÑта. ПоÑмотрите в Ñвоём файле(ах) конфигурации, +чтобы узнать, как именно Ñта директива иÑпользуетÑÑ Ð½Ð° вашем Ñервере.

+ +

Обычно, когда запрашиваетÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³, без ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ файла, то будет +отдан документ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ index.html. Ðапример, еÑли Ð´Ð»Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ñ‹ +DocumentRoot уÑтановлено значение /var/www/html +и приходит Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° Ð°Ð´Ñ€ÐµÑ +http://www.example.com/work/, +то файл раÑположенный по пути +/var/www/html/work/index.html +будет отдан клиенту.

+ +

ДинамичеÑкий контент — Ñто вÑÑ‘ что генерируетÑÑ Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñа и может +изменÑÑ‚ÑŒÑÑ Ð¾Ñ‚ запроÑа к запроÑу. СущеÑтвует множеÑтво ÑпоÑобов ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ +динамичеÑкого контента. Различные обработчики +доÑтупны Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ Ñодержимого. Могут быть напиÑаны Ñпециальные +CGI программы Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ контента на Ñайте.

+ +

Ð”Ð»Ñ Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ ÐºÐ¾Ð´Ð° Ñ Ñ€Ð°Ð·Ð½Ð¾Ð¾Ð±Ñ€Ð°Ð·Ð½Ñ‹Ð¼ функционалом +могут иÑпользоватьÑÑ Ñторонние модули, такие как mod_php. +МножеÑтво Ñторонних приложений, напиÑанных на различных Ñзыках +программированиÑ, и утилит доÑтупны Ð´Ð»Ñ ÑÐºÐ°Ñ‡Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¸ уÑтановки +на ваш HTTP-Ñервер Apache. +Поддержка Ñторонних продуктов выходит за рамки Ñтой документации. +При необходимоÑти вы должны ÑамоÑтоÑтельно найти их документацию +или форумы поддержки, где вы Ñможете получить ответы на Ñвои вопроÑÑ‹.

+
top
+
+

Файлы журналов и уÑтранение неполадок

+ +

Ð”Ð»Ñ Ð²Ð°Ñ, как админиÑтратора HTTP-Ñервера Apache, +Ñамые ценные активы — Ñто файлы журналов (лог-файлы), +в чаÑтноÑти, журнал ошибок. ИÑправление любой проблемы без журнала ошибок +можно Ñравнить Ñ Ð²Ð¾Ð¶Ð´ÐµÐ½Ð¸ÐµÐ¼ Ð°Ð²Ñ‚Ð¾Ð¼Ð¾Ð±Ð¸Ð»Ñ Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼Ð¸ глазами.

+ +

РаÑположение журнала ошибок задаётÑÑ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð¾Ð¹ +ErrorLog, +ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¼Ð¾Ð¶ÐµÑ‚ быть уÑтановлена глобально или Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ виртуального хоÑта. +ЗапиÑи в журнале ошибок раÑÑкажут вам, что и когда пошло не так. +ЗачаÑтую они также Ñмогут подÑказать, как что-то иÑправить. +ÐšÐ°Ð¶Ð´Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в журнале ошибок Ñодержит код ошибки, +по которому вы можете поиÑкать в Интернете более подробное +опиÑание того, как решить проблему. +Ð’Ñ‹ также можете наÑтроить журнал ошибок так, чтобы в него запиÑывалÑÑ +идентификатор журнала, который можно ÑопоÑтавить Ñ Ð·Ð°Ð¿Ð¸ÑÑми в журнале +доÑтупа — Ñто поможет определить, какой Ð·Ð°Ð¿Ñ€Ð¾Ñ ÐºÐ°ÐºÑƒÑŽ ошибку вызвал.

+ +

Больше о логирование вы можете узнать в +документации о журналах.

+
top
+
+

Что дальше?

+ + +

Теперь, когда вы знакомы Ñ Ð¾Ñновами, пора двигатьÑÑ Ð´Ð°Ð»ÑŒÑˆÐµ.

+ +

Этот документ Ñодержит только базовую информацию. +Мы надеемÑÑ, что она поможет вам начать работу, +но еÑÑ‚ÑŒ множеÑтво других вещей, о которых вам, возможно, нужно узнать.

+ + + +
+
+

Available Languages:  en  | + fr  | + ru 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/glossary.html b/docs/manual/glossary.html index 775e56b..9c493ca 100644 --- a/docs/manual/glossary.html +++ b/docs/manual/glossary.html @@ -6,7 +6,7 @@ Content-type: text/html; charset=ISO-8859-1 URI: glossary.html.en Content-Language: en -Content-type: text/html; charset=ISO-8859-1 +Content-type: text/html; charset=UTF-8 URI: glossary.html.es Content-Language: es diff --git a/docs/manual/glossary.html.de b/docs/manual/glossary.html.de index bf21e2e..fed47e7 100644 --- a/docs/manual/glossary.html.de +++ b/docs/manual/glossary.html.de @@ -23,22 +23,22 @@

Glossar

-

Verfügbare Sprachen:  de  | +

Verfügbare Sprachen:  de  |  en  | - es  | - fr  | + es  | + fr  |  ja  |  ko  | - tr 

+ tr 

-
Diese Übersetzung ist möglicherweise - nicht mehr aktuell. Bitte prüfen Sie die englische Version auf - die neuesten Änderungen.
+
Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.
-

Dieses Glossar erläutert einige gebräuchliche Fachbegriffe im +

Dieses Glossar erläutert einige gebräuchliche Fachbegriffe im Zusammenhang mit dem Apache im Speziellen und Web-Diensten im Allgemeinen. Weitere Informationen zum jeweiligen Begriff erreichen Sie - über die Links.

+ über die Links.

top
@@ -46,9 +46,9 @@
Algorithmus
-
Eine eindeutige Formel oder ein Satz von Regeln zur Lösung eines +
Eine eindeutige Formel oder ein Satz von Regeln zur Lösung eines Problems in einer endlichen Anzahl von Schritten. Algorithmen zur - Verschlüsselung werden üblicherweise Chiffre genannt. + Verschlüsselung werden üblicherweise Chiffre genannt.
APache @@ -62,7 +62,7 @@
Apache Portable Runtime (APR)
Eine Menge von Bibliotheken, die viele grundlegende Schnittstellen zwischen dem Server und dem Betriebssystem anbietet. Die APR - wird parallel zum Apache HTTP Server in einem eigenständigen Projekt + wird parallel zum Apache HTTP Server in einem eigenständigen Projekt entwickelt.
Siehe auch: Apache Portable Runtime Project @@ -79,39 +79,39 @@ [səˈtifiˈkeiʃən ɔːθɔriti] (CA) -
(Anm.d.Ü.: die Zertifizierungsstelle) Eine - vertrauenswürdige dritte Partei, deren Zweck es ist, - Zertifikate für Netzwerkeinheiten zu signieren. Andere - Netzwerkeinheiten können die Signatur prüfen, um +
(Anm.d.Ü.: die Zertifizierungsstelle) Eine + vertrauenswürdige dritte Partei, deren Zweck es ist, + Zertifikate für Netzwerkeinheiten zu signieren. Andere + Netzwerkeinheiten können die Signatur prüfen, um sicherzustellen, dass eine CA den Inhaber eines Zertifikats authentifiziert hat.
- Siehe: SSL/TLS-Verschlüsselung + Siehe: SSL/TLS-Verschlüsselung
Certificate Signing Request [səˈtifikit sainiŋ riˈkwest] (CSR)
-
(Anm.d.Ü.: Zertifikats-Signierungsanfrage) Ein unsigniertes +
(Anm.d.Ü.: Zertifikats-Signierungsanfrage) Ein unsigniertes Zertifikat zur Einreichung bei einer Zertifizierungsstelle, welche - es mit dem privaten Schlüssel + es mit dem privaten Schlüssel ihres CA-Zertifikats signiert. Durch die Signatur wird ein CSR zum echten Zertifikat.
- Siehe: SSL/TLS-Verschlüsselung + Siehe: SSL/TLS-Verschlüsselung
Chiffre
Die Chiffre ist ein Algorithmus oder System zur - Datenverschlüsselung. Beispiele sind DES, IDEA, RC4 usw. Im + Datenverschlüsselung. Beispiele sind DES, IDEA, RC4 usw. Im Englischen spricht man von Cipher [ˈsaifə]
- Siehe: SSL/TLS-Verschlüsselung + Siehe: SSL/TLS-Verschlüsselung
Chiffretext
Das Ergebnis, nachdem ein Klartext eine Chiffre durchlaufen hat.
- Siehe: SSL/TLS-Verschlüsselung + Siehe: SSL/TLS-Verschlüsselung
Common @@ -120,8 +120,8 @@ (CGI)
Eine einheitliche Definition einer Schnittstelle zwischen einem Webserver und einem externen Programm, welcher dem externen Programm die - Behandlung von Anfragen ermöglicht. Die Schnittstelle ist - ursprünglich von der NCSA + Behandlung von Anfragen ermöglicht. Die Schnittstelle ist + ursprünglich von der NCSA definiert worden. Es exisitert jedoch auch ein RFC-Projekt.
Siehe: Dynamische Inhalte mit CGI
@@ -129,22 +129,22 @@
CONNECT [kənekt]
Eine HTTP-Methode zur Weiterleitung - von Rohdaten über HTTP. Sie kann dazu verwendet werden, andere + von Rohdaten über HTTP. Sie kann dazu verwendet werden, andere Protokolle wie zum Beispiel das SSL-Protokoll zu kapseln.
Digitale Signatur
-
Ein chiffrierter Textblock, der die Gültigkeit eines Zertifikats - oder einer anderen Datei bestätigt. Eine Zertifizierungsstelle erstellt +
Ein chiffrierter Textblock, der die Gültigkeit eines Zertifikats + oder einer anderen Datei bestätigt. Eine Zertifizierungsstelle erstellt eine digitale Signatur durch Generierung eines Hashs aus dem in einem Zertifikat - enthaltenen öffentlichen Schlüssel und - anschließender Codierung des Hashs mit dem privaten - Schlüssel des Zertifikats. Nur der öffentliche - Schlüssel der CA kann die Signatur decodieren. So wird + enthaltenen öffentlichen Schlüssel und + anschließender Codierung des Hashs mit dem privaten + Schlüssel des Zertifikats. Nur der öffentliche + Schlüssel der CA kann die Signatur decodieren. So wird sichergestellt, dass die CA die Netwerkeinheit, welche das Zertifikat besitzt, authentifiziert hat.
- Siehe: SSL/TLS-Verschlüsselung + Siehe: SSL/TLS-Verschlüsselung
Direktive
@@ -155,62 +155,62 @@
Dynamic Shared Object - [daiˈnæmik ʃɛəd + [daiˈnæmik ʃɛəd ˈɔbdʒikt] (DSO)
-
Separat von der Apache-Binärdatei httpd +
Separat von der Apache-Binärdatei httpd kompilierte Module, die bei Bedarf - geladen werden können.
- Siehe: Unterstützung für + geladen werden können.
+ Siehe:
Unterstützung für Dynamic-Shared-Objects
-
exportbeschränkt
-
Verminderte kryptografische Stärke (und Sicherheit), um den - Exportbesimmungen der Vereinigten Staaten (Anm.d.Ü.: konkret: United +
exportbeschränkt
+
Verminderte kryptografische Stärke (und Sicherheit), um den + Exportbesimmungen der Vereinigten Staaten (Anm.d.Ü.: konkret: United States' Export Administration Regulations (EAR)) zu - entsprechen. Exportbeschränkte Verschlüsselungssoftware ist - auf eine kurze Schlüssellänge begrenzt, was zu - Chiffretexten führt, die gewöhnlich mittels - Brute-Force dekodiert werden können.
- Siehe: SSL/TLS-Verschlüsselung + entsprechen. Exportbeschränkte Verschlüsselungssoftware ist + auf eine kurze Schlüssellänge begrenzt, was zu + Chiffretexten führt, die gewöhnlich mittels + Brute-Force dekodiert werden können.
+ Siehe: SSL/TLS-Verschlüsselung
Filter
Ein Verfahren, dass auf vom Server empfangene oder zu sendende Daten angewendet wird. Eingabefilter verarbeiten vom Client an den Server - gesendetet Daten, während Ausgabefilter vom Server an den Client zu + gesendetet Daten, während Ausgabefilter vom Server an den Client zu sendende Daten verarbeiten. Der Ausgabefilter INCLUDES - beispielsweise untersucht Dokumente nach Server-Side-Includes und führt sie aus.
+ beispielsweise untersucht Dokumente nach Server-Side-Includes und führt sie aus.
Siehe: Filter
Handler - [ˈhændlə]
+ [ˈhændlə]
Eine Apache-interne Darstellung der Aktion, die beim Aufruf einer - Datei auszuführen ist. Im Allgemeinen besitzen Dateien implizite, - auf dem Dateityp basierende Handler. Gewöhnlich werden alle Dateien + Datei auszuführen ist. Im Allgemeinen besitzen Dateien implizite, + auf dem Dateityp basierende Handler. Gewöhnlich werden alle Dateien vom Server bedient, einige Dateitypen werden jedoch separat "behandelt" - (Anm.d.Ü.: besitzen einen separaten Handler). Der + (Anm.d.Ü.: besitzen einen separaten Handler). Der cgi-script-Handler beispielsweise kennzeichnet Dateien, die - als CGI-Programme ausgeführt werden + als CGI-Programme ausgeführt werden sollen.
Siehe: Verwendung von Apache-Handlern
Hash - [hæʃ]
+ [hæʃ]
Ein mathematischer, unumkehrbarer Einweg-Algorithmus zur Generierung - einer Zeichenfolge fester Länge aus einer anderen Zeichenfolge - beliebiger Länge. Unterschiedliche Zeichenfolgen bei der Eingabe - ergeben üblischerweise unterschiedliche Hashes (abhängig von + einer Zeichenfolge fester Länge aus einer anderen Zeichenfolge + beliebiger Länge. Unterschiedliche Zeichenfolgen bei der Eingabe + ergeben üblischerweise unterschiedliche Hashes (abhängig von der Hash-Funktion).
Header [hedə]
Der Teil der HTTP-Anfrage und -Antwort, - der vor den eigentlichen Daten übermittelt wird und den Inhalt - beschreibende Meta-Informationen enthält. + der vor den eigentlichen Daten übermittelt wird und den Inhalt + beschreibende Meta-Informationen enthält.
.htaccess
@@ -218,7 +218,7 @@ die innerhalb des Web-Verzeichnisbaums abgelegt wird und zu dem Verzeichnis, in dem sie abgelegt ist, sowie allen Unterverzeichnissen Konfigurationsdirektiven - enthält. Trotz ihres Namens kann diese Datei nahezu alle Arten von + enthält. Trotz ihres Namens kann diese Datei nahezu alle Arten von Direktiven enthalten, nicht nur Direktiven zur Zugriffskontrolle.
Siehe: Konfigurationsdateien @@ -232,20 +232,20 @@
HTTPS
Das HyperText-Transfer-Protokoll (Secure), der - Standard-Verschlüsselungsmechanismus im World Wide Web. - Tatsächlich handelt es sich hierbei um HTTP über SSL.
- Siehe: SSL/TLS-Verschlüsselung + Standard-Verschlüsselungsmechanismus im World Wide Web. + Tatsächlich handelt es sich hierbei um HTTP über SSL.
+ Siehe: SSL/TLS-Verschlüsselung
HyperText-Transfer-Protokoll (HTTP)
-
Das Standard-Übertragungsprotokoll im World Wide Web. Der Apache +
Das Standard-Übertragungsprotokoll im World Wide Web. Der Apache implementiert die Protokollversion 1.1, bezeichnet als HTTP/1.1 und definiert in RFC 2616.
Klartext
-
Der unverschlüsselte Text.
+
Der unverschlüsselte Text.
Konfigurationsanweisung
Siehe: Direktive
@@ -260,110 +260,110 @@
Ein Bereich in den Konfigurationsdateien, in dem verschiedene Typen von Direktiven erlaubt sind.
- Siehe: Erklärung der + Siehe: Erklärung der Fachbegriffe zu Apache-Direktiven
Message-Digest [ˈmesidʒ]
-
Ein Hash einer Nachricht, mit dem sich sicherstellen läßt, - dass der Inhalt der Nachricht während der Übertragung nicht - verändert wurde. (Anm.d.Ü.: ein so genannter Extrakt der +
Ein Hash einer Nachricht, mit dem sich sicherstellen läßt, + dass der Inhalt der Nachricht während der Übertragung nicht + verändert wurde. (Anm.d.Ü.: ein so genannter Extrakt der Nachricht)
- Siehe: SSL/TLS-Verschlüsselung + Siehe: SSL/TLS-Verschlüsselung
Methode
Im HTTP-Kontext eine in der Anfrage(zeile) des Clients angegeben Aktion, die auf eine Ressource angewendet wird. GET, POST und PUT - sind einige der verfügbaren HTTP-Methoden. + sind einige der verfügbaren HTTP-Methoden.
MIME-Typ [maim tyːp]
-
Eine Art und Weise, den Typ des übermittelten Dokuments zu +
Eine Art und Weise, den Typ des übermittelten Dokuments zu beschreiben. Sein Name leitet sich davon ab, dass sein Format den Multipurpose Internet Mail Extensions entlehnt wurde. Er besteht aus einem Haupttyp und einem Untertyp, getrennt durch einen - Schrägstrich. Einige Beispiele sind text/html, + Schrägstrich. Einige Beispiele sind text/html, image/gif und application/octet-stream. Bei HTTP wird der MIME-Typ mit dem Header Content-Type - übermittelt.
+ übermittelt.
Siehe: mod_mime
Modul
-
Ein selbstständiger Teil eines Programms. Ein Großteil der - Funktionalität des Apache ist in Modulen enthalten, die Sie einbinden - oder entfernen können. In die Apache-Binärdatei httpd einkompilierte Module werden statische Module - genannt, während Module, die separat gespeichert sind und optional - zur Laufzeit geladen werden können, dynamische Module oder +
Ein selbstständiger Teil eines Programms. Ein Großteil der + Funktionalität des Apache ist in Modulen enthalten, die Sie einbinden + oder entfernen können. In die Apache-Binärdatei httpd einkompilierte Module werden statische Module + genannt, während Module, die separat gespeichert sind und optional + zur Laufzeit geladen werden können, dynamische Module oder DSOs genannt werden. - Standardmäßig eingebundene Module werden Basismodule - genannt. Für den Apache sind viele Module verfügbar, die nicht + Standardmäßig eingebundene Module werden Basismodule + genannt. Für den Apache sind viele Module verfügbar, die nicht als Bestandteil des Apache-HTTP-Server-Tarballs ausgeliefert werden. Diese werden als Drittmodule bezeichnet.
Siehe: Modulverzeichnis
Module-Magic-Number - [ˈmɔjuːl mædʒik + [ˈmɔjuːl mædʒik ˈnʌmbə] (MMN)
Die Module-Magic-Number ist eine Konstante, die im Apache-Quelltext - definiert ist und im Zusammenhang mit der Binärkompatibilität - von Modulen steht. Sie wird geändert, wenn sich interne + definiert ist und im Zusammenhang mit der Binärkompatibilität + von Modulen steht. Sie wird geändert, wenn sich interne Apache-Strukturen, -Funktionen oder andere signifikante Teile der API - derart ändern, dass eine Binärkompatibilität nicht mehr - gewährleistet werden kann. Bei einer MMN-Änderung müssen + derart ändern, dass eine Binärkompatibilität nicht mehr + gewährleistet werden kann. Bei einer MMN-Änderung müssen alle Module von Drittanbietern zumindest neu kompiliert und zuweilen auch - geringfügig angepaßt werden, um mit der neuen Apache-Version zu + geringfügig angepaßt werden, um mit der neuen Apache-Version zu funktionieren.
-
Öffentlicher - Schlüssel
-
Der öffentlich verfügbare Schlüssel in einem Public-Key-Kryptographie-System, - mit dem für seinen Eigentümer bestimmte Nachrichten - verschlüsselt und Signaturen von seinem Eigentümer - entschlüsselt werden.
- Siehe: SSL/TLS-Verschlüsselung +
Öffentlicher + Schlüssel
+
Der öffentlich verfügbare Schlüssel in einem Public-Key-Kryptographie-System, + mit dem für seinen Eigentümer bestimmte Nachrichten + verschlüsselt und Signaturen von seinem Eigentümer + entschlüsselt werden.
+ Siehe: SSL/TLS-Verschlüsselung
OpenSSL [ˈəupənɛsɛsˈɛl]
-
Das Open-Source-Toolkit für SSL/TLS
+
Das Open-Source-Toolkit für SSL/TLS
Siehe: http://www.openssl.org/
Passphrase [paːfreiz]
-
Das Wort oder die Phrase, welches private Schlüssel-Dateien - schützt. Sie verhindert die Entschlüsselung durch nicht +
Das Wort oder die Phrase, welches private Schlüssel-Dateien + schützt. Sie verhindert die Entschlüsselung durch nicht authorisierte Benutzer. Normalerweise ist dies einfach der geheimen - (De-)Codierungsschlüssel, der für Chiffren verwendet wird.
- Siehe: SSL/TLS-Verschlüsselung + (De-)Codierungsschlüssel, der für Chiffren verwendet wird.
+ Siehe: SSL/TLS-Verschlüsselung
-
Privater Schlüssel
-
Der geheime Schlüssel in einem Public-Key-Kryptographie-System, +
Privater Schlüssel
+
Der geheime Schlüssel in einem Public-Key-Kryptographie-System, mit dem hereinkommende Nachrichten decodiert und ausgehende signiert werden.
- Siehe: SSL/TLS-Verschlüsselung + Siehe: SSL/TLS-Verschlüsselung
Proxy
-
Ein zwischen dem Client und dem ursprünglichen Server - (Anm.d.Ü.: der Server, den der Client tatsächlich erreichen - möchte) liegender Server. Er nimmt Anfragen von - Clients entgegen, übermittelt diese Anfragen dem - ursprünglichen Server und liefert die Antwort des - ursprünglichen Servers an den Client zurück. Wenn mehrere +
Ein zwischen dem Client und dem ursprünglichen Server + (Anm.d.Ü.: der Server, den der Client tatsächlich erreichen + möchte) liegender Server. Er nimmt Anfragen von + Clients entgegen, übermittelt diese Anfragen dem + ursprünglichen Server und liefert die Antwort des + ursprünglichen Servers an den Client zurück. Wenn mehrere Clients den gleichen Inhalt abfragen, dann kann der Proxy diesen Inhalt aus seinem Zwischenspeicher ausliefern, anstatt ihn jedesmal vom - ursprünglichen Server anzufordern, und dadurch die Antwortzeit + ursprünglichen Server anzufordern, und dadurch die Antwortzeit verringern.
Siehe: mod_proxy
@@ -371,25 +371,25 @@
Public-Key-Kryptographie [ˈpʌblik kiː ˈkyptograˈfiː]
-
Theorie und Anwendung asymmetrischer Verschlüsselungssysteme, - die einen Schlüssel zur Verschlüsselung und einen anderen zur - Entschlüsselung verwenden. Zwei derart zusammengehörende - Schlüssel bilden Schüsselpaar. Man spricht auch von +
Theorie und Anwendung asymmetrischer Verschlüsselungssysteme, + die einen Schlüssel zur Verschlüsselung und einen anderen zur + Entschlüsselung verwenden. Zwei derart zusammengehörende + Schlüssel bilden Schüsselpaar. Man spricht auch von "Asymetrischer Kryptographie".
- Siehe: SSL/TLS-Verschlüsselung + Siehe: SSL/TLS-Verschlüsselung
-
Regulärer +
Regulärer Ausdruck (Regex)
Eine Form, ein Muster im Text zu beschreiben - zum Beispiel: "alle - Wörter, die mit dem Buchstaben A beginnen" oder "Jeder Satz mit - zwei Kommata und ohne großes Q". Beim Apache sind reguläre - Ausdrücke hilfreich, da sie auf sehr flexible Art und Weise die + Wörter, die mit dem Buchstaben A beginnen" oder "Jeder Satz mit + zwei Kommata und ohne großes Q". Beim Apache sind reguläre + Ausdrücke hilfreich, da sie auf sehr flexible Art und Weise die Anwendung bestimmter Eigenschaften auf eine Auswahl von Dateien oder - Ressourcen ermöglichen. - Zum Beispiel können alle .gif- und + Ressourcen ermöglichen. - Zum Beispiel können alle .gif- und .jpg-Dateien eines Verzeichnis "images" mit "/images/.*(jpg|gif)$" beschrieben werden. Der Apache - verwendet Perl-kompatible reguläre Ausdrücke, wie sie die + verwendet Perl-kompatible reguläre Ausdrücke, wie sie die PCRE-Bibliothek bereitstellt.
@@ -397,9 +397,9 @@ [riːvəːs ˈprɔksi]
Ein Proxy-Server, der dem Client - gegenüber als ursprünglicher Server erscheint. Dies - ist nützlich, um den tatsächlichen Server aus - Sicherheitsgründen oder zur Lastverteilung vor dem Client zu + gegenüber als ursprünglicher Server erscheint. Dies + ist nützlich, um den tatsächlichen Server aus + Sicherheitsgründen oder zur Lastverteilung vor dem Client zu verstecken.
@@ -407,11 +407,11 @@ Layer [siˈkjuə ˈsɔkits ˈleiə] (SSL)
Ein von der Firma Netscape Communications Corporation entwickeltes - Protokoll zur allgemeinen Authentisierung und Verschlüsselung der - Kommunikation über TCP/IP-Netzwerke. Die meistverbreitete Nutzung - ist HTTPS, d.h. HyperText Transfer Protocol (HTTP) über + Protokoll zur allgemeinen Authentisierung und Verschlüsselung der + Kommunikation über TCP/IP-Netzwerke. Die meistverbreitete Nutzung + ist HTTPS, d.h. HyperText Transfer Protocol (HTTP) über SSL.
- Siehe: SSL/TLS-Verschlüsselung + Siehe: SSL/TLS-Verschlüsselung
Server Side @@ -419,7 +419,7 @@ inˈkluːds] (SSI)
Eine Technik zum Einbetten von weiterverarbeitenden Anweisungen in HMTL-Dateien.
- Siehe: Einführung in Server Side + Siehe: Einführung in Server Side Includes
@@ -433,9 +433,9 @@
Symmetrische Kryptographie
Die Theorie und Anwendung von Chiffren, die einen einzigen - geheimen Schlüssel sowohl zur Verschlüsswelung als auch zur - Entschlüsselung benutzen.
- Siehe: SSL/TLS-Verschlüsselung + geheimen Schlüssel sowohl zur Verschlüsswelung als auch zur + Entschlüsselung benutzen.
+ Siehe: SSL/TLS-Verschlüsselung
Tarball @@ -446,14 +446,14 @@
Transport - Layer Security [trænsˈpɔːt + Layer Security [trænsˈpɔːt ˈeiə siˈkjuəriti] (TLS)
Das SSL-Nachfolgeprotokoll, das von der Internet Engineering Task - Force (IETF) zur allgemeinen Authentisierung und Verschlüsselung - einer Kommunikation über TCP/IP-Netzwerke entwickelt worden ist. + Force (IETF) zur allgemeinen Authentisierung und Verschlüsselung + einer Kommunikation über TCP/IP-Netzwerke entwickelt worden ist. TLS Version 1 ist nahezu identisch mit SSL Version 3.
- Siehe: SSL/TLS-Verschlüsseliung + Siehe: SSL/TLS-Verschlüsseliung
Umgebungsvariable (env-Variable)
@@ -470,11 +470,11 @@ riˈsɔːs ləuˈkeitə] (URL)
Der Name bzw. die Adresse einer Ressource im Internet. Dies ist der - allgemein gebräuchliche Audruck für die formale Bezeichnung + allgemein gebräuchliche Audruck für die formale Bezeichnung Uniform Resource - Identifier. URLs bestehen üblicherweise aus einem + Identifier. URLs bestehen üblicherweise aus einem Schema wie http oder https, einem Hostnamen - und einem Pfad. Die URL für diese Seite ist + und einem Pfad. Die URL für diese Seite ist http://httpd.apache.org/docs/2.4/glossary.html.
@@ -484,7 +484,7 @@ (URI)
Eine kompakte Zeichenfolge zur Identifizierung einer abstrakten oder physischen Ressource. Er wird in dem RFC 2396 formell - definiert. Im World Wide Web verwendete URIs werden üblicherweise + definiert. Im World Wide Web verwendete URIs werden üblicherweise als URLs bezeichnet.
@@ -493,10 +493,10 @@ həustiŋ]
Die Bedienung mehrere Websites mit einer einzigen Apache-Instanz. IP-basierte virtuelle Hosts unterscheiden zwischen - verschiedenen Websites aufgrund ihrer IP-Adressen, während + verschiedenen Websites aufgrund ihrer IP-Adressen, während namensbasierte virtuelle Hosts nur den Namen des Hosts verwenden und daher mehrere Angebote unter der gleichen IP-Adresse - hosten können.
+ hosten können.
Siehe: Apache-Dokumentation zu virtuellen Hosts
@@ -505,7 +505,7 @@ (FQDN)
Der eindeutige Name einer Netzwerkeinheit, bestehend aus einem Hostnamen und dem Domainnamen, welcher zu einer IP-Adresse - aufgelöst werden kann. Zum Beispiel ist www ein + aufgelöst werden kann. Zum Beispiel ist www ein Hostname, example.com ein Domainname und www.example.com ein voll-qualifizierter Domainname.
@@ -520,28 +520,28 @@
X.509
Ein von der International Telecommunication Union (ITU-T) empfohlenes - Schema für Authentifizierungszertifikate. Es wird für + Schema für Authentifizierungszertifikate. Es wird für SSL/TLS-Authentifizierungen verwendet.
- Siehe: SSL/TLS-Verschlüsselung + Siehe: SSL/TLS-Verschlüsselung
Zertifikat
Ein Datensatz zur Authentisierung einer Nertzwerkeinheit wie Server oder Client. Ein Zertifikat - enthält X.509-Informationen - über seinen Eigentümer (das sogenannte Betreff - (Anm.d.Ü.: engl.: subject)) und die + enthält X.509-Informationen + über seinen Eigentümer (das sogenannte Betreff + (Anm.d.Ü.: engl.: subject)) und die signierende Certification - Authority (der sogenannte Aussteller (Anm.d.Ü.: engl.: - issuer)) sowie den öffentlichen Schlüssel des - Eigentümers und die Signatur der CA. Netzwerkeinheiten - überprüfen diese Signatur mit Hilfe von CA-Zertifikaten.
- Siehe: SSL/TLS-Verschlüsselung + Authority (der sogenannte Aussteller (Anm.d.Ü.: engl.: + issuer)) sowie den öffentlichen Schlüssel des + Eigentümers und die Signatur der CA. Netzwerkeinheiten + überprüfen diese Signatur mit Hilfe von CA-Zertifikaten.
+ Siehe: SSL/TLS-Verschlüsselung
Zugriffskontrolle
-
Die Beschränkung des Zugriffs auf Netzwerkbereiche. Im - Apache-Kontext in der Regel die Zugriffsbeschränkung auf bestimmte +
Die Beschränkung des Zugriffs auf Netzwerkbereiche. Im + Apache-Kontext in der Regel die Zugriffsbeschränkung auf bestimmte URLs.
Siehe: Authentisierung, Autorisierung und Zugriffskontrolle @@ -549,14 +549,14 @@
-

Verfügbare Sprachen:  de  | +

Verfügbare Sprachen:  de  |  en  | - es  | - fr  | + es  | + fr  |  ja  |  ko  | - tr 

-
top

Kommentare

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+ tr 

+
top

Kommentare

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+ + + + +
<-
+ +

Apache HTTP Server верÑÐ¸Ñ 2.4 +ДокументациÑ

+
+

Available Languages:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+

+

РуководÑтво пользователÑ

+ +
+
+

Available Languages:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/index.html.tr.utf8 b/docs/manual/index.html.tr.utf8 index 071a6ec..2930e9d 100644 --- a/docs/manual/index.html.tr.utf8 +++ b/docs/manual/index.html.tr.utf8 @@ -35,10 +35,11 @@ Belgeleri  ja  |  ko  |  pt-br  | + ru  |  tr  |  zh-cn 

-

+

+ + + + +
<-
+ +
+

Module Apache mod_md

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Gestion des domaines au sein des serveurs virtuels et obtention + de certificats via le protocole ACME +
Statut:Expérimental
Identificateur de Module:md_module
Fichier Source:mod_md.c
Compatibilité:Disponible à partir de la version 2.4.30 du serveur HTTP + Apache
+

Sommaire

+ +

+ Ce module permet de gérer les propriétés courantes des domaines pour un + ou plusieurs serveurs virtuels. Il fournit deux fonctionnalités + principales : la première permet la supervision et le renouvellement des + certificats TLS via le protocole ACME (RFC 8555). Le module + effectue le renouvellement des certificats avant leur expiration + afin d'éviter une interruption des services internet. Il est possible de + monitorer l'état de tous les certificats gérés par mod_md et de configurer + le serveur de façon à ce qu'il envoie des notifications de + renouvellement, d'expiration ou d'erreur personnalisées. +

+ La seconde fonctionnalité principale fournit une implémentation + alternative de l'agrafage OCSP, et ceci aussi bien pour les certificats + gérés par mod_md que pour les certificats que vous gérez vous-même. + Composant nécessaire pour tout site https, l'agrafage OCSP influence la + vitesse de chargement des pages et suivant la configuration, la + disponibilité de ces dernières. Vous trouverez plus de détails dans la section + agrafage ci-dessous. +

+ L'autorité ACME par défaut pour la gestion des certificats est Let's Encrypt, mais il est possible + de configurer une autre CA si cette dernière supporte le protocole. +

+ +

Exemple de configuration simple :

+ +

TLS dans un contexte de serveur virtuel

+
MDomain example.org
+
+<VirtualHost *:443>
+    ServerName example.org
+    DocumentRoot htdocs/a
+
+    SSLEngine on
+    # aucun certificat spécifié
+</VirtualHost>
+ +

+ Au démarrage, un serveur ainsi configuré contactera Let's Encrypt pour demander un + certificat pour le domaine considéré. Si Let's Encrypt peut vérifier + le propriétaire du domaine, le module obtiendra le certificat et sa + chaîne de certification, le stockera dans son système de fichiers + (voir la directive MDStoreDir) et le proposera au prochain + redémarrage à mod_ssl. +

+ Ce processus se déroule pendant l'exécution du serveur. Tous les + autres serveurs virtuels continueront à fonctionner normalement, + mais tant que le certificat ne sera pas disponible, toute requête + pour le domaine considéré génèrera une réponse du type '503 Service + Unavailable'. +

+
+ +

Prérequis

+

+ Pour pouvoir être utilisé, ce module nécessite le chargement + préalable du module mod_watchdog. +

+ Pour que Let's Encrypt puisse signer et renouveler votre certificat, + votre serveur doit être accessible depuis l'internet public sur le port 80 + (http:) et/ou 443 (https:), à moins que votre serveur soit configuré + pour utiliser les vérifications DNS - pour plus de détails, voir + "certificats génériques". +

+ Le module choisit une des méthodes proposées par Let's Encrypt. En + général, LE propose des méthodes de vérification sur les ports ou le + DNS et Apache choisit une des méthodes disponibles. +

+ Pour déterminer quelles méthodes sont disponibles, le module + consulte les ports sur lesquels écoute Apache httpd. Si le port 80 en + fait partie, le module supposera que la vérification http: nommée + http-01 est disponible. Si le port 443 en fait aussi partie, la + vérification https: nommée tls-alpn-01 sera ajoutée à la liste des + méthodes disponibles. Enfin, si la directive MDChallengeDns01 est définie, la méthode + de vérification dns-01 sera aussi ajoutée. +

+ Si votre configuration est plus complexe, deux méthodes permettent + d'orienter ce choix. En premier lieu, voyez du côté de la directive + MDPortMap si le serveur se + trouve derrière un redirecteur de port comme un pare-feu. En second + lieu, vous pouvez court-circuiter entièrement le processus de choix + du module en définissant directement la directive MDCAChallenges. +

+
+ +

Vérifications https:

+

+ Pour la vérification de domaine via le protocole TLS, le nom de la + méthode correspondante est "tls-alpn-01". Le serveur Apache doit + alors être en écoute sur le port 443 (voir la directive MDPortMap si vous redirigez ce port vers + un autre). +

+ Let's Encrypt ouvrira alors une connexion TLS avec Apache en + utilisant l'indicateur spécial "acme-tls/1" (cette portion + indication de TLS se nomme ALPN, d'où le nom de la méthode de + vérification. ALPN est aussi utilisé par les navigateurs pour ouvrir + une connexion HTTP/2. +

+ Si vous ne souhaitez cependant qu'aucun de vos sites ne soit + accessible sur le port 80, vous pouvez laiser ce dernier ouvert et + rediriger toutes les requêtes vers vos sites en https:. Pour + ce faire, utilisez la directive MDRequireHttps décrite plus loin. Votre + serveur pourra alors continuer à répondre au requêtes en http: en + provenance de Let's Encrypt. + Comme dans le cas du protocole HTTP/2, vous pouvez configurer ceci + de la manière suivante : +

+
Protocols h2 http/1.1 acme-tls/1
+ +

+ La méthode de vérification "tls-alpn-01" sera alors disponible. +

+
+

Certificats génériques

+

+ Les certificats génériques sont supportés à partir de la version 2.x + de mod_md, mais leur obtention n'est pas triviale. Let's Encrypt + impose pour ces derniers la vérification "dns-01". + Aucune autre n'est considérée comme suffisamment efficace. +

+ Apache ne peut cependant pas implémenter cette vérification de + lui-même . Comme son nom l'indique, "dns-01" vous demande de + présenter certains enregistrement DNS spécifiques à votre domaine + qui doivent contenir certaines données de vérification. Vous devez + donc être en mesure d'éditer et modifier les enregistrements DNS de + votre domaine. +

+ Si c'est le cas, vous pouvez procéder via mod_md. Supposons que vous + disposiez pour cela du script /usr/bin/acme-setup-dns ; vous + configurez alors Apache comme suit : +

+
MDChallengeDns01 /usr/bin/acme-setup-dns
+ +

+ Apache fera alors appel à ce script lorsqu'il aura besoin de + définir ou détruire un enregistrement DNS de vérification pour le + domaine considéré. +

+ Supposons ainsi que vous souhaitiez obtenir un certificat pour + *.mydomain.com ; mod_md va appeler : +

+
/usr/bin/acme-setup-dns setup mydomain.com challenge-data
+# ceci nécessite de supprimer tout enregistrement DNS TXT pour
+# _acme-challenge.mydomain.com et d'en créer un nouveau dont le contenu sera
+# "challenge-data"
+ +

+ il appellera ensuite : +

+
/usr/bin/acme-setup-dns teardown mydomain.com
+# ceci nécessite de supprimer tout enregistrement DNS TXT pour
+# _acme-challenge.mydomain.com
+ +
+ +

Monitoring

+

Apache possède un module de monitoring standard : + mod_status. mod_md y ajoute une section et facilite + le monitoring de votre domaine. +

+ Vous pouvez alors visualiser tous vos domaines gérés par ordre + alphabétique, les noms de domaine qu'ils contiennent, un état + global, les date d'expiration ainsi que des paramètres + spécifiques. Ces derniers comprennent la périodicité de + renouvellement que vous avez sélectionnée (ou la valeur par + défaut), la CA (autorité de certification) utilisée, etc... +

+ La colonne "Renewal" montre des rapports d'activité ou d'erreur + à propos des renouvellements de certificats, ce qui devrait + faciliter la vie des utilisateurs qui souhaitent savoir si tout + fonctionne correctement ou si des problèmes se produisent. +

+ Si un des domaines gérés provoque une erreur, elle apparaîtra + aussi ici, ce qui vous permettra de visualiser les éventuels + problèmes sans devoir vous plonger dans les journaux du serveur. +

+ Il existe aussi un nouveau gestionnaire, "md-status", qui peut + vous fournir les informations à propos des domaines gérés à + partir de "server-status" et au format JSON. Vous pouvez le + configurer comme suit sur votre serveur : +

+
<Location "/md-status">
+  SetHandler md-status
+</Location>
+ +

+ Comme pour "server-status", vous devez + ajouter les autorisations nécessaires. +

+ Si vous ne souhaitez recevoir l'état JSON que pour un domaine + spécifique, ajoutez le simplement à votre URL d'état : +

+
> curl https://<yourhost>/md-status/another-domain.org
+{
+  "name": "another-domain.org",
+  "domains": [
+    "another-domain.org",
+    "www.another-domain.org"
+  ],
+  ...
+ +

+ Cet état JSON montre aussi un journal des renouvellements de + certificats : +

+
{
+"when": "Wed, 19 Jun 2019 14:45:58 GMT",
+"type": "progress", "detail": "The certificate for the managed domain has been renewed successfully and can be used. A graceful server restart now is recommended."
+},{
+"when": "Wed, 19 Jun 2019 14:45:58 GMT",
+"type": "progress", "detail": "Retrieving certificate chain for test-901-003-1560955549.org"
+},{
+"when": "Wed, 19 Jun 2019 14:45:58 GMT",
+"type": "progress", "detail": "Waiting for finalized order to become valid"
+},{
+"when": "Wed, 19 Jun 2019 14:45:50 GMT",
+"type": "progress", "detail": "Submitting CSR to CA for test-901-003-1560955549.org"
+},
+...
+ +

+ Vous trouverez aussi ces informations dans le fichier "job.json" + dans votre répertoire de test et, s'il est activé, dans le + répertoire des domaines. Vous pourrez ainsi les consulter à tout + moment. +

+ Enfin, la directive MDCertificateStatus donne accès au + informations à propos du certificat spécifié au format JSON. +

+
+ +

Agrafage

+

+ Si vous voulez commencer par tester l'agrafage pour un seul + domaine géré, utilisez cette configuration : +

+
<MDomain mydomain.net>
+  MDStapling on
+</MDomain>
+ +

+ et utilisez 'server-status' et/ou MDMessageCmd pour voir comment tout + cela fonctionne. Vous pourrez alors vérifier si l'information + d'agrafage est présente, sa durée de validité, son origine et à + quel moment elle sera rafraîchie. +

+ Si tout fonctionne comme vous le souhaitez, vous pouvez définir + cette configuration pour tous les certificats ou seulement vos + certificats gérés. +

+ De nombreux sites utilisent l'implémentation d'agrafage + existante de mod_ssl depuis des années. Les implémentations par + mod-ssl et mod_md présentent deux différences principales : +

+
    +
  1. Lecture des informations à la demande ou de manière planifiée + : mod_ssl extrait les informations d'agrafage lorsque le besoin + s'en fait sentir, par exemple lors d'une nouvelle connexion. mod_md + quant à lui, extrait ces informations au démarrage du serveur et + lorsqu'elles ont atteint les deux tiers de leur durée de vie.
  2. +
  3. Conservation des informations en mémoire ou de manière + persistante : mod_ssl peut conserver ces informations + de manière persistante, mais la plupart des configurations + exemples utilisent un cache en mémoire. mod_md quant à lui, + stocke systématiquement les informations dans le système de + fichiers.
  4. +
+

+ Si par malchance vous redémarrez votre serveur alors que le + service OCSP de votre CA est en panne, les utilisateurs ne + pourront plus atteindre vos sites. Sans persistance des + informations, votre serveur n'est plus en mesure de fournir au + client les données nécessaires, et le navigateur client ne peut + pas les obtenir lui-même car le service OCSP ne répond pas. +

+ Avec l'implémentation de mod_md, l'information d'agrafage est + stockée de manière persistante, et elle peut donc être réchargée + au démarrage du serveur et être ainsi disponible pour les + connexions entrantes. Un jour ou deux avant expiration des + informations, mod_md va les renouveler, ce qui permet de faire + face à un temps d'indisponibilité du service OCSP assez long. +

+ Pour conserver une compatibilité ascendante, l'implémentation de + mod_ssl n'a pas pu être modifiée en profondeur. Par exemple, + mod_ssl est incapable d'ajouter une dépendance à mod_watchdog + sans rendre inutilisables de nombreuses configurations + existantes qui ne chargent pas ce module. +

+
+ +

tailscale

+

+ Depuis la version 2.4.14 du module, vous pouvez l'utiliser pour + obtenir des certificats pour vos domaines tailscale. +

+
<MDomain mydomain.some-thing.ts.net>
+  MDCertificateProtocol tailscale
+  MDCertificateAuthority file://localhost/var/run/tailscale/tailscaled.sock",
+</MDomain>
+ +

+ Tailscale permet des communications sécurisées entre vos + machines, où qu'elles se trouvent, et peut leur fournir des noms de + domaine dans l'espace *.ts.net. Pour ceux-ci, il fournira + aussi ensuite des certificats Let's Encrypt de façon à ce que + vous puissiez ouvrir ces domaines dans votre navigateur en toute + sécurité. +

+

+ Apache va contacter le démon tailscale local à l'aide des + directives listées ci-dessous pour obtenir et renouveler les + certificats. Ceci ne fonctionnera cependant que pour les noms de + domaine que tailscale aura assigné à votre machine. +

+

+ Dans le cas contraire, ces certificats fonctionneront exactement + de la même façon que ceux qui auront été obtenus à l'aide du + protocole ACME de Lets Encrypt. Vous les verrez dans le rapport + d'état et les directives MDMessageCmd seront aussi exécutées + pour eux. +

+

+ Vous trouverez plus de détails dans la documentation + github de mod_md. +

+

+ Notez que cette fonctionnalité n'est disponible que sur les + machines où le démon tailscale fournit un socket de domaine unix. + Jusqu'à présent, ceci ne semble être le cas que sur les systèmes + de style Unix. +

+
+ +
+ + +
top
+

Directive MDActivationDelay

+ + + + + + + +
Description:Définit le délai d'activation des nouveaux certificats
Syntaxe:MDActivationDelay duration
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.42 du serveur HTTP + Apache
+

+

+ +
+
top
+

Directive MDBaseServer

+ + + + + + + +
Description:Définit si le serveur global peut être géré ou seulement + les serveurs virtuels.
Syntaxe:MDBaseServer on|off
Défaut:MDBaseServer off
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Cette directive permet de définir si le serveur global, autrement + dit la partie du serveur située en dehors de tout serveur virtuel, + doit être géré par mod_md ou non. Par défaut il ne + le sera pas car cela provoquerait des effets de bord + générateurs de confusion. Il est donc recommandé de + définir des serveurs virtuels pour tous les domaines gérés, et + d'exclure des domaines gérés le serveur global (serveur par défaut). +

+ +
+
top
+

Directive MDCAChallenges

+ + + + + + + +
Description:Type de négociation ACME utilisée pour prouver l'appartenance + du domaine.
Syntaxe:MDCAChallenges name [ name ... ]
Défaut:MDCAChallenges tls-alpn-01 http-01 dns-01
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Cette directive permet de définir les types de négociation + utilisés (par ordre de préférences) pour prouver l'appartenance + du domaine. Les types de négociation supportés par le module + sont 'tls-alpn-01', 'dns-01' et 'http-01'. Le module parcourt + toute la configuration du serveur pour déterminer quelles + méthodes peuvent être utilisées. +

+ Si par exemple le serveur est en écoute sur le port 80, c'est la + méthode 'http-01' qui sera disponible. Pour 'dns-01', une + commande MDChallengeDns01 + définie sera requise. La méthode 'tls-alpn-01' est décrite + ci-dessus dans 'https: Challenges'. +

+ Cette sélection automatique fonctionne pour la plupart des + configurations. Mais comme Apache est un serveur très puissant + avec de nombreuses options de configuration, certains cas + pourront poser des problèmes. Par exemple, il peut être en + écoute sur plusieurs adresses IP, certaines étant accessibles en + https: et d'autres non. +

+ Si vous définissez MDCAChallenges + directement, la sélection automatique est désactivée. A la + place, le module va utiliser la liste de méthodes de négociation + spécifiée pour dialoguer avec le serveur ACME (un type de + négociation doit aussi être proposé par le serveur). Ces + méthodes de négociation sont examinées dans l'ordre selon lequel + elles sont spécifiées. +

+ + +
+
top
+

Directive MDCertificateAgreement

+ + + + + + +
Description:Acceptation des conditions d'utilisation de l'autorité de + certification.
Syntaxe:MDCertificateAgreement accepted
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

Lorsque vous utilisez mod_md pour obtenir un certificat, vous + devenez un client de l'autorité de certification (par exemple Let's + Encrypt). Cela signifie que vous devez lire et approuver leurs + conditions d'utilisation, et donc que vous avez compris ce qu'ils + ont à offrir, ce qu'ils ne fournissent pas, et ce que vous devez + vous-même fournir. mod_md ne peut pas de lui-même procéder à cet + agrément à votre place.

+ +
+
top
+

Directive MDCertificateAuthority

+ + + + + + + +
Description:Les URLs du service ACME de l'autorité de certification.
Syntaxe:MDCertificateAuthority url
Défaut:MDCertificateAuthority letsencrypt
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Les URLs auxquelles l'autorité de certication offre son service. + Plutôt que l'URL proprement dite, vous pouvez spécifier + 'letsencrypt' ou 'buypass'. +

+ Si vous spécifiez plusieurs URLs, chacune d'entre elles est + testée en mode tourniquet ("round-robin") après un certain + nombre d'échecs. Vous pouvez définir la rapidité de ce processus + à l'aide des directives MDRetryDelay et + MDRetryFailover. Par défaut, une demie + journée d'essais infructueux est considérée comme un échec. +

+ Tous les autres réglages s'appliquent à chacune de ces URLs. Il + est ainsi par exemple impossible d'en avoir deux avec des + directives MDExternalAccountBinding + différentes. +

+ A des fins de test, les CAs fournissent en général une seconde + URL de service. Le service 'test' ne fournit pas de certificat + valable pour un navigateur, mais il est moins regardant vis à + vis des limites de vitesse. Il permet de tester votre + configuration avant de passer à l'URL de service de production. +

+

Configuration pour le mode test de Let's Encrypt

MDCertificateAuthority https://acme-staging-v02.api.letsencrypt.org/directory
+
+ +
+
top
+

Directive MDCertificateCheck

+ + + + + + + +
Description:Définit le motif de nom pour un nom sitSet de + vérification de certificat et un motif d'URL pour un sitee de + vérification de certificat
Syntaxe:MDCertificateCheck name url
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.42 du serveur HTTP + Apache
+

+

+ +
+
top
+

Directive MDCertificateFile

+ + + + + + +
Description:Définit un fichier de certificat statique pour le domaine géré.
Syntaxe:MDCertificateFile path-to-pem-file
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Cette directive s'utilise dans une section MDomainSet et permet de spécifier le + nom du fichier qui contiendra le certificat pour le + domaine géré. La clé correspondante est spécifiée via la + directive MDCertificateKeyFile. +

+

Exemple

<MDomain mydomain.com>
+  MDCertificateFile /etc/ssl/my.cert
+  MDCertificateKeyFile /etc/ssl/my.key
+</MDomain>
+
+ +

+ Cette directive est équivalente à la directive SSLCertificateFile de mod_ssl. Elle + s'utilise dans de nombreuses applications. +

+ Une première application est la migration de la gestion des + certificats d'un domaine existant depuis le mode statique via des + fichiers vers le mode automatique via Let's Encrypt. A cet + effet, vous définissez tout d'abord la section MDomainSet dans laquelle vous + spécifiez les fichiers, puis supprimez la directive SSLCertificateFile de la + configuration de vos serveurs virtuels. +

+ Avec cette configuration, votre serveur fonctionnera comme + avant, avec probablement moins de lignes répétitives. Vous + pouvez alors ajouter la directive MDRenewMode avec pour valeur + "always", et le module obtiendra un nouveau cerificat avant que + celui du fichier considéré n'arrive à expiration. Une fois le + certificat renouvelé, vous pouvez supprimer la directive + MDCertificateFile et + recharger la configuration. +

+ Une autre application est le renouvellement de vos certificats + Let's Encrypt avec d'autres clients ACME comme l'excellent certbot. A cet effet, faites + pointer vos domaines gérés vers les fichiers de certbot et ils + travaillerons alors ensemble. +

+ +
+
top
+

Directive MDCertificateKeyFile

+ + + + + + +
Description:Définit une clé privée statique pour le certificat + statique.
Syntaxe:MDCertificateKeyFile path-to-file
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Cette directive s'utilise dans une section MDomainSet et permet de spécifier le + nom du fichier contenant la clé privée pour le domaine géré. Le + certificat correspondant est spécifié via la directive + MDCertificateFile. +

+ Cette directive est équivalente à la directive SSLCertificateKeyFile de mod_ssl. +

+ +
+
top
+

Directive MDCertificateMonitor

+ + + + + + + +
Description:L'URL d'un moniteur d'enregistrement de certificat.
Syntaxe:MDCertificateMonitor name url
Défaut:MDCertificateMonitor crt.sh https://crt.sh?q=
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Cette directive impacte l'interface utilisateur HTML 'server-status' et + n'a rien à voir avec le fonctionnement de mod_md proprement dit. + Elle permet de définir le lien qui s'affiche sur cette interface + pour accéder facilement à un moniteur de certificat. L'empreinte + SHA256 du certificat doit être ajoutée à l'URL spécifié. +

+ Les moniteurs de certificat donnent accès aux enregistrements de + la Certificate Transparency (CT) afin de tracer l'utilisation + des certificats pour les domaines. Vous pourrez au moins + vérifier si Let's Encrypt (ou tout autre CA que vous aurez + défini) a bien inscrit votre certificat dans les enregistrements + de CT. +

+ Avertissement : La mise à jour des enregistrements des + certificats et leur prise en compte par les moniteurs peut + prendre un certain temps. Ce dernier varie en fonction des + enregistreurs et des moniteurs. Un nouveau certificat ne sera + donc pas connu immédiatement. +

+ +
+
top
+

Directive MDCertificateProtocol

+ + + + + + + +
Description:Le protocole à utiliser avec l'autorité de certification.
Syntaxe:MDCertificateProtocol protocol
Défaut:MDCertificateProtocol ACME
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

Cette directive permet de spécifier le protocole à utiliser. + Pour l'heure, seul le protocole ACME est supporté.

+ +
+
top
+

Directive MDCertificateStatus

+ + + + + + + +
Description:Extrait les informations publiques du certificat au format + JSON.
Syntaxe:MDCertificateStatus on|off
Défaut:MDCertificateStatus on
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Lorsque cette directive est à "on", vous disposez d'une + ressource pour les domaines gérés à + https://domain/.httpd/certificate-status qui renvoie un + document au format JSON contenant une liste de propriétés + concernant les clés, le certificat courant et, s'il est + disponible, le certificat renouvelé. +

+

Exemple

{
+  "valid-until": "Thu, 29 Aug 2019 16:06:35 GMT",
+  "valid-from": "Fri, 31 May 2019 16:06:35 GMT",
+  "serial": "03039C464D454EDE79FCD2CAE859F668F269",
+  "sha256-fingerprint": "1ff3bfd2c7c199489ed04df6e29a9b4ea6c015fe8a1b0ce3deb88afc751e352d"
+  "renewal" : { ...renewed cert information... }
+}
+
+ +
+
top
+

Directive MDChallengeDns01

+ + + + + + +
Description:Définit la commande d'activation/désactivation des + vérifications dns-01
Syntaxe:MDChallengeDns01 path-to-command
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Cette directive permet de définir le programme à appeler + lorsque la vérification "dns-01" doit être activée/désactivée. Le + programme prend respectivement comme arguments "setup" ou + "teardown" suivi du nom de domaine. Pour "setup", le programme + prend comme argument supplémentaire les données de vérification + "dns-01". Lorsque MDChallengeDns01Version est définie + à 2, `teardown` prend aussi comme argument le contenu de la + vérification. +

+ Tant que la méthode de vérification "http:" ou "https:" est + valable, vous n'avez pas besoin de définir cette directive. + Cependant, Let's Encrypt n'accepte que "dns-01" comme méthode de + vérification valide pour les certificats génériques. Si vous + avez besoin d'un tel certificat, vous devez alors définir cette + directive. +

+ Il est maintenant possible d'utiliser cette directive dans une + section MDomain pour + spécifier une commande spécifique au domaine considéré. Cela + permet de configurer un script spécifique au fournisseur de DNS + concerné. +

+ Reportez vous à la section sur les certificats génériques pour + plus de détails. +

+ +
+
top
+

Directive MDChallengeDns01Version

+ + + + + + + + +
Description:Définit le type des arguments avec lesquels appeler + MDChallengeDns01
Syntaxe:MDChallengeDns01Version 1|2
Défaut:MDChallengeDns01Version 1
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.58 du serveur HTTP + Apache
+

+ Cette directive permet de définir de quelle manière est invoquée + la commande MDChallengeDns01, à savoir le nombre et le type de + ses arguments. Voir MDChallengeDns01 pour les + différences. + Cette définition est globale et ne peut pas s'appliquer + différemment pour chaque domaine. +

+ +
+
top
+

Directive MDContactEmail

+ + + + + + + +
Description:Adresse Email pour l'enregistrement du compte
Syntaxe:MDContactEmail address
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.42 du serveur HTTP + Apache
+

+ Lors de votre inscription, vous devez fournir une url de contact + pour le protocole ACME. Actuellement, Let's Encrypt exige une + adresse Email qu'il utilisera pour vous informer des + renouvellements de certificats ou de toute modification des + conditions d'utilisation. Pour obtenir cette adresse, mod_md + utilise l'email spécifiée par la directive MDContactEmail dans + votre configuration de httpd ; veillez par conséquent à bien + spécifier une adresse correcte à ce niveau. Si la directive + MDContactEmail n'est pas définie, mod_md utilisera l'email + spécifiée via la directive ServerAdmin. +

+ +
+
top
+

Directive MDDriveMode

+ + + + + + + +
Description:Ancien nom de MDRenewMode.
Syntaxe:MDDriveMode always|auto|manual
Défaut:MDDriveMode auto
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

Cette directive est l'ancien nom de la directive MDRenewMode, et n'est encore supportée + qu'à titre de compatibilité ascendante. +

+ +
+
top
+

Directive MDExternalAccountBinding

+ + + + + + + + +
Description:Définit les valeurs keyid et hmac de liaison avec les + comptes externes à utiliser dans les CA
Syntaxe:MDExternalAccountBinding key-id hmac-64 | none | file
Défaut:MDExternalAccountBinding none
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.52 du serveur HTTP + Apache
+

+ Cette directive permet de définir des valeurs pour associer des + comptes externes avec ACME ("External Account Binding") ; c'est + une fonctionnalité de la norme ACME qui permet à des clients + d'associer des inscriptions à un compte client existant sur les + serveurs ACME. +

+

+ Certains CAs ACME ont besoin de ces valeurs, mais ce n'est pas + le cas pour Let's Encrypt. Vérifiez avec votre CA ACME si vous + avez besoin de ces valeurs et la manière de les obtenir. Ces + dernières se composent de deux chaînes : un identifiant de clé + et une valeur 'hmac' codée en base64. +

+

+ Vous pouvez définir ces valeurs de manière globale ou pour un + MDomain spécifique. Comme ces valeurs permettent à n'importe qui + de s'inscrire sous le même compte, il est conseillé de + restreindre les permissions d'accès au fichier de configuration + (à root seulement, par exemple). +

+

+ Les valeurs peuvent aussi être extraites d'un fichier JSON pour + conserver l'ouverture des permissions au niveau de la + configuration du serveur et restreindre celles de ce fichier. Le + fichier JSON sera du style : +

+

Exemple de fichier EAB JSON

{"kid": "kid-1", "hmac": "zWND..."}
+
+

+ Si vous modifiez les valeurs EAB, ce sont les nouvelles valeurs + qui seront utilisées lors du prochain renouvellement de + certificat. +

+ +
+
top
+

Directive MDHttpProxy

+ + + + + + +
Description:Spécifie un serveur mandataire pour les connexions + sortantes.
Syntaxe:MDHttpProxy url
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

Cette directive permet de spécifier un serveur http mandataire + pour se connecter à l'autorité de certification spécifiée via + MDCertificateAuthority. Vous + devez la définir si votre serveur web ne peut atteindre internet que + via un serveur mandataire. +

+ +
+
top
+

Directive MDMatchNames

+ + + + + + + + +
Description:Définit comment les noms DNS sont comparés aux vhosts
Syntaxe:MDMatchNames all|servernames
Défaut:MDMatchNames all
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.58 du serveur HTTP + Apache
+

+ Le mode `all` correspond au comportement de toutes les versions + précédentes. ServerName et ServerAlias sont inspectés pour + trouver le MDomain qui correspond à un serveur virtuel. Les + recouvrements sont automatiquement détectés, même si vous n'avez + ajouté qu'un des noms à un MDomain. +

+ Cet automatisme présente cependant des inconvénients avec les + configurations plus complexes. Si vous définissez cette + directive à `servernames`, seul le ServerName d'un serveur + virtuel est inspecté pour la correspondance et les ServerAliases + sont donc ignorés. Les Aliases seront tout de même ajoutés au + certificat obtenu, à moins que vous ne spécifiiez aussi `MDMembers manual`. +

+ `servernames` possède un autre avantage : il vous confère plus + de souplesse avec les sous-domaines et les caractères + génériques. Vous pouvez ainsi définir un MDomain avec un + caractère générique et avoir d'autres MDomains pour des noms de + sous-domaines spécifiques. +

+ +
+
top
+

Directive MDMember

+ + + + + + +
Description:Nom d'hôte additionnel pour le domaine géré.
Syntaxe:MDMember hostname
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Plutôt que de lister tous les noms DNS sur la même ligne, vous + pouvez utiliser la directive MDMember pour + ajouter des noms d'hôte à un domaine géré. +

+

Exemple

<MDomain example.org>
+    MDMember www.example.org
+    MDMember mail.example.org
+</MDomain>
+
+

+ Si vous utilisez cette directive au niveau de la configuration + globale, en dehors de tout serveur virtuel correspondant à un + domaine géré, vous ne pouvez spécifier qu'une valeur, 'auto' ou + 'manual' comme mode par défaut pour tous les autres domaines + gérés. Voir la directive MDomain pour une description de ces + valeurs. +

+ +
+
top
+

Directive MDMembers

+ + + + + + + +
Description:Définit si les alias de noms de domaines sont + automatiquement ajoutés.
Syntaxe:MDMembers auto|manual
Défaut:MDMembers auto
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

Cette directive permet de définir si les valeurs de ServerName et ServerAlias sont automatiquement ajoutées + en tant que membres d'un domaine géré. +

+ +
+
top
+

Directive MDMessageCmd

+ + + + + + +
Description:Gère les évènements pour les domaines gérés
Syntaxe:MDMessageCmd path-to-cmd optional-args
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Cette directive permet de définir la commande à appeler + lorsqu'un des évènements "renewed", "installed", "expiring" ou + "errored" se produit pour un domaine géré. La commande sera + probablement invoquée pour d'autres évènements dans le futur et + ignorera les évènements pour lesquels elle n'aura pas été + préparée. +

+ Il s'agit d'une version plus souple de la directive + MDNotifyCmd. +

+

Exemple

MDMessageCmd /etc/apache/md-message
+

+ +# sera invoquée sous la forme "/etc/apache/md-message renewed mydomain.com" +# lorsqu'un nouveau certificat sera disponible pour le domaine mydomain.com +

+

+ Le programme ne doit pas être bloquant car le module attend + qu'il se termine. Un code de retour autre que 0 doit indiquer + une erreur d'exécution. +

+ "errored" n'est pas l'évènement à surveiller en priorité car le + renouvellement du certificat est censé se produire suffisammant + tôt pour éviter toute interruption de service. Cet évènement est + signalé au plus une fois par heure. +

+ L'évènement "expiring", quant à lui, doit être pris au sérieux. + Il se produit lorsque la valeur de MDWarnWindow est atteinte. Par + défaut, cette valeur correspond à 10% de la durée de vie du + certificat, donc actuellement pour Let's Encrypt, 9 jours avant + expiration du certificat. Le message d'avertissement est répété + au plus une fois par jour. +

+ 'renewed' indique qu'un nouveau certificat a été obtenu et + se trouve dans la zone intermédiaire du magasin MD. Il sera + activé au prochain restart/reload du serveur. +

+ 'installed' indique qu'un nouveau certificat a été transféré + depuis la zone intermédiaire vers la zone des domaines du + magasin MD. Cet évènement se produit lors d'un restart/reload du + serveur. A la différence des autres commandes, + MDMessageCmd s'exécute avec les + permissions de root (sur les systèmes *nix) et a donc accès aux + fichiers de certificats (et aux clés). Les certificats + nécessaires à d'autres applications ou possédant des formats + différents peuvent être traités suite à cet évènement. +

+ Un évènement de type 'renewing' est déclenché avant le démarrage + du processus de renouvellement pour le domaine géré. Si dans ce + cas la commande renvoie une valeur non nulle, le renouvellement + sera interrompu et tenté à nouveau au cycle suivant. Certaines + configurations de clusters l'utilisent pour n'effectuer le + renouvellement que sur un seul noeud. +

+ Un évènement de type 'challenge-setup:type:domain' est déclenché + lorsque les données de vérification pour un domaine ont été + créées. Il est invoqué avant qu'il soit demandé au serveur ACME + de les vérifier. type contient une des méthodes de vérification + ACME. Il est invoqué pour chaque nom DNS d'un MDomain. Les + configurations de clusters peuvent utiliser cet évènement pour + distribuer les fichiers de vérification à tous les noeuds. +

+ Un évènement de type ocsp-errored est déclenché lorsque le + MDStapling est activé + pour un domaine, et indique qu'une erreur s'est produite en + essayant d'obtenir la réponse OCSP de l'autorité de + certification. mod_md essaiera à nouveau d'obtenir cette + réponse. +

+ +
+
top
+

Directive MDMustStaple

+ + + + + + + +
Description:Définit si les nouveaux certificats doivent avoir le + drapeau OCSP Must Staple activé.
Syntaxe:MDMustStaple on|off
Défaut:MDMustStaple off
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

Cette directive permet de définir si les nouveaux certificats + doivent avoir le drapeau OCSP Must Staple activé ou non. Si un + certificat possède ce drapeau, le serveur devra envoyer une réponse + avec agrafage OCSP à chaque client. Ceci ne fonctionne que si vous + configurez mod_ssl pour générer cette agrafe (voir la + directive SSLUseStapling et + ses directives dérivées). +

+ +
+
top
+

Directive MDNotifyCmd

+ + + + + + +
Description:Lance un programme lorsqu'un domaine géré est opérationnel.
Syntaxe:MDNotifyCmd path [ args ]
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

Cette directive permet de définir un programme à lancer lorsqu'un + domaine géré a obtenu ou renouvelé son certificat. Ce + programme reçoit le nom de domaine géré concerné comme + argument additionnel (après les paramètres spécifiés ici). Il doit + renvoyer un code d'état de 0 s'il s'est exécuté avec + succès. +

+ +
+
top
+

Directive MDomain

+ + + + + + +
Description:Définit une liste de noms de domaines qui appartiennent à + un groupe.
Syntaxe:MDomain dns-name [ other-dns-name... ] [auto|manual]
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Tous les domaines de la liste seront gérés par + mod_md comme un seul domaine géré (Managed Domain - MD). + mod_md ne demandera qu'un seul certificat qui + sera valide pour tous ces noms de domaine. Cette directive + s'utilise au niveau de la configuration globale (voir plus loin + les autres directives MD). Si un domaine nécessite une + configuration particulière, utilisez la directive <MDomainSet>. +

+ Deux définitions supplémentaires sont nécessaires pour un + domaine géré : une adresse Email de contact (via MDContactEmail ou ServerAdmin) et MDCertificateAgreement. L'adresse + électronique du ServerAdmin + permet de s'enregistrer auprès de l'autorité de certification + (par défaut Let's Encrypt). L'autorité de certification + l'utilisera pour vous informer à propos du statut de vos + certificats ou d'éventuelles modifications de ses services. +

+ La seconde définition, MDCertificateAgreement doit avoir + pour valeur "accepted". Vous confirmez ainsi que vous acceptez + les conditions d'utilisation du CA. +

+

Exemple

MDContactEmail admin@example.org
+MDCertificateAgreement accepted
+MDomain example.org www.example.org
+
+<VirtualHost *:443>
+    ServerName example.org
+    DocumentRoot htdocs/root
+
+    SSLEngine on
+</VirtualHost>
+
+<VirtualHost *:443>
+    ServerName www.example.org
+    DocumentRoot htdocs/www
+
+    SSLEngine on
+</VirtualHost>
+
+

+ En plus de la liste des domaines gérés, cette directive accepte + un paramètre supplémentaire qui peut prendre pour valeur + 'manual' ou 'auto'. Ce paramètre permet de définir si un domaine + sera géré sous le nom spécifié dans la liste seul ('manual'), + ou si tous les noms du serveur virtuel correspondant seront + gérés ('auto'). C'est d'ailleurs cette dernière valeur qui + est la valeur par défaut. +

+

Exemple

MDomain example.org
+
+<VirtualHost *:443>
+    ServerName example.org
+    ServerAlias www.example.org
+    DocumentRoot htdocs/root
+
+    SSLEngine on
+</VirtualHost>
+
+MDomain example2.org auto
+
+<VirtualHost *:443>
+    ServerName example2.org
+    ServerAlias www.example2.org
+    ...
+</VirtualHost>
+
+

Dans cet exemple, le domaine 'www.example.org' est + automatiquement ajouté à la liste MD 'example.org'. De manière + similaire, le domaine 'www.example2.org' sera automatiquement ajouté + à la liste MD 'example2.org' pour laquelle 'auto' est explicitement + spécifié. Chaque fois que vous ajouterez des noms à ces serveurs + virtuels via ServerAlias, ils seront ajoutés à la liste MD + correspondante. +

+ Si vous préférez déclarer explicitement tous les noms de + domaines, utilisez le mode 'manual'. Une erreur sera enregistrée + dans le journal si les noms ne correspondent pas à ceux + attendus. +

+ +
+
top
+

Directive <MDomainSet>

+ + + + + + +
Description:Conteneur de directives à appliquer à un ou plusieurs + domaines gérés.
Syntaxe:<MDomainSet dns-name [ other-dns-name... ]>...</MDomainSet>
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Cette directive est équivalente à la directive MDomain avec la possibilité + supplémentaire d'ajouter des paramètres seulement pour le + domaine géré considéré. En fait, vous pouvez aussi utiliser + "<MDomain ..>" à titre de raccourci. +

+

+ Cette directive permet de configurer un domaine géré en + spécifiant un autre CA, ou d'autres paramètres de renouvellement + des certificats, etc... +

+

Exemple

<MDomain sandbox.example.org>
+    MDCertificateAuthority   https://someotherca.com/ACME
+</MDomain>
+
+

+ Cette configuration est souvent utilisée pour définir des paramètres + https: spécifiques à votre domaine. +

+

Exemple

<MDomain example.org>
+    MDRequireHttps temporary
+</MDomain>
+
+ +
+
top
+

Directive MDPortMap

+ + + + + + + +
Description:Mappage des ports externes avec les ports internes pour + vérifier à qui appartient le domaine.
Syntaxe:MDPortMap map1 [ map2 ]
Défaut:MDPortMap http:80 https:443
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Le protocole ACME propose deux méthodes pour vérifier à qui + appartient le domaine via HTTP : la première utilise les URLs en + "http:" (port 80) et la deuxième les URLs en "https:" (port + 443). Si votre serveur n'est accessible sur aucun + de ces ports, ACME ne pourra fonctionner que si vous configurez + votre serveur DNS de manière adéquate (voir la directive MDChallengeDns01). +

+ Sur la plupart des serveurs publics, "http:" arrive sur le + port 80 et "https:" sur le port 443. Ce module vérifie les ports + sur lesquels votre serveur Apache est en écoute et suppose + qu'ils sont disponibles. Autrement dit, si votre serveur n'est + pas en écoute sur le port 80, le module suppose que les requêtes + en "http:" en provenance d'internet ne seront pas traitées. +

+ Ce raisonnement est légitime, mais il peut s'avérer faux. + Par exemple, même si votre serveur est effectivement en écoute + sur le port 80, votre pare-feu peut bloquer ce dernier. "http:" + ne sera alors disponible que sur votre intranet. Dans ce cas, le + module va supposer de manière erronée que Let's Encrypt peut + effectuer des vérifications en "http:" avec votre serveur. Ces + dernières échouerons car elles auront été rejetées par votre + pare-feu. +

+

Exemple

MDPortMap http:- https:8433
+
+

+ L'exemple précédent montre comment spécifier que les requêtes en + "http:" en provenance d'internet n'arriveront jamais. En outre, + il indique que les requêtes en "https:" arriveront sur le port + 8433. +

+ Cette définition peut s'avérer nécessaire si vous faites de la + redirection de port ; votre serveur peut ainsi être accessible + depuis l' Internet sur le port 443, alors que le port local + utilisé par httpd sera différent. Par exemple, votre serveur + peut n'être en écoute que sur les ports 8443 et 8000, mais + accessible depuis internet sur les ports 443 et 80. +

+ +
+
top
+

Directive MDPrivateKeys

+ + + + + + + +
Description:Définit le type et la taille des clés privées générées.
Syntaxe:MDPrivateKeys type [ params... ]
Défaut:MDPrivateKeys RSA 2048
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Cette directive permet de définir les paramètres de construction + des clés privées pour les domaines gérés. Vous pouvez configurer + plusieurs types de clés privées et le module obtiendra un + certificat pour chaque clé. +

+ La recommandation actuelle (en 2017) est de 2048 bits au minimum, + et une valeur inférieure ne sera pas acceptée. Des valeurs + supérieures offriront une plus grande sécurité mais seront plus + gourmandes en ressources, et augmenteront donc la charge de + votre serveur, ce qui pourra (ou non) être gênant pour vous. +

+ D'autres types de clés seront supportés dans le futur. + Vous pouvez par exemple configurer une clé RSA et une clé + Elliptic Curve (EC) de façon à ce que deux certificats soient + créés pour le domaine concerné. Lors d'une connexion avec un + client, c'est la première clé supportée par ce dernier qui sera + utilisée. +

+ Comme les clés et certificats EC sont plus petits, vous pouvez + les proposer en premier pour tous les clients modernes + compatibles, ce qui peut accélérer la phase de négociation. + Ajoutez tout de même une clé RSA pour supporter les clients plus + anciens. +

+

Exemple

MDPrivateKeys secp256r1 rsa3072
+
+

+ Les types EC supportés dépendent du CA que vous utilisez. Par + exemple, Let's encrypt supporte les courbes elliptiques + 'secp256r1' et 'secp384r1'. +

+ Chaque type de clé et certificat est stocké dans son fichier + propre au sein de l'espace de stockage MD. Le type de clé + constitue une partie du nom de fichier avec une convention de + nommage présentant une compatibilité ascendante avec les + certificats RSA. Vous pouvez ainsi continuer à partager ces + fichiers avec les autres applications. +

+ + Notez que cette directive n'aura d'effet que sur les nouvelles + clés. Toute clé préexistante ne sera pas affectée. En outre, + seules les clés privées générées pour les certificats sont + concernées, les clés de comptes ACME n'étant pas affectées. +

+ +
+
top
+

Directive MDRenewMode

+ + + + + + + +
Description:Contrôle le renouvellement des certificats.
Syntaxe:MDRenewMode always|auto|manual
Défaut:MDRenewMode auto
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ En mode "auto" (mode par défaut), le module va agir de la + manière la plus opportune pour chaque domaine géré. Si un + domaine ne possède pas de certificat, le module en demandera un + à l'autorité de certification. +

+

+ Si par contre vous avez défini un domaine géré qui n'est utilisé + par aucun serveur virtuel, le module n'effectuera aucune demande + de renouvellement. De même, pour les domaines gérés avec des + fichiers de certificats statiques (voir MDCertificateFile), le module + supposera que vous avez votre propre source et n'effectuera + aucune demande de renouvellement. +

+

+ Avec le mode "always", le module renouvellera les certificats + des modules gérés, même s'il ne sont pas utilisés ou + possèdent un fichier de certificats statique. +

+

+ A l'opposé, avec le mode "manual", mod_md n'effectuera aucune + demande automatique de renouvellement pour aucun domaine géré. +

+ +
+
top
+

Directive MDRenewWindow

+ + + + + + + +
Description:Définit le moment auquel un certificat doit être renouvelé.
Syntaxe:MDRenewWindow duration
Défaut:MDRenewWindow 33%
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Lorsqu'un certificat arrive à expiration, mod_md va + tenter d'en obtenir un nouveau signé. +

+ Normalement, les certificats ont une validité de 90 jours, et + mod_md les renouvelle lorsqu'il leur reste 33% de + durée de vie (soit 30 jours pour une durée de vie de 90 jours). Si + cela ne correspond pas à ce que vous souhaitez, vous pouvez + spécifier une autre valeur comme dans les exemples suivants : +

+

Exemple

# 21 jours avant expiration
+MDRenewWindow 21d 
+# 30 secondes (peut-être un peu juste !)
+MDRenewWindow 30s
+# lorsqu'il reste 10% de durée de vie au certificat
+MDRenewWindow 10%
+
+

En mode pilotage automatique, le module va vérifier le statut des + domaines gérés au moins toutes les 12 heures pour voir s'il y a + quelque chose à faire. En cas d'erreur, par exemple lorsque le CA + est inaccessible, il va dans un premier temps réessayer après + quelques secondes. Si l'erreur persiste, il va réduire son + intervalle de vérification de 12 à 1 heure. +

+ +
+
top
+

Directive MDRequireHttps

+ + + + + + + +
Description:Redirige le trafic http: vers https: pour les domaines + gérés.
Syntaxe:MDRequireHttps off|temporary|permanent
Défaut:MDRequireHttps off
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

Cette directive facilite la migration de vos domaines gérés de + http: vers https:. Dans l'exemple suivant, +

+

Exemple

MDRequireHttps temporary
+
+

vous indiquez que vous désirez que pour l'instant, tout le trafic via des URLs en + http: doit être redirigé vers des URLs en https:. Cette directive + est sans risque et vous pouvez la désactiver à tout moment. +

+ Ce qui suit par contre, a des conséquences : si + vous souhaitez que les clients n'utilisent plus + d'URLs en http:, spécifiez : +

+

Permanent (pour au moins 6 mois !)

MDRequireHttps permanent
+
+

Cette directive a deux effets : +

+
    +
  1. Toutes les requêtes pour une ressource en http: + sont redirigées vers la même requête en remplaçant le protocole + http: par https: et en renvoyant le code + d'état 301. Ce dernier indique aux clients que + cette modification est permanente et qu'ils doivent mettre à + jour leurs liens en conséquence. +
  2. +
  3. Toutes les réponses aux requêtes en https: + comporteront l'en-tête Strict-Transport-Security + avec une durée de vie de six mois. Cela indique au navigateur + qu'il ne devra jamais utiliser + http: (pendant six mois) lorsqu'il formulera une + requête pour le domaine concerné. Avec cette information, les + navigateurs refuseront de contacter votre site en mode non + chiffré. Ceci interdit à des middlewares malicieux de dégrader + les connexions et d'écouter/manipuler le trafic. C'est une bonne + chose, mais cette configuration ne peut pas être désactivée + aussi simplement que la configuration temporaire ci-dessus. +
  4. +
+

Vous pouvez obtenir le même résultat de manière simple avec + mod_alias et une configuration basée sur la + directive Redirect. Si + vous le faites vous-même, assurez-vous d'exclure les chemins + /.well-known/* de votre redirection, sinon mod_md + aura des difficultés pour signer les nouveaux certificats. +

+

Si vous effectuez cette configuration au niveau global, elle + s'appliquera à tous les domaines gérés. Si vous souhaitez qu'elle ne + s'applique qu'à un domaine spécifique, utilisez : +

+

Exemple

<MDomain xxx.yyy>
+  MDRequireHttps temporary
+</MDomain>
+
+ +
+
top
+

Directive MDRetryDelay

+ + + + + + + + +
Description:Temps d'attente avant de réessayer, doublé à chaque erreur + consécutive
Syntaxe:MDRetryDelay duration
Défaut:MDRetryDelay 5s
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.54 du serveur HTTP + Apache
+

+ Le temps d'attente après une erreur avant de tenter à nouveau le + renouvellement d'un certificat. Ce temps est doublé après chaque + erreur consécutive avec un maximum de 24 heures. +

+

+ Ce temps d'attente est spécifique à chaque renouvellement de + certificat. Autrement dit, une erreur sur un MDomain ne retarde + pas les renouvellements des autres domaines. +

+ +
+
top
+

Directive MDRetryFailover

+ + + + + + + + +
Description:Le nombre d'erreurs avant de se tourner vers un autre CA
Syntaxe:MDRetryFailover number
Défaut:MDRetryFailover 13
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.54 du serveur HTTP + Apache
+

+ Le nombre d'erreurs consécutives lors du renouvellement d'un + certificat avant la sélection d'une autre CA. Ne s'applique + qu'aux configurations pour lesquelles plusieurs + MDCertificateAuthority ont été + spécifiées. +

+ +
+
top
+

Directive MDServerStatus

+ + + + + + + +
Description:Définit si les informations à propos des domaines gérés + sont ajoutés ou non à server-status.
Syntaxe:MDServerStatus on|off
Défaut:MDServerStatus on
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Le gestionnaire d'Apache "server-status" vous permet de + configurer une ressource pour monitorer le fonctionnement du + serveur. Cette ressource inclut maintenant une section indiquant + tous les domaines gérés avec leur nom DNS, l'état de + renouvellement du certificat, la durée de vie de ce dernier, + ainsi que d'autres propriétés fondamentales. +

+ Cette directive permet d'activer/désactiver cette ressource. +

+ +
+
top
+

Directive MDStapleOthers

+ + + + + + + + +
Description:Active l'agrafage pour les certificats non gérés par + mod_md.
Syntaxe:MDStapleOthers on|off
Défaut:MDStapleOthers on
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.42 du serveur HTTP + Apache
+

+ Cette directive n'a d'effet que si MDStapling est activée. Elle permet + de contrôler si mod_md doit aussi fournir les + informations d'agrafage pour les certificats qu'il ne gère pas + directement (autrement dit pour les certificats non renouvelés + via le protocole ACME). +

+ +
+
top
+

Directive MDStapling

+ + + + + + + + +
Description:Active l'agrafage pour un ou plusieurs domaines.
Syntaxe:MDStapling on|off
Défaut:MDStapling off
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.42 du serveur HTTP + Apache
+

+ mod_md permet l'obtention des informations + d'agrafage OCSP. Cette fonctionnalité est une alternative à + celle fournie par mod_ssl. Elle est désactivée + par défaut à des fins de compatibilité ascendante. +

+ La fonctionnalité peut être activée pour tous les certificats du + serveur ou pour un MDomain seulement, ce qui aura pour effet + de remplacer toute configuration d'agrafage au niveau de + mod_ssl pour ce(s) domaine(s). Lorsqu'elle est désactivée, + l'agrafage de mod_ssl se chargera du travail (s'il a été + lui-même activé, bien entendu). Ceci permet de basculer de + manière graduée d'une implémentation à l'autre. +

+ L'agrafage fonctionne aussi pour les domaines non gérés par + mod_md (voir à ce sujet la directive MDStapleOthers). En fait, l'agrafage + OCSP peut très bien être utilisé en l'absence de tout certificat + géré via le protocole ACME. +

+ +
+
top
+

Directive MDStaplingKeepResponse

+ + + + + + + + +
Description:Contrôle la durée au bout de laquelle les anciennes + réponses doivent être supprimées.
Syntaxe:MDStaplingKeepResponse duration
Défaut:MDStaplingKeepResponse 7d
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.42 du serveur HTTP + Apache
+

+ Cette directive permet de spécifier la durée au bout de laquelle + les données OCSP utilisées pour l'agrafage doivent être + supprimées du magasin. Par défaut, ces informations sont + supprimées lors d'un restart/reload du serveur si elles ont plus + de sept jours. Ceci permet de limiter la taille du magasin + lorsque les certificats sont renouvelés et/ou reconfigurés + fréquemment. +

+

+ +
+
top
+

Directive MDStaplingRenewWindow

+ + + + + + + + +
Description:Contrôle l'ancienneté des réponses OCSP au dela de laquelle + ces dernières seront renouvelées.
Syntaxe:MDStaplingRenewWindow duration
Défaut:MDStaplingRenewWindow 33%
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.42 du serveur HTTP + Apache
+

+ Si la durée de validité d'un réponse OCSP passe en dessous de + duration, mod_md va tenter de la + renouveler. +

+ La CA à l'origine du certificat fournit aussi en général le + service de réponse OCSP et détermine la durée de validité de sa + réponse signée à propos de la validité du certificat. Plus + longtemps une réponse sera valide, plus longtemps elle pourra + être mise en cache, ce qui arrange tout le monde en matière de + performances. Plus courte sera la validité d'une réponse, plus + vite seront envoyées des révocations de certificats aux clients. + Il est donc important de prendre en compte la qualité de + service. +

+ En ajustant la durée de validité des réponses vous-même, vous + pouvez contrôler une partie du processus. Si vous spécifiez une + durée de vie importante (autrement dit si vous spécifiez un + petit pourcentage de validité avant que l'information n'expire), + vous assurer un temps de mise en cache maximal, mais une + interruption du service OCSP (par exemple un arrêt pour + maintenance) aura plus de chance de vous affecter. Si vous + spécifiez un pourcentage de temps avant expiration plus + important, les mises à jour seront plus fréquentes, ce qui va + augmenter la charge de l'infrastructure de serveurs du CA et + nécessiter d'avantage de coordination entre les processus + enfants de votre propre serveur. +

+ La valeur par défaut choisie est de 33%, ce qui signifie que la + demande de renouvellement interviendra lorsque la durée de vie + de la réponse OCSP passera en dessous de 33%. Pour une CA qui + fournit des réponses OCSP avec une durée de vie de 3 jours, cela + implique 2 jours de mise en cache et 1 jour pour les tentatives + de renouvellement. Pour affecter votre domaine, une interruption + de service devra donc avoir une durée supérieure à 1 jour. +

+ Vous pouvez aussi définir de manière absolue la durée de vie + restante, par exemple `2d` pour 2 jours. +

+ +
+
top
+

Directive MDStoreDir

+ + + + + + + +
Description:Chemin dans le système de fichiers local du répertoire où + seront stockées les données à propos des domaines gérés.
Syntaxe:MDStoreDir path
Défaut:MDStoreDir md
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Cette directive permet de définir le répertoire dans le système + de fichiers local où seront stockées les données à propos des + domaines gérés. Il s'agit d'un chemin absolu ou relatif à la + racine du serveur. Par défaut, le répertoire "md" sera créé à la + racine de votre serveur. +

+ Si vous souhaitez changer de répertoire et si ce dernier + contient déjà des données, copiez tout d'abord les données vers + le nouveau répertoire, puis modifier la configuration et + redémarrez le serveur. Si vous commencez par modifier la + configuration et redémarrer le serveur sans copier les données, + ce dernier croira que les certificats sont absents et il tentera + d'en obtenir de nouveaux. +

+ +
+
top
+

Directive MDStoreLocks

+ + + + + + + + +
Description:Configure le verrouillage du magasin pour les mises à jour
Syntaxe:MDStoreLocks on|off|duration
Défaut:MDStoreLocks off
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.55 du serveur HTTP + Apache
+

+ Définissez cette directive pour utiliser un fichier verrou au + démarrage du serveur lorsque MDStoreDir + est synchronisé avec la configuration du serveur et si les + certificats renouvelés sont activés. +

+ Le verrouillage a été implémenté pour les configurations de + cluster où MDStoreDir appartient à un système de fichiers + partagé. L'activation des certificats renouvelés sera alors + protégée lorsque plusieurs noeuds du cluster sont redémarrés ou + reconfigurés simultanément ; ceci à condition bien entendu que + le système de fichiers partagé prenne en charge le verrouillage + de fichier. +

+ Le temps d'attente par défaut pour obtenir le verrou est de 5 + secondes. Si le verrou ne peut pas être obtenu, une erreur est + enregistrée dans le journal et le démarrage du serveur se + poursuit ; de ce fait, un des noeuds du cluster pourra encore + utiliser les anciens certificats par la suite. +

+ Un délai d'attente plus long réduira cette probabilité, mais + pourra aussi retarder les redémarrages et reconfigurations du + serveur dans le cas où les verrous ne sont pas correctement + gérés dans le système de fichiers sous-jacent. Un verrou ne doit + être maintenu par une instance de httpd que pendant une courte + durée. +

+ +
+
top
+

Directive MDWarnWindow

+ + + + + + + +
Description:Définit la fenêtre de temps pendant laquelle vous serez + informé de l'expiration prochaine d'un certificat.
Syntaxe:MDWarnWindow duration
Défaut:MDWarnWindow 10%
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Voir la directive MDRenewWindow pour une description + de la méthode à employer pour spécifier cette durée. +

+ Le module inspecte la durée de vie restante des certificats et + invoque MDMessageCmd + lorsqu'une de ces durées devient inférieure à la fenêtre de + temps spécifiée. Si l'on conserve la valeur par défaut, cette + durée correspond à 9 jours pour les certificats de Let's + Encrypt. +

+ Cette directive s'applique aussi aux domaines gérés via des + fichiers de certificats statiques (voir la directive MDCertificateFile). +

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_mime.html b/docs/manual/mod/mod_mime.html index 7b9aa2d..999228c 100644 --- a/docs/manual/mod/mod_mime.html +++ b/docs/manual/mod/mod_mime.html @@ -2,7 +2,7 @@ URI: mod_mime.html.en Content-Language: en -Content-type: text/html; charset=ISO-8859-1 +Content-type: text/html; charset=UTF-8 URI: mod_mime.html.fr.utf8 Content-Language: fr diff --git a/docs/manual/mod/mod_mime.html.en b/docs/manual/mod/mod_mime.html.en index d54b208..178adfb 100644 --- a/docs/manual/mod/mod_mime.html.en +++ b/docs/manual/mod/mod_mime.html.en @@ -1,7 +1,7 @@ - + - + + + + + +
<-
+ +
+

Module Apache mod_proxy_uwsgi

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Module de passerelle UWSGI pour mod_proxy
Statut:Extension
Identificateur de Module:proxy_uwsgi_module
Fichier Source:mod_proxy_uwsgi.c
Compatibilité:Disponible à partir de la version 2.4.30 du serveur HTTP Apache.
+

Sommaire

+ +

Pour pouvoir fonctionner, ce module requiert le chargement préalable de + mod_proxy. Il fournit le support du protocole + UWSGI.

+ +

Pour être en mesure de gérer le protocole UWSGI, le serveur doit donc + pouvoir disposer des modules mod_proxy et + mod_proxy_uwsgi.

+ +

Avertissement

+

N'activez le mandatement que si vous avez sécurisé votre serveur. Les serveurs + mandataires ouverts sont dangereux pour votre réseau, mais aussi pour + Internet en général.

+
+
+
Support Apache!

Sujets

+

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+
top
+
+

Exemples

+

Il est rappelé que vous devez charger les modules + mod_proxy et mod_proxy_uwsgi pour que les + exemples suivants fonctionnent.

+ +

Passerelle simple

ProxyPass "/uwsgi-bin/" "uwsgi://localhost:4000/"
+
+ +

La passerelle à répartition de charge nécessite + mod_proxy_balancer et au moins un module implémentant un + algorithme de répartition de charge comme + mod_lbmethod_byrequests, en plus des modules de mandatement + listés ci-dessus. Par défaut, c'est mod_lbmethod_byrequests + qui sera utilisé, et c'est donc ce dernier qui sera utilisé dans l'exemple + suivant :

+ +

Passerelle à répartition de charge

ProxyPass "/uwsgi-bin/" "balancer://somecluster/"
+<Proxy balancer://somecluster>
+    BalancerMember uwsgi://localhost:4000
+    BalancerMember uwsgi://localhost:4001
+</Proxy>
+
+
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_wstunnel.html b/docs/manual/mod/mod_proxy_wstunnel.html index 4db563c..cf71a85 100644 --- a/docs/manual/mod/mod_proxy_wstunnel.html +++ b/docs/manual/mod/mod_proxy_wstunnel.html @@ -2,7 +2,7 @@ URI: mod_proxy_wstunnel.html.en Content-Language: en -Content-type: text/html; charset=ISO-8859-1 +Content-type: text/html; charset=UTF-8 URI: mod_proxy_wstunnel.html.fr.utf8 Content-Language: fr diff --git a/docs/manual/mod/mod_proxy_wstunnel.html.en b/docs/manual/mod/mod_proxy_wstunnel.html.en index b5a03f4..c5004b8 100644 --- a/docs/manual/mod/mod_proxy_wstunnel.html.en +++ b/docs/manual/mod/mod_proxy_wstunnel.html.en @@ -1,7 +1,7 @@ - + - + + + + + +
<-
+ +
+

Apache Module mod_socache_redis

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Redis based shared object cache provider.
Status:Extension
Module Identifier:socache_redis_module
Source File:mod_socache_redis.c
Compatibility:Available in Apache 2.4.39 and later
+

Summary

+ +

mod_socache_redis is a shared object cache provider + which provides for creation and access to a cache backed by the + Redis + high-performance, distributed memory object caching system. +

+ + +

This shared object cache provider's "create" method requires a + comma separated list of memcached host/port specifications. If using + this provider via another modules configuration (such as + SSLSessionCache), provide + the list of servers as the optional "arg" parameter.

+ +
SSLSessionCache redis:redis.example.com:12345,redis2.example.com:12345
+ + +

Details of other shared object cache providers can be found + here. +

+ +
+
Support Apache!

Directives

+ +

Bugfix checklist

See also

+
+ +
top
+

RedisConnPoolTTL Directive

+ + + + + + + + +
Description:TTL used for the connection pool with the Redis server(s)
Syntax:RedisConnPoolTTL num[units]
Default:RedisConnPoolTTL 15s
Context:server config, virtual host
Status:Extension
Module:mod_socache_redis
Compatibility:Available in Apache 2.4.39 and later
+

Set the time to keep idle connections with the Redis server(s) + alive (threaded platforms only).

+ +

Valid values for RedisConnPoolTTL are times + up to one hour. 0 means no timeout.

+ +

This timeout defaults to units of seconds, but accepts + suffixes for milliseconds (ms), seconds (s), minutes (min), and hours (h). +

+ +
# Set a timeout of 10 minutes
+RedisConnPoolTTL 10min
+# Set a timeout of 60 seconds
+RedisConnPoolTTL 60
+
+ +
+
top
+

RedisTimeout Directive

+ + + + + + + + +
Description:R/W timeout used for the connection with the Redis server(s)
Syntax:RedisTimeout num[units]
Default:RedisTimeout 5s
Context:server config, virtual host
Status:Extension
Module:mod_socache_redis
Compatibility:Available in Apache 2.4.39 and later
+

Set the Read/Write timeout used for the connection with the Redis + server(s).

+ +

Valid values for RedisTimeout are times + up to one hour. 0 means no timeout.

+ +

This timeout defaults to units of seconds, but accepts + suffixes for milliseconds (ms), seconds (s), minutes (min), and hours (h). +

+ +
# Set a timeout of 10 minutes
+RedisTimeout 10min
+# Set a timeout of 60 seconds
+RedisTimeout 60
+
+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_socache_redis.html.fr.utf8 b/docs/manual/mod/mod_socache_redis.html.fr.utf8 new file mode 100644 index 0000000..90a5eee --- /dev/null +++ b/docs/manual/mod/mod_socache_redis.html.fr.utf8 @@ -0,0 +1,156 @@ + + + + + +mod_socache_redis - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_socache_redis

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Fournisseur de cache d'objets partagé basé sur Redis.
Statut:Extension
Identificateur de Module:socache_redis_module
Fichier Source:mod_socache_redis.c
Compatibilité:Disponible à partir de la version 2.4.39 du serveur HTTP Apache
+

Sommaire

+ +

mod_socache_redis implémente un fournisseur de cache + d'objets partagé qui permet la création et l'accès à un cache hébergé par le + système de mise en cache d'objets en mémoire partagée à hautes performances + Redis. +

+ +

La méthode "create" de ce fournisseur de cache d'objets partagé nécessite + une liste en mémoire de spécifications hôte/port séparées par des virgules. + Si vous utilisez ce fournisseur dans une directive de configuration d'un autre + module comme SSLSessionCache, + spécifiez la liste des serveurs sous la forme du paramètre optionnel "arg" :

+ +
SSLSessionCache redis:redis.example.com:12345,redis2.example.com:12345
+ + +

Vous trouverez une description détaillée des autres fournisseurs de cache + d'objets partagé ici. +

+ +
+ + +
top
+

Directive RedisConnPoolTTL

+ + + + + + + + +
Description:Durée de vie du jeu de connexions avec le(s) serveur(s) Redis.
Syntaxe:RedisConnPoolTTL num[units]
Défaut:RedisConnPoolTTL 15s
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_socache_redis
Compatibilité:Disponible à partir de la version 2.4.39 du serveur HTTP Apache.
+

Cette directive permet de définir la durée pendant laquelle les + connexions inactives avec le(s) serveur(s) Redis seront conservées + (plateformes threadées seulement).

+ +

Les valeurs valides pour RedisConnPoolTTL sont des + durées limitées à 1 heure . 0 signifie aucune limite.

+ +

Par défaut, l'unité de ces valeurs est la secondes, mais on peut + spécifier via un suffixe des valeurs en millisecondes (ms), en secondes (s), + en minutes (min) ou en heures (h). +

+ +
# Définit une durée de vie de 10 minutes
+RedisConnPoolTTL 10min
+# Définit une durée de vie de 60 secondes
+RedisConnPoolTTL 60
+
+ +
+
top
+

Directive RedisTimeout

+ + + + + + + + +
Description:Durée maximale de lecture/écriture sur la connexion avec le(s) +serveur(s) Redis.
Syntaxe:RedisTimeout num[units]
Défaut:RedisTimeout 5s
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_socache_redis
Compatibilité:Disponible à partir de la version 2.4.39 du serveur HTTP Apache.
+

Cette directive permet de définir la durée maximale de lecture/écriture + sur la connexion avec le(s) serveur(s) Redis.

+ +

Les valeurs valides pour RedisTimeout sont des + durées limitées à 1 heure . 0 signifie aucune limite.

+ +

Par défaut, l'unité de ces valeurs est la secondes, mais on peut + spécifier via un suffixe des valeurs en millisecondes (ms), en secondes (s), + en minutes (min) ou en heures (h). +

+ +
# Définit une durée de 10 minutes
+RedisTimeout 10min
+# Définit une durée de 60 secondes
+RedisTimeout 60
+
+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_socache_shmcb.html b/docs/manual/mod/mod_socache_shmcb.html index 22c6670..267124d 100644 --- a/docs/manual/mod/mod_socache_shmcb.html +++ b/docs/manual/mod/mod_socache_shmcb.html @@ -2,7 +2,7 @@ URI: mod_socache_shmcb.html.en Content-Language: en -Content-type: text/html; charset=ISO-8859-1 +Content-type: text/html; charset=UTF-8 URI: mod_socache_shmcb.html.fr.utf8 Content-Language: fr diff --git a/docs/manual/mod/mod_socache_shmcb.html.en b/docs/manual/mod/mod_socache_shmcb.html.en index d3e8207..e45ef91 100644 --- a/docs/manual/mod/mod_socache_shmcb.html.en +++ b/docs/manual/mod/mod_socache_shmcb.html.en @@ -1,7 +1,7 @@ - + - + + + + + +
<-
+ +
+

Apache Module mod_systemd

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Provides better support for systemd integration
Status:Extension
Module Identifier:systemd_module
Source File:mod_systemd.c
Compatibility:Available in Apache 2.4.42 and later
+

Summary

+ +

This module provides support for systemd integration. It allows + httpd to be used in a service with the systemd + Type=notify (see systemd.service(5) + for more information). The module is activated if loaded.

+ +

Example of systemd service unit (more settings are probably needed for production systems)

[Unit]
+Description=The Apache HTTP Server
+After=network.target
+
+[Service]
+Type=notify
+ExecStart=/usr/local/apache2/bin/httpd -D FOREGROUND -k start
+ExecReload=/usr/local/apache2/bin/httpd -k graceful
+KillMode=mixed
+
+[Install]
+WantedBy=multi-user.target
+ +

Special attention should be given to how ExecStop + and/or KillMode are configured for the service. If + configured, an ExecStop command should be a + synchronous operation which itself exits when the daemon + has terminated. Running httpd -k stop + asynchronously initiates daemon termination, so does not + satisfy this condition. The example above uses + KillMode=mixed so that systemd sends + SIGTERM to signal the parent process (and only the + parent) to shut down. The entire process group is then sent + SIGKILL after TimeoutStopSec elapses, if + any processes are still running. See systemd.kill(5) + for more information.

+ +

This module does not provide support for Systemd socket activation.

+ +

ExtendedStatus is + enabled by default if the module is loaded. If ExtendedStatus is not disabled in + the configuration, run-time load and request statistics are made + available in the systemctl status output.

+
+
Support Apache!

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_systemd.html.fr.utf8 b/docs/manual/mod/mod_systemd.html.fr.utf8 new file mode 100644 index 0000000..cdf1094 --- /dev/null +++ b/docs/manual/mod/mod_systemd.html.fr.utf8 @@ -0,0 +1,113 @@ + + + + + +mod_systemd - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_systemd

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Fournit un support amélioré pour l'intégration de systemd
Statut:Extension
Identificateur de Module:systemd_module
Fichier Source:mod_systemd.c
+

Sommaire

+ +

Ce module implémente le support de l'intégration de systemd. Il + permet d'utiliser httpd en temps que service avec le paramètre de + systemd Type=notify (voir la page de manuel + systemd.service(5) + pour plus de détails). Le module est activé s'il est chargé.

+ +

Exemple basique d'unité de service systemd (à étoffer pour un système en + production)

[Unit]
+Description=The Apache HTTP Server
+After=network.target
+
+[Service]
+Type=notify
+ExecStart=/usr/local/apache2/bin/httpd -D FOREGROUND -k start
+ExecReload=/usr/local/apache2/bin/httpd -k graceful
+KillMode=mixed
+
+[Install]
+WantedBy=multi-user.target
+ +

Si vous utilisez ExecStop et/ou KillMode, vous + devez prêter une attention particulière à leur configuration pour ce service. + Si elle est présente, une commande ExecStop doit être une + operation synchrone qui se termine elle-même en même temps que le + démon. Cette condition n'est pas satisfaite si vous exécutez la commande + httpd -k stop de manière asynchrone, car elle initie + l'arrêt du démon. L'exemple ci-dessus utilise KillMode=mixed + afin que systemd envoie SIGTERM au processus parent (et + seulement à ce dernier) pour lui indiquer qu'il doit s'arrêter. Les processus + encore en cours d'exécution après un temps égal à TimeoutStopSec + recevront alors le signal SIGKILL. Voir systemd.kill(5) + pour plus d'informations.

+ +

Ce module ne fournit pas le support de l'activation du socket Systemd.

+ +

ExtendedStatus est activé par défaut + si le module est chargé. Si ExtendedStatus n'est pas explicitement désactivé + dans le fichier de configuration, les statistiques à propos de la charge et + des requêtes pendant l'exécution apparaîtront dans la sortie de la commande + systemctl status.

+
+
Support Apache!

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_tls.html b/docs/manual/mod/mod_tls.html new file mode 100644 index 0000000..1e7dfb0 --- /dev/null +++ b/docs/manual/mod/mod_tls.html @@ -0,0 +1,5 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_tls.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_tls.html.en b/docs/manual/mod/mod_tls.html.en new file mode 100644 index 0000000..56a59b8 --- /dev/null +++ b/docs/manual/mod/mod_tls.html.en @@ -0,0 +1,663 @@ + + + + + +mod_tls - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_tls

+
+

Available Languages:  en 

+
+ + + + +
Description:TLS v1.2 and v1.3 implemented in memory-safe Rust via + the rustls library +
Status:Experimental
Module Identifier:tls_module
Source File:mod_tls.c
Compatibility:Available in version 2.4.52 and later
+

Summary

+ +

+ mod_tls is an alternative to mod_ssl for providing https to a server. + It's feature set is a subset, described in more detail below. It can + be used as a companion to mod_ssl, e.g. both modules can be loaded at + the same time. +

+ mod_tls, being written in C, used the Rust implementation of TLS named + rustls via its C interface + rustls-ffi. This gives + memory safe cryptography and protocol handling at comparable + performance. +

+ It can be configured for frontend and backend connections. The configuration + directive have been kept mostly similar to mod_ssl ones. +

+
+ +
top
+
+

TLS in a VirtualHost context

+ +
Listen 443
+TLSEngine 443
+
+<VirtualHost *:443>
+  ServerName example.net
+  TLSCertificate file_with_certificate.pem file_with_key.pem
+  ...
+</VirtualHost>
+ +

+ The above is a minimal configuration. Instead of enabling mod_tls + in every virtual host, the port for incoming TLS connections is + specified. +

+ You cannot mix virtual hosts with mod_ssl and mod_tls on the same + port. It's either or. SNI and ALPN are supported. You may use several + virtual hosts on the same port and a mix of protocols like http/1.1 + and h2. +

+
top
+
+

Feature Comparison with mod_ssl

+

+ The table below gives a comparison of feature between + mod_ssl and mod_tls. If a feature of mod_ssl is no listed here, + it is not supported by mod_tls. The one difference, probably most relevant + is the lack for client certificate support in the current version of + mod_tls. +

+ + + + + + + + + + + + + + + + + + + + + + + +
Featuremod_sslmod_tlsComment
Frontend TLSyesyes
Backend TLSyesyes
TLS v1.3yes*yes*)with recent OpenSSL
TLS v1.2yesyes
TLS v1.0yes*no*)if enabled in OpenSSL
SNI Virtual Hostsyesyes
Client Certificatesyesno
Machine Certificates for Backendyesyes
OCSP Staplingyesyes**)via mod_md
Backend OCSP checkyesno**)stapling will be verified
TLS version to allowmin-maxmin
TLS ciphersexclusive listpreferred/suppressed
TLS cipher orderingclient/serverclient/server
TLS sessionsyesyes
SNI strictnessdefault nodefault yes
Option EnvVarsexhaustivelimited**)see var list
Option ExportCertDataclient+serverserver
Backend CAfile/dirfile
Revocation CRLsyesno
TLS Renegotiationyes*no*)in TLS v1.2
Encrypted Cert Keysyesno
+

+

+
top
+
+

TLS Protocols

+

+ mod_tls supports TLS protocol version 1.2 and 1.3. Should there ever be + a version 1.4 and rustls supports it, it will be available as well. +

+

+ In mod_tls, you configure the minimum version to use, never the maximum: +

+
TLSProtocol TLSv1.3+
+ +

+ This allows only version 1.3 and whatever may be its successor one day when talking + to your server or to a particular virtual host. +

+
top
+
+

TLS Ciphers

+

+ The list of TLS ciphers supported in the rustls library, + can be found here. All TLS v1.3 + ciphers are supported. For TLS v1.2, only ciphers that rustls considers + secure are available. +

+ mod_tls supports the following names for TLS ciphers: +

+
    +
  1. + The IANA assigned name + which uses `_` to separate parts. Example: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 +
  2. +
  3. + The OpenSSL name, using `-` as separator (for 1.2). Example: ECDHE-ECDSA-AES256-SHA384. + Such names often appear in documentation. `mod_tls` defines them for all TLS v1.2 ciphers. + For TLS v1.3 ciphers, names starting with TLS13_ are also supported. +
  4. +
  5. + The IANA assigned identifier, + which is a 16-bit numeric value. Example: 0xc024. + You can use this in configurations as TLS_CIPHER_0xc024. +
  6. +
+

+ You can configure a preference for ciphers, which means they will be used + for clients that support them. If you do not configure a preference, rustls + will use the one that it considers best. This is recommended. +

+

+ Should you nevertheless have the need to prefer one cipher over another, you + may configure it like this: +

+
TLSCiphersPrefer ECDHE-ECDSA-AES256-SHA384
+# or several
+TLSCiphersPrefer ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305
+ +

+ If you name a cipher that is unknown, the configuration will fail. + If you name a cipher is not supported by rustls (or no + longer supported in an updated version of rustls for security + reasons), mod_tls will log a WARNING, but continue to work. +

+

+ A similar mechanism exists, if you want to disable a particular cipher: +

+
TLSCipherSuppress ECDHE-ECDSA-AES256-SHA384
+ +

+ A suppressed cipher will not longer be used. + If you name a cipher that is unknown, the configuration will fail. + If you name a cipher is not supported by rustls (or no + longer supported in an updated version of rustls for security + reasons), mod_tls will log a WARNING, but continue to work. +

+
top
+
+

Virtual Hosts

+

+ mod_tls uses the SNI (Server Name Indicator) to select one of the + configured virtual hosts that match the port being served. Should + the client not provide an SNI, the first configured + virtual host will be selected. If the client does provide + an SNI (as all today's clients do), it must match one + virtual host (ServerName or + ServerAlias) + or the connection will fail. +

+

+ As with mod_ssl, you may specify ciphers and protocol + versions for the base server (global) and/or individual virtual hosts + that are selected via SNI by the client. +

+
Listen 443
+TLSEngine 443
+
+<VirtualHost *:443>
+  ServerName example1.net
+  TLSCertificate example1-cert.pem
+  ...
+</VirtualHost>
+
+<VirtualHost *:443>
+  ServerName example2.net
+  TLSCertificate example2-cert.pem
+  ...
+  TLSProtocol v1.3+
+</VirtualHost>
+ +

+ The example above show different TLS settings for virtual hosts on the + same port. This is supported. example1 can be contacted via + all TLS versions and example2 only allows v1.3 or later. +

+
top
+
+

ACME Certificates

+

+ ACME certificates via mod_md are supported, just as + for mod_ssl. A minimal configuration: +

+
Listen 443
+TLSEngine 443
+MDomain example.net
+
+<VirtualHost *:443>
+  ServerName example.net
+  ...
+</VirtualHost>
+ +
top
+
+

OCSP Stapling

+

+ mod_tls has no own implementation to retrieve OCSP information for + a certificate. However, it will use such for Stapling if it is provided + by mod_md. See mod_md's documentation + on how to enable this. +

+
top
+
+

TLS Variables

+

+ Via the directive TLSOptions, several variables + are placed into the environment of requests and can be inspected, for + example in a CGI script. +

+

+ The variable names are given by mod_ssl. Note that these + are only a subset of the many variables that mod_ssl exposes. +

+ + + + + + + + + + + + + +
VariableTLSOptionDescription
SSL_TLS_SNI*the server name indicator (SNI) send by the client
SSL_PROTOCOL*the TLS protocol negotiated
SSL_CIPHER*the name of the TLS cipher negotiated
SSL_VERSION_INTERFACEStdEnvVarsthe module version
SSL_VERSION_LIBRARYStdEnvVarsthe rustls-ffi version
SSL_SECURE_RENEGStdEnvVarsalways `false`
SSL_COMPRESS_METHODStdEnvVarsalways `false`
SSL_CIPHER_EXPORTStdEnvVarsalways `false`
SSL_CLIENT_VERIFYStdEnvVarsalways `false`
SSL_SESSION_RESUMEDStdEnvVarseither `Resumed` if a known TLS session id was presented by the client or `Initial` otherwise
SSL_SERVER_CERTExportCertDatathe selected server certificate in PEM format
+

+ The variable SSL_SESSION_ID is intentionally not supported as + it contains sensitive information. +

+
top
+
+

Client Certificates

+

+ While rustls supports client certificates in principle, parts + of the infrastructure to make use of these in a server are not + offered. +

+

+ Among these features are: revocation lists, inspection of certificate + extensions and the matched issuer chain for OCSP validation. Without these, + revocation of client certificates is not possible. Offering authentication + without revocation is not considered an option. +

+

+ Work will continue on this and client certificate support may become + available in a future release. +

+
+
top
+

TLSCertificate Directive

+ + + + + + +
Description:adds a certificate and key (PEM encoded) to a server/virtual host.
Syntax:TLSCertificate cert_file [key_file]
Context:server config, virtual host
Status:Experimental
Module:mod_tls
+

+ If you do not specify a separate key file, the key is assumed to also be + found in the first file. You may add more than one certificate to a + server/virtual host. The first certificate suitable for a client is then chosen. +

+ The path can be specified relative to the server root. +

+ +
+
top
+

TLSCiphersPrefer Directive

+ + + + + + +
Description:defines ciphers that are preferred.
Syntax:TLSCiphersPrefer cipher(-list)
Context:server config, virtual host
Status:Experimental
Module:mod_tls
+

+ This will not disable any ciphers supported by `rustls`. If you + specify a cipher that is completely unknown, the configuration will + fail. If you specify a cipher that is known but not supported by `rustls`, + a warning will be logged but the server will continue. +

+

+

Example

TLSCiphersPrefer ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305
+
+

+ The example gives 2 ciphers preference over others, in the + order they are mentioned. +

+ +
+
top
+

TLSCiphersSuppress Directive

+ + + + + + +
Description:defines ciphers that are not to be used.
Syntax:TLSCiphersSuppress cipher(-list)
Context:server config, virtual host
Status:Experimental
Module:mod_tls
+

+ This will not disable any unmentioned ciphers supported by `rustls`. + If you specify a cipher that is completely unknown, the configuration will fail. + If you specify a cipher that is known but not supported by `rustls`, + a warning will be logged but the server will continue. +

+

+

Example

TLSCiphersSuppress ECDHE-ECDSA-CHACHA20-POLY1305
+
+

+ The example removes a cipher for use in connections. +

+ +
+
top
+

TLSEngine Directive

+ + + + + + +
Description:defines on which address+port the module shall handle incoming connections.
Syntax:TLSEngine [address:]port
Context:server config
Status:Experimental
Module:mod_tls
+

+ This is set on a global level, not in individual <VirtualHost>s. + It will affect all <VirtualHost> + that match the specified address/port. + You can use TLSEngine several times to use more than one address/port. +

+

+

Example

TLSEngine 443
+
+

+ The example tells mod_tls to handle incoming connection on port 443 for + all listeners. +

+ +
+
top
+

TLSHonorClientOrder Directive

+ + + + + + + +
Description:determines if the order of ciphers supported by the client is honored
Syntax:TLSHonorClientOrder on|off
Default:TLSHonorClientOrder on
Context:server config, virtual host
Status:Experimental
Module:mod_tls
+

+ TLSHonorClientOrder determines if the order of ciphers + supported by the client is honored. +

+

+ +
+
top
+

TLSOptions Directive

+ + + + + + +
Description:enables SSL variables for requests.
Syntax:TLSOptions [+|-]option
Context:server config, virtual host, directory, .htaccess
Status:Experimental
Module:mod_tls
+

+ TLSOptions is analog to SSLOptions in mod_ssl. + It can be set per directory/location and `option` can be: +

+
    +
  • `StdEnvVars`: adds more variables to the requests environment, + as forwarded for example to CGI processing and other applications. +
  • +
  • `ExportCertData`: adds certificate related variables to the request environment. +
  • +
  • `Defaults`: resets all options to their default values.
  • +
+

+ Adding variables to a request environment adds overhead, especially + when certificates need to be inspected and fields extracted. + Therefore most variables are not set by default. +

+

+ You can configure TLSOptions per location or generally on a + server/virtual host. Prefixing an option with `-` disables this + option while leaving others unchanged. + A `+` prefix is the same as writing the option without one. +

+

+ The `Defaults` value can be used to reset any options that are + inherited from other locations or the virtual host/server. +

+

Example

<Location /myplace/app>
+  TLSOptions Defaults StdEnvVars
+  ...
+</Location>
+
+ +
+
top
+

TLSProtocol Directive

+ + + + + + + +
Description:specifies the minimum version of the TLS protocol to use.
Syntax:TLSProtocol version+
Default:TLSProtocol v1.2+
Context:server config, virtual host
Status:Experimental
Module:mod_tls
+

+ The default is `v1.2+`. Settings this to `v1.3+` would disable TLSv1.2. +

+ +
+
top
+

TLSProxyCA Directive

+ + + + + + +
Description:sets the root certificates to validate the backend server with.
Syntax:TLSProxyCA file.pem
Context:server config, virtual host, proxy section
Status:Experimental
Module:mod_tls
+

+ +

+ +
+
top
+

TLSProxyCiphersPrefer Directive

+ + + + + + +
Description:defines ciphers that are preferred for a proxy connection.
Syntax:TLSProxyCiphersPrefer cipher(-list)
Context:server config, virtual host, proxy section
Status:Experimental
Module:mod_tls
+

+ This will not disable any ciphers supported by `rustls`. + If you specify a cipher that is completely unknown, the configuration will fail. + If you specify a cipher that is known but not supported by `rustls`, + a warning will be logged but the server will continue. +

+ +
+
top
+

TLSProxyCiphersSuppress Directive

+ + + + + + +
Description:defines ciphers that are not to be used for a proxy connection.
Syntax:TLSProxyCiphersSuppress cipher(-list)
Context:server config, virtual host, proxy section
Status:Experimental
Module:mod_tls
+

+ This will not disable any unmentioned ciphers supported by `rustls`. + If you specify a cipher that is completely unknown, the configuration will fail. + If you specify a cipher that is known but not supported by `rustls`, + a warning will be logged but the server will continue. +

+ +
+
top
+

TLSProxyEngine Directive

+ + + + + + +
Description:enables TLS for backend connections.
Syntax:TLSProxyEngine on|off
Context:server config, virtual host, proxy section
Status:Experimental
Module:mod_tls
+

+ TLSProxyEngine is analog to SSLProxyEngine in mod_ssl. +

+ This can be used in a server/virtual host or <Proxy> section to + enable the module for outgoing connections using mod_proxy. +

+ +
+
top
+

TLSProxyMachineCertificate Directive

+ + + + + + +
Description:adds a certificate and key file (PEM encoded) to a proxy setup.
Syntax:TLSProxyMachineCertificate cert_file [key_file]
Context:server config, virtual host, proxy section
Status:Experimental
Module:mod_tls
+

+ The certificate is used to authenticate against a proxied backend server. +

+ If you do not specify a separate key file, the key is assumed to also be + found in the first file. You may add more than one certificate to a proxy + setup. The first certificate suitable for a proxy connection to a backend + is then chosen by rustls. +

+

+ The path can be specified relative to the server root. +

+ +
+
top
+

TLSProxyProtocol Directive

+ + + + + + + +
Description:specifies the minimum version of the TLS protocol to use in proxy connections.
Syntax:TLSProxyProtocol version+
Default:TLSProxyProtocol v1.2+
Context:server config, virtual host, proxy section
Status:Experimental
Module:mod_tls
+

+ The default is `v1.2+`. Settings this to `v1.3+` would disable TLSv1.2. +

+ +
+
top
+

TLSSessionCache Directive

+ + + + + + +
Description:specifies the cache for TLS session resumption.
Syntax:TLSSessionCache cache-spec
Context:server config
Status:Experimental
Module:mod_tls
+

+ This uses a cache on the server side to allow clients to resume connections. +

+ You can set this to `none` or define a cache as in the SSLSessionCache + directive of mod_ssl. +

+ If not configured, `mod_tls` will try to create a shared memory cache on its own, + using `shmcb:tls/session-cache` as specification. + Should that fail, a warning is logged, but the server continues. +

+ +
+
top
+

TLSStrictSNI Directive

+ + + + + + + +
Description:enforces exact matches of client server indicators (SNI) against host names.
Syntax:TLSStrictSNI on|off
Default:TLSStrictSNI on
Context:server config
Status:Experimental
Module:mod_tls
+

+ Client connections using SNI will be unsuccessful if no match is found. +

+ +
+
+
+

Available Languages:  en 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_unique_id.html b/docs/manual/mod/mod_unique_id.html index 73261f8..75891fe 100644 --- a/docs/manual/mod/mod_unique_id.html +++ b/docs/manual/mod/mod_unique_id.html @@ -2,7 +2,7 @@ URI: mod_unique_id.html.en Content-Language: en -Content-type: text/html; charset=ISO-8859-1 +Content-type: text/html; charset=UTF-8 URI: mod_unique_id.html.fr.utf8 Content-Language: fr diff --git a/docs/manual/mod/mod_unique_id.html.en b/docs/manual/mod/mod_unique_id.html.en index 6c7625a..944a77e 100644 --- a/docs/manual/mod/mod_unique_id.html.en +++ b/docs/manual/mod/mod_unique_id.html.en @@ -1,7 +1,7 @@ - + - + + + + + +
<-
+ + +

Index par classes des directives autorisées dans .htaccess

+
+

Langues Disponibles:  en  | + fr 

+
+ +

+ Ceci est un index, organisé en classes, des directives autorisées dans les + fichiers .htaccess pour différentes définitions de la directive AllowOverride. Il a pour but d'aider les + administrateurs à contrôler les privilèges qu'ils accordent aux + utilisateurs via les fichiers .htaccess. Pour une présentation de la + manière dont fonctionnent les fichiers .htaccess, voir le tutoriel .htaccess. +

+ +

Pour déterminer le jeu de directives que la configuration de votre + serveur autorise aux utilisateurs dans les fichiers .htaccess :

+ +
    +
  1. Commencez par rechercher la présence d'une directive + AllowOverrideList dans la section directory concernée. Sa + définition vous indiquera la liste des directives autorisées (La valeur + par défaut de cette directive est None).
  2. +
  3. Recherchez ensuite la présence d'une directive + AllowOverride dans cette même section (sa valeur par défaut + est None). Il y a tout d'abord deux cas particuliers : +
      +
    1. Si la directive AllowOverride est définie à + All, vous pouvez ajouter toutes les directives indiquées + sur cette page à la liste préexistante.
    2. +
    3. Si la directive AllowOverride est définie à + None, inutile d'aller plus loin. Seules les directives indiquées + par la directive AllowOverrideList (si elle est présente) + seront autorisées.
    4. +
    +
  4. +
  5. En dehors de ces deux cas, la directive AllowOverride + définit une liste de classes de directives (vous trouverez plus loin le + jeu de directives correspondant à chacune de ces classes), et vous pourrez + alors les ajouter à la liste définie par la directive + AllowOverrideList.
  6. +
  7. Ajoutez enfin à la liste le jeu de directives toujours autorisées dans les + fichiers .htaccess (elles sont listées dans la section All ci-dessous).
  8. +
+ +

+ De nombreuses classes de directives sont assez puissantes et peuvent + permettre aux utilisateurs des fichiers .htaccess de contrôler une grande + partie du serveur. Pour une approche plus sure, définissez + AllowOverride None, et utilisez la directive AllowOverrideList pour spécifier la liste exacte + de directives que les utilisateurs de fichiers .htaccess pourront utiliser. +

+
+

Sujets

+

Voir aussi

+
+
top

All

+

+ Les directives suivantes sont autorisées dans les fichiers .htaccess, sous + réserve que la surcharge soit autorisée dans la configuration du serveur. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
<Else>core
Contient des directives qui ne s'appliquent que si la +condition correspondant à la section <If> ou <ElseIf> précédente n'est pas satisfaite par la +requête à l'exécution
<ElseIf>core
Contient des directives qui ne s'appliquent que si la +condition correspondante est satisfaite par une requête à l'exécution, +alors que la condition correspondant à la section <If> ou <ElseIf> précédente ne l'était pas.
<Files>core
Contient des directives qui s'appliquent aux fichiers +précisés
<FilesMatch>core
Contient des directives qui s'appliquent à des fichiers +spécifiés sous la forme d'expressions rationnelles
<If>core
Contient des directives qui ne s'appliquent que si une +condition est satisfaite au cours du traitement d'une +requête
<IfDefine>core
Contient des directives qui ne s'appliqueront que si un +test retourne "vrai" au démarrage du serveur
<IfDirective>core
Regroupe des directives dont le traitement est conditionné par la +présence ou l'absence d'une directive particulière
<IfFile>core
Regroupe des directives qui ne seront traitées que si un fichier +existe au démarrage
<IfModule>core
Contient des directives qui ne s'appliquent qu'en fonction +de la présence ou de l'absence d'un module spécifique
<IfSection>core
Regroupe des directives dont le traitement est conditionné par la +présence ou l'absence d'une section particulière
<IfVersion>mod_version
Contient des portions de configuration dépendantes de la +version
LimitRequestBodycore
limite la taille maximale du corps de la requête HTTP +envoyée par le client
LimitXMLRequestBodycore
Définit la taille maximale du corps d'une requête au format +XML
LogIOTrackTTFBmod_logio
Permet d'enregistrer le délai avant le premier octet (time +to first byte - TTFB)
LuaCodeCachemod_lua
Configure le cache de code compilé.
LuaHookAccessCheckermod_lua
Fournit un point d'entrée pour la phase access_checker du +traitement de la requête
LuaHookAuthCheckermod_lua
Fournit un point d'entrée pour la phase auth_checker du +traitement de la requête
LuaHookCheckUserIDmod_lua
Fournit un point d'entrée pour la phase check_user_id du +traitement de la requête
LuaHookFixupsmod_lua
Fournit un point d'entrée pour la phase de correction du +traitement de la requête
LuaHookInsertFiltermod_lua
Fournit un point d'entrée pour la phase insert_filter du +traitement de la requête
LuaHookLogmod_lua
Permet une insertion dans la phase de journalisation du +traitement d'une requête
LuaHookMapToStoragemod_lua
Fournit un point d'entrée pour la phase map_to_storage du +traitement de la requête
LuaHookPreTranslatemod_lua
Fournit un point d'entrée pour la phase de pré-traduction du +traitement d'une requête
LuaHookTranslateNamemod_lua
Fournit un point d'entrée à la phase du nom de +traduction du traitement de la requête
LuaHookTypeCheckermod_lua
Fournit un point d'entrée pour la phase type_checker du +traitement de la requête
LuaInheritmod_lua
Contrôle la manière dont les sections de configuration +parentes sont fusionnées dans les enfants
LuaMapHandlermod_lua
Met en correspondance un chemin avec un gestionnaire lua
LuaPackageCPathmod_lua
Ajoute un répertoire au package.cpath de lua
LuaPackagePathmod_lua
Ajoute un répertoire au package.path de lua
LuaQuickHandlermod_lua
Fournit un point d'entrée pour la gestion rapide du +traitement de la requête
LuaRootmod_lua
Spécifie le chemin de base pour la résolution des chemins +relatifs dans les directives de mod_lua
LuaScopemod_lua
Une valeur parmi once, request, conn, thread -- la valeur par défaut est once
RLimitCPUcore
Limite le temps CPU alloué aux processus initiés par les +processus enfants d'Apache httpd
RLimitMEMcore
Limite la mémoire allouée aux processus initiés par les +processus enfants d'Apache httpd
RLimitNPROCcore
Limite le nombre de processus qui peuvent être initiés par +les processus initiés par les processus enfants d'Apache httpd
ServerSignaturecore
Définit un pied de page pour les documents générés par le +serveur
SSIErrorMsgmod_include
Message d'erreur affiché lorsqu'une erreur SSI +survient
SSITimeFormatmod_include
Configuration du format d'affichage des dates
SSIUndefinedEchomod_include
Chaîne à afficher lorsqu'on tente d'extraire le contenu +d'une variable non définie
top

AuthConfig

+

+ Les directives suivantes sont autorisées dans les fichiers .htaccess + lorsque AllowOverride AuthConfig a été spécifié. Elles + permettent aux utilisateurs de fichiers .htaccess de contrôler les + méthodes d'authentification et d'autorisation qui s'appliquent à + l'arborescence de leur répertoire, y compris de nombreuses directives + utilitaires pour la gestion de session et la configuration TLS. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Anonymousmod_authn_anon
Définit la liste des identifiants utilisateur autorisés à +accéder sans vérification du mot de passe
Anonymous_LogEmailmod_authn_anon
Détermine si le mot de passe fourni sera enregistré dans le +journal des erreurs
Anonymous_MustGiveEmailmod_authn_anon
Détermine si l'abscence de mot de passe est +autorisée
Anonymous_NoUserIDmod_authn_anon
Détermine si le champ identifiant peut être +vide
Anonymous_VerifyEmailmod_authn_anon
Détermine s'il faut vérifier que le format de l'adresse +email fournie comme mot de passe est correct
AuthBasicAuthoritativemod_auth_basic
Définit si les processus d'autorisation et +d'authentification peuvent être confiés à des modules de plus bas +niveau
AuthBasicFakemod_auth_basic
Authentification de base simulée à l'aide des nom +d'utilisateur et mot de passe fournis
AuthBasicProvidermod_auth_basic
Définit le(les) fournisseur(s) d'authentification pour +cette zone du site web
AuthBasicUseDigestAlgorithmmod_auth_basic
Vérifie les mots de passe auprès des fournisseurs +d'authentification à la manière de l'authentification de type Digest. +
AuthDBMGroupFilemod_authz_dbm
Définit le nom du fichier de base de données contenant la +liste des groupes d'utilisateurs permettant de définir les +autorisations des utilisateurs
AuthDBMTypemod_authn_dbm
Définit le type de fichier de base de données utilisé pour +stocker les mots de passe
AuthDBMUserFilemod_authn_dbm
Définit le nom d'un fichier de base de données pour +l'authentification contenant la liste +des utilisateurs et de leurs mots de passe
AuthDigestAlgorithmmod_auth_digest
Sélectionne l'algorithme utilisé pour calculer les +condensés du défit et de sa réponse
AuthDigestDomainmod_auth_digest
Les URIs qui se trouvent dans le même espace de protection +concernant l'authentification à base de condensés
AuthDigestNonceLifetimemod_auth_digest
Durée de validité du nombre à valeur unique du +serveur (nonce)
AuthDigestProvidermod_auth_digest
Définit le(s) fournisseurs(s) d'authentification pour la +zone du site web concernée
AuthDigestQopmod_auth_digest
Détermine le niveau de protection fourni par +l'authentification à base de condensé
AuthFormAuthoritativemod_auth_form
Détermine si l'autorisation et l'authentification sont confiés à +des modules de plus bas niveau
AuthFormProvidermod_auth_form
Définit le(s) fournisseur(s) d'authentification pour la +zone concernée
AuthGroupFilemod_authz_groupfile
Définit le nom d'un fichier texte contenant la liste des +groupes d'utilisateurs permettant de définir les autorisations des +utilisateurs
AuthLDAPAuthorizePrefixmod_authnz_ldap
Spécifie le préfixe ajouté aux variables d'environnement +durant la phase d'autorisation
AuthLDAPBindAuthoritativemod_authnz_ldap
Détermine si l'on doit utiliser d'autres fournisseurs +d'authentification lorsque le serveur ne peut pas valider les données +d'authentification de l'utilisateur, alors que ce dernier possède un +DN.
AuthLDAPBindDNmod_authnz_ldap
Un DN optionnel pour se connecter au serveur +LDAP
AuthLDAPBindPasswordmod_authnz_ldap
Mot de passe à utiliser en conjonction avec le DN de +connexion
AuthLDAPCompareAsUsermod_authnz_ldap
Utilisation des données d'authentification de l'utilisateur +pour effectuer les comparaisons pour l'attribution des autorisations
AuthLDAPCompareDNOnServermod_authnz_ldap
Utilise le serveur LDAP pour comparer les DNs
AuthLDAPDereferenceAliasesmod_authnz_ldap
À quel moment le module va déréférencer les +alias
AuthLDAPGroupAttributemod_authnz_ldap
L'attribut LDAP utilisé pour vérifier l'appartenance d'un +utilisateur à un groupe.
AuthLDAPGroupAttributeIsDNmod_authnz_ldap
Utilise le DN de l'utilisateur pour vérifier son +appartenance à un groupe
AuthLDAPInitialBindAsUsermod_authnz_ldap
Détermine si le serveur effectue la recherche initiale du +DN en utilisant le nom propre de l'utilisateur pour l'authentification +de base +et non de manière anonyme, ou en utilisant des données d'authentification +codées en dur pour le serveur
AuthLDAPInitialBindPatternmod_authnz_ldap
Spécifie la modification a apporter au nom d'utilisateur +pour l'authentification de base lors de l'authentification auprès du +serveur LDAP pour effectuer une recherche de DN
AuthLDAPMaxSubGroupDepthmod_authnz_ldap
Spécifie la profondeur d'imbrication des sous-groupes +maximale prise en compte avant l'abandon de la recherche de +l'utilisateur.
AuthLDAPRemoteUserAttributemod_authnz_ldap
Spécifie l'attribut dont la valeur renvoyée au cours de la +requête de l'utilisateur sera utilisée pour définir la variable +d'environnement REMOTE_USER
AuthLDAPRemoteUserIsDNmod_authnz_ldap
Utilise le DN de l'utilisateur pour définir la variable +d'environnement REMOTE_USER
AuthLDAPSearchAsUsermod_authnz_ldap
Utilise les données d'authentification de l'utilisateur +pour la recherche des autorisations
AuthLDAPSubGroupAttributemod_authnz_ldap
Spécifie les noms d'attribut, un par directive, utilisés +pour différencier les membres du groupe courant qui sont eux-mêmes des +groupes.
AuthLDAPSubGroupClassmod_authnz_ldap
Spécifie quelles valeurs d'objectClass LDAP identifient les +objets de l'annuaire qui sont des groupes au cours du traitement des +sous-groupes.
AuthLDAPURlmod_authnz_ldap
L'URL permettant de spécifier les paramètres de la +recherche LDAP
AuthMergingmod_authz_core
Définit la manière dont chaque logique d'autorisation des +sections de configuration se combine avec celles des sections de +configuration précédentes.
AuthNamemod_authn_core
L'identifiant de l'autorisation à utiliser avec +l'authentification HTTP
AuthnCacheProvideFormod_authn_socache
Spécifie le fournisseur pour lequel on veut effectuer une +mise en cache
AuthnCacheTimeoutmod_authn_socache
Définit une durée de vie pour les entrées du cache
AuthTypemod_authn_core
Type d'authentification utilisateur
AuthUserFilemod_authn_file
Définit le nom d'un fichier texte pour l'authentification +contenant la liste des utilisateurs et de leurs mots de +passe
AuthzDBMTypemod_authz_dbm
Définit le type de fichier de base de données contenant +la liste des groupes d'utilisateurs
CGIPassAuthcore
Active la transmission d'en-têtes d'autorisation HTTP aux scripts en +tant que variables CGI
LDAPReferralHopLimitmod_ldap
Le nombre maximum de redirections vers des serveurs +alternatifs (referrals) avant l'abandon de la requête +LDAP.
LDAPReferralsmod_ldap
Active la redirection vers des serveurs alternatifs au +cours des requêtes vers le serveur LDAP.
<Limit>core
Limite les contrôles d'accès que la section contient à +certaines méthodes HTTP
<LimitExcept>core
Applique les contrôles d'accès à toutes les méthodes HTTP, +sauf celles qui sont spécifiées
Requiremod_authz_core
Vérifie si un utilisateur authentifié a une +autorisation d'accès accordée par un fournisseur +d'autorisation.
<RequireAll>mod_authz_core
Regroupe plusieurs directives d'autorisation dont aucune ne +doit échouer et dont au moins une doit retourner un résultat positif +pour que la directive globale retourne elle-même un résultat +positif.
<RequireAny>mod_authz_core
Regroupe des directives d'autorisation dont au moins une +doit retourner un résultat positif pour que la directive globale +retourne elle-même un résultat positif.
<RequireNone>mod_authz_core
Regroupe des directives d'autorisation dont aucune ne doit +retourner un résultat positif pour que la directive globale n'échoue +pas.
Satisfymod_access_compat
Interaction entre le contrôle d'accès en fonction de l'hôte +et l'authentification utilisateur
Sessionmod_session
Ouvre une session pour le contexte courant
SessionEnvmod_session
Définit si le contenu de la session doit être enregistré +dans la variable d'environnement HTTP_SESSION
SessionHeadermod_session
Importation des mises à jour de session depuis l'en-tête de +réponse HTTP spécifié
SessionIncludemod_session
Définit les préfixes d'URL pour lesquels une session est +valide
SessionMaxAgemod_session
Définit une durée de vie maximale pour la session en +secondes
SSLCipherSuitemod_ssl
Algorithmes de chiffrement disponibles pour la négociation +au cours de l'initialisation de la connexion SSL
SSLRenegBufferSizemod_ssl
Définit la taille du tampon de renégociation +SSL
SSLRequiremod_ssl
N'autorise l'accès que lorsqu'une expression booléenne +complexe et arbitraire est vraie
SSLRequireSSLmod_ssl
Interdit l'accès lorsque la requête HTTP n'utilise pas +SSL
SSLUserNamemod_ssl
Nom de la variable servant à déterminer le nom de +l'utilisateur
SSLVerifyClientmod_ssl
Niveau de vérification du certificat client
SSLVerifyDepthmod_ssl
Profondeur maximale des certificats de CA pour la +vérification des certificats clients
top

FileInfo

+

+ Les directives suivantes sont autorisées dans les fichiers .htaccess + lorsque AllowOverride FileInfo a été spécifié. Elles + accordent aux utilisateurs de fichiers .htaccess un grand nombre de + contrôles sur les réponses et les métadonnées fournies par le serveur. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AcceptPathInfocore
Les ressources acceptent des informations sous forme d'un +nom de chemin en fin de requête.
Actionmod_actions
Active un script CGI pour un gestionnaire ou un type de +contenu particulier
AddCharsetmod_mime
Associe les extensions de noms de fichiers spécifiées au +jeu de caractères spécifié
AddDefaultCharsetcore
Paramètre jeu de caractères par défaut à ajouter quand le +type de contenu d'une réponse est text/plain ou +text/html
AddEncodingmod_mime
Associe les extensions de noms de fichiers données au type +de codage spécifié
AddHandlermod_mime
Associe les extensions de noms de fichiers données au +gestionnaire spécifié
AddInputFiltermod_mime
Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les requêtes clients
AddLanguagemod_mime
Associe l'extension de nom de fichier donnée à la langue +spécifié
AddOutputFiltermod_mime
Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les réponses en provenance du +serveur
AddOutputFilterByTypemod_filter
assigne un filtre en sortie pour un type de média +particulier
AddTypemod_mime
Associe les extensions de noms de fichiers au type de +contenu spécifié
BrowserMatchmod_setenvif
Définit des variables d'environnement en fonction du +contenu de l'en-tête HTTP User-Agent
BrowserMatchNoCasemod_setenvif
Définit des variables d'environnement en fonction du +contenu de l'en-tête HTTP User-Agent sans tenir compte de la +casse
CGIMapExtensioncore
Technique permettant de localiser l'interpréteur des +scripts CGI
CGIVarcore
Contrôle la manière dont certaines variables CGI sont définies
CharsetDefaultmod_charset_lite
Jeu de caractère vers lequel la traduction doit +s'effectuer
CharsetOptionsmod_charset_lite
Précise les détails de la traduction du jeu de +caractères
CharsetSourceEncmod_charset_lite
Jeu de caractères source des fichiers
CookieDomainmod_usertrack
Le domaine auquel le cookie traceur +s'applique
CookieExpiresmod_usertrack
Durée avant expiration du cookie traceur
CookieHTTPOnlymod_usertrack
Ajoute l'attribut 'HTTPOnly' au cookie
CookieNamemod_usertrack
Nom du cookie traceur
CookieSameSitemod_usertrack
Ajoute l'attribut 'SameSite' au cookie
CookieSecuremod_usertrack
Ajoute l'attribut 'Secure' au cookie
CookieStylemod_usertrack
Format du champ d'en-tête cookie
CookieTrackingmod_usertrack
Active le cookie traceur
DefaultLanguagemod_mime
Définit un symbole de langue par défaut à affecter au champ +d'en-tête Content-Language pour toutes les ressources dans le contexte +courant auxquelles aucun symbole de langue n'a été +associé.
DefaultTypecore
Les seuls effets de cette directive sont des émissions +d'avertissements si sa valeur est différente de none. Dans +les versions précédentes, DefaultType permettait de spécifier un type de +média à assigner par défaut au contenu d'une réponse pour lequel aucun +autre type de média n'avait été trouvé. +
EnableMMAPcore
Utilise la projection en mémoire (Memory-Mapping) pour +lire les fichiers pendant qu'ils sont servis
EnableSendfilecore
Utilise le support sendfile du noyau pour servir les +fichiers aux clients
ErrorDocumentcore
Document que le serveur renvoie au client en cas +d'erreur
FileETagcore
Caractéristiques de fichier utilisées lors de la génération +de l'en-tête de réponse HTTP ETag pour les fichiers statiques
ForceLanguagePrioritymod_negotiation
Action à entreprendre si un document acceptable unique +n'est pas trouvé
ForceTypecore
Force le type de médium spécifié dans le champ d'en-tête +HTTP Content-Type pour les fichiers correspondants
Headermod_headers
Configure les en-têtes d'une réponse HTTP
ISAPIAppendLogToErrorsmod_isapi
Enregistrement des requêtes +HSE_APPEND_LOG_PARAMETER de la part des extensions ISAPI +dans le journal des erreurs
ISAPIAppendLogToQuerymod_isapi
Enregistre les requêtes +HSE_APPEND_LOG_PARAMETER de la part des extensions ISAPI +dans la partie arguments de la requête
ISAPIFakeAsyncmod_isapi
Emulation du support des entrées/sorties asynchrones pour +les appels ISAPI
ISAPILogNotSupportedmod_isapi
Journalisation des demandes de fonctionnalités non +supportées de la part des extensions ISAPI
ISAPIReadAheadBuffermod_isapi
Taille du tampon de lecture anticipée envoyé aux extensions +ISAPI
LanguagePrioritymod_negotiation
L'ordre de priorité des variantes de langages pour les +cas où le client n'a pas formulé de préférences
MultiviewsMatchmod_mime
Les types de fichiers qui seront inclus lors d'une +recherche de correspondance de fichier avec les vues multiples +(MultiViews)
PassEnvmod_env
Transmet des variables d'environnement depuis le +shell
QualifyRedirectURLcore
Vérifie si la variable d'environnement REDIRECT_URL est +pleinement qualifiée
Redirectmod_alias
Envoie une redirection externe demandant au client +d'effectuer une autre requête avec une URL différente
RedirectMatchmod_alias
Envoie une redirection externe faisant appel aux +expressions rationnelles pour la mise en correspondance de l'URL +courante
RedirectPermanentmod_alias
Envoie une redirection externe permanente demandant au +client d'effectuer une nouvelle requête avec une URL +différente
RedirectTempmod_alias
Envoie une redirection externe temporaire demandant au +client d'effectuer une nouvelle requête avec une URL +différente
RemoveCharsetmod_mime
Supprime toute association de jeu de caractères pour un +ensemble d'extensions de noms de fichiers
RemoveEncodingmod_mime
Supprime toute association de codage de contenu pour un +ensemble d'extensions de noms de fichiers
RemoveHandlermod_mime
Supprime toute association de gestionnaire à un ensemble +d'extensions de noms de fichiers
RemoveInputFiltermod_mime
Supprime toute association de filtre en entrée à un +ensemble d'extensions de noms de fichiers
RemoveLanguagemod_mime
Supprime toute association de langue à un ensemble +d'extensions de noms de fichiers
RemoveOutputFiltermod_mime
Supprime toute association de filtre en sortie à un +ensemble d'extensions de noms de fichiers
RemoveTypemod_mime
Supprime toute association de type de contenu à un ensemble +d'extensions de noms de fichiers
RequestHeadermod_headers
Configure les en-têtes d'une requête HTTP
RewriteBasemod_rewrite
Définit l'URL de base pour les réécritures au niveau +répertoire
RewriteCondmod_rewrite
Définit une condition qui devra être satisfaite pour que +la réécriture soit effectuée +
RewriteEnginemod_rewrite
Active ou désactive l'exécution du +moteur de réécriture
RewriteOptionsmod_rewrite
Configure certaines options spéciales +pour le moteur de réécriture
RewriteRulemod_rewrite
Définit les règles pour le moteur de réécriture
ScriptInterpreterSourcecore
Permet de localiser l'interpréteur des scripts +CGI
SetEnvmod_env
Définit des variables d'environnement
SetEnvIfmod_setenvif
Définit des variables d'environnement en fonction des +attributs de la requête
SetEnvIfExprmod_setenvif
Définit des variables d'environnement en fonction d'une expression ap_expr
SetEnvIfNoCasemod_setenvif
Définit des variables d'environnement en fonction des +attributs de la requête sans tenir compte de la casse
SetHandlercore
Force le traitement des fichiers spécifiés par un +gestionnaire particulier
SetInputFiltercore
Définit les filtres par lesquels vont passer les requêtes +client et les données POST
SetOutputFiltercore
Définit les filtres par lesquels vont passer les réponses +du serveur
Substitutemod_substitute
Modèle de substition dans le contenu de la +réponse
SubstituteInheritBeforemod_substitute
Modifie l'ordre de fusion des modèles hérités
SubstituteMaxLineLengthmod_substitute
Définit la longueur de ligne maximale
UnsetEnvmod_env
Supprime des variables de l'environnement
top

Indexes

+

+ Les directives suivantes sont autorisées dans les fichiers .htaccess + lorsque AllowOverride Indexes a été spécifié. Elles + permettent aux utilisateurs de fichiers .htaccess de contrôler certains + aspects des pages d'index de répertoires fournies par le serveur, y + compris la génération d'autoindex. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddAltmod_autoindex
Texte optionnel à afficher à la place d'un icône pour un +fichier en fonction de son nom
AddAltByEncodingmod_autoindex
Texte optionnel à afficher à la place d'un icône pour un +fichier en fonction de son codage MIME
AddAltByTypemod_autoindex
Texte optionnel à afficher à la place d'un icône pour un +fichier en fonction de son type MIME
AddDescriptionmod_autoindex
Afficher la description d'un fichier
AddIconmod_autoindex
Icône à afficher pour un fichier en fonction de son +nom
AddIconByEncodingmod_autoindex
Icône à afficher à côté d'un fichier en fonction de son +codage MIME
AddIconByTypemod_autoindex
Icône à afficher à côté d'un fichier en fonction de son +type MIME
DefaultIconmod_autoindex
Icône à afficher par défaut lorsqu'aucun icône spécifique +n'est précisé
DirectoryCheckHandlermod_dir
Définit la réponse de ce module lorsqu'un autre +gestionnaire est utilisé
DirectoryIndexmod_dir
Liste des fichiers ressources à rechercher lorsque le +client envoie une requête pour un répertoire
DirectoryIndexRedirectmod_dir
Définit une redirection externe pour les index de +répertoires. +
DirectorySlashmod_dir
Activation/Désactivation de la redirection "slash de +fin"
ExpiresActivemod_expires
Active la génération d'en-têtes +Expires
ExpiresByTypemod_expires
Définition de la valeur de l'en-tête Expires +en fonction du type MIME
ExpiresDefaultmod_expires
Mode de calcul par défaut de la date +d'expiration
FallbackResourcemod_dir
Définit une URL par défaut pour les requêtes qui ne ciblent +aucun fichier
HeaderNamemod_autoindex
Nom du fichier qui sera inséré au début de la page +contenant l'index
ImapBasemod_imagemap
Valeur par défaut de la directive base des +fichiers imagemap
ImapDefaultmod_imagemap
Action à entreprendre par défaut lorsqu'un fichier imagemap +est invoqué avec des coordonnées qui ne correspondent à aucune +cible
ImapMenumod_imagemap
Action à entreprendre si aucune coordonnée n'est fournie +lorsqu'on invoque un fichier imagemap
IndexHeadInsertmod_autoindex
Insère du texte dans la section HEAD de la page +d'index.
IndexIgnoremod_autoindex
Ajouts à la liste des fichiers à cacher lors de l'affichage +de l'index d'un répertoire
IndexIgnoreResetmod_autoindex
Vide la liste des fichiers à cacher lors de l'affichage du +contenu d'un répertoire
IndexOptionsmod_autoindex
Diverses options de configuration pour l'indexation d'un +répertoire
IndexOrderDefaultmod_autoindex
Définit l'ordre d'affichage par défaut d'un index de +répertoire
IndexStyleSheetmod_autoindex
Ajoute une feuille de style CSS à l'index du +répertoire
MetaDirmod_cern_meta
Le nom du répertoire où trouver les fichiers de +métainformations dans le style du CERN
MetaFilesmod_cern_meta
Active le traitement des métafichiers du CERN
MetaSuffixmod_cern_meta
Suffixe du fichier contenant les métainformations dans le +style du CERN
ReadmeNamemod_autoindex
Nom du fichier dont le contenu sera inséré à la fin de +l'index
top

Limit

+

+ Les directives suivantes sont autorisées dans les fichiers .htaccess + lorsque AllowOverride Limit a été spécifié. Cette autorisation + de surcharge très restreinte permet principalement d'utiliser les + directives d'autorisation héritées fournies par + mod_access_compat. +

+ + + + + + + + + + +
Allowmod_access_compat
Spécifie quels hôtes peuvent accéder à une certaine zone du +serveur
Denymod_access_compat
Définit quels hôtes ne sont pas autorisés à accéder au +serveur
<Limit>core
Limite les contrôles d'accès que la section contient à +certaines méthodes HTTP
<LimitExcept>core
Applique les contrôles d'accès à toutes les méthodes HTTP, +sauf celles qui sont spécifiées
Ordermod_access_compat
Définit le statut d'accès par défaut et l'ordre dans lequel +les directives Allow et +Deny sont évaluées.
top

Options

+

+ Les directives suivantes sont autorisées dans les fichiers .htaccess + lorsque AllowOverride Options a été spécifié. Elles permettent + aux utilisateurs de fichiers .htaccess d'utiliser la directive + Options et d'autres directives similaires, ainsi que les + directives qui contrôlent la chaîne de filtrage. +

+ + + + + + + + + + + + + + + + + + + + + + + + +
CheckBasenameMatchmod_speling
Vérifie aussi la correspondance des fichiers, même avec des +extensions différentes
CheckCaseOnlymod_speling
Limite l'action du module aux corrections de +majuscules
CheckSpellingmod_speling
Active le module de correction
ContentDigestcore
Active la génération d'un en-tête Content-MD5 +dans la réponse HTTP
FilterChainmod_filter
Configure la chaîne de filtrage
FilterDeclaremod_filter
Déclare un filtre intelligent
FilterProtocolmod_filter
Vérifie le respect du protocole HTTP
FilterProvidermod_filter
Enregistre un filtre de contenu
Optionscore
Définit les fonctionnalités disponibles pour un répertoire +particulier
ReflectorHeadermod_reflector
Renvoie un en-tête d'entrée dans les en-têtes de sortie
SSLOptionsmod_ssl
Configure différentes options d'exécution du moteur SSL
XBitHackmod_include
Interprète les directives SSI dans les fichiers dont le bit +d'exécution est positionné
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/prefork.html b/docs/manual/mod/prefork.html index 17adfab..f4d32e6 100644 --- a/docs/manual/mod/prefork.html +++ b/docs/manual/mod/prefork.html @@ -6,7 +6,7 @@ Content-type: text/html; charset=ISO-8859-1 URI: prefork.html.en Content-Language: en -Content-type: text/html; charset=ISO-8859-1 +Content-type: text/html; charset=UTF-8 URI: prefork.html.fr.utf8 Content-Language: fr diff --git a/docs/manual/mod/prefork.html.de b/docs/manual/mod/prefork.html.de index 836e352..4cda10d 100644 --- a/docs/manual/mod/prefork.html.de +++ b/docs/manual/mod/prefork.html.de @@ -26,28 +26,28 @@

Apache-MPM prefork

-

Verfügbare Sprachen:  de  | +

Verfügbare Sprachen:  de  |  en  | - fr  | + fr  |  ja  | - tr 

+ tr 

-
Diese Übersetzung ist möglicherweise - nicht mehr aktuell. Bitte prüfen Sie die englische Version auf - die neuesten Änderungen.
+
Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.
+ Thread-Unterstützung
Beschreibung:Implementiert einen im Voraus forkenden Webserver ohne - Thread-Unterstützung
Status:MPM
Modulbezeichner:mpm_prefork_module
Quelltext-Datei:prefork.c

Zusammenfassung

Dieses Multi-Processing-Modul (MPM) implementiert einen - im Voraus forkenden Webserver ohne Thread-Unterstützung, der Anfragen - auf ähnliche Weise behandelt wie der Apache 1.3. Es ist für - Angebote geeignet, die aus Kompatibilitätsgründen mit - nicht-Thread-sicheren Bibliotheken Threading vermeiden müssen. - Es ist außerdem das geeignetste MPM, um jede Anfrage isoliert + im Voraus forkenden Webserver ohne Thread-Unterstützung, der Anfragen + auf ähnliche Weise behandelt wie der Apache 1.3. Es ist für + Angebote geeignet, die aus Kompatibilitätsgründen mit + nicht-Thread-sicheren Bibliotheken Threading vermeiden müssen. + Es ist außerdem das geeignetste MPM, um jede Anfrage isoliert zu bearbeiten, so dass Probleme mit einem einzelnen Prozess keinen anderen beeinflussen.

@@ -56,7 +56,7 @@ Wichtigste ist, dass MaxClients gross genug ist, so viele gleichzeitige Anfragen zu bedienen, wie Sie erwarten, aber klein genug, um sicherzustellen, dass genug physischer - Arbeitsspeicher für alle Prozesse vorhanden ist.

+ Arbeitsspeicher für alle Prozesse vorhanden ist.

Support Apache!

Themen

    @@ -89,12 +89,12 @@
    top

    Arbeitsweise

    -

    Ein einzelner Steuerprozess ist für den Start von +

    Ein einzelner Steuerprozess ist für den Start von Kindprozessen verantwortlich, die auf Verbindungen warten und diese bedienen, sobald sie eintreffen. Der Apache versucht immer, mehrere - freie oder unbeschäftigte Serverprozesse vorzuhalten, + freie oder unbeschäftigte Serverprozesse vorzuhalten, die zur Bedienung eingehender Anfragen bereit stehen. Auf diese Weise - müssen Clients nicht darauf warten, dass neue Kindprozesse + müssen Clients nicht darauf warten, dass neue Kindprozesse geforkt werden, bevor ihre Anfrage bearbeitet werden kann.

    StartServers, @@ -103,35 +103,35 @@ MaxClients regulieren, wie der Elternprozess Kindprozesse zur Bedienung von Anfragen erstellt. Im Allgemeinen ist der Apache sehr selbstregulierend, so dass die meisten - Angebote die Voreinstellung dieser Direktiven nicht verändern - müssen. Systeme, die mehr als 256 gleichzeitige Anfragen bedienen - müssen, können MaxClients erhöhen, während - Systeme mit begrenztem Arbeitsspeicher möglicherweise + Angebote die Voreinstellung dieser Direktiven nicht verändern + müssen. Systeme, die mehr als 256 gleichzeitige Anfragen bedienen + müssen, können MaxClients erhöhen, während + Systeme mit begrenztem Arbeitsspeicher möglicherweise MaxClients heruntersetzen - müssen, um den Server vor Flatterverhalten (Arbeitsspeicherinhalte auf - Platte auslagern - und zurück) zu schützen. Weitere + müssen, um den Server vor Flatterverhalten (Arbeitsspeicherinhalte auf + Platte auslagern - und zurück) zu schützen. Weitere Informationen zur Feinabstimmung der Prozesserstellung sind in den Performance-Hinweisen zu finden.

    -

    Währen der Elternprozess unter Unix normalerweise als - root gestartet wird, um sich an Port 80 binden zu können, +

    Währen der Elternprozess unter Unix normalerweise als + root gestartet wird, um sich an Port 80 binden zu können, werden die Kindprozesse unter einem weniger privilegierten Benutzer gestartet. Die Direktiven User und Group werden dazu verwendet, die Privilegien der Apache-Kindprozesse festzulegen. Die - Kindprozesse müssen in der Lage sein, alle Inhalte zu lesen, die - sie ausliefern sollen, sollten darüber hinaus jedoch so wenig wie - möglich Rechte besitzen.

    + Kindprozesse müssen in der Lage sein, alle Inhalte zu lesen, die + sie ausliefern sollen, sollten darüber hinaus jedoch so wenig wie + möglich Rechte besitzen.

    MaxRequestsPerChild - bestimmt, wie häufig der Server Prozesse erneuert, indem er alte + bestimmt, wie häufig der Server Prozesse erneuert, indem er alte beendet und neue startet.

    top

    MaxSpareServers-Direktive

    - @@ -140,14 +140,14 @@
    Beschreibung:Maximale Anzahl der unbeschäftigten Kindprozesse des +
    Beschreibung:Maximale Anzahl der unbeschäftigten Kindprozesse des Servers
    Syntax:MaxSpareServers Anzahl
    Voreinstellung:MaxSpareServers 10
    Modul:prefork

    Die Direktive MaxSpareServers bestimmt das - gewünschte Maximum an unbeschäftigten - Kindprozessen des Servers. Ein unbeschäftiger Prozess ist einer, der + gewünschte Maximum an unbeschäftigten + Kindprozessen des Servers. Ein unbeschäftiger Prozess ist einer, der keine Anfrage bedient. Wenn mehr als MaxSpareServers - Prozesse unbeschäftigt sind, wird der Elternprozess die - überschüssigen Prozesse beenden.

    + Prozesse unbeschäftigt sind, wird der Elternprozess die + überschüssigen Prozesse beenden.

    Eine Feineinstellung dieses Parameters sollte nur bei sehr - beschäftigten Angeboten notwendig sein. Es ist nahezu immer eine + beschäftigten Angeboten notwendig sein. Es ist nahezu immer eine schlechte Idee, den Parameter auf einen hohen Wert zu setzen. Wenn Sie versuchen, den Wert kleiner oder gleich MinSpareServers zu setzen, wird der Apache ihn automatisch auf MinSpareServers + 1 @@ -162,7 +162,7 @@

    top

    MinSpareServers-Direktive

    - @@ -171,15 +171,15 @@
    Beschreibung:Minimale Anzahl der unbeschäftigten Kindprozesse des +
    Beschreibung:Minimale Anzahl der unbeschäftigten Kindprozesse des Servers
    Syntax:MinSpareServers Anzahl
    Voreinstellung:MinSpareServers 5
    Modul:prefork

    Die Direktive MinSpareServers bestimmt das - gewünschte Minimum der unbeschäftigten - Kindprozesse des Servers. Ein unbeschäftigter Prozess ist einer, der + gewünschte Minimum der unbeschäftigten + Kindprozesse des Servers. Ein unbeschäftigter Prozess ist einer, der keine Anfrage bedient. Wenn weniger als - MinSpareServers Prozesse unbeschäftigt sind, + MinSpareServers Prozesse unbeschäftigt sind, dann erstellt der Elternprozess neue mit einer maximalen Rate von 1 pro Sekunde.

    Die Feineinstellung des Parameters sollte nur bei sehr - beschäftigten Angeboten notwendig sein. Es ist nahezu immer eine + beschäftigten Angeboten notwendig sein. Es ist nahezu immer eine schlechte ide, den Parameter auf einen hohen Wert zu setzen.

    Siehe auch

    @@ -190,12 +190,12 @@
    -

    Verfügbare Sprachen:  de  | +

    Verfügbare Sprachen:  de  |  en  | - fr  | + fr  |  ja  | - tr 

    -
    top

    Kommentare

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + tr 

    +
    top

    Kommentare

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
- - - -
<-
-

ïÂÚÏÒ ÎÏ×ÙÈ ×ÏÚÍÏÖÎÏÓÔÅÊ × Apache 2.0

-
-

Available Languages:  de  | - en  | - fr  | - ja  | - ko  | - pt-br  | - ru  | - tr 

-
-
This translation may be out of date. Check the - English version for recent changes.
- -

üÔÏÔ ÄÏËÕÍÅÎÔ ÏÐÉÓÙ×ÁÅÔ ÏÓÎÏ×ÎÙÅ ÒÁÚÌÉÞÉÑ ÍÅÖÄÕ ×ÅÒÓÉÑÍÉ 1.3 É 2.0 HTTP ÓÅÒ×ÅÒÁ Apache

-
- -
top
-
-

õÌÕÞÛÅÎÉÑ × ÑÄÒÅ ÓÅÒ×ÅÒÁ

- - -
-
íÎÏÇÏÐÏÔÏÞÎÏÓÔØ × UNIX
- -
îÁ UNIX ÓÉÓÔÅÍÁÈ, ËÏÔÏÒÙÅ ÐÏÄÄÅÒÖÉ×ÁÀÔ ÐÏÔÏËÉ (ÎÉÔÉ) ÓÔÁÎÄÁÒÔÁ POSIX, - Apache ÔÅÐÅÒØ ÍÏÖÅÔ ×ÙÐÏÌÎÑÔØÓÑ × ÇÉÂÒÉÄÎÏÍ ÍÎÏÇÏÐÒÏÃÅÓÓÏ×Ï - - ÍÎÏÇÏÐÏÔÏÞÎÏÍ ÒÅÖÉÍÅ. üÔÏ ÓÐÏÓÏÂÓÔ×ÕÅÔ ÒÁÓÛÉÒÑÅÍÏÓÔÉ - ÓÉÓÔÅÍÙ ÄÌÑ ÍÎÏÇÉÈ, ÎÏ ÎÅ ÄÌÑ ×ÓÅÈ ÓÐÏÓÏÂÏ× ËÏÎÆÉÇÕÒÉÒÏ×ÁÎÉÑ.
- -
îÏ×ÁÑ ÓÉÓÔÅÍÁ ÓÂÏÒËÉ
- -
óÉÓÔÅÍÁ ÓÂÏÒËÉ ÂÙÌÁ ÐÏÌÎÏÓÔØÀ ÉÚÍÅÎÅÎÁ, É ÔÅÐÅÒØ ÏÓÎÏ×Ù×ÁÅÔÓÑ ÎÁ autoconf É libtool. - üÔÏ ÄÅÌÁÅÔ ÐÒÏÃÅÓÓ ËÏÎÆÉÇÕÒÉÒÏ×ÁÎÉÑ Apache ÂÏÌÅÅ ÐÏÈÏÖÉÍ ÎÁ ÐÏÄÏÂÎÙÊ ÐÒÏÃÅÓÓ × ÄÒÕÇÉÈ ÐÒÏÇÒÁÍÍÎÙÈ - ÐÒÏÄÕËÔÁÈ.
- -
ðÏÄÄÅÒÖËÁ ÒÁÚÌÉÞÎÙÈ ÐÒÏÔÏËÏÌÏ×
- -
Apache ÔÅÐÅÒØ ÉÍÅÅÔ ÓÐÅÃÉÁÌØÎÕÀ ÉÎÆÒÁÓÔÒÕËÔÕÒÕ, - ÓÐÏÓÏÂÎÕÀ ÏÂÓÌÕÖÉ×ÁÔØ ÒÁÚÌÉÞÎÙÅ ÐÒÏÔÏËÏÌÙ. - íÏÄÕÌØ mod_echo ÂÙÌ ÎÁÐÉÓÁÎ × ËÁÞÅÓÔ×Å - ÐÒÉÍÅÒÁ ÜÔÏÍÕ.
- -
õÌÕÞÛÅÎÎÁÑ ÐÏÄÄÅÒÖËÁ ÏÔÌÉÞÎÙÈ ÏÔ UNIX - ÐÌÁÔÆÏÒÍ
- -
Apache 2.0 ÓÔÁÌ ÒÁÂÏÔÁÔØ ÂÙÓÔÒÅÅ É ÎÁÄÅÖÎÅÅ - ÎÁ ÏÔÌÉÞÎÙÈ ÏÔ UNIX ÐÌÁÔÆÏÒÍÁÈ, ÔÁËÉÈ ËÁË: BeOS, - OS/2 É Windows. ó ××ÅÄÅÎÉÅÍ ÎÏ×ÙÈ ÓÐÅÃÉÆÉÞÎÙÈ - ÄÌÑ ËÁÖÄÏÊ ÐÌÁÔÆÏÒÍÙ ÍÕÌØÔÉ-ÐÒÏÃÅÓÓÎÙÈ ÍÏÄÕÌÅÊ (MPMs) É - ÂÉÂÌÉÏÔÅËÉ Apache Portable Runtime (APR), ÜÔÉ ÐÌÁÔÆÏÒÍÙ - ÔÅÐÅÒØ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ Ó ÐÏÍÏÝØÀ ÉÈ ÓÏÂÓÔ×ÅÎÎÙÈ API, ÞÔÏ - ÐÏÚ×ÏÌÑÅÔÓÑ ÉÚÂÅÖÁÔØ ××ÅÄÅÎÉÑ ÚÁÞÁÓÔÕÀ ÎÅÐÒÁ×ÉÌØÎÏ ÒÁÂÏÔÁÀÝÉÈ - ÉÚ-ÚÁ ÂÏÌØÛÏÇÏ ËÏÌÉÞÅÓÔ×Á ÏÛÉÂÏË POSIX - ÜÍÕÌÉÒÕÀÝÉÈ ÓÌÏÅ×.
- -
îÏ×ÙÊ API ÄÌÑ Apache
- -
API ÄÌÑ ÎÁÐÉÓÁÎÉÑ ÍÏÄÕÌÅÊ ÚÎÁÞÉÔÅÌØÎÏ ÉÚÍÅÎÉÌÓÑ × ×ÅÒÓÉÉ 2.0 - íÎÏÇÉÅ ÉÚ ÐÒÏÂÌÅÍ ×ÅÒÓÉÉ 1.3, Ó×ÑÚÁÎÎÙÅ Ó ÐÏÒÑÄËÏÍ ÓÌÅÄÏ×ÁÎÉÑ - ÍÏÄÕÌÅÊ É ÉÈ ÐÒÉÏÒÉÔÅÔÁÍÉ, ÄÏÌÖÎÙ ÉÓÞÅÚÎÕÔØ. ÷ ×ÅÒÓÉÉ 2.0 - ÍÎÏÇÉÅ ÉÚ ÐÏÄÏÂÎÙÈ ×ÅÝÅÊ ÄÅÌÁÀÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ, É ÔÅÐÅÒØ - ÐÏÒÑÄÏË ÓÌÅÄÏ×ÁÎÉÑ ÍÏÄÕÌÅÊ ÏÐÒÅÄÅÌÑÅÔÓÑ ÐÏÓÒÅÄÓÔ×ÏÍ ÓÐÅÃÉÁÌØÎÙÈ - ÐÒÏÇÒÁÍÍÎÙÈ ËÒÀÞËÏ× (hooks), ÏÔÞÅÇÏ ÎÁÓÔÒÏÊËÁ ÓÅÒ×ÅÒÁ ÓÔÁÎÏ×ÉÔÓÑ - ÂÏÌÅÅ ÇÉÂËÏÊ. ôÁËÖÅ ÂÙÌÉ ÄÏÂÁ×ÌÅÎÙ ÎÏ×ÙÅ ÆÕÎËÃÉÉ, ËÏÔÏÒÙÅ - ÐÒÅÄÏÓÔÁ×ÌÑÀÔ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ×ÏÚÍÏÖÎÏÓÔÉ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÍÏÄÕÌÅÊ, - ÉÚÂÁ×ÌÑÑ ÏÔ ÎÅÏÂÈÏÄÉÍÏÓÔÉ ×ÎÅÓÅÎÉÑ ËÁËÉÈ - ÌÉÂÏ ÉÚÍÅÎÅÎÉÊ × ÑÄÒÏ - ÓÅÒ×ÅÒÁ.
- -
ðÏÄÄÅÒÖËÁ ÐÒÏÔÏËÏÌÁ IPv6
- -
îÁ ÓÉÓÔÅÍÁÈ, ÇÄÅ ÐÒÏÔÏËÏÌ IPv6 ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ - ÂÁÚÏ×ÏÊ ÂÉÂÌÉÏÔÅËÏÊ Apache Portable Runtime, Apache - ÐÏ ÕÍÏÌÞÁÎÉÀ ÐÏÌÕÞÁÅÔ ×ÏÚÍÏÖÎÏÓÔØ ÓÌÕÛÁÔØ IPv6 ÓÏËÅÔÙ - (sockets). ÷ ÄÏÂÁ×ÏË Ë ÜÔÏÍÕ ÄÉÒÅËÔÉ×Ù Listen, NameVirtualHost É VirtualHost ÍÏÇÕÔ ÒÁÂÏÔÁÔØ Ó ÁÄÒÅÓÎÙÍÉ ÓÔÒÏËÁÍÉ, - ÚÁÄÁÎÎÙÍÉ × ÆÏÒÍÁÔÅ IPv6 (Ô.Å. ÎÁÐÒÉÍÅÒ "Listen [2001:db8::1]:8080").
- -
éÓÐÏÌØÚÏ×ÁÎÉÅ ÆÉÌØÔÒÏ×
- -
íÏÄÕÌÉ Apache ÔÅÐÅÒØ ÍÏÇÕÔ ÂÙÔØ ÎÁÐÉÓÁÎÙ ËÁË ÆÉÌØÔÒÙ, - ÏÂÒÁÂÁÔÙ×ÁÀÝÉÅ ÐÏÔÏËÉ ÄÁÎÎÙÈ, ËÏÔÏÒÙÅ ÐÒÉÈÏÄÑÔ ÉÌÉ ÕÈÏÄÑÔ - ÉÚ ÓÅÒ×ÅÒÁ. üÔÏ ÐÏÚ×ÏÌÑÅÔ, Ë ÐÒÉÍÅÒÕ, ÄÁÎÎÙÍ, Ñ×ÌÑÀÝÉÍÓÑ - ÒÅÚÕÌØÔÁÔÏÍ ÒÁÂÏÔÙ CGI-ÓËÒÉÐÔÁ, ÂÙÔØ ÏÂÒÁÂÏÔÁÎÎÙÍÉ SSI - ÆÉÌØÔÒÏÍ INCLUDES, ÐÒÅÄÏÓÔÁ×ÌÑÅÍÙÍ ÍÏÄÕÌÅÍ - mod_include. íÏÄÕÌØ mod_ext_filter - ÐÏÚ×ÏÌÑÅÔ ×ÎÅÛÎÉÍ ÐÒÏÇÒÁÍÍÁÍ ÉÓÐÏÌÎÑÔØ ÒÏÌØ ÆÉÌØÔÒÏ× ÔÏÞÎÏ ÔÁË ÖÅ - ËÁË É CGI ÐÒÏÇÒÁÍÍÁÍ ÐÏÚ×ÏÌÑÅÔÓÑ ÄÅÊÓÔ×Ï×ÁÔØ × ËÁÞÅÓÔ×Å - ÏÂÒÁÂÏÔÞÉËÏ× (handlers).
- -
óÏÏÂÝÅÎÉÑ ÏÂ ÏÛÉÂËÁÈ ÎÁ ÒÁÚÎÙÈ ÑÚÙËÁÈ
- -
óÏÏÂÝÅÎÉÑ Ï ÏÛÉÂËÁÈ, ÐÏÓÙÌÁÅÍÙÅ ÂÒÁÕÚÅÒÕ, ÔÅÐÅÒØ - ÐÒÅÄÓÔÁ×ÌÅÎÙ ÎÁ ÎÅÓËÏÌØËÉÈ ÑÚÙËÁÈ É ÉÓÐÏÌØÚÕÀÔ SSI - ÔÅÈÎÏÌÏÇÉÀ. ïÎÉ ÍÏÇÕÔ ÂÙÔØ ÌÅÇËÏ ÏÔÒÅÄÁËÔÉÒÏ×ÁÎÙ - ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÐÏÄ Ó×ÏÉ ÎÕÖÄÙ.
- -
õÐÒÏÝÅÎÎÁÑ ËÏÎÆÉÇÕÒÁÃÉÑ
- -
íÎÏÇÉÅ ÚÁÐÕÔÁÎÎÙÅ ÄÉÒÅËÔÉ×Ù ÂÙÌÉ ÕÐÒÏÝÅÎÙ. îÁÉÂÏÌÅÅ - ÓÂÉ×ÁÀÝÉÅ Ó ÔÏÌËÕ Port É BindAddress ÂÙÌÉ ÕÂÒÁÎÙ; - ÄÌÑ ÐÒÉ×ÑÚËÉ Ë IP ÁÄÒÅÓÕ ÉÓÐÏÌØÚÕÅÔÓÑ ÔÏÌØËÏ ÄÉÒÅËÔÉ×Á - Listen; ÄÉÒÅËÔÉ×Á - ServerName ÏÐÒÅÄÅÌÑÅÔ ÉÍÑ ÓÅÒ×ÅÒÁ É ÎÏÍÅÒ ÐÏÒÔÁ - ÔÅÐÅÒØ ÔÏÌØËÏ ÄÌÑ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÊ É ÒÁÂÏÔÙ Ó ×ÉÒÔÕÁÌØÎÙÍÉ ÈÏÓÔÁÍÉ.
- -
ðÏÄÄÅÒÖËÁ ÀÎÉËÏÄÁ Windows NT
- -
Apache 2.0 ÎÁ Windows NT ÔÅÐÅÒØ ÉÓÐÏÌØÚÕÅÔ ËÏÄÉÒÏ×ËÕ utf-8 - ÄÌÑ ÒÁÂÏÔÙ Ó ÉÍÅÎÁÍÉ ÆÁÊÌÏ×. üÔÏ ÐÏÚ×ÏÌÑÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ - ÎÉÖÅÌÅÖÁÝÕÀ ÆÁÊÌÏ×ÕÀ ÓÉÓÔÅÍÕ, ÒÁÂÏÔÁÀÝÕÀ × ÆÏÒÍÁÔÅ Unicode, - ÞÔÏ ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ÐÏÄÄÅÒÖËÕ ÓÅÒ×ÅÒÏÍ ÍÎÏÇÏÑÚÙÞÎÏÓÔÉ ÄÌÑ ×ÓÅÈ NT- - ÓÉÓÔÅÍ, ×ËÌÀÞÁÑ Windows 2000 É Windows XP. - üÔÏ ÎÅ ÒÁÓÐÒÏÓÔÒÁÎÑÅÔÓÑ ÎÁ ÔÁËÉÅ ÏÐÅÒÁÃÉÏÎÎÙÅ ÓÉÓÔÅÍÙ, ËÁË - Windows 95, 98 ÉÌÉ ME, ËÏÔÏÒÙÅ ÄÌÑ ÏÂÒÁÝÅÎÉÑ Ë ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÅ - ÉÓÐÏÌØÚÕÀÔ ÌÏËÁÌØÎÙÅ ÍÁÛÉÎÎÙÅ ËÏÄÏ×ÙÅ ÓÔÒÁÎÉÃÙ.
- -
îÏ×ÁÑ ÂÉÂÌÉÏÔÅËÁ ÄÌÑ ÒÁÂÏÔÙ Ó ÒÅÇÕÌÑÒÎÙÍÉ ×ÙÒÁÖÅÎÑÍÉ
- -
÷ ÓÏÓÔÁ× Apache 2.0 ÂÙÌÁ ×ËÌÀÞÅÎÁ - ÂÉÂÌÉÏÔÅËÁ ÄÌÑ ÒÁÂÏÔÙ Ó Perl-ÓÏ×ÍÅÓÔÉÍÙÍÉ ÒÅÇÕÌÑÒÎÙÍÉ ×ÙÒÁÖÅÎÑÍÉ (PCRE). - ÷ÓÅ ÒÅÇÕÌÑÒÎÙÅ ×ÙÒÁÖÅÎÉÑ ÔÅÐÅÒØ ÉÓÐÏÌØÚÕÀÔ ÂÏÌÅÅ ÍÏÝÎÙÊ ÓÉÎÔÁËÓÉÓ Perl 5.
- -
-
top
-
-

õÌÕÞÛÅÎÉÑ × ÍÏÄÕÌÑÈ ÓÅÒ×ÅÒÁ

- - -
-
mod_ssl
- -
îÏ×ÙÊ ÍÏÄÕÌØ × Apache 2.0. üÔÏÔ ÍÏÄÕÌØ Ñ×ÌÑÅÔÓÑ ÉÎÔÅÒÆÅÊÓÏÍ - Ë ÐÒÏÔÏËÏÌÁÍ ÛÉÆÒÏ×ÁÎÉÑ SSL/TLS, ÐÒÅÄÏÓÔÁ×ÌÑÅÍÙÍÉ OpenSSL.
- -
mod_dav
- -
îÏ×ÙÊ ÍÏÄÕÌØ × Apache 2.0. üÔÏÔ ÍÏÄÕÌØ ×ÎÅÄÒÑÅÔ ÓÐÅÃÉÆÉËÁÃÉÀ - Distributed Authoring and Versioning (DAV), ÐÏÚ×ÏÌÑÀÝÕÀ ÕÐÒÁ×ÌÑÔØ - ÓÏÄÅÒÖÉÍÙÍ ÓÁÊÔÁ ÐÏÓÒÅÄÓÔ×ÏÍ ÒÁÓÛÉÒÅÎÎÏÇÏ ÐÒÏÔÏËÏÌÁ HTTP.
- -
mod_deflate
- -
îÏ×ÙÊ ÍÏÄÕÌØ × Apache 2.0. üÔÏÔ ÍÏÄÕÌØ ÐÏÚ×ÏÌÑÅÔ ÂÒÁÕÚÅÒÁÍ, ÐÏÄÄÅÒÖÉ×ÁÀÝÉÍ - ÄÁÎÎÕÀ ÔÅÈÎÏÌÏÇÉÀ, ÚÁÐÒÁÛÉ×ÁÔØ ÄÁÎÎÙÅ × ÓÖÁÔÏÍ ×ÉÄÅ, ÞÔÏ ÓÏËÒÁÝÁÅÔ ÎÁÇÒÕÚËÕ ÎÁ - ÓÅÔØ.
- -
mod_auth_ldap
- -
îÏ×ÙÊ ÍÏÄÕÌØ × Apache 2.0.41. üÔÏÔ ÍÏÄÕÌØ ÐÏÚ×ÏÌÑÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÂÁÚÕ ÄÁÎÎÙÈ LDAP - ÄÌÑ ÈÒÁÎÅÎÉÑ ÉÍÅÎ É ÐÁÒÏÌÅÊ ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ÎÅÏÂÈÏÄÉÍÙÈ ÐÒÉ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ ÐÏ ÍÅÔÏÄÕ - Basic. óÏÐÕÔÓÔ×ÕÀÝÉÊ ÅÍÕ ÍÏÄÕÌØ mod_ldap ÏÂÅÓÐÅÞÉ×ÁÅÔ ×ÏÚÍÏÖÎÏÓÔØ - ÓÏÚÄÁÎÉÑ ÏÞÅÒÅÄÅÊ ÐÏÄËÌÀÞÅÎÉÊ (connection pools) É ËÜÛÉÒÏ×ÁÎÉÑ ÒÅÚÕÌØÔÁÔÏ×.
- -
mod_auth_digest
- -
÷ËÌÀÞÁÅÔ ÄÏÐÏÌÎÉÔÅÌØÎÕÀ ÐÏÄÄÅÒÖËÕ ËÜÛÉÒÏ×ÁÎÉÑ ÓÅÓÓÉÊ - ÐÒÏÃÅÓÓÁÍÉ, ÂÌÁÇÏÄÁÒÑ ÉÓÐÏÌØÚÏ×ÁÎÉÀ ÏÂÝÅÊ ÏÂÌÁÓÔÉ ÐÁÍÑÔÉ (ÒÁÚÄÅÌÅÎÉÀ - ÐÁÍÑÔÉ).
- -
mod_charset_lite
- -
îÏ×ÙÊ ÍÏÄÕÌØ × Apache 2.0. üÔÏÔ ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÙÊ ÍÏÄÕÌØ ÐÏÚ×ÏÌÑÅÔ - ÏÓÕÝÅÓÔ×ÌÑÔØ ÐÅÒÅ×ÏÄ ÉÚ ÏÄÎÏÇÏ ÎÁÂÏÒÁ ÓÉÍ×ÏÌÏ× (character set) × ÄÒÕÇÏÊ É ÉÚ ÏÄÎÏÊ - ËÏÄÉÒÏ×ËÉ × ÄÒÕÇÕÀ.
- -
mod_file_cache
- -
îÏ×ÙÊ ÍÏÄÕÌØ × Apache 2.0. üÔÏÔ ÍÏÄÕÌØ ×ËÌÀÞÁÅÔ × ÓÅÂÑ - ÆÕÎËÃÉÏÎÁÌØÎÏÓÔØ ÍÏÄÕÌÑ mod_mmap_static ÉÚ Apache 1.3 - ÐÌÀÓ ÎÏ×ÙÅ ×ÏÚÍÏÖÎÏÓÔÉ ËÜÛÉÒÏ×ÁÎÉÑ.
- -
mod_headers
- -
üÔÏÔ ÍÏÄÕÌØ ÓÔÁÌ ÂÏÌÅÅ ÇÉÂËÉÍ × Apache 2.0. ïÎ ÐÏÚ×ÏÌÑÅÔ - ÍÏÄÉÆÉÃÉÒÏ×ÁÔØ ÚÁÇÏÌÏ×ËÉ ÚÁÐÒÏÓÏ×, ÉÓÐÏÌØÚÕÅÍÙÈ ÍÏÄÕÌÅÍ - mod_proxy, É ÍÏÖÅÔ ×ËÌÀÞÁÔØ × ÏÔ×ÅÔ ÓÅÒ×ÅÒÁ ÚÁÇÏÌÏ×ËÉ × - ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÒÁÚÌÉÞÎÙÈ ÕÓÌÏ×ÉÊ.
- -
mod_proxy
- -
ðÒÏËÓÉ ÍÏÄÕÌØ ÂÙÌ ÐÏÌÎÏÓÔØÀ ÐÅÒÅÐÉÓÁÎ, É ÔÅÐÅÒØ ×ËÌÀÞÁÅÔ - × ÓÅÂÑ ÐÒÅÉÍÕÝÅÓÔ×Á ÎÏ×ÏÊ ÆÉÌØÔÒÏ×ÏÊ ÉÎÆÒÁÓÔÒÕËÔÕÒÙ É ÉÓÐÏÌØÚÕÅÔ - ÂÏÌÅÅ ÎÁÄÅÖÎÕÀ, ÓÏ×ÍÅÓÔÉÍÕÀ Ó HTTP/1.1 ÐÒÏËÓÉ-ÔÅÈÎÏÌÏÇÉÀ. ÷ ÄÏÂÁ×ÏË - Ë ÜÔÏÍÕ ÂÙÌÁ ××ÅÄÅÎÁ ÎÏ×ÁÑ ÓÅËÃÉÑ <Proxy>, ËÏÔÏÒÕÀ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ × ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÈ ÆÁÊÌÁÈ, ÞÔÏ - ÏÂÅÓÐÅÞÉ×ÁÅÔ ÂÏÌÅÅ ÕÄÏÂÎÙÊ (É ÂÏÌÅÅ ÂÙÓÔÒÙÊ ÄÌÑ ÑÄÒÁ ÓÅÒ×ÅÒÁ) ËÏÎÔÒÏÌØ ÎÁÄ ÓÁÊÔÁÍÉ, - ÉÓÐÏÌØÚÕÀÝÉÍÉ proxy-ÔÅÈÎÏÌÏÇÉÀ. ðÅÒÅÇÒÕÖÅÎÎÁÑ ËÏÎÆÉÇÕÒÁÃÉÑ <Directory "proxy:..."> - ÂÏÌÅÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ. íÏÄÕÌØ ÔÅÐÅÒØ ÒÁÚÄÅÌÅÎ ÎÁ ÏÔÄÅÌØÎÙÅ ÓÐÅÃÉÆÉÞÎÙÅ ÍÏÄÕÌÉ, - ÐÏÄÄÅÒÖÉ×ÁÀÝÉÅ ÒÁÚÌÉÞÎÙÅ ÐÒÏÔÏËÏÌÙ. üÔÉ ÍÏÄÕÌÉ ×ËÌÀÞÁÀÔ × ÓÅÂÑ proxy_connect, proxy_ftp - É proxy_http.
- -
mod_negotiation
- -
äÏÂÁ×ÌÅÎÁ ÎÏ×ÁÑ ÄÉÒÅËÔÉ×Á ForceLanguagePriority, ÄÌÑ ÔÏÇÏ ÞÔÏÂÙ ×ÍÅÓÔÏ ÏÔ×ÅÔÏ× ÓÅÒ×ÅÒÁ - NOT ACCEPTABLE ÉÌÉ MULTIPLE CHOICES ×ÓÅÇÄÁ ÐÒÅÄÏÓÔÁ×ÌÑÔØ ÐÏÌØÚÏ×ÁÔÅÌÀ - ÏÐÒÅÄÅÌÅÎÎÙÊ ÄÏËÕÍÅÎÔ. ÷ ÄÏÐÏÌÎÅÎÉÅ Ë ÜÔÏÍÕ ÁÌÇÏÒÉÔÍÙ - ÎÅÇÏÃÉÁÃÉÉ (negotiation) É MultiViews ÂÙÌÉ ×ÙÞÉÝÅÎÙ É ÉÓÐÒÁ×ÌÅÎÙ, ÄÌÑ - ÏÂÅÓÐÅÞÅÎÉÑ ÂÏÌÅÅ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÇÏ ÒÅÚÕÌØÔÁÔÁ, Á ÔÁËÖÅ ÐÏÑ×ÉÌÁÓØ ×ÏÚÍÏÖÎÏÓÔØ - ×ËÌÀÞÅÎÉÑ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏÇÏ ÓÏÄÅÒÖÉÍÏÇÏ ÄÏËÕÍÅÎÔÏ× × ËÁÒÔÕ ÔÉÐÏ× (type map).
- -
mod_autoindex
- -
ìÉÓÔÉÎÇÉ Á×ÔÏÉÎÄÅËÓÉÒÕÅÍÙÈ ËÁÔÁÌÏÇÏ× ÔÅÐÅÒØ ÍÏÇÕÔ ×ÙÄÁ×ÁÔØÓÑ × ×ÉÄÅ - HTML-ÔÁÂÌÉÃ. ðÏÑ×ÉÌÁÓØ ×ÏÚÍÏÖÎÏÓÔØ ÂÏÌÅÅ ÇÉÂËÏÊ ÓÏÒÔÉÒÏ×ËÉ, ×ËÌÀÞÁÑ ÓÏÒÔÉÒÏ×ËÕ ÐÏ ×ÅÒÓÉÑÍ É - ÓÏÒÔÉÒÏ×ËÕ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÕÎÉ×ÅÒÓÁÌØÎÙÈ ÓÉÍ×ÏÌÏ× (wildcard).
- -
mod_include
- -
÷×ÅÄÅÎÙ ÎÏ×ÙÅ ÄÉÒÅËÔÉ×Ù, ËÏÔÏÒÙÅ ÐÏÚ×ÏÌÑÀÔ ÉÚÍÅÎÉÔØ ÎÁÞÁÌØÎÙÊ É ËÏÎÅÞÎÙÊ - ÔÅÇÉ SSI ÜÌÅÍÅÎÔÏ×, ÚÁÄÁ×ÁÅÍÙÅ ÐÏ ÕÍÏÌÞÁÎÉÀ, Á ÔÁËÖÅ ÐÒÅÄÏÓÔÁ×ÌÑÀÔ ×ÏÚÍÏÖÎÏÓÔØ - ËÏÎÆÉÇÕÒÉÒÏ×ÁÎÉÑ ÆÏÒÍÁÔÁ ÓÏÏÂÝÅÎÉÊ Ï ÏÛÉÂËÁÈ É ×ÒÅÍÅÎÉ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ - × ÇÌÁ×ÎÏÍ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÍ ÆÁÊÌÅ, Á ÎÅ × SSI ÄÏËÕÍÅÎÔÅ. òÅÚÕÌØÔÁÔÙ - ÏÂÒÁÂÏÔËÉ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ (ÔÅÐÅÒØ ÏÓÎÏ×Ù×ÁÀÝÉÈÓÑ ÎÁ ÓÉÎÔÁËÓÉÓÅ - ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ ÑÚÙËÁ Perl) ÍÏÇÕÔ ÂÙÔØ ÐÏÌÕÞÅÎÙ ÐÒÉ ÐÏÍÏÝÉ ÐÅÒÅÍÅÎÎÙÈ - $0 .. $9 ÍÏÄÕÌÑ mod_include.
- -
mod_auth_dbm
- -
ôÅÐÅÒØ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÎÏÇÏÞÉÓÌÅÎÎÙÅ ÔÉÐÙ DBM-ÐÏÄÏÂÎÙÈ ÂÁÚ ÄÁÎÎÙÈ ÐÏÓÒÅÄÓÔ×ÏÍ - ÄÉÒÅËÔÉ×Ù AuthDBMType.
- -
-
-
-

Available Languages:  de  | - en  | - fr  | - ja  | - ko  | - pt-br  | - ru  | - tr 

-
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
-
- \ No newline at end of file diff --git a/docs/manual/new_features_2_0.html.tr.utf8 b/docs/manual/new_features_2_0.html.tr.utf8 index d78b920..dccb352 100644 --- a/docs/manual/new_features_2_0.html.tr.utf8 +++ b/docs/manual/new_features_2_0.html.tr.utf8 @@ -29,7 +29,6 @@  ja  |  ko  |  pt-br  | - ru  |  tr 

@@ -38,7 +37,7 @@ +

Ayrıca bakınız:

top
top

Yorum

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+ + +

HTML/2.0 Test File: 006

+
This page contains: +
    +
  • HTML +
  • CSS +
  • JavaScript +
+
+
+ +
+ + \ No newline at end of file diff --git a/test/pyhttpd/htdocs/test1/006/006.css b/test/pyhttpd/htdocs/test1/006/006.css new file mode 100644 index 0000000..de6aa5f --- /dev/null +++ b/test/pyhttpd/htdocs/test1/006/006.css @@ -0,0 +1,21 @@ +@CHARSET "ISO-8859-1"; +body{ + background:HoneyDew; +} +p{ +color:#0000FF; +text-align:left; +} + +h1{ +color:#FF0000; +text-align:center; +} + +.listTitle{ + font-size:large; +} + +.listElements{ + color:#3366FF +} \ No newline at end of file diff --git a/test/pyhttpd/htdocs/test1/006/006.js b/test/pyhttpd/htdocs/test1/006/006.js new file mode 100644 index 0000000..b450067 --- /dev/null +++ b/test/pyhttpd/htdocs/test1/006/006.js @@ -0,0 +1,31 @@ +/** + * JavaScript Functions File + */ +function returnDate() +{ + var currentDate; + currentDate=new Date(); + var dateString=(currentDate.getMonth()+1)+'/'+currentDate.getDate()+'/'+currentDate.getFullYear(); + return dateString; +} + +function returnHour() +{ + var currentDate; + currentDate=new Date(); + var hourString=currentDate.getHours()+':'+currentDate.getMinutes()+':'+currentDate.getSeconds(); + return hourString; +} + +function javaScriptMessage(){ + return 'This section is generated under JavaScript:
'; +} + +function mainJavascript(){ + document.write(javaScriptMessage()) + document.write('
    '); + document.write('
  • Current date (dd/mm/yyyy): ' + returnDate()); + document.write('
    '); + document.write('
  • Current time (hh:mm:ss): '+returnHour()); + document.write('
'); +} \ No newline at end of file diff --git a/test/pyhttpd/htdocs/test1/006/header.html b/test/pyhttpd/htdocs/test1/006/header.html new file mode 100644 index 0000000..bace20e --- /dev/null +++ b/test/pyhttpd/htdocs/test1/006/header.html @@ -0,0 +1 @@ +My Header Title diff --git a/test/pyhttpd/htdocs/test1/007.html b/test/pyhttpd/htdocs/test1/007.html new file mode 100644 index 0000000..4db93e4 --- /dev/null +++ b/test/pyhttpd/htdocs/test1/007.html @@ -0,0 +1,21 @@ + + + + +HTML/2.0 Test File: 007 + + +

HTML/2.0 Test File: 007

+

This page is used to send data from the client to the server:

+
+ + Name:
+ Age:
+ Gender: Male + Female
+ + +
+
+ + \ No newline at end of file diff --git a/test/pyhttpd/htdocs/test1/007/007.py b/test/pyhttpd/htdocs/test1/007/007.py new file mode 100644 index 0000000..02b5466 --- /dev/null +++ b/test/pyhttpd/htdocs/test1/007/007.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +import cgi, sys +import cgitb; cgitb.enable() + +print "Content-Type: text/html;charset=UTF-8" +print + +print """\ + + HTML/2.0 Test File: 007 (received data) +

HTML/2.0 Test File: 007

""" + +# alternative output: parsed form params <-> plain POST body +parseContent = True # <-> False + +if parseContent: + print '

Data processed:

    ' + form = cgi.FieldStorage() + for name in form: + print '
  • ', name, ': ', form[name].value, '
  • ' + print '
' +else: + print '

POST data output:

'
+	data = sys.stdin.read()
+	print data
+	print '
' + +print '' \ No newline at end of file diff --git a/test/pyhttpd/htdocs/test1/009.py b/test/pyhttpd/htdocs/test1/009.py new file mode 100644 index 0000000..8fd9095 --- /dev/null +++ b/test/pyhttpd/htdocs/test1/009.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +import cgi, sys, time +import cgitb; cgitb.enable() + +print "Content-Type: text/html;charset=UTF-8" +print + +print """\ + + HTML/2.0 Test File: 009 (server time) +

HTML/2.0 Test File: 009

+

60 seconds of server time, one by one.

""" + +for i in range(60): + s = time.strftime("%Y-%m-%d %H:%M:%S") + print "
", s, "
" + sys.stdout.flush() + time.sleep(1) + +print "

done.

" \ No newline at end of file diff --git a/test/pyhttpd/htdocs/test1/alive.json b/test/pyhttpd/htdocs/test1/alive.json new file mode 100644 index 0000000..93e7f95 --- /dev/null +++ b/test/pyhttpd/htdocs/test1/alive.json @@ -0,0 +1,5 @@ +{ + "host" : "test1", + "alive" : true +} + diff --git a/test/pyhttpd/htdocs/test1/index.html b/test/pyhttpd/htdocs/test1/index.html new file mode 100644 index 0000000..9f752b5 --- /dev/null +++ b/test/pyhttpd/htdocs/test1/index.html @@ -0,0 +1,46 @@ + + + mod_h2 test site + + +

mod_h2 test site

+

+

served directly

+ +

mod_proxyied

+ +

mod_rewritten

+ + + + diff --git a/test/pyhttpd/htdocs/test2/006/006.css b/test/pyhttpd/htdocs/test2/006/006.css new file mode 100755 index 0000000..de6aa5f --- /dev/null +++ b/test/pyhttpd/htdocs/test2/006/006.css @@ -0,0 +1,21 @@ +@CHARSET "ISO-8859-1"; +body{ + background:HoneyDew; +} +p{ +color:#0000FF; +text-align:left; +} + +h1{ +color:#FF0000; +text-align:center; +} + +.listTitle{ + font-size:large; +} + +.listElements{ + color:#3366FF +} \ No newline at end of file diff --git a/test/pyhttpd/htdocs/test2/10%abnormal.txt b/test/pyhttpd/htdocs/test2/10%abnormal.txt new file mode 100644 index 0000000..e69de29 diff --git a/test/pyhttpd/htdocs/test2/alive.json b/test/pyhttpd/htdocs/test2/alive.json new file mode 100644 index 0000000..6a74223 --- /dev/null +++ b/test/pyhttpd/htdocs/test2/alive.json @@ -0,0 +1,4 @@ +{ + "host" : "test2", + "alive" : true +} diff --git a/test/pyhttpd/htdocs/test2/x%2f.test b/test/pyhttpd/htdocs/test2/x%2f.test new file mode 100644 index 0000000..e69de29 diff --git a/test/pyhttpd/log.py b/test/pyhttpd/log.py new file mode 100644 index 0000000..dff7623 --- /dev/null +++ b/test/pyhttpd/log.py @@ -0,0 +1,163 @@ +import os +import re +import time +from datetime import datetime, timedelta +from io import SEEK_END +from typing import List, Tuple, Any + + +class HttpdErrorLog: + """Checking the httpd error log for errors and warnings, including + limiting checks from a last known position forward. + """ + + RE_ERRLOG_ERROR = re.compile(r'.*\[(?P[^:]+):error].*') + RE_ERRLOG_WARN = re.compile(r'.*\[(?P[^:]+):warn].*') + RE_APLOGNO = re.compile(r'.*\[(?P[^:]+):(error|warn)].* (?PAH\d+): .+') + RE_SSL_LIB_ERR = re.compile(r'.*\[ssl:error].* SSL Library Error: error:(?P\S+):.+') + + def __init__(self, path: str): + self._path = path + self._ignored_modules = [] + self._ignored_lognos = set() + self._ignored_patterns = [] + # remember the file position we started with + self._start_pos = 0 + if os.path.isfile(self._path): + with open(self._path) as fd: + self._start_pos = fd.seek(0, SEEK_END) + self._last_pos = self._start_pos + self._last_errors = [] + self._last_warnings = [] + self._observed_erros = set() + self._observed_warnings = set() + + def __repr__(self): + return f"HttpdErrorLog[{self._path}, errors: {' '.join(self._last_errors)}, " \ + f"warnings: {' '.join(self._last_warnings)}]" + + @property + def path(self) -> str: + return self._path + + def clear_log(self): + if os.path.isfile(self.path): + os.remove(self.path) + self._start_pos = 0 + self._last_pos = self._start_pos + self._last_errors = [] + self._last_warnings = [] + self._observed_erros = set() + self._observed_warnings = set() + + def set_ignored_modules(self, modules: List[str]): + self._ignored_modules = modules.copy() if modules else [] + + def set_ignored_lognos(self, lognos: List[str]): + if lognos: + for l in lognos: + self._ignored_lognos.add(l) + + def add_ignored_patterns(self, patterns: List[Any]): + self._ignored_patterns.extend(patterns) + + def _is_ignored(self, line: str) -> bool: + for p in self._ignored_patterns: + if p.match(line): + return True + m = self.RE_APLOGNO.match(line) + if m and m.group('aplogno') in self._ignored_lognos: + return True + return False + + def get_recent(self, advance=True) -> Tuple[List[str], List[str]]: + """Collect error and warning from the log since the last remembered position + :param advance: advance the position to the end of the log afterwards + :return: list of error and list of warnings as tuple + """ + self._last_errors = [] + self._last_warnings = [] + if os.path.isfile(self._path): + with open(self._path) as fd: + fd.seek(self._last_pos, os.SEEK_SET) + for line in fd: + if self._is_ignored(line): + continue + m = self.RE_ERRLOG_ERROR.match(line) + if m and m.group('module') not in self._ignored_modules: + self._last_errors.append(line) + continue + m = self.RE_ERRLOG_WARN.match(line) + if m: + if m and m.group('module') not in self._ignored_modules: + self._last_warnings.append(line) + continue + if advance: + self._last_pos = fd.tell() + self._observed_erros.update(set(self._last_errors)) + self._observed_warnings.update(set(self._last_warnings)) + return self._last_errors, self._last_warnings + + def get_recent_count(self, advance=True): + errors, warnings = self.get_recent(advance=advance) + return len(errors), len(warnings) + + def ignore_recent(self): + """After a test case triggered errors/warnings on purpose, add + those to our 'observed' list so the do not get reported as 'missed'. + """ + self._last_errors = [] + self._last_warnings = [] + if os.path.isfile(self._path): + with open(self._path) as fd: + fd.seek(self._last_pos, os.SEEK_SET) + for line in fd: + if self._is_ignored(line): + continue + m = self.RE_ERRLOG_ERROR.match(line) + if m and m.group('module') not in self._ignored_modules: + self._observed_erros.add(line) + continue + m = self.RE_ERRLOG_WARN.match(line) + if m: + if m and m.group('module') not in self._ignored_modules: + self._observed_warnings.add(line) + continue + self._last_pos = fd.tell() + + def get_missed(self) -> Tuple[List[str], List[str]]: + errors = [] + warnings = [] + if os.path.isfile(self._path): + with open(self._path) as fd: + fd.seek(self._start_pos, os.SEEK_SET) + for line in fd: + if self._is_ignored(line): + continue + m = self.RE_ERRLOG_ERROR.match(line) + if m and m.group('module') not in self._ignored_modules \ + and line not in self._observed_erros: + errors.append(line) + continue + m = self.RE_ERRLOG_WARN.match(line) + if m: + if m and m.group('module') not in self._ignored_modules \ + and line not in self._observed_warnings: + warnings.append(line) + continue + return errors, warnings + + def scan_recent(self, pattern: re, timeout=10): + if not os.path.isfile(self.path): + return False + with open(self.path) as fd: + end = datetime.now() + timedelta(seconds=timeout) + while True: + fd.seek(self._last_pos, os.SEEK_SET) + for line in fd: + if pattern.match(line): + return True + if datetime.now() > end: + raise TimeoutError(f"pattern not found in error log after {timeout} seconds") + time.sleep(.1) + return False diff --git a/test/pyhttpd/mod_aptest/mod_aptest.c b/test/pyhttpd/mod_aptest/mod_aptest.c new file mode 100644 index 0000000..d1a8e05 --- /dev/null +++ b/test/pyhttpd/mod_aptest/mod_aptest.c @@ -0,0 +1,66 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +static void aptest_hooks(apr_pool_t *pool); + +AP_DECLARE_MODULE(aptest) = { + STANDARD20_MODULE_STUFF, + NULL, /* func to create per dir config */ + NULL, /* func to merge per dir config */ + NULL, /* func to create per server config */ + NULL, /* func to merge per server config */ + NULL, /* command handlers */ + aptest_hooks, +#if defined(AP_MODULE_FLAG_NONE) + AP_MODULE_FLAG_ALWAYS_MERGE +#endif +}; + + +static int aptest_post_read_request(request_rec *r) +{ + const char *test_name = apr_table_get(r->headers_in, "AP-Test-Name"); + if (test_name) { + ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r, "test[%s]: %s", + test_name, r->the_request); + } + return DECLINED; +} + +/* Install this module into the apache2 infrastructure. + */ +static void aptest_hooks(apr_pool_t *pool) +{ + ap_log_perror(APLOG_MARK, APLOG_TRACE1, 0, pool, + "installing hooks and handlers"); + + /* test case monitoring */ + ap_hook_post_read_request(aptest_post_read_request, NULL, + NULL, APR_HOOK_MIDDLE); + +} + diff --git a/test/pyhttpd/nghttp.py b/test/pyhttpd/nghttp.py new file mode 100644 index 0000000..43721f5 --- /dev/null +++ b/test/pyhttpd/nghttp.py @@ -0,0 +1,304 @@ +import re +import os +import subprocess +from datetime import datetime +from typing import Dict + +from urllib.parse import urlparse + +from .result import ExecResult + + +def _get_path(x): + return x["path"] + + +class Nghttp: + + def __init__(self, path, connect_addr=None, tmp_dir="/tmp", + test_name: str = None): + self.NGHTTP = path + self.CONNECT_ADDR = connect_addr + self.TMP_DIR = tmp_dir + self._test_name = test_name + + @staticmethod + def get_stream(streams, sid): + sid = int(sid) + if sid not in streams: + streams[sid] = { + "id": sid, + "header": {}, + "request": { + "id": sid, + "body": b'' + }, + "response": { + "id": sid, + "body": b'' + }, + "data_lengths": [], + "paddings": [], + "promises": [] + } + return streams[sid] if sid in streams else None + + def run(self, urls, timeout, options): + return self._baserun(urls, timeout, options) + + def complete_args(self, url, _timeout, options: [str]) -> [str]: + if not isinstance(url, list): + url = [url] + u = urlparse(url[0]) + args = [self.NGHTTP] + if self.CONNECT_ADDR: + connect_host = self.CONNECT_ADDR + args.append("--header=host: %s:%s" % (u.hostname, u.port)) + else: + connect_host = u.hostname + if options: + args.extend(options) + for xurl in url: + xu = urlparse(xurl) + nurl = "%s://%s:%s/%s" % (u.scheme, connect_host, xu.port, xu.path) + if xu.query: + nurl = "%s?%s" % (nurl, xu.query) + args.append(nurl) + return args + + def _baserun(self, url, timeout, options): + return self._run(self.complete_args(url, timeout, options)) + + def parse_output(self, btext) -> Dict: + # getting meta data and response body out of nghttp's output + # is a bit tricky. Without '-v' we just get the body. With '-v' meta + # data and timings in both directions are listed. + # We rely on response :status: to be unique and on + # response body not starting with space. + # Something not good enough for general purpose, but for these tests. + output = {} + body = '' + streams = {} + skip_indents = True + # chunk output into lines. nghttp mixes text + # meta output with bytes from the response body. + lines = [l.decode() for l in btext.split(b'\n')] + + for lidx, l in enumerate(lines): + if len(l) == 0: + body += '\n' + continue + m = re.match(r'(.*)\[.*] recv \(stream_id=(\d+)\) (\S+): (\S*)', l) + if m: + body += m.group(1) + s = self.get_stream(streams, m.group(2)) + hname = m.group(3) + hval = m.group(4) + print("stream %d header %s: %s" % (s["id"], hname, hval)) + header = s["header"] + if hname in header: + header[hname] += ", %s" % hval + else: + header[hname] = hval + continue + + m = re.match(r'(.*)\[.*] recv HEADERS frame <.* stream_id=(\d+)>', l) + if m: + body += m.group(1) + s = self.get_stream(streams, m.group(2)) + if s: + print("stream %d: recv %d header" % (s["id"], len(s["header"]))) + response = s["response"] + hkey = "header" + if "header" in response: + h = response["header"] + if ":status" in h and int(h[":status"]) >= 200: + hkey = "trailer" + else: + prev = { + "header": h + } + if "previous" in response: + prev["previous"] = response["previous"] + response["previous"] = prev + response[hkey] = s["header"] + s["header"] = {} + body = '' + continue + + m = re.match(r'(.*)\[.*] recv DATA frame ', l) + if m: + body += m.group(1) + s = self.get_stream(streams, m.group(3)) + blen = int(m.group(2)) + if s: + print(f'stream {s["id"]}: {blen} DATA bytes added via "{l}"') + padlen = 0 + if len(lines) > lidx + 2: + mpad = re.match(r' +\(padlen=(\d+)\)', lines[lidx+2]) + if mpad: + padlen = int(mpad.group(1)) + s["data_lengths"].append(blen) + s["paddings"].append(padlen) + blen -= padlen + s["response"]["body"] += body[-blen:].encode() + body = '' + skip_indents = True + continue + + m = re.match(r'(.*)\[.*] recv PUSH_PROMISE frame <.* stream_id=(\d+)>', l) + if m: + body += m.group(1) + s = self.get_stream(streams, m.group(2)) + if s: + # headers we have are request headers for the PUSHed stream + # these have been received on the originating stream, the promised + # stream id it mentioned in the following lines + print("stream %d: %d PUSH_PROMISE header" % (s["id"], len(s["header"]))) + if len(lines) > lidx+2: + m2 = re.match(r'\s+\(.*promised_stream_id=(\d+)\)', lines[lidx+2]) + if m2: + s2 = self.get_stream(streams, m2.group(1)) + s2["request"]["header"] = s["header"] + s["promises"].append(s2) + s["header"] = {} + continue + + m = re.match(r'(.*)\[.*] recv (\S+) frame ', l) + if m: + print("recv frame %s on stream %s" % (m.group(2), m.group(4))) + body += m.group(1) + skip_indents = True + continue + + m = re.match(r'(.*)\[.*] send (\S+) frame ', l) + if m: + print("send frame %s on stream %s" % (m.group(2), m.group(4))) + body += m.group(1) + skip_indents = True + continue + + if skip_indents and l.startswith(' '): + continue + + if '[' != l[0]: + skip_indents = None + body += l + '\n' + + # the main request is done on the lowest odd numbered id + main_stream = 99999999999 + for sid in streams: + s = streams[sid] + if "header" in s["response"] and ":status" in s["response"]["header"]: + s["response"]["status"] = int(s["response"]["header"][":status"]) + if (sid % 2) == 1 and sid < main_stream: + main_stream = sid + + output["streams"] = streams + if main_stream in streams: + output["response"] = streams[main_stream]["response"] + output["paddings"] = streams[main_stream]["paddings"] + output["data_lengths"] = streams[main_stream]["data_lengths"] + return output + + def _raw(self, url, timeout, options): + args = ["-v"] + if self._test_name is not None: + args.append(f'--header=AP-Test-Name: {self._test_name}') + if options: + args.extend(options) + r = self._baserun(url, timeout, args) + if 0 == r.exit_code: + r.add_results(self.parse_output(r.outraw)) + return r + + def get(self, url, timeout=5, options=None): + return self._raw(url, timeout, options) + + def assets(self, url, timeout=5, options=None): + if not options: + options = [] + options.extend(["-ans"]) + r = self._baserun(url, timeout, options) + assets = [] + if 0 == r.exit_code: + lines = re.findall(r'[^\n]*\n', r.stdout, re.MULTILINE) + for lidx, l in enumerate(lines): + m = re.match(r'\s*(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+/(.*)', l) + if m: + assets.append({ + "path": m.group(7), + "status": int(m.group(5)), + "size": m.group(6) + }) + assets.sort(key=_get_path) + r.add_assets(assets) + return r + + def post_data(self, url, data, timeout=5, options=None): + reqbody = ("%s/nghttp.req.body" % self.TMP_DIR) + with open(reqbody, 'wb') as f: + f.write(data.encode('utf-8')) + if not options: + options = [] + options.extend(["--data=%s" % reqbody]) + return self._raw(url, timeout, options) + + def post_name(self, url, name, timeout=5, options=None): + reqbody = ("%s/nghttp.req.body" % self.TMP_DIR) + with open(reqbody, 'w') as f: + f.write("--DSAJKcd9876\r\n") + f.write("Content-Disposition: form-data; name=\"value\"; filename=\"xxxxx\"\r\n") + f.write("Content-Type: text/plain\r\n") + f.write(f"\r\n{name}") + f.write("\r\n--DSAJKcd9876\r\n") + if not options: + options = [] + options.extend([ + "--data=%s" % reqbody, + "-HContent-Type: multipart/form-data; boundary=DSAJKcd9876"]) + return self._raw(url, timeout, options) + + def upload(self, url, fpath, timeout=5, options=None): + if not options: + options = [] + options.extend(["--data=%s" % fpath]) + return self._raw(url, timeout, options) + + def upload_file(self, url, fpath, timeout=5, options=None): + fname = os.path.basename(fpath) + reqbody = ("%s/nghttp.req.body" % self.TMP_DIR) + with open(fpath, 'rb') as fin: + with open(reqbody, 'wb') as f: + preamble = [ + '--DSAJKcd9876', + 'Content-Disposition: form-data; name="xxx"; filename="xxxxx"', + 'Content-Type: text/plain', + '', + 'testing mod_h2', + '\r\n--DSAJKcd9876', + f'Content-Disposition: form-data; name="file"; filename="{fname}"', + 'Content-Type: application/octet-stream', + 'Content-Transfer-Encoding: binary', + '', '' + ] + f.write('\r\n'.join(preamble).encode('utf-8')) + f.write(fin.read()) + f.write('\r\n'.join([ + '\r\n--DSAJKcd9876', '' + ]).encode('utf-8')) + if not options: + options = [] + options.extend([ + "--data=%s" % reqbody, + "--expect-continue", + "-HContent-Type: multipart/form-data; boundary=DSAJKcd9876"]) + return self._raw(url, timeout, options) + + def _run(self, args) -> ExecResult: + print(("execute: %s" % " ".join(args))) + start = datetime.now() + p = subprocess.run(args, capture_output=True, text=False) + return ExecResult(args=args, exit_code=p.returncode, + stdout=p.stdout, stderr=p.stderr, + duration=datetime.now() - start) diff --git a/test/pyhttpd/result.py b/test/pyhttpd/result.py new file mode 100644 index 0000000..4bf9ff2 --- /dev/null +++ b/test/pyhttpd/result.py @@ -0,0 +1,92 @@ +import json +from datetime import timedelta +from typing import Optional, Dict, List + + +class ExecResult: + + def __init__(self, args: List[str], exit_code: int, + stdout: bytes, stderr: bytes = None, + stdout_as_list: List[bytes] = None, + duration: timedelta = None): + self._args = args + self._exit_code = exit_code + self._stdout = stdout if stdout is not None else b'' + self._stderr = stderr if stderr is not None else b'' + self._duration = duration if duration is not None else timedelta() + self._response = None + self._results = {} + self._assets = [] + # noinspection PyBroadException + try: + if stdout_as_list is None: + out = self._stdout.decode() + else: + out = "[" + ','.join(stdout_as_list) + "]" + self._json_out = json.loads(out) + except: + self._json_out = None + + def __repr__(self): + out = [ + f"ExecResult[code={self.exit_code}, args={self._args}\n", + "----stdout---------------------------------------\n", + self._stdout.decode(), + "----stderr---------------------------------------\n", + self._stderr.decode() + ] + return ''.join(out) + + @property + def exit_code(self) -> int: + return self._exit_code + + @property + def args(self) -> List[str]: + return self._args + + @property + def outraw(self) -> bytes: + return self._stdout + + @property + def stdout(self) -> str: + return self._stdout.decode() + + @property + def json(self) -> Optional[Dict]: + """Output as JSON dictionary or None if not parseable.""" + return self._json_out + + @property + def stderr(self) -> str: + return self._stderr.decode() + + @property + def duration(self) -> timedelta: + return self._duration + + @property + def response(self) -> Optional[Dict]: + return self._response + + @property + def results(self) -> Dict: + return self._results + + @property + def assets(self) -> List: + return self._assets + + def add_response(self, resp: Dict): + if self._response: + resp['previous'] = self._response + self._response = resp + + def add_results(self, results: Dict): + self._results.update(results) + if 'response' in results: + self.add_response(results['response']) + + def add_assets(self, assets: List): + self._assets.extend(assets) diff --git a/test/pyhttpd/ws_util.py b/test/pyhttpd/ws_util.py new file mode 100644 index 0000000..38a3cf7 --- /dev/null +++ b/test/pyhttpd/ws_util.py @@ -0,0 +1,137 @@ +import logging +import struct + + +log = logging.getLogger(__name__) + + +class WsFrame: + + CONT = 0 + TEXT = 1 + BINARY = 2 + RSVD3 = 3 + RSVD4 = 4 + RSVD5 = 5 + RSVD6 = 6 + RSVD7 = 7 + CLOSE = 8 + PING = 9 + PONG = 10 + RSVD11 = 11 + RSVD12 = 12 + RSVD13 = 13 + RSVD14 = 14 + RSVD15 = 15 + + OP_NAMES = [ + "CONT", + "TEXT", + "BINARY", + "RSVD3", + "RSVD4", + "RSVD5", + "RSVD6", + "RSVD7", + "CLOSE", + "PING", + "PONG", + "RSVD11", + "RSVD12", + "RSVD13", + "RSVD14", + "RSVD15", + ] + + def __init__(self, opcode: int, fin: bool, mask: bytes, data: bytes): + self.opcode = opcode + self.fin = fin + self.mask = mask + self.data = data + self.length = len(data) + + def __repr__(self): + return f'WsFrame[{self.OP_NAMES[self.opcode]} fin={self.fin}, mask={self.mask}, len={len(self.data)}]' + + @property + def data_len(self) -> int: + return len(self.data) if self.data else 0 + + def to_network(self) -> bytes: + nd = bytearray() + h1 = self.opcode + if self.fin: + h1 |= 0x80 + nd.extend(struct.pack("!B", h1)) + mask_bit = 0x80 if self.mask is not None else 0x0 + h2 = self.data_len + if h2 > 65535: + nd.extend(struct.pack("!BQ", 127|mask_bit, h2)) + elif h2 > 126: + nd.extend(struct.pack("!BH", 126|mask_bit, h2)) + else: + nd.extend(struct.pack("!B", h2|mask_bit)) + if self.mask is not None: + nd.extend(self.mask) + if self.data is not None: + nd.extend(self.data) + return nd + + @classmethod + def client_ping(cls, data: bytes, mask: bytes = None) -> 'WsFrame': + if mask is None: + mask = bytes.fromhex('00 00 00 00') + return WsFrame(opcode=WsFrame.PING, fin=True, mask=mask, data=data) + + @classmethod + def client_close(cls, code: int, reason: str = None, + mask: bytes = None) -> 'WsFrame': + data = bytearray(struct.pack("!H", code)) + if reason is not None: + data.extend(reason.encode()) + if mask is None: + mask = bytes.fromhex('00 00 00 00') + return WsFrame(opcode=WsFrame.CLOSE, fin=True, mask=mask, data=data) + + +class WsFrameReader: + + def __init__(self, data: bytes): + self.data = data + + def _read(self, n: int): + if len(self.data) < n: + raise EOFError(f'have {len(self.data)} bytes left, but {n} requested') + elif n == 0: + return b'' + chunk = self.data[:n] + del self.data[:n] + return chunk + + def next_frame(self): + data = self._read(2) + h1, h2 = struct.unpack("!BB", data) + log.debug(f'parsed h1={h1} h2={h2} from {data}') + fin = True if h1 & 0x80 else False + opcode = h1 & 0xf + has_mask = True if h2 & 0x80 else False + mask = None + dlen = h2 & 0x7f + if dlen == 126: + (dlen,) = struct.unpack("!H", self._read(2)) + elif dlen == 127: + (dlen,) = struct.unpack("!Q", self._read(8)) + if has_mask: + mask = self._read(4) + return WsFrame(opcode=opcode, fin=fin, mask=mask, data=self._read(dlen)) + + def eof(self): + return len(self.data) == 0 + + @classmethod + def parse(cls, data: bytes): + frames = [] + reader = WsFrameReader(data=data) + while not reader.eof(): + frames.append(reader.next_frame()) + return frames diff --git a/test/test_limits.c b/test/test_limits.c index 70b8098..0bbf876 100644 --- a/test/test_limits.c +++ b/test/test_limits.c @@ -32,7 +32,7 @@ * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products - * derived from this software withough specific prior written permission + * derived from this software without specific prior written permission * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES diff --git a/test/test_travis_conditions.sh b/test/test_travis_conditions.sh new file mode 100755 index 0000000..82794eb --- /dev/null +++ b/test/test_travis_conditions.sh @@ -0,0 +1,42 @@ +#!/bin/sh -e +# Script to test whether travis conditions match correctly. +# "gem install travis-conditions". Tests .travis.yml in the cwd. + +cond_24x="`sed -n '/&condition_24x_only/{s/.*condition_24x_only//;p;q;}' .travis.yml`" +cond_not_24x="`sed -n '/&condition_not_24x/{s/.*condition_not_24x//;p;q;}' .travis.yml`" + +echo Condition 2.4.x: ${cond_24x} +echo Condition not 2.4.x: ${cond_not_24x} + +function testit() +{ + local data=$1 + local expect=$2 + + is_24x=`travis-conditions eval "$cond_24x" --data "${data}"` + not_24x=`travis-conditions eval "$cond_not_24x" --data "${data}"` + + if [ $is_24x = $not_24x ]; then + echo FAIL: Tests as both 2.4.x and not 2.4.x for "$data" + return 1 + elif [ $expect = 2.4.x -a $is_24x = true ]; then + echo PASS + elif [ $expect = trunk ]; then + echo PASS + else + echo FAIL for "$data" + return 1 + fi + return 0 +} + +testit '{"tag": "2.4.49"}' 2.4.x +testit '{"tag": "2.5.59"}' trunk +testit '{"branch": "2.4.x"}' 2.4.x +testit '{"branch": "candidate-2.4.49"}' 2.4.x +testit '{"branch": "2.4.55-candidate"}' 2.4.x +testit '{"branch": "2.4-backport-branch"}' 2.4.x +testit '{"branch": "2.4.x-something"}' 2.4.x +testit '{"branch": "2.5.0"}' trunk +testit '{"branch": "2.5.x"}' trunk +testit '{"branch": "trunk"}' trunk diff --git a/test/time-sem.c b/test/time-sem.c index 7bd0501..60e5982 100644 --- a/test/time-sem.c +++ b/test/time-sem.c @@ -548,6 +548,7 @@ void main (int argc, char **argv) exit (0); } else if (pid == -1) { perror ("fork"); + accept_mutex_off (); exit (1); } } @@ -555,6 +556,7 @@ void main (int argc, char **argv) /* a quick test to see that nothing is screwed up */ if (*shared_counter != 0) { puts ("WTF! shared_counter != 0 before the children have been started!"); + accept_mutex_off (); exit (1); } diff --git a/test/travis_Dockerfile_slapd b/test/travis_Dockerfile_slapd new file mode 100644 index 0000000..e0729e3 --- /dev/null +++ b/test/travis_Dockerfile_slapd @@ -0,0 +1,9 @@ +FROM ubuntu:bionic +RUN echo slapd slapd/password1 password travis | debconf-set-selections +RUN echo slapd slapd/password2 password travis | debconf-set-selections +RUN echo slapd slapd/internal/adminpw password travis | debconf-set-selections +RUN echo slapd slapd/internal/generated_adminpw password travis | debconf-set-selections +RUN echo slapd slapd/domain string example.com | debconf-set-selections +RUN apt-get update && apt-get -y install slapd ldap-utils +# With -d passed, slapd stays in the foreground +CMD /usr/sbin/slapd -d1 '-h ldap:// ldapi:///' diff --git a/test/travis_Dockerfile_slapd.centos7 b/test/travis_Dockerfile_slapd.centos7 new file mode 100644 index 0000000..85bcf0a --- /dev/null +++ b/test/travis_Dockerfile_slapd.centos7 @@ -0,0 +1,5 @@ +FROM quay.io/centos/centos:7 +RUN yum install -y yum-utils && \ + yum install -y openldap openldap-clients openldap-servers openldap-devel && \ + yum -y clean all --enablerepo='*' +CMD /usr/sbin/slapd -u ldap -d1 '-h ldap:// ldapi:///' diff --git a/test/travis_before_linux.sh b/test/travis_before_linux.sh new file mode 100755 index 0000000..2722c6a --- /dev/null +++ b/test/travis_before_linux.sh @@ -0,0 +1,186 @@ +#!/bin/bash -xe + +if test -v CLEAR_CACHE; then + rm -rf $HOME/root +fi + +: Travis tag = ${TRAVIS_TAG} +: Travis branch = ${TRAVIS_BRANCH} + +: /etc/hosts -- +cat /etc/hosts +: -- ends + +# ### FIXME: This is a workaround, non-x86 builds have an IPv6 +# configuration which somehow breaks the test suite runs. Appears +# that Apache::Test only configures the server to Listen on 0.0.0.0 +# (that is hard-coded), but then Apache::TestSerer::wait_till_is_up() +# tries to connect via ::1, which fails/times out. +if grep ip6-localhost /etc/hosts; then + sudo sed -i "/ip6-/d" /etc/hosts + cat /etc/hosts +fi + +# Use a rudimental retry workflow as workaround to svn export hanging for minutes. +# Travis automatically kills a build if one step takes more than 10 minutes without +# reporting any progress. +function run_svn_export() { + local url=$1 + local revision=$2 + local dest_dir=$3 + local max_tries=$4 + + # Disable -e to allow fail/retry + set +e + + for i in $(seq 1 $max_tries) + do + timeout 60 svn export -r ${revision} --force -q $url $dest_dir + if [ $? -eq 0 ]; then + break + else + if [ $i -eq $max_tries ]; then + exit 1 + else + sleep $((100 * i)) + fi + fi + done + + # Restore -e behavior after fail/retry + set -e +} + +function install_apx() { + local name=$1 + local version=$2 + local root=https://svn.apache.org/repos/asf/apr/${name} + local prefix=${HOME}/root/${name}-${version} + local build=${HOME}/build/${name}-${version} + local config=$3 + local buildconf=$4 + + case $version in + trunk) url=${root}/trunk ;; + *.x) url=${root}/branches/${version} ;; + *) url=${root}/tags/${version} ;; + esac + + local revision=`svn info --show-item last-changed-revision ${url}` + + # Blow away the cached install root if the cached install is stale + # or doesn't match the expected configuration. + grep -q "${version} ${revision} ${config} CC=$CC" ${HOME}/root/.key-${name} || rm -rf ${prefix} + + if test -d ${prefix}; then + return 0 + fi + + svn export -q -r ${revision} ${url} ${build} + pushd $build + ./buildconf ${buildconf} + ./configure --prefix=${prefix} ${config} + make -j2 + make install + popd + + echo ${version} ${revision} "${config}" "CC=${CC}" > ${HOME}/root/.key-${name} +} + +# Allow to load $HOME/build/apache/httpd/.gdbinit +echo "add-auto-load-safe-path $HOME/work/httpd/httpd/.gdbinit" >> $HOME/.gdbinit + +# Unless either SKIP_TESTING or NO_TEST_FRAMEWORK are set, install +# CPAN modules required to run the Perl test framework. +if ! test -v SKIP_TESTING -o -v NO_TEST_FRAMEWORK; then + # Clear CPAN cache if necessary + if [ -v CLEAR_CACHE ]; then rm -rf ~/perl5; fi + + cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib) + + pkgs="Net::SSL LWP::Protocol::https \ + LWP::Protocol::AnyEvent::http ExtUtils::Embed Test::More \ + AnyEvent DateTime HTTP::DAV FCGI \ + AnyEvent::WebSocket::Client Apache::Test" + + # CPAN modules are to be used with the system Perl and always with + # CC=gcc, e.g. for the CC="gcc -m32" case the builds are not correct + # otherwise. + CC=gcc cpanm --notest $pkgs + + # Set cache key. + echo $pkgs > ~/perl5/.key + unset pkgs + + # Make a shallow clone of httpd-tests git repo. + git clone --depth=1 https://github.com/apache/httpd-tests.git test/perl-framework +fi + +# For LDAP testing, run slapd listening on port 8389 and populate the +# directory as described in t/modules/ldap.t in the test framework: +if test -v TEST_LDAP -a -x test/perl-framework/scripts/ldap-init.sh; then + docker build -t httpd_ldap -f test/travis_Dockerfile_slapd.centos7 test/ + pushd test/perl-framework + ./scripts/ldap-init.sh + popd +fi + +if test -v TEST_SSL; then + pushd test/perl-framework + ./scripts/memcached-init.sh + ./scripts/redis-init.sh + popd +fi + +if test -v TEST_OPENSSL3; then + # Build the requested version of OpenSSL if it's not already + # installed in the cached ~/root + if ! test -f $HOME/root/openssl-is-${TEST_OPENSSL3}; then + # Remove any previous install. + rm -rf $HOME/root/openssl3 + + mkdir -p build/openssl + pushd build/openssl + curl "https://www.openssl.org/source/openssl-${TEST_OPENSSL3}.tar.gz" | + tar -xzf - + cd openssl-${TEST_OPENSSL3} + ./Configure --prefix=$HOME/root/openssl3 shared no-tests + make $MFLAGS + make install_sw + touch $HOME/root/openssl-is-${TEST_OPENSSL3} + popd + fi + + # Point APR/APR-util at the installed version of OpenSSL. + if test -v APU_VERSION; then + APU_CONFIG="${APU_CONFIG} --with-openssl=$HOME/root/openssl3" + elif test -v APR_VERSION; then + APR_CONFIG="${APR_CONFIG} --with-openssl=$HOME/root/openssl3" + else + : Non-system APR/APR-util must be used to build with OpenSSL 3 to avoid mismatch with system libraries + exit 1 + fi +fi + +if test -v APR_VERSION; then + install_apx apr ${APR_VERSION} "${APR_CONFIG}" + ldd $HOME/root/apr-${APR_VERSION}/lib/libapr-?.so || true + APU_CONFIG="$APU_CONFIG --with-apr=$HOME/root/apr-${APR_VERSION}" +fi + +if test -v APU_VERSION; then + install_apx apr-util ${APU_VERSION} "${APU_CONFIG}" --with-apr=$HOME/build/apr-${APR_VERSION} + ldd $HOME/root/apr-util-${APU_VERSION}/lib/libaprutil-?.so || true +fi + +# Since librustls is not a package (yet) on any platform, we +# build the version we want from source +if test -v TEST_MOD_TLS -a -v RUSTLS_VERSION; then + if ! test -d $HOME/root/rustls; then + RUSTLS_HOME="$HOME/build/rustls-ffi" + git clone -q --depth=1 -b "$RUSTLS_VERSION" https://github.com/rustls/rustls-ffi.git "$RUSTLS_HOME" + pushd "$RUSTLS_HOME" + make install DESTDIR="$HOME/root/rustls" + popd + fi +fi diff --git a/test/travis_run_linux.sh b/test/travis_run_linux.sh new file mode 100755 index 0000000..373e666 --- /dev/null +++ b/test/travis_run_linux.sh @@ -0,0 +1,265 @@ +#!/bin/bash -ex + +# Test for APLOGNO() macro errors (duplicates, empty args) etc. For +# trunk, run the updater script to see if it fails. If it succeeds +# and changes any files (because there was a missing argument), the +# git diff will be non-empty, so fail for that case too. For +# non-trunk use a grep and only catch the empty argument case. +if test -v TEST_LOGNO; then + if test -f docs/log-message-tags/update-log-msg-tags; then + find server modules os -name \*.c | \ + xargs perl docs/log-message-tags/update-log-msg-tags + git diff --exit-code . + : PASSED + exit 0 + else + set -o pipefail + if find server modules os -name \*.c | \ + xargs grep -C1 --color=always 'APLOGNO()'; then + : FAILED + exit 1 + else + : PASSED + exit 0 + fi + fi +fi + +### Installed apr/apr-util don't include the *.m4 files but the +### Debian packages helpfully install them, so use the system APR to buildconf +./buildconf --with-apr=/usr/bin/apr-1-config ${BUILDCONFIG} + +PREFIX=${PREFIX:-$HOME/build/httpd-root} + +# If perl-framework testing is required it is checked out here by +# _before_linux.sh: +if test -d test/perl-framework; then + CONFIG="$CONFIG --enable-load-all-modules" + if grep -q ^check: Makefile.in; then + CONFIG="--with-test-suite=test/perl-framework $CONFIG" + WITH_TEST_SUITE=1 + fi + + # Use the CPAN environment. + eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib) +fi +if test -v APR_VERSION; then + CONFIG="$CONFIG --with-apr=$HOME/root/apr-${APR_VERSION}" +else + CONFIG="$CONFIG --with-apr=/usr" +fi +if test -v APU_VERSION; then + CONFIG="$CONFIG --with-apr-util=$HOME/root/apr-util-${APU_VERSION}" +else + CONFIG="$CONFIG --with-apr-util=/usr" +fi + +# Pick up the rustls install built previously. +if test -v TEST_MOD_TLS -a RUSTLS_VERSION; then + CONFIG="$CONFIG --with-tls --with-rustls=$HOME/root/rustls" +fi + +if test -v TEST_OPENSSL3; then + CONFIG="$CONFIG --with-ssl=$HOME/root/openssl3" + export LD_LIBRARY_PATH=$HOME/root/openssl3/lib:$HOME/root/openssl3/lib64 +fi + +srcdir=$PWD + +if test -v TEST_VPATH; then + mkdir ../vpath + cd ../vpath +fi + +$srcdir/configure --prefix=$PREFIX $CONFIG +make $MFLAGS + +if test -v TEST_INSTALL; then + make install + pushd $PREFIX + test `./bin/apxs -q PREFIX` = $PREFIX + test `$PWD/bin/apxs -q PREFIX` = $PREFIX + ./bin/apxs -g -n foobar + cd foobar; make + popd +fi + +if ! test -v SKIP_TESTING; then + set +e + RV=0 + + if test -v TEST_MALLOC; then + # Enable enhanced glibc malloc debugging, see mallopt(3) + export MALLOC_PERTURB_=65 MALLOC_CHECK_=3 + export LIBC_FATAL_STDERR_=1 + fi + + if test -v TEST_UBSAN; then + export UBSAN_OPTIONS="log_path=$PWD/ubsan.log" + fi + + if test -v TEST_ASAN; then + export ASAN_OPTIONS="log_path=$PWD/asan.log:detect_leaks=0" + fi + + # Try to keep all potential coredumps from all processes + sudo sysctl -w kernel.core_uses_pid=1 2>/dev/null || true + # Systemd based systems might process core dumps via systemd-coredump. + # But we want to have local unprocessed files. + sudo sysctl -w kernel.core_pattern=core || true + ulimit -c unlimited 2>/dev/null || true + + if test -v WITH_TEST_SUITE; then + make check TESTS="${TESTS}" TEST_CONFIG="${TEST_ARGS}" + RV=$? + else + test -v TEST_INSTALL || make install + pushd test/perl-framework + perl Makefile.PL -apxs $PREFIX/bin/apxs + make test APACHE_TEST_EXTRA_ARGS="${TEST_ARGS} ${TESTS}" | tee test.log + RV=${PIPESTATUS[0]} + # re-run failing tests with -v, avoiding set -e + if [ $RV -ne 0 ]; then + #mv t/logs/error_log t/logs/error_log_save + FAILERS="" + while read FAILER; do + FAILERS="$FAILERS $FAILER" + done < <(awk '/Failed:/{print $1}' test.log) + if [ -n "$FAILERS" ]; then + t/TEST -v $FAILERS || true + fi + # set -e would have killed us after the original t/TEST + rm -f test.log + #mv t/logs/error_log_save t/logs/error_log + false + fi + popd + fi + + # Skip further testing if a core dump was created during the test + # suite run above. + if test $RV -eq 0 && test -n "`ls test/perl-framework/t/core{,.*} 2>/dev/null`"; then + RV=4 + fi + + if test -v TEST_SSL -a $RV -eq 0; then + pushd test/perl-framework + # Test loading encrypted private keys + ./t/TEST -defines "TEST_SSL_DES3_KEY TEST_SSL_PASSPHRASE_EXEC" t/ssl + RV=$? + + # Log the OpenSSL version. + grep 'mod_ssl.*compiled against' t/logs/error_log | tail -n 1 + + # Test various session cache backends + for cache in shmcb redis:localhost:6379 memcache:localhost:11211; do + test $RV -eq 0 || break + + SSL_SESSCACHE=$cache ./t/TEST -sslproto TLSv1.2 -defines TEST_SSL_SESSCACHE -start + ./t/TEST t/ssl + RV=$? + ./t/TEST -stop + SRV=$? + if test $RV -eq 0 -a $SRV -ne 0; then + RV=$SRV + fi + done + popd + fi + + if test -v LITMUS -a $RV -eq 0; then + pushd test/perl-framework + mkdir -p t/htdocs/modules/dav + ./t/TEST -start + # litmus uses $TESTS, so unset it. + unset TESTS + litmus http://localhost:8529/modules/dav/ + RV=$? + ./t/TEST -stop + popd + fi + + if test $RV -ne 0 && test -f test/perl-framework/t/logs/error_log; then + grep -v ':\(debug\|trace[12345678]\)\]' test/perl-framework/t/logs/error_log + fi + + if test -v TEST_CORE -a $RV -eq 0; then + # Run HTTP/2 tests. + MPM=event py.test-3 test/modules/core + RV=$? + fi + + if test -v TEST_H2 -a $RV -eq 0; then + # Build the test clients + (cd test/clients && make) + # Run HTTP/2 tests. + MPM=event py.test-3 test/modules/http2 + RV=$? + if test $RV -eq 0; then + MPM=worker py.test-3 test/modules/http2 + RV=$? + fi + fi + + if test -v TEST_MD -a $RV -eq 0; then + # Run ACME tests. + # need the go based pebble as ACME test server + # which is a package on debian sid, but not on focal + export GOPATH=${PREFIX}/gocode + mkdir -p "${GOPATH}" + export PATH="${GOROOT}/bin:${GOPATH}/bin:${PATH}" + go get -u github.com/letsencrypt/pebble/... + (cd $GOPATH/src/github.com/letsencrypt/pebble && go install ./...) + + py.test-3 test/modules/md + RV=$? + fi + + if test -v TEST_MOD_TLS -a $RV -eq 0; then + # Run mod_tls tests. The underlying librustls was build + # and installed before we configured the server (see top of file). + # This will be replaved once librustls is available as a package. + py.test-3 test/modules/tls + RV=$? + fi + + # Catch cases where abort()s get logged to stderr by libraries but + # only cause child processes to terminate e.g. during shutdown, + # which may not otherwise trigger test failures. + + # "glibc detected": printed with LIBC_FATAL_STDERR_/MALLOC_CHECK_ + # glibc will abort when malloc errors are detected. This will get + # caught by the segfault grep as well. + + # "pool concurrency check": printed by APR built with + # --enable-thread-debug when an APR pool concurrency check aborts + + for phrase in 'Segmentation fault' 'glibc detected' 'pool concurrency check:' 'Assertion.*failed'; do + # Ignore IO/debug logs + if grep -v ':\(debug\|trace[12345678]\)\]' test/perl-framework/t/logs/error_log | grep -q "$phrase"; then + grep --color=always -C5 "$phrase" test/perl-framework/t/logs/error_log + RV=2 + fi + done + + if test -v TEST_UBSAN && test -n "`ls ubsan.log.* 2>/dev/null`"; then + cat ubsan.log.* + RV=3 + fi + + if test -v TEST_ASAN && test -n "`ls asan.log.* 2>/dev/null`"; then + cat asan.log.* + + # ASan can report memory leaks, fail on errors only + if grep -q "ERROR: AddressSanitizer:" `ls asan.log.*`; then + RV=4 + fi + fi + + for core in `ls test/perl-framework/t/core{,.*} test/gen/apache/core{,.*} 2>/dev/null`; do + gdb -ex 'thread apply all backtrace full' -batch ./httpd "$core" + RV=5 + done + + exit $RV +fi -- cgit v1.2.3